Migrate KeyvConfigStore to @configu/integrations

Suggestion
Migrate the KeyvConfigStore from its current setup to the new @configu/integrations module as part of the major restructuring. The goal is to move all third-party integrations, including stores, expressions, and libraries, to @configu/integrations.
Keyv is currently used as a BaseClass, so we could potentially create <adapter>KeyvConfigStore for each supported driver and export all of them from this implementation. See Keyv supported drivers.
Motivation
This migration is part of a larger effort to better organize and modularize the product. Moving the KeyvConfigStore will align with the new structure, making the system cleaner and more maintainable.
Context
You can refer to the already migrated stores for guidance:
Migrated stores in integrations.
Base stores implementations from @configu/ts can be found here:
Base stores in TS.
The old node-based stores were previously in @configu/node:
Node stores.
The old browser-based stores were previously in @configu/browser:
Browser stores.

Assign me !!

All yours @i-sanjay-cs


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-12-06)
Features

day02 completed (2e88005)

Bug Fixes

add cli main (27c3e8b)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fretboarder/aoc24/releases/tag/v0.1.0 :sunflower:


How to get a major performance improvement

I finally had a chance to look into Keep-Alive on the 3DS... It seems to be on by default, though I've made a merge to ctrulib to make this a selectable option.
You can take advantage of this by adding an additional header to requests for the API and when collecting any images, and it doesn't seem to hurt to have it on for everything.
Set it like this (it can go before or after the User-Agent header, placement is up to you):
Network.downloadFile(downloadURL, path, "Connection: keep-alive\nUser-Agent: Homebr3w/"..APP_VERSION, method, jsondata)

This will instruct the 3DS to maintain the HTTP socket for up to 5 seconds, in case there is another request to the same server, so there's a HUGE speed improvement for repeated requests. Try wiping your image cache and comparing the speed with and without the Keep-Alive header set for a great example of this.

I.. I am in absolute awe, the speed improvement is amazing. Thanks for giving me a heads up about this!

I was pretty surprised the 3DS seems to have the feature enabled by default, probably since fw 2.0.0 when the enable/disable flag was introduced. All it needed was the header to tell the remote server that we can handle it. Of course, like nearly everything else pertaining to HTTP on the system, no one had ever actually looked into it or how to use it correctly. ;)

I don't know about the current progress of the 3ds scene, but is HTTP something that's like, barely known?

Smea and/or yellows8 figured it out just enough of the http:c syscalls to download the NinjaHax ROP bin and produced the really terrible non-ssl example in 3ds-examples that everyone bases their code on (including the broken Lua stuff). Pretty much all the HTTP improvements that have come out since January or so to handle using the 3ds on the web have been done by myself, with the exception of ssl:c sockets, which I suspect was done since https:// wasn't supported in http:c at the time.

lol... Thanks. As I've said before, I'm just really tired of pulling out my SD cards. The damned thing has an internet connection, it should be able to properly utilize that so I never have to remove the SD to load up new stuff again. ;)

Also... SERIOUS kudos for this app... It makes installing things so damned simple now.

Thanks! Doing my best to satisfy. The only other thing the app might need is being able to download extra files an app might need, but it's nice the way it is right now already.
Give yourself some credit though, this probably wouldn't have been possible without your help at all.
Anyways, the only other thing I'd hope for is people using it. You have analytics, don't you? Are you getting lots of requests from Homebr3w?
I guess I shall just hope and continue to dream of Homebr3w being featured somewhere important. Plailect's guide maybe, hehe

I'll try to get some hard numbers when I'm back from lunch, but there's got to be at least a few hundred active users. We average maybe 400 individual applications installed via homebr3w each day.

114 distinct IP addresses have accessed POST on /v0/ since 5AM with a Homebr3w User-Agent header, it's probably safe to say those are all independent users. It's a bit harder to tell them apart after each day... We could probably generate some kind of random UUID or other tracking method to be passed in the request from your app, to identify a specific device if you want more accurate numbers.

114 distinct IPs, that's pretty cool I think!
Analytics might be interesting, but I am not sure how the users would like that. I'll open an issue for that specifically where we can talk about that further. See #14


cdc: Support schema for Debezium output protocol

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflow/issues/1799
What is changed and how it works?

[x] JSONWriter supports output array
[x] Output Debezium schemas
[x] Config to enable or disable schema output

Benchmark (with schema):
BenchmarkEncodeOneTinyColumn-10    	  425042	      2734 ns/op	     256 B/op	      12 allocs/op
BenchmarkEncodeLargeText-10        	  342390	      3566 ns/op	     256 B/op	      12 allocs/op
BenchmarkEncodeLargeBinary-10      	  319641	      3497 ns/op	    1410 B/op	      15 allocs/op

Benchmark (without schema):
BenchmarkEncodeOneTinyColumn-10    	 2771671	       430.0 ns/op	       0 B/op	       0 allocs/op
BenchmarkEncodeLargeText-10        	  974575	      1250 ns/op	       0 B/op	       0 allocs/op
BenchmarkEncodeLargeBinary-10      	  978442	      1143 ns/op	    1154 B/op	       3 allocs/op

Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/retest-required

/retest-required

/retest-required

/retest-required

/retest-required


Update dnvm.ps1 to use aspnetlitedev feed.

/cc @davidfowl

/cc @pranavkm no idea what we do for release feeds. But :shipit: !


Bug affecting creating new templates and editing existing ones in management pages

When creating a new template it will appear in the 'central templates' list in the management pages as active & available to all users but it doesn't appear in the list of templates to choose from when logged in as a normal user.
Also, when looking at central templates it doesn't seem to save the change between active/inactive in the drop down menu. If I click save after changing this I don't get the confirmation popup like I do if I change another field on the screen & if I move to another section of management pages & back again it has reverted to the previous active/inactive state

@FayCross quick thought re management not saving - is this an updated xampp install and if so did you run upgrade.php? I know that's probably not the problem here but often when I've had issues with management not saving it's been because I've forgotten to run upgrade after a pull that required it.

I've just run upgrade & it still won't save changes to active/inactive or show my new template in the workspace

Just coming back to this after quite a while. I've found that the reason the new template wasn't appearing as an option in the workspace is because the 'parent_template' field in the 'originaltemplatesdetails' table of the database was empty. I've populated this with the template name & my new template is now appearing as expected.
Is this something you can fix @torinfo ? So that when you use the 'update template list' option in the management pages it will populate this field too? Also the active/inactive drop down doesn't work.
Thanks

I'm using xampp up to date with develop code by the way

@FayCross Yes, I can do that (and will :-) )


move flyscanning document from ophyd-async

@stan-dot these files are rst syntax with an md extension, which were you going for?

rst syntax with an md extension,
@callumforrester I think I started converting but not all got changed. I'm on it

depends on pr #17


feat: create validations for data in form

Create typing for data in form to handle possible errors and unexpected behavior.
When typing wrong values in the form such as letters that are supposed to be big int, an error will consume the app.
Proposal:
Allows for decent typings in the form with enough error handlings

closes #17

This was already made. I also added more stuff in #97


Check type connection

Hello,
I have a tcp server, using boost asio (1.67).
I have a tcp client, which communicate with the server by tcp.
I have another client, a browser, using js and websocket.
I try to connect and send message to the tcp server.
But how to check if the message is sent by tcp or websocket on server.?
I see the function is_upgrade(), which do the difference between http request and websocket. But I know, websocket is a full duplex communication using tcp.
I don't know if it is possible to check tcp and websocket.
Thanks.

https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/beast/using_websocket/handshaking_servers.html
I see this, it is the answer to my question!

Glad to hear that the documentation has resolved your issue!

{
    // Construct the stream, transferring ownership of the socket
    stream<boost::asio::ip::tcp::socket> ws{std::move(sock)};

    // Clients SHOULD NOT begin sending WebSocket
    // frames until the server has provided a response.
    BOOST_ASSERT(buffer.size() == 0);

    // Accept the upgrade request
    ws.accept(req);
}
else
{
    // Its not a WebSocket upgrade, so
    // handle it like a normal HTTP request.
}

I use this to check if the connection use websocket.
void
    on_resolve(
        boost::system::error_code ec,
        tcp::resolver::results_type results)
    {
        if(ec)
            return fail(ec, "resolve");

        // Make the connection on the IP address we get from a lookup
        boost::asio::async_connect(
            ws_.next_layer().next_layer(),
            results.begin(),
            results.end(),
            std::bind(
                &session::on_connect,
                shared_from_this(),
                std::placeholders::_1));
    }

I use this to connect from a websocket connection.
But the connection example from asio is different
void do_accept()
  {
    acceptor_.async_accept(
        [this](boost::system::error_code ec, tcp::socket socket)
        {
          if (!ec)
          {
            std::make_shared<chat_session>(std::move(socket), room_)->start();
          }

          do_accept();
        });
  }

It is possible to merge the 2 ways of connection and test the websocket and tcp connection?

It is possible to merge the 2 ways of connection and test the websocket and tcp connection?

I believe you are asking "how can I process normal HTTP requests and WebSocket upgrade handshakes on the same connection?" That is explained in the documentation:
https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/beast/using_websocket/handshaking_servers.html#beast.using_websocket.handshaking_servers.passing_http_requests
The Advanced server examples also show how to do this:
https://github.com/boostorg/beast/blob/develop/example/advanced/server/advanced_server.cpp#L607
https://github.com/boostorg/beast/blob/develop/example/advanced/server/advanced_server.cpp#L659

I try to use websocket over ssl.
I see in include file experimental folder, with ssl_stream class.
So you support this in boost 1.67 ?

I try to use websocket over ssl.

The advanced-server-flex example allows SSL over websocket:
https://github.com/boostorg/beast/blob/develop/example/advanced/server-flex/advanced_server_flex.cpp

#include <boost/beast/experimental/core/ssl_stream.hpp> file not found

ssl_stream will be in the next release (Boost 1.68). You don't need it though, as the advanced-server-flex from 1.67 illustrates:
https://github.com/boostorg/beast/blob/boost-1.67.0/example/advanced/server-flex/advanced_server_flex.cpp

Use websocket-server-async-ssl
https://github.com/boostorg/beast/tree/develop/example/websocket/server/async-ssl

I must use the template derived() into ssl websocket class?

I don't understand what you are asking. You want a server that can handle both HTTP requests and the WebSocket upgrade?

Only Websocket and simple tcp socket

I replace io_service with io_context, follow tutorial from asio. But I can not connect with curl.
tcp_server::tcp_server(boost::asio::io_context& ioc,
      const tcp::endpoint& endpoint)
    : acceptor_(io_context, endpoint)
tcp::endpoint endpoint, std::shared_ptr<std:$
: acceptor(ioc, endpoint),
doc_root(doc_root),
m_room(new chatroom(*this))
{
        wait_for_connection();
}

void do_accept()
  {
    acceptor_.async_accept(
        [this](boost::system::error_code ec, tcp::socket socket)
        {
          if (!ec)
          {
            std::make_shared<chat_session>(std::move(socket), room_)->start();
          }

          do_accept();
        });
  }

main.cpp
 boost::asio::io_context io_context;
std::shared_ptr<std::string const> const&doc_root = std::make_shared<std::string>("/");
tcp::endpoint endpoint(tcp::v4(), 4000);
tcp_server(ioc, endpoint, doc_root);
io_context.run();

I use curl <IP_ADDRESS>:4000 and I have connection refused

Does the unmodified example server with with curl?

I try to add connection_ptr new_connection(new tcp_connection(acceptor.get_executor().context()));
But i never success to add it into do_accept()

I can't really help without a clearly articulated statement of the problem, so my general advice is as follows: start by compiling one of the examples which operates similarly to your desired use-case, to confirm that it works (they do). Then modify the example in small increments to achieve the required functionality. Along the way, if the program malfunctions, then it is highly likely that your last change is the culprit.

It was an syntax issue.
I success to check if the socket is tcp or websocket


⚠ Bofrost.be has degraded performance

In 072a6b9, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2357 ms

Resolved: Bofrost.be performance has improved in a32c196 after 9 minutes.


Add function to dynamically determine package version for PKGBUILD

Description:
This pull request resolves issue #176 by enhancing the PKGBUILD file to dynamically set the pkgver based on Git tags.
Changes:

PKGBUILD:

Implemented a pkgver() function that dynamically retrieves the latest Git tag using git describe --tags.
The function uses sed 's/^v//;s/-.*//' to format the version string, ensuring it adheres to the pkgver format by:

Stripping the leading v from the tag (e.g., v1.7.1 becomes 1.7.1).
Removing any additional commit metadata (e.g., -3-ge168780).

@timwehrle Can you show me some output from testing this on Arch?

Sooo @kehoecj... I had to do an update within the function because after testing it intentionally I found some bugs. I read through the Arch forums and saw that using $srcdir is a common approach and makes the build process cleaner. We need to set the git repo as the source, so it automatically takes the latest version. If something is wrong here, just get back to me and I will try another way. But this works fine on my Arch setup.
[tim@Tim config-file-validator]$ makepkg -f
==> Making package: config-file-validator 1.7.1-1 (Tue 22 Oct 2024 11:00:37 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating config-file-validator git repo...
==> Validating source files with md5sums...
    config-file-validator ... Skipped
==> Validating source files with sha256sums...
    config-file-validator ... Skipped
==> Extracting sources...
  -> Creating working copy of config-file-validator git repo...
Cloning into 'config-file-validator'...
done.
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> WARNING: Package contains reference to $srcdir
usr/bin/validator
==> Creating package "config-file-validator"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Creating package "config-file-validator-debug"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: config-file-validator 1.7.1-1 (Tue 22 Oct 2024 11:00:40 PM CEST)
[tim@Tim config-file-validator]$ sudo pacman -U config-file-validator-1.7.1-1-x86_64.pkg.tar.zst
[sudo] password for tim:
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) config-file-validator-1.7.1-1

Total Installed Size:  5.92 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                                                                                [####################################################################################] 100%
(1/1) checking package integrity                                                                                [####################################################################################] 100%
(1/1) loading package files                                                                                [####################################################################################] 100%
(1/1) checking for file conflicts                                                                                [####################################################################################] 100%
:: Processing package changes...
(1/1) installing config-file-validator                                                                                [####################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[tim@Tim config-file-validator]$ pacman -Q config-file-validator
config-file-validator 1.7.1-1
[tim@Tim config-file-validator]$ validator --help
Usage: validator [OPTIONS] [<search_path>...]

positional arguments:
    search_path: The search path on the filesystem for configuration files. Defaults to the current working directory if no search_path provided

optional flags:
  -depth int
        Depth of recursion for the provided search paths. Set depth to 0 to disable recursive path traversal
  -exclude-dirs string
        Subdirectories to exclude when searching for configuration files
  -exclude-file-types string
        A comma separated list of file types to ignore
  -groupby string
        Group output by filetype, directory, pass-fail. Supported for Standard and JSON reports
  -output string
        Destination to a file to output results
  -quiet
        If quiet flag is set. It doesn't print any output to stdout.
  -reporter string
        Format of the printed report. Options are standard and json (default "standard")
  -version
        Version prints the release version of validator
[tim@Tim config-file-validator]$ validator -version
validator version 1.7.1
[tim@Tim config-file-validator]$ validator test
    ✓ /home/tim/coding/config-file-validator/test/fixtures/exclude-file-types/excluded.json
    ✓ /home/tim/coding/config-file-validator/test/fixtures/exclude-file-types/not-excluded.toml
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.csv
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.editorconfig
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.env
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.hcl
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.hocon
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.ini
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.json
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.plist
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.properties
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.toml
    ✓ /home/tim/coding/config-file-validator/test/fixtures/good.yaml
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.CSv
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.HCl
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.INi
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.JSon
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.PList
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.PRoperties
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.TOml
    ✓ /home/tim/coding/config-file-validator/test/fixtures/mixedcase-extension/good.YAml
    × /home/tim/coding/config-file-validator/test/fixtures/subdir/bad.json
        error: Error at line 3 column 14: invalid character ':' after array element
    × /home/tim/coding/config-file-validator/test/fixtures/subdir/bad.toml
        error: Error at line 6 column 6: toml: expected character =
    × /home/tim/coding/config-file-validator/test/fixtures/subdir/bad.yml
        error: yaml: line 3: did not find expected '-' indicator
    ✓ /home/tim/coding/config-file-validator/test/fixtures/subdir/good.json
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.csv
        error: parse error on line 1, column 20: bare " in non-quoted-field
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.editorconfig
        error: cannot load ini file: unclosed section: [*.md
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.env
        error: Error at line 2: invalid escape sequence: "a"
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.hcl
        error: error at line 1 column 1: :1,1-2: Invalid argument name; Argument names must not be quoted.
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.hocon
        error: two adjacent commas at: 3:16, adjacent commas in arrays and objects are invalid!
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.ini
        error: key-value delimiter not found: name value
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.json
        error: Error at line 1 column 3: invalid character '}' looking for beginning of value
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.plist
        error: plist: error parsing XML property list: missing value in dictionary
    × /home/tim/coding/config-file-validator/test/fixtures/subdir2/bad.properties
        error: circular reference in:
               key=${key}
    ✓ /home/tim/coding/config-file-validator/test/fixtures/subdir2/good.ini
    ✓ /home/tim/coding/config-file-validator/test/fixtures/subdir2/good.json
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.CSV
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.HCL
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.INI
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.JSON
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.PLIST
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.PROPERTIES
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.TOML
    ✓ /home/tim/coding/config-file-validator/test/fixtures/uppercase-extension/good.YAML
    ✓ /home/tim/coding/config-file-validator/test/fixtures/with-depth/additional-depth/sample.json
    ✓ /home/tim/coding/config-file-validator/test/fixtures/with-depth/sample.json
    ✓ /home/tim/coding/config-file-validator/test/output/example/good.json
    ✓ /home/tim/coding/config-file-validator/test/output/example/result.json
    ✓ /home/tim/coding/config-file-validator/test/output/example/result.xml
[tim@Tim config-file-validator]$ makepkg -f
==> Making package: config-file-validator 0.0.0-1 (Tue 22 Oct 2024 11:02:44 PM CEST) **// Used the version 0.0.0 to ensure that it updates the version**
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating config-file-validator git repo...
==> Validating source files with md5sums...
    config-file-validator ... Skipped
==> Validating source files with sha256sums...
    config-file-validator ... Skipped
==> Extracting sources...
  -> Creating working copy of config-file-validator git repo...
Switched to a new branch 'makepkg'
==> Starting pkgver()...
==> **Updated version: config-file-validator 1.7.1-1 // Version was updated**
==> Removing existing $pkgdir/ directory...
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> WARNING: Package contains reference to $srcdir
usr/bin/validator
==> Creating package "config-file-validator"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Creating package "config-file-validator-debug"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: config-file-validator 1.7.1-1 (Tue 22 Oct 2024 11:02:46 PM CEST)


Update Makefile

Testing main presubmit
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

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

Needs approval from an approver in each of these files:

OWNERS [abhay-krishna]

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

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

main-presubmit
37c5bcd9f59fbf9ac481ff3a148a96d798a5c975
link
/test main-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

main-presubmit
37c5bcd9f59fbf9ac481ff3a148a96d798a5c975
link
/test main-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

main-presubmit
37c5bcd9f59fbf9ac481ff3a148a96d798a5c975
link
/test main-presubmit

external-provisioner-presubmit
47720039f7c821652c1d283ef45ca73c7286d77b
link
/test external-provisioner-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

external-provisioner-presubmit
47720039f7c821652c1d283ef45ca73c7286d77b
link
/test external-provisioner-presubmit

main-presubmit
47720039f7c821652c1d283ef45ca73c7286d77b
link
/test main-presubmit

Full PR test history. Your PR dashboard.

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

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

external-provisioner-presubmit
47720039f7c821652c1d283ef45ca73c7286d77b
link
/test external-provisioner-presubmit

external-snapshotter-presubmit
d3881b91394db1c4685002422ecefa34297bf58d
link
/test external-snapshotter-presubmit

Full PR test history. Your PR dashboard.

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


Fix issue #104 - Allow an optional single space in timeslot after comma

Updated regex matches both timeslots with a space after the comma (example: 26032023 11:00, 26032023 12:00) and without (example: 26032023 11:00,26032023 12:00).
Note that it matches only with a single space, although it could be changed to allow any number of spaces by changing \s? to \s*


An option to produce a class name only with modifier

Hello! I have been using this library for ~1 year in my project and I have realized, that sometimes I need to generate only class name with modifier, like button_active.
For example, it can be used to provide an activeClassName to Link component in React-router:
import bem from 'bem-cn';
const b = bem('navbar');
const className = b('link'); // produces `navbar__link_active`
const activeClassName = b('link').mod({active: true}); // produces `navbar__link_active`
<Link className={className} activeClassName={activeClassName} />

What do you think about this? Do you have any other ideas how to solve it? Not only React-router, but a lot of other libraries also want to receive class name for different states independently and I want to provide them my classes, all written in BEM.

Hi!
I don't understand couple of things in your post:

sometimes I need to generate only class name with modifier, like button_active

It's not BEM way. If your want to add modifier to block/element, you have to use selector with block/element name, like button button_active.

const className = b('link'); // produces navbar__link_active

Nope, you should get navbar__link.

const activeClassName = b('link').mod({active: true}); // produces navbar__link_active

I have no support for mod method in bem-cn.
Are you sure, that you understand BEM right?
Are you sure, that you use bem-cn?

Let's focus on this.
React-router gives us a Link component that accepts two props

className - class name that will be added to the link
activeClassName - class name added only if link matches with current route

I want to have className as navbar__link and activeClassName as navbar__link_active. How would you solve this?

How would you solve this?

In this case it is not BEM way for naming selectors. I would use any another not BEM library like this one or assign className and activeClassName manually without any library.

I have an entire application written by BEM class name convention with some third-party dependencies that do not fit into BEM because they ask me for a single class name for each state.
I still want to organize my CSS consistently, including the stuff, that will be passed to third-party libraries. Unfortunately, there quite much not BEM-friendly libraries, so I am looking for a better way than writing these class names manually.

Firstly, you could ignore limitations by third-party libraries. For example, you could use only className for <Link> component and this approach works fine with BEM.
Secondly, you could write any selector as a plain string:
const b = bem('navbar');
const className = b('link'); // `navbar__link`
const activeClassName = `${className}_active` // `navbar__link_active`

Thank you. I will follow the approach that you have shown at the last comment. Better than build class name manually!


RFC: Memory struct inheritence

Memory->UnsafeMemory
Add Memory
The structs compose:
struct Memory<T>
{
    byte[] Array;
    int Offset;
    int Length;
}

struct UnsafeMemory<T>
{
    void* Pointer;
    Memory<T> Memory;
}

In Memory the worst that can happen with a torn read is an Exception for a range check failure on the array and the array doesn't need extra protection as its GC handled.
In UnsafeMemory a torn read could lead to an out of boundary access and you may desire it to have an extra class reference for protection to detect disposal of the memory.
I think some of the uses of UnsafeMemory could be changed to Memory
/cc @jkotas @davidfowl @KrzysztofCwalina

System.Slices.Tests.SlicesTests.MemoryCtorSubArrayWithPinnedPtr [FAIL]
23:36:51       System.ArgumentOutOfRangeException : Specified argument was out of the range of valid values.
23:36:51       Stack Trace:
23:36:51         D:\j\workspace\Release_prtest58035862\tests\System.Slices.Tests\BasicUnitTests.cs(419,0): at System.Slices.Tests.SlicesTests.MemoryCtorSubArrayWithPinnedPtr()
23:36:51     System.Slices.Tests.SlicesTests.SliceArrayBackedMemory [FAIL]
23:36:51       System.ArgumentOutOfRangeException : Specified argument was out of the range of valid values.
23:36:51       Stack Trace:
23:36:51         D:\j\workspace\Release_prtest58035862\tests\System.Slices.Tests\BasicUnitTests.cs(440,0): at System.Slices.Tests.SlicesTests.SliceArrayBackedMemory()

Why do we need two types: safe and unsafe Memory?

The structs compose:
struct Memory<T>
{
    byte[] Array;
    int Offset;
    int Length;
}

struct UnsafeMemory<T>
{
    void* Pointer;
    Memory<T> Memory;
}

In Memory the worst that can happen with a torn read is an Exception for a range check failure on the array and the array doesn't need extra protection as its GC handled.
In UnsafeMemory a torn read could lead to an out of boundary access and you may desire it to have an extra class reference for protection to detect disposal of the memory.

This basically defeats the purpose of having a single type to unify T[] and T*.

But it creates a two types with no polymorphic relationship between them. I already feel like we have too many memory-like types in the system (span, buffers, memory, etc.).
Maybe Memory can be removed and ArraySegment + extensions used?
Also, I would be interested in your thoughts on https://github.com/KrzysztofCwalina/corefxlab/blob/Memory/samples/Memory/Memory/Program.cs
I started to prototype it to solve some of the threading and lifetime issues, i.e. today, it seems like memory instances can be stored for later (on the heap) and mess up buffer pooling.

This basically defeats the purpose of having a single type to unify T[] and T*.

But it creates a two types with no polymorphic relationship between them.

Internally Memory is convertible to UnsafeMemory and externally Span provides this unification as they both Slice to Span.

Maybe Memory can be removed and ArraySegment + extensions used?

Alas ArraySegment gives you the full array access and it it up to the caller to index correctly; starting at offset and remaining within length. Memory provides the heap based slice which is just a window or segment.

@benaadams, do you still feel this PR has advantages over #902?

@KrzysztofCwalina currently I feel it might have a perf edge; but #902 has many more desirable properties.

Sounds good. Though I have to say I do worry about Memory perf. I started to change JSON parser to use it and I am not sure I like it ;-). Maybe after we have true stack-only types, I convert the APIs back to use spans.

What concerns me currently is to get a Span is non-inlinable virtual dispatch; which would be bad for iterating in small span chunks. Also its quite large 8+4+4+8 = 24 bytes; slimming the id to an int would make it the same size as padding would push it back up.
Thar's just eyeballing it though; will need to do some tests to see what it actually does. Its a much better starting point though.


ISOXX parsing

Description
ARMI uses glob to parse the current directory for any ISOXX files by trying to match against ISO*.  Then ARMI tries to extract the last two characters of the matches, under the assumption that glob only returned files that look like ISOXX. The problem with this is that glob might return other things, in which case the regular expression search returns None, the call to group fails, and ARMI crashes, even if there were legitimate ISOXX files in the directory to operate on.
This was found due to my specific use-case, but I imagine it is not so uncommon. In some Windows environments, glob is apparently not case-sensitive. So if someone has a file that starts with iso* (for instance, the words 'isotope' or 'isotopics'), then glob will return it in addition to any ISOXX files, and then ARMI can't handle it and crashes.
So I added an exception handler to skip any failures in the regular expression parsing, which prints a debug message if the exception is reached.

Checklist

[x] The code is understandable and maintainable to people beyond the author.
[ ] Tests have been added/updated to verify that the new or changed code works.
[x] There is no commented out code in this PR.
[x] The commit message follows good practices.
[x] All docstrings are still up-to-date with these changes.

If user exposed functionality was added/changed:

[ ] Documentation added/updated in the doc folder.
[ ] New or updated dependencies have been added to setup.py.

That seems like a fine change.
The code coverage is failing because you added that debug line, but it doesn't get hit in a unit test.
We should probably cover it in unit tests, or remove it. I noticed that a few lines above this, we have a very similar case-sensitive check for the same file names:
https://github.com/terrapower/armi/blob/22ebd1a2b6bdd0ebfd14b2e56273f8351db57f82/armi/nuclearDataIO/xsLibraries.py#L134
So, maybe we can get away with your try/except. Or maybe we should pull the above line and your new line out into a special helper staticmethod to test for that file name?
Your call, whichever seems best.
Thanks for the fix!

I wonder if there is a more intelligent way to detect if this is an ISOTXS file. As in, I wonder if we can perform a quick file open/read without reading in the entire file. If the file looks like an ISOTXS file based on it's first card / header then we can close and proceed, otherwise we can just skip.
This method/function has been a pain to deal with since we are trying to use a naming convention to detect which files are the valid ones to include.

Yeah, I think we could probably do something like that. The only thing I would say, though, is we will still likely want to have some sort of try/except statement in there when opening and reading the file, because if we are reading any random file, who knows what might be inside of it.
So I guess I don't see it as being so much different than what we're currently doing.
That's just my opinion, though, and if others have different opinions than I am open to going that route.

I think what you have now is good to cover your case so no need to change again now. I was sort of thinking aloud w.r.t. to quick opening CCCC type files in general.

Could be good to add a unit test to this. There should be tests for this function already so just consider extending to it. I see no reason that this won't work though. I'll wait to merge until a simple test is written.

Yeah, I'm working on a unit test. Hopefully tomorrow. It ended up being a bit more complicated than I expected to test it, but mostly just because I'm a noob.

Thanks for working on the test!
As far as the try/except goes, maybe we should at least be consistent, and have them in all the places in this file we detect ISOXX files, or none of them. You know?
Anyway, thanks for working on the ticket, you rock!

@john-science @jakehader
Test is up.

Grrr, failing. I think I know why, let me see...

Okay, good to go now!


Application Data Records in the TLSv1.3 Handshake?

Some days ago a colleague confronted me with an interesting TLS problem: After switching the libssl library from 1.0.2 to 1.1.1 he encountered the issue that immediately after the SSL_connect() his previously working code now blocked in an SSL_read_ex() call, even though a preceding select() call had just returned marking the socket as readable. After some research, I found out that part of the problem was that the SSL_MODE_AUTO_RETRY mode is enabled by default since 1.1.1, which hadn't been the case previously. Disabling the mode and handling the SSL_ERROR_WANT_READ errors correctly fixed his problem.
What astonished me during my investigations was the fact the problem occurred only with the TLSv1.3 protocol and that the blocking was caused by TLS Records marked as 'Application Data' which were transmitted as part of the initial handshake. (The TLSv1.2 exchange contains only 'Handshake' and 'Change Cipher Spec' records.) Those 'Application Data' records seem to play a special role, as they are generated and consumed by the libssl library and are not handed to the application. Can anybody of you tell me what those records contain and why they are marked as 'Application Data' even though they are not intended for the application?  I know that the RFC allows optional application data during the handshake, but I couldn't find any specific information about the possible use cases.
Regards, and thanks in advance,
Matthias
Below you find an outline of a simple Handshake (a little C client calling SSL_connect() against an openssl s_server, both running on localhost), recorded with tshark, the little command line brother of wireshark. (The full transcript is contained in the attached files tls13-connect.txt resp. tls12-connect.txt, see links below.)

    TLSv1.3 Record Layer: Application Data Protocol: Application Data
        Opaque Type: Application Data (23)
        Version: TLS 1.2 (0x0303)
        Length: 97
        Encrypted Application Data: ac0e7ecafb2c3fa1f34a84eb6fdb8bd256486e229df23f436db1f4b6b4e46b84df845ffc…
    TLSv1.3 Record Layer: Application Data Protocol: Application Data
        Opaque Type: Application Data (23)
        Version: TLS 1.2 (0x0303)
        Length: 69
        Encrypted Application Data: 8e1199e00245e2a8db2502ff10de8c9d72ad20d1427c290a827b3ab12a62ef8deb6b4af5…

--
Transport Layer Security
    TLSv1.3 Record Layer: Application Data Protocol: Application Data
        Opaque Type: Application Data (23)
        Version: TLS 1.2 (0x0303)
        Length: 234
        Encrypted Application Data: c524a025ab55c3f673c6cfe2a34f3f1e21086643941b5855b3ae48cf4194ebff6b15c517…
--
Transport Layer Security
    TLSv1.3 Record Layer: Application Data Protocol: Application Data
        Opaque Type: Application Data (23)
        Version: TLS 1.2 (0x0303)
        Length: 234
        Encrypted Application Data: cd84b937f49ee3e0943462ddd12963bf8b0c6a3bc342d11c9820b858212a786520ef9941…

Encrypted records are given the outer content type of "Application Data", with the actual content type being encrypted.
https://datatracker.ietf.org/doc/html/rfc8446#section-5.2 has some more details of this process.

Its a TLSv1.3 protocol thing. Records now have an "outer" and an "inner" content type. As soon as records start getting encrypted (which is early in TLSv1.3) the "outer" content type gets set to "Application Data". The "inner" content type tells you the real content type of the record - but this is encrypted and not visible to a passive observer.

Thanks for the quick reply @kaduk and @mattcaswell! Now things make more sense to me.

Thank you all for your enlightening replies!

Postscript: indeed, the RFC explicitly states on page 81 that the record type was chosen for compatibility reasons with middleboxes:
opaque_type:  The outer opaque_type field of a TLSCiphertext record
      is always set to the value 23 (application_data) for outward
      compatibility with middleboxes accustomed to parsing previous
      versions of TLS.  The actual content type of the record is found
      in TLSInnerPlaintext.type after decryption.

Why does TLS1.3's 0x17 Application Data also need an Outer wrapper? Application Data is already an "Application Data" and should not require a TLS1.2 Outer wrapper.
Sorry to ask that in this Issue. I didn't find the relevant question online, only this Issue has enough context :)

Why does TLS1.3's 0x17 Application Data also need an Outer wrapper? Application Data is already an "Application Data" and should not require a TLS1.2 Outer wrapper.

TLSv1.3 can send alerts, handshake messages or application data all with the same application data outer content type. You need an inner content type to determine which one it really is, even for application data.


Add documentation for environment variables of engine.

Added detailed documentation for all the environment variables of engine in envars.rst.
Modified README.md to include embedding model variable.
Corrected some typos in .env.example.

@aazo11


which API should I use ?

there are two types of tikv client api, Raw KV api and transactional kv api.
I want to implement a redis like KV system, so which type of api should i use to get the most read/write performance ?
I read stories about eleme.com, who has successful practice in tikv for production usage. i wonder how
eleme take advantage of the tikv api.

You can contribute to https://github.com/yongman/tidis for example.
See apis: https://www.pingcap.com/docs/tikv/go-client-api/ (non transactional is faster).


Added: STARTTLS example

[x] This PR adds an example file for STARTTLS connection.

This change is

Ah, this is great, thank you!
It looks like CI thinks you need to run cargo fmt

Sorry, I'm not familiar with cargo test yet. Would you explain me why this fails?
(tests on master also fail on my local environment)

Ah, so, cargo test for this project assumes that you have an IMAP test server set up, so they probably won't pass locally.
The only test that failed on CI is for nightly, and that is due to a component not being available on the latest nightly. We can safely ignore that :)


support -l cmd flag

-l	list files whose formatting differs from mdfmt's

https://github.com/elliotxx/mdfmt/commit/1fcfa4f5355bc6ece048f4cda1dc37451e46401b


It appears that HtmlFrame.add_css is broken.

First of all thank you to @Andereoo for this wonderful library. I am aware that you are away from the summer, I'm just bringing attention to an issue for whenever.
Anyways, I just wanted to report that it appears that HtmlFrame.add_css is broken. Even injecting something as simple as *{color: blue;} doesn't do anything. Also doesn't work if I don't use a selector at all, though that's expected.
I should note that inserting a <link> tag to a stylesheet in the header before passing the html file into the HtmlFrame instance works perfectly fine. The HtmlFrame renders almost anything I throw at it in this manner, it's just that the add_css method doesn't do anything.
Best regards.
EDIT:
After testing more cases, it does actually seem to work, but the !important tag does not, and the rendering engine is thus unable to override styles applied with the style attribute directly in the DOM. This is very odd, seeing as the !important tag works fine in stylesheets loaded via link.
I guess I'll leave the issue open for now in case you want to take a look at this special case, but just know that to reproduce it you need an html file with a style applied via the style attribute of an element. HtmlFrame.add_css is unable to override any styles applied in this manner, even with the !importan tag.

Thanks for bringing this to my attention! I've fixed this issue; stylesheets loaded via add_css should now take precedence over all others and any CSS added while the page is still loading will no longer be ignored. Try upgrading TkinterWeb, and let me know how it works!


[SLES-1884] Bump agent version

We may need to upgrade our agent version to enable Azure App Services span attributes.

confirmed that this resulted in new aas span tags in our self-monitoring python app


Avoid using overloaded virtual methods in vector type backends

This is mostly done in order to allow SOCI headers to compile cleanly
with -Woverloaded-virtual (or corresponding MSVC warning C4266) in
effect, but it also allows to turn the same warning on for building SOCI
itself, which can be useful.

I'm submitting this because I'd like to avoid warnings when including soci/odbc/soci-odbc.h in my own project which enables this warning without having to put pragmas before/after including it and I think I might be not the only one doing this.
If renaming these methods is too contentious (I don't think there are any compatibility considerations in play here, but I could be missing something), there is also a possibility of just adding using vector_into_type_backend::define_by_pos; etc to all the derived classes instead.

👍 I think it is a good idea


Support the STL format for 3D printing

It would be AMAZING to be able to print 3D models of the generated world. To do that we could support the STL format: http://python-stl.readthedocs.io/en/latest/

:+1:

Found this:
https://pypi.python.org/pypi/numpy-stl
We can dump what is in Numpy to STL, then dump to file! :)


Overview data not updated

Looks like after node SW update the overview data acquisition is not working anymore.

Same happened to extractDFIDataRichlist


Adds default to geocoding_quota for organisations

Fixes #6180
This is set to fix problems like thees. Bare in mind that geocoding_quota is non null default 0 for users already.
Pending tests in Staging to verify everything works.

It looks ok, but remember we need to deploy migrations in a separate PR, before code. Check this in staging and split this :+1:

ping!

I'm looking into a Org-creation failure related to this PR, @xavijam ! Hang on!

:+1:

Deploying after successful migration in production.


fix: only attempt to subscribe/unsubscribe to channels when socket id is set

Only attempt to subscribe to a private channel if socket id is set, as it is necessary for authenticating a private channel on the server side.

I think, the same should be done on Public Channels

Checking if [connectionDelegate.socketId] is set on both subscription and unsubscription of both type of Channels

@nicobritos , Please have a look at the latest changes to the branch. If it's ok, I will merge it to master.

@mcfugger yeah, I think it's OK. I didn't notice but unsubscribing a channel when the socket id is null (therefore, the connection has been closed) makes no sense, so I think it ok.

@mcfugger yeah, I think it's OK. I didn't notice but unsubscribing a channel when the socket id is null (therefore, the connection has been closed) makes no sense, so I think it ok.

Actually, it does make sense - it may be waste calls to the server even it ignores them


NButton border on hover conflicts with NBadge

TuSimple/naive-ui version (版本)
2.18.2
Vue version (Vue 版本)
3.2.12
Browser and its version (浏览器及其版本)
Chrome Version 93.0.4577.63 (Official Build) (64-bit)
System and its version (系统及其版本)
Windows 10
Node version (Node 版本)
Reappearance link (重现链接)
https://codesandbox.io/s/weathered-http-jdsxz?file=/src/Demo.vue
Reappearance steps (重现步骤)
Hover mouse on the button.
Expected results (期望的结果)
Hover should not overlap on badge control
Actual results (实际的结果)
The border will overlap with badge content
Remarks (补充说明)


SwapChainPanel.Background throws because it's an unsupported property

SwapChainPanel inherits Background because it derives from Panel, but we don't actually allow apps to set it. We throw an "unsupported property" error when an app tries to set it.

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

ID: ee9a5a88-6893-33e4-3875-b7c9d3ab54f2
Version Independent ID: 56d8c4f4-c6b6-0369-f0aa-62a53117ae86
Content: SwapChainPanel Class (Windows.UI.Xaml.Controls) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.UI.Xaml.Controls/SwapChainPanel.xml
Product: uwp
Technology: winui
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

@gegao18, thanks for the information. I've submitted an update to add this to the docs.


[flutter_tools] Remove usage of --precompiled flag for web tests

Description
This will allow flutter test --platform=chrome to correctly skip most tests that use TestOn annotations. Since we currently precompile everything, it does not work for tests that cannot be compiled to JavaScript. To fix this, the web test platform would need to be updated to do on-demand compilation like the regular test platform

(Moving to compilation on demand is also required to support autodetect for target files)

turns out precompiled doesn't really matter now!


Add Ollama Support for Avante Neovim Plugin

We need to integrate Ollama support into the Avante Neovim plugin to enhance its functionality and provide users with a more powerful development environment. Ollama's features will allow us to offer advanced capabilities such as real-time collaboration, enhanced AI-driven code suggestions, and improved project management within Neovim.
Tasks:

Research Ollama Integration:

Investigate the Ollama API and SDK.
Identify the key features of Ollama that would be beneficial to integrate into Avante.

Design the Integration:

Plan how Ollama's features will be incorporated into Avante.
Design the user interface for interacting with Ollama within Neovim.

Implement the Integration:

Write the necessary code to integrate Ollama with Avante.
Ensure that the integration is seamless and doesn't disrupt the existing functionality of the plugin.

Testing:

Test the integration in different environments to ensure compatibility.
Fix any bugs or issues that arise during testing.

Documentation:

Update the README and any other relevant documentation to include instructions on how to use Ollama within Avante.
Provide examples and use cases to help users understand the new functionality.

Release:

Prepare a new release of Avante that includes the Ollama integration.
Announce the new feature to the community and gather feedback.

Benefits:

Enhances the functionality of Avante by leveraging Ollama's advanced features.
Provides users with more powerful tools for collaboration and code management.
Keeps Avante competitive with other Neovim plugins by integrating cutting-edge technology.

check wiki


Windows OPENSSL_CRYPTO_run_once() implementation does not guarantee memory ordering which leads to undefined behaviour in multithreading contexts

Platform and versions

Windows 11 arm64
OpenSSL: 3.1.2 (but the current master is also affected)
MSVC 2022 compiler

Description
The current implementation of OPENSSL_CRYPTO_run_once() for the Windows system (see https://github.com/openssl/openssl/blob/d2873946dfaff5537ea3d1adf3890e33a3f276ff/crypto/threads_win.c#L134-L152) has a subtle issue, which can be exploited especially when running on architectures with weak memory ordering CPUs (like ARM).
Function's lock-free loop correctly synchronises the access to the once variable (by doing atomic operation with InterlockedCompareExchange API), however if the init() function writes some kind of global/shared variable(s), it might lead to out-of-order reads by another threads - aka the "consumer" threads might see the global data as incomplete even if once was changed.
There are multiple reasons to lead into out-of-order memory access (e.g. compiler optimisations, CPU memory access reordering, CPU cache), see a good introduction to the topic https://learn.microsoft.com/en-us/windows/win32/sync/synchronization-and-multiprocessor-issues
In my case, I discovered the problem by investigating some sporadic crashes in OPENSSL_thread_stop() called in parallel from multiple threads, from an application which links OpenSSL statically. From time to time, it happened that glob_tevent_reg to be incomplete in init_thread_remove_handlers https://github.com/openssl/openssl/blob/d2873946dfaff5537ea3d1adf3890e33a3f276ff/crypto/initthread.c#L176 - aka gtr->lock was NULL which made https://github.com/openssl/openssl/blob/d2873946dfaff5537ea3d1adf3890e33a3f276ff/crypto/initthread.c#L179 dereference a null pointer.
Basically, with the current implementation of OPENSSL_thread_stop() there's a real danger that MT applications to be affected w/o knowing where to pinpoint - e.g. the out-of-order data can easily create (heap) memory corruptions which are much more fun to debug than a crash by null pointer access.
PoC and solutions
I have created a small project to show-case the problem and implemented some fix proposals - refer to the README.md file from the archive
CRYPTO_THREAD_run_once-windows.zip
My recommendation is to adapt OPENSSL_CRYPTO_run_once implementation to call Windows's InitOnceExecuteOnce API when the target is post Windows Vista (especially because XP is EOL for a while) and to keep the current implementation (plus the MemoryBarrier() fix) for the obsolete XP builds.

Couldn't the implementation on Windows just use the InitOnceExecuteOnce Windows API designed to do "run once"?

@tom-cosgrove-arm InitOnceExecuteOnce isn't available in XP which, according with the comment from the source code https://github.com/openssl/openssl/blob/d2873946dfaff5537ea3d1adf3890e33a3f276ff/crypto/threads_win.c#L130-L133, it is still supported by OpenSSL

It feels like a safer implementation with the correct native function would be better, with a compile-time fall-back if we don't have it. I'm not aware of WinXP running on systems with weak memory ordering

Also, to be noticed that I mistakenly though MemoryBarrier (https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-memorybarrier#requirements) is available in Windows XP but that's actually Windows Vista+ too.
Thus @tom-cosgrove-arm 's suggestion to stick with the current implementation as fallback, looks legit to me

but in the fallback case, the current implementation still suffers from the issue that, when multiple threads call CRYPTO_THREAD_run_once, threads above and beyond the first will still potentially return prior to the init routine completing, allowing for a write after read error of any global data modified by the init routine. It seems like a mutex is legitimately required here (which is what pthread_once does under the covers)

It feels like a safer implementation with the correct native function would be better, with a compile-time fall-back if we don't have it. I'm not aware of WinXP running on systems with weak memory ordering

Consider the strategy we take for ossl_crypto_condvar - we have cases there for NT-legacy and NT-modern. That's set at build time.
I suggest we do something similar here and leave this as a fallback for builds where _WIN32_WINNT is set to XP.
We could then change the default for _WIN32_WINNT to something more recent at least for ARM, since older builds of Windows for ARM literally don't exist.
Having said all of that, we should also fix this legacy code path. Can't we just add a memory barrier?

but in the fallback case, the current implementation still suffers from the issue that, when multiple threads call CRYPTO_THREAD_run_once, threads above and beyond the first will still potentially return prior to the init routine completing, allowing for a write after read error of any global data modified by the init routine. It seems like a mutex is legitimately required here (which is what pthread_once does under the covers)

Normally that shouldn't happen because the other threads will spin inside the loop until ONCE_DONE is set, which is done after the call to init().
However, because there's no happens-before relationship between them, I think it's still possible (at least theoretically with aggressive optimisation) for the compiler to change the order and set lock before calling init(). So, indeed, a fix for the legacy path seems to be needed.

Adding "help wanted" label

Instead of doing *lock = ONCE_DONE; directly, wouldn't InterlockedExchange fix this (since it also generates a generates a full memory barrier)?


fix for Host key verification failed, updating Nordix repos

Can one of the admins verify this patch?

squash and rebase done


Help

https://github.com/Frankkwitta11/1inchweb/issues/1#issue-1989344516

@Frankkwitta11 could you please describe your issue? The repository that your link above points to does not exist.

This is my CHAINLINK wallet: 0xD0a8464C2a82ea432821B2B5263A9eC9F66F25A8
Thank you very much.
god sees it ♥

@Frankkwitta11 could you please describe what's your issue? Not sure what I can do with your CHAINLINK wallet address.


Update sonarr.py because of duplicated v3 call

Since the change to the base url and the changes for language profile, the v3 was duplicated and causing errors

related to PRs #52 and #64

I've already got this, but thank you. In fact, language profile support is deprecated in Sonarr v4 so I am removing this new functionality from Searcharr altogether.


Post rating in the grid?

I am using another plugin (wpDiscuz) to collect ratings and comments of posts.
I am thinking of also showing the average rating in the bs-grid content.
Do you think it is achievable by adding extra code to the template?

Of course, you can show everything you want in the loop. Just need the snippet for the stars.
As they wrote here https://wpdiscuz.com/community/troubleshooting/display-post-rating-and-number-of-ratings-in-the-loop/ and here https://wpdiscuz.com/community/f-a-q/wpdiscuz-shortcode-2/, there are shortcodes [wpdrating] for them.
So, it's not tested because I don't use this plugin but this one should to the trick:
<?php echo do_shortcode("[wpdrating]"); ?>
Paste it for example after the closing </h2> tag in template file. If this not works, please open a topic in the WPDiscuz forum to get the correct shortcode.
Does this help?

Hi Basti,
Thank you very much for the reply and the kind support.
It does work.
I am very new to the Bootstrap and php. I don't know much about coding.
I try to self-learn from the documentation.
Your support really made my day.
If you are interested, my website URL is https://reviewfromuser.com
I am trying to build a website for user reviews.
Best regards,
Frank
Sent with ProtonMail secure email.
------- Original Message -------
在 2022年4月19日 星期二 下午 10:40，Basti @.***> 寫道：

Of course, you can show everything you want in the loop. Just need the snippet for the stars.
As they wrote here https://wpdiscuz.com/community/troubleshooting/display-post-rating-and-number-of-ratings-in-the-loop/ and here https://wpdiscuz.com/community/f-a-q/wpdiscuz-shortcode-2/, there are shortcodes [wpdrating] for them.
So, it's not tested because I don't use this plugin but this one should to the trick:

Paste it for example after the closing  tag in template file. If this not works, please open a topic in the WPDiscuz forum to get the correct shortcode.
Does this help?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

You‘re welcome 👍


bug(python): LanceError(Index): KMeans: can not train 256 centroids with 100 vectors, choose a smaller K (< 100) instead, but changing k_value to less than 100 does not resolve this

LanceDB version
v0.10.1
What happened?

I get an error - LanceError(Index): KMeans: can not train 256 centroids with 100 vectors, choose a smaller K (< 100) instead
Change the k_value (i.e., num_partitions) to 1
I still get same error.

Are there known steps to reproduce?
No response

Hey @sungkim11! If you only have 100 vectors in your dataset, you probably will not need an index. Flat search should still have good performance. In fact, up to ~10,000 vectors, flat scan performance is usually comparable to or better than search using an index. I would suggest that you can forego creating an index until your table has more rows.
The reason you're still seeing this error even after you've changed num_partitions to 1 is that Lance tries to use 8 bits for to represent Product Quantization codes IVF-PQ index. e.g. we try to train 2^8 = 256 centroids for each sub-vector for PQ. The code path for which you're seeing this error is where it is it computing the centroids for PQ, not IVF, and that is why changing num_partitions does not resolve the issue. It also means that building an index on < 256 rows doesn't really work. I'll correct the error message to make this more clear.


Plan how to gather feedback from users after publishing iterated Images guidance using the experimental tag

What
Using the experimental tag, make a plan of how we will get feedback from users following publishing iterated Images guidance.
Why

so we can explain why the experimental tag is being used
so we know how the guidance is being used in services

Who needs to work on this
Calvin
Who needs to review this
Accessibility expert, Interaction designer
Done when

[x] Draft experimental message — what are we testing?
[ ] Decide how to implement 'experimental' tag
[ ] Decide on channels to communicate
[x] Decide on ways users can respond

We are looking to potentially publish this update with an experimental tag.
This is because we do not know enough about:

how relevant some of the detailed guidance in the “Avoid images that contain text” section is for service teams
-- it seems rare for citizen-facing services to use images
-- In fact, working on this guidance, the team had difficulty finding examples in live services
how practical the guidance is — we’re unsure how service teams create and source the images they’d include in a service
-- can they decide on types of images they need (style, file format, etc.) and get it created?
-- are service teams ever asked to use images they have little creative control over?
-- how helpful is this guidance in their decision-making process?

Decision needed: decide whether to apply the experimental tag to the entire page or only the accessibility-related sections.

I've some draft copy and answers the Done Whens of this ticket in the Google doc.
Pasted below, but please refer to the doc for the latest version.

Experimental notification banner
This page is currently experimental because we want to hear feedback on how useful this guidance is for service teams.
Research on this guidance, and/or backlog comment - draft copy
In March 2023, we updated this page to better help service teams use images in their services. In particular, we added a section on how to use images and ensure they’re as accessible as possible — giving advice to teams on how to meet relevant WCAG AA guidelines and even surpass them in line with our accessibility strategy.
To help us validate that this guidance is useful and practical for service teams across government, we want to get more feedback and examples of images from you.
We want to hear about any of these areas:

how you use images to give information to users
examples of images used in services
how you create and choose images to use in your service
how images are implemented (for frontend performance)

Give us your feedback and examples by posting a comment on the ‘Images’ discussion on GitHub.
Channels to communicate

‘Research on this component’ heading on page
Post on backlog issue
Email to accessibility experts in government(?)
Ways users can respond

The backlog issue is probably the best way, especially as responses will likely include screenshots and annotation.

guidance

Hey @calvin-lau-sig7! I wouldn't be opposed to having the 'experimental' tag on the whole page at least for a while. I can think of three reasons why:

we did make a lot of changes across the page (including illustrations guidance)
it might encourage people to look over other parts of the page and perhaps catch something we missed?
as far as I know, we only have precedent for an 'experimental' tag on a full page, and not on a portion of a page.

And here are two reasons why just adding it to the relevant section might be good

it would focus attention on the portion we're really looking for feedback on
it won't weaken the effect of the other guidance on the page (our other stuff isn't 'experimental')

My proposed option based on this:

mark the whole page as experimental
have a callout near the top of the page that links down to the section that explains what feedback we're looking for?

@ImranH-GDS says it'd be good to do some activity to 'show and tell' some of this work. It'll be useful to:

Find our audience for this guidance (however will need to carefully communicate scope of some of these edits, as images cover a lot)
Get feedback on whether it's useful (and answer some of the questions we have!)


[Settings][KBM]Don't clear data with numpad chord

Summary of the Pull Request
In the keyboard manager page in Settings, the data for the chord is being read as a signed 32 bit-integer, which causes load errors because some keys (like Numpad Page Up) will overflow a signed 32 bit integer.
This PR corrects this by declaring the chord as an unsigned int instead.

PR Checklist

[x] Closes: #31713
[x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Validation Steps Performed
Mapped Ctrl(Left) + Home(Numpad),PgUp(Numpad) to Ctrl(Left) + L like in the issue and verified Settings loads the values correctly in the KBM screen without clearing the data.

/azp run


If the disk serial numbers of different nodes are the same, hwameistor cannot manage the disk normally.

If the disk serial numbers of different nodes are the same, hwameistor cannot manage the disk normally.ld will be overwritten. Is there any detailed solution?

This situation will occur if the disk serial numbers of different nodes are the same.

work-around docs: https://hwameistor.io/docs/faqs#q6-how-to-expand-the-storage-pool-manually


Run locally on a mac?

Hi there,
My workflow is to build a docker compose repo and run it locally on my mac and then clone it on digital ocean host it there. I've been manually configuring nginx on the host server and using letsencrypt and i was hoping to be able to use this instead of doing that.
However, i was having trouble getting this whole thing to work locally on my mac. The message I get when I run sudo make install-le-client on my mac is this:
lient
sudo sh bin/letsencrypt_install.sh<EMAIL_ADDRESS>mydomain.com;
Cloning into '/opt/letsencrypt'...
remote: Enumerating objects: 83, done.
remote: Counting objects: 100% (83/83), done.
remote: Compressing objects: 100% (74/74), done.
remote: Total 76433 (delta 33), reused 16 (delta 0), pack-reused 76350
Receiving objects: 100% (76433/76433), 25.51 MiB | 12.83 MiB/s, done.
Resolving deltas: 100% (56233/56233), done.
WARNING: certbot-auto support for this macOS is DEPRECATED!
Please visit certbot.eff.org to learn how to download a version of
Certbot that is packaged for your system. While an existing version
of certbot-auto may work currently, we have stopped supporting updating
system packages for your system. Please switch to a packaged version
as soon as possible.
make: *** [install-le-client] Error 1

Since that is just a warning, i did try running it anyway. When I ran   I get this:
ERROR: for docker-nginx-gunicorn-flask-letsencrypt_nginx_1  Cannot start service nginx: Mounts denied:
The path /etc/letsencrypt
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
.

ERROR: for nginx  Cannot start service nginx: Mounts denied:
The path /etc/letsencrypt
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

I did try and add /etc/letsencrytp to docker but that directory doesn't exist probably cause LE didn't install.
Do you know how to get this repo running locally on a mac?
Thanks!

Hi! Thanks for your interest in this repo!
Indeed the app was built to work on a Debian / Ubuntu environment, so the initial commands to install the certificates locally were not working on macOS.
I just did some modifications to install the certificates directly within the nginx-alpine image, which actually makes more sense in the workflow and allows to use it on pretty much all systems. This also allows to run better auto-renewals.
You should now be able to run it by:

Pull the new updates
Set-up your applications details under the .env file
Run make dc-start

Let me know if you're still having issues with this new set-up.
Thanks

Also on macOS when adding /etc/letsencrypt to Docker, you might need to replace this by /private/etc/letsencrypt:/etc/letsencrypt.

Hi,
I was able to get it working locally (sort of).  However it doesn't work on the host server. :( I get this error:
2020-04-16T13:00:46.186105250Z 2020/04/16 13:00:46 [emerg] 8#8: cannot load certificate "/etc/letsencrypt/live//fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live//fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2020-04-16T13:00:46.186267490Z nginx: [emerg] cannot load certificate "/etc/letsencrypt/live//fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live//fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

Seems like its looking for fullchain.pem in the wrong spot:
/etc/letsencrypt/live//fullchain.pem
Its actually being saved in:
/etc/letsencrypt/live/MY_DOMAIN_NAME/privkey.pem
Thoughts?
(Also, not as important...  Regarding it "sort of" working locally... http://localhost:5000 works but https://localhost:5000 doesn't. This isn't a big deal because I can get by if http works locally and http and https works on the host.
Thanks,
Brett

Did you correctly set-up the DOMAIN value inside the .env file?
https://github.com/smallwat3r/docker-nginx-gunicorn-flask-letsencrypt/blob/d62e5249a927b55d9f7d08eaf774cdcf01a9439d/.env#L14
That's odd because docker should populate this value automatically from the Dockerfile
https://github.com/smallwat3r/docker-nginx-gunicorn-flask-letsencrypt/blob/d62e5249a927b55d9f7d08eaf774cdcf01a9439d/nginx/Dockerfile#L36-L38
https://github.com/smallwat3r/docker-nginx-gunicorn-flask-letsencrypt/blob/d62e5249a927b55d9f7d08eaf774cdcf01a9439d/nginx/conf.d/flask_app.conf#L20-L22
I guess https does not work because of this issue because the DOMAIN variable is not populated in the Nginx file, so it can't find the certificates.
What is your host server OS?

Hi there! Thanks for helping me out on this by the way!
OK, so I got it working on the host. I had attempted to replace the .env file with something else and that worked locally but not on the host. After going back to using .env everything is working on the host.
Additionally, i'm able to parameterize the nginx volumes variable so that it's pulled from .env which makes it easy to control the different behavior locally vs on the host. You can see that here and here.
However, locally, I still can't the nginx server to run. What value should I put in for DOMAIN when running locally? I've tried leaving it as mydomain.com and localhost but neither worked.
When I run sudo make dc-start locally the nginx service exits. Here's the log:
2020-04-16T16:06:56.861227500Z Saving debug log to /var/log/letsencrypt/letsencrypt.log
2020-04-16T16:06:56.863855600Z The following error was encountered:
2020-04-16T16:06:56.863883700Z [Errno 13] Permission denied: '/etc/letsencrypt/.certbot.lock'
2020-04-16T16:06:56.863906300Z Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths.
2020-04-16T16:06:56.917312100Z 2020/04/16 16:06:56 [emerg] 11#11: cannot load certificate "/etc/letsencrypt/live/localhost/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/localhost/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2020-04-16T16:06:56.917347400Z nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/localhost/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/localhost/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)```

Thanks

I did some play around but unfortunately I think this is due because the certificates Certbot tries to create (localhost) can't be generated as the domain isn't valid as no DNS nor A/AAAA records are linked to it with your local IP address.
My recommendation would be to use another docker-compose file to run this locally in a development environment, without the creation of the certificates. And use the current docker-compose file to launch your application on the host server.

Yeah, i guess I don't need to run nginx locally! I made a few small changes which you may or may not want. You can let me know...
I made a dc-start-local which runs all the containers except nginx:
https://github.com/brettelliot/docker-nginx-gunicorn-flask-letsencrypt/blob/master/Makefile#L27
And I added .env to .gitignore and replaced it with .env.example. This prevents me from checking in the .env files that i'll need to edit on the host anyway.
Let me know if you want a PR.
Regardless, thanks for the update and the help! This was a very helpful skeleton project!

No problem, happy to hear this repo helps :)
Sure thing, please feel free to create a PR
Closing this issue now, but feel free to reopen if needed


OutputStreamPublisher now handles close on its own.

Signed-off-by: Tomas Langer<EMAIL_ADDRESS>This was discovered by Jersey team - when using OutputStreamPublisher, there was an infinite blocking problem with method close.

Fixed the cases identified based on @olotenko input. Created a follow up #1741 to fix related issues (and classes).


Implement PEP 508 regex for package_name

Description:

Use the PEP 508 regex for valid non-normalized package names in the ENTRY_POINT_NAME_REGEX for the EntryPointStrategy class.
It has been adapted, to fit in the context.
For more information, see: https://peps.python.org/pep-0508/#names.
Type of change:

[x] Bug fix.
[ ] New feature.
[ ] Documentation update.

Checklist for the reviewer:

This checklist should be used as a help for the reviewer.

[ ] Is the change limited to one issue?
[ ] Does this PR close the issue?
[ ] Is the code easy to read and understand?
[ ] Do all new feature have an accompanying new test?
[ ] Has the documentation been updated as necessary?

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

Comparison is base (1e78cab) 82.25% compared to head (23a7f11) 82.17%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #362      +/-   ##
==========================================
- Coverage   82.25%   82.17%   -0.08%
==========================================
  Files          44       44
  Lines        1257     1257
==========================================
- Hits         1034     1033       -1
- Misses        223      224       +1

Flag
Coverage Δ

linux
82.17% <ø> (ø)

linux-strategies
84.50% <ø> (ø)

windows
?

windows-strategies
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

oteapi/plugins/entry_points.py
100.00% <ø> (ø)

... and 1 file with indirect coverage changes

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


Updating the ExecuteSparqlQuery command to return BindingSets

Description

What Changed?

Updated the execute sparql interactor to return binding sets instead of a string.
Tests

Coverage?

Updated existing tests
Links
Jira
Checklist

[ ] Code Review
[ ] Squash Commits

People To Reivew
@kchilton2
@jdasch
@pujav65

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/725/


fromQuery().withTemplateCompatibility() should do the same thing as without

BigQueryQuerySource.split() calls cleanupTempResource(); but in the withTemplateCompatibility() code path, we don't call it. We should.
(we can't call split() directly because we need the schema also, and split() doesn't return the schema).

Both of these test failures are unrelated to this PR; I ran ./gradlew :beam-sdks-java-io-google-cloud-platform:build and it passed. Merging.


Incorrect display of international characters in the report

I get a response from api_jsonrpc.php
POST data: {"jsonrpc":"2.0","method":"host.get","params":{"hostids":"11285","output":"extend","selectTags":"extend"},"auth":"4acfd9a31afba53f10a7fea3625b1d42","id":6}
"name": "\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430"
Twig will encode it in UTF-8 (in default) again. As a result, I receive a letter with the subject "Ð“Ð»Ð°Ð²Ð½Ñ‹Ð¹ ÑÐµÑ€Ð²ÐµÑ€ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð¸Ð½Ð³Ð°"
It is necessary to add to the script code for correct operation
$mail->CharSet = "UTF-8";
$mail->Encoding = "base64";

The specified name should be displayed as "Главный сервер мониторинга".

Thank you for your valued response - I will update mailGraph shortly and include your recommended update
Kind regards, Mark

Code updated in v2.17.


Error: Workflow not found!

It started couple of days ago. It keep showing me this error Error: Workflow not found!. Even when loading defaults. Anyone facing this issue?

Oh that’s weird. Can you restart python server and go to <IP_ADDRESS> again see if it disappears. And can you still access the left side files drawer? If yes can you switch to a flow in the files drawer list?


Completion for tactics

easy:
example : 1 + 1 = 2 := by
  sim
   --^ textDocument/completion

harder:
example : 1 + 1 = 2 := by
  skip

--^ textDocument/completion
  done

hardest:
example : 1 + 1 = 2 := by

--^ textDocument/completion

Only the easy case is currently implemented.


Update for Gekko 0.6.0

I've released gekko 0.6 which has some differences in the API. See the following links for details:

https://gekko.wizb.it/docs/internals/server_api.html#POST-api-backtest
https://github.com/askmike/gekko/releases/tag/v0.6.0

Indeed it seems to be not working anymore, profit[%] and profit/day[%] are both at 0.00.

I am getting that error too. @askmike, are you planning on fixing this?

This is not my tool, maybe @xFFFFF can weigh in?
On Thu, Jul 12, 2018 at 1:37 PM, jonathanday930<EMAIL_ADDRESS>wrote:

I am getting that error too. @askmike https://github.com/askmike, are
you planning on fixing this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/xFFFFF/Gekko-BacktestTool/issues/35#issuecomment-404395031,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7MD4rRdZKduY8LCXJfEvXGl1omytRYks5uFuCRgaJpZM4VCYe6
.

--
PGP key at keybase.io/mikevanrossum
https://keybase.io/mikevanrossum/key.asc

If I were to use the gekko version right before 0.6, do you think backtesting would still run ok? Im only going to use this installation for backtesting.

I think so yes, unless you run in any of the issues people have documented
before.
On Thu, 12 Jul 2018, 13:57 jonathanday930<EMAIL_ADDRESS>wrote:

If I were to use the gekko version right before 0.6, do you think
backtesting would still run ok? Im only going to use this installation for
backtesting.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/xFFFFF/Gekko-BacktestTool/issues/35#issuecomment-404398257,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7MD4aZYX_ejdxfiNVJsUQgJh-GKfZYks5uFuU5gaJpZM4VCYe6
.

in lines 1280-1281 of backtest.pl
change
my @profit = $grun =~ /(?<=simulated profit:\t\t )[0-9.-][0-9.-]* $sets[1] ((.)(?=%))/;
my @yearly = $grun =~ /(?<=simulated yearly profit:\t )[0-9.-][0-9.-] $sets[1] ((.*)(?=%))/;
to
my @profit= $grun =~ /(?<=profit:\t\t )(.?)(?=U)/;
my @yearly = $grun =~ /(?<=simulated yearly profit:\t\t )(.?)(?=\n)/;
works for me

@xFFFFF looks like a great tool. Thanks.
I have just set it up and am running off the binaries as have been unable to get perl to run on my machine.
I am getting the same zero values. Also getting some db errors - see below.
Any chance someone can update  the binaries?
[2018-08-05 16:38:54] Creating TOP STRATEGY table...
DBD::CSV::st execute failed: No such column 'DISTINCT strategy' at DBI/DBD/SqlEngine.pm line 1271.
 [for Statement "SELECT DISTINCT strategy, strategy_settings FROM tmp/tmp_datazfymo.csv"] at script/backtest.pl line 182.
DBD::CSV::st execute failed: No such column 'DISTINCT strategy' at DBI/DBD/SqlEngine.pm line 1271.
 [for Statement "SELECT DISTINCT strategy, strategy_settings FROM tmp/tmp_datazfymo.csv"] at script/backtest.pl line 182.
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: SQLITE_BUSY: database is locked
BTC-ARN Backtest is failed.
Can't use an undefined value as a HASH reference at script/backtest.pl line 729.
ianhord@dev-gekko:~/gekko$ events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: SQLITE_BUSY: database is locked
BTC-ELF Backtest is failed.
The storable module was unable to store the child's data structure to the temp file "/tmp/vxKqL7djSg/Parallel-ForkManager-4019-4755.txt":  can't create /tmp/vxKqL7djSg/Parallel-ForkManager-4019-4755.txt: No such file or directory at Parallel/ForkManager.pm line 84.

I am also having this issue. I,ve changed the lines 1280-1281 of backtest.pl as suggested by gabrielrey37 above but the results look the same: Profit and Profit/day = 0.00
I am using Windows 10 and the latest versión of Gekko available now.

@jonathanday930 did you find a previous Gekko version that works with the latest BackTestTool? Is it sufficient for optimizing strategy parameters?

@danibeni81 Here's what I use for profit variable that works:
my @profit = $grun =~ /(?<=profit:\t\t )[0-9.\-][0-9.\-]* $sets[1] \((.*)(?=\%\))/;

dear @robmazur thanks a lot!! it seems it works!!

with 0.65 now patch working

I removed one of the \t and it seems to be working.  I modified the code on line 1280 to:
my @profit = $grun =~ /(?<=profit:\t )[0-9.\-][0-9.\-]* $sets[1] \((.*)(?=\%\))/;

@suprnrdy  thanks, it seems ok now.
im using Gekko v0.6.6

in lines 1280-1281 of backtest.pl
change
my @profit = $grun =~ /(?<=simulated profit:\t\t )[0-9.-][0-9.-]* $sets[1] ((.)(?=%))/; my @Yearly = $grun =~ /(?<=simulated yearly profit:\t )[0-9.-][0-9.-] $sets[1] ((.*)(?=%))/;
to
my @profit= $grun =~ /(?<=profit:\t\t )(.?)(?=U)/; my @Yearly = $grun =~ /(?<=simulated yearly profit:\t\t )(.?)(?=\n)/;
works for me

Instead of "Yearly" should be "yearly"

I'm sharing my version of the string which should be updated (1280). I have tested and all works.
Gekko version: v0.6.6
Nodejs version: v8.12.0
Old string
my @profit = $grun =~ /(?<=simulated profit:\t\t )[0-9.-][0-9.-]* $sets[1] ((.*)(?=%))/;
The new string
my @profit = $grun =~ /(?<=profit:\t\t\t\t )[0-9.-][0-9.-]* $sets[1] ((.*)(?=%))/;

Is there any "ultimate" solution to 0 % profit? I think I've checked every single proposal here yet still 0% profit persists :/ @YuriyTigiev Any other additional change is needed apart from change in 1280 line?

Maybe you're looking at mine, not a perfect regex, but it works for me:
my @profit = $grun =~ /(?<=profit:\t\t\t\t )[0-9.-][0-9.-]* $sets[1] [(]?((.*)(?=%))[(]?/;

Maybe you're looking at mine, not a perfect regex, but it works for me (it extracts the percent of profit):
my @profit = $grun =~ /(?<=profit:\t\t\t\t )[0-9.-][0-9.-]* $sets[1] [(]?((.*)(?=%))[(]?/;

@verbraucher Works like charm! Thanks!


JIRA : BI-13326, BI-13327

Description : Updated text in account validator start page as per requirement

Looking good. Do we need to update the page title as well?

I thought the same, but it doesn't mention in the story. Do I need to check with Beth?

Looking good. Do we need to update the page title as well?

Checked with Alex M, he told not required to change the page title. Can you please approve the pull request?


Handle csrf protection according to spec

@red-avtovo Please ignore session-close and free-space related commits, The are in other PRs.
I will rebase this PR later when they are merged.

@ngoquang2708, is there any work left?

@red-avtovo Still working on it :)

Thanks for your update. Take your time. Much appreciated for your work


Id functionality and documentation for DropdownMenu.Root

Bug report
Using id is not working as expected(as detailed in the documentation) and types do not contain id.
Current Behavior
Using id is not working as expected(as detailed in the documentation) and types do not contain id.
Expected behavior
Types to include id and to pass id attr to ref element, and cases asChild also to be contemplated.
Reproducible example
Reproduced with the latest version "@radix-ui/react-dropdown-menu": "^0.1.6",
Additional context
Docs:

Types:

Repro: Not passing the right id (using asChild true)

Your environment

Software
Name(s)
Version

Radix Package(s)

0.1.6

React
n/a
18

Browser
Chrome

Assistive tech

Node
n/a

npm/yarn

Operating System

Looks like id belongs to DropdownMenu.Content. Updating docs in a sec.

https://github.com/radix-ui/website/pull/353


Integrate undo and redo command into GUI

GUI should reflect the status of undo and redo commands for specific commands such as add, edit and delete commands.

Perhaps in each snapshot of the AddressBook, we could additionally store the Command as well?

I think it would be sufficient to additionally store the CommandResult instead of Command.


feat: prevent outbound network requests

chore: add test fixtures
feat: fix tests to prevent outbound network calls

Addresses some concerns from https://github.com/ipfs-shipyard/ipfs-geoip/pull/112#discussion_r1398054529 and prevents outbound network requests. We should add e2e tests for verifying that the network can supply the content for the expected CIDs, or have manual verification methods for that.

this is currently failing on nodejs 20.9.0.. able to reproduce locally


Problems toggle visibility of warnings/errors.

I would like to be able to show/hide warnings so that I would only see errors. Currently if there are plenty of warnings and errors, it is difficult to find few important errors in large amount of less important warnings. It should be possible to toggle visibility of errors and warnings in problems.

Duplicate of #41114


Which role is required?

Can you please outline, which role is required to manage App policies? At the begininng of the article, it is stated "As an admin", but what Admin?
I have tried with Teams Service Administrator, but this does not allow me to manage the App Policies in the teams admin portal.
thanks

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

ID: d51bb7b1-801e-6801-dcaf-afa3e38e6941
Version Independent ID: d8e726a1-cbf2-53c7-da4d-cc155b48612b
Content: Manage custom app policies and settings in Microsoft Teams - Microsoft Teams
Content Source: Teams/teams-custom-app-policies-and-settings.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

Hello @hosebei
I could reproduce what you are reporting here, I would say that this might be only available for Global Admins, @LanaChin can you confirm so we can adjust the doc? Thank you

hi @scanum do you have any update on this topic? This is kind of a showstopper to give Global Admin permissions to our Teams Administration Team, just to handle App policies. If the requirement of Global Admin persisit, we need to build a process around that, because we can not assign GA role to them.

Hello @hosebei how are you?
Here we are limited to Documentation changes, as we are waiting for the author's confirmation to update the article, I would also kindly suggest you to visit https://microsoftteams.uservoice.com/ to submit this as an idea so the Product Group receives the feedback.
Hope this info helps you.

hi @get-itips fine and you?
yes I know about uservoice, thanks for the suggestion. But first I need the confirmation, that GA is required to do such workloads as App Policies. Maybe there is another option instead of GA, which is currently not outlined in the docs, as it states "As an admin".

@LanaChin Lana, can you shed some light here? Thanks

Looking into this, thanks.

Hi @hosebei - We got confirmation that users who have the Teams service administrator role can manage app policies. We've updated the app policies documentation to clarify that global admins and Teams service admins can manage app policies in the Teams admin center.  Thanks for helping to improve our documentation. If your issue persists, the best way forward is to open a service request in your tenant. Here's info on that: https://docs.microsoft.com/en-us/microsoft-365/admin/contact-support-for-business-products?view=o365-worldwide&tabs=online.


PowerShell not able to run a script file from bash prompt

Steps to reproduce
I created a script file test.ps1 with just 'dir' in it.
See attached image for result.
Expected behavior
List the directory list
Actual behavior
Either "Aborted (core dumped)" or "test.ps1 not recognized"
Environment data
OS = Ubuntu 16.04.1 LTS

PS /home/maxt> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    v6.0.0-alpha.13
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Try
powershell -c test.ps1

Thanks @n3rdopolis,
I did try that one. But, you got me closer.
I realized I didn't try:
powershell -c ./test.ps1
or
powershell ./test.ps1
They both work.  The issue started when I was looking at the powershell -help which doesn't show an example to run a script file. This example need to be added to the help.

'-c' is short for '-Command'

Yes! I knew that.  But then again, that sample should be included in the "powershell -help" for beginners.
Just a suggestion.
:)

-Command can do the job, but there is a whole different dedicated flag -File for that.
It will work without the ./ for the relative path.
powershell -File foo.ps1

On Unix, you can see all the flag with man powershell.

Thanks! I got to use the Linux way.  I'm trying to get use to it.
:)

Seems like the question is answered.


Switch to github-style admonitions

As the previous deprecation not was not correctly displayed in the GitHub repo, this PR switches to using GitHub-Style admonitions

The preview looks good now


added get [all,specific] account methods

added the following methods to crypto_client:

get_accounts: retrieve all available accounts
get_account(account_id): retrieve specific account, given account_id

Is this how pull requests are done? Learning/practicing

Is this how pull requests are done? Learning/practicing


Matter client developer profile expired,can't reinstall

Reproduction steps
Matter client developer profile expired,when i reinstall it to my iphone, it alert install failed
Bug prevalence
when it expired
GitHub hash of the SDK that was being used
the latest
Platform
darwin, other
Platform Version(s)
No response
Anything else?
https://down.dingtalk.com/ddmedia/iwEcAqNwbmcDAQTRAdEF0QLHBrDvAzcv2ce4YgTzZWPyJV8AB9IA1K7tCAAJomltCgAL0gAByB0.png_720x720q90.jpg?bizType=IM&auth_bizType=IM&auth_bizEntity={"cid"%3A"13938413%3A778089402"%2C"msgId"%3A"16848321325755"}&open_id=13938413

https://down.dingtalk.com/ddmedia/iwEcAqNwbmcDAQTRAdEF0QLHBrDvAzcv2ce4YgTzZWPyJV8AB9IA1K7tCAAJomltCgAL0gAByB0.png_720x720q90.jpg?bizType=IM&auth_bizType=IM&auth_bizEntity={"cid"%3A"13938413%3A778089402"%2C"msgId"%3A"16848321325755"}&open_id=13938413

Description file installation failed
The profile "Bluetooth Central MatterClient Developer Mode" is no longer valid.

@zzqzhp Known issue, being worked on.

Facing the same in MacOS as well, while installing profile. "Bluetooth Central Matter Client Developer Mode"

Please stop adding "me too" comments.  The profile is expired.  A new profile with a new expiration date needs to be created and published.  I will update here once I am told that has happened.

Profile at https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/EnableBluetoothCentralMatterClientDeveloperMode.mobileconfig has been updated.

@zzqzhp Thank you for noticing this so quickly and reporting!  Hopefully this won't happen again...

The new profile still installation failed

@bzbarsky-apple  The new profile still installation failed

@zzqzhp I just tested again, on both MacOS and iOS, and the new profile file works for both...  Please make sure that you're testing the new profile file, freshly downloaded from the link above....

@bzbarsky-apple ,thanks,the new profile file works