HTTP asynchronous client with timeouts

Hello,
I'd like to implement an asynchronous HTTP client with different timeouts and I would need some guidance. Typically, I'd like to have a connection timeout, a request/response timeout, but also a shorter timeout while receiving very large response which is renewed as long as data is received. I am wondering whether it could be easily feasible with beast tcp_stream only. What kind of timing aspect does tcp_stream allow? Would I need additional timer(s) to achieve my goal?
(NB: I don't use coroutines yet)
Thank you

The short answer here is that at the same time as initiating the asynchronous io (e.g. async_read), you would also initiate an asynchronous wait on a timer. Whichever finishes first calls cancel on the other.
Both will complete. Whichever completes first is the one that makes the decision on what the next step will be.

Here's a simple example (not tested):
https://godbolt.org/z/j7Wxdv

#include <boost/asio.hpp>
#include <cassert>

namespace net = boost::asio;
using boost::system::error_code;

struct test_object : std::enable_shared_from_this<test_object>
{
    using executor_type = net::io_context::executor_type;

    // if multithreaded, make sure both timer and socket are on the same strand.
    // if single-threaded, just make sure they are on the same executor
    test_object(net::io_context::executor_type e)
    : my_strand_(net::make_strand(e))
    , sock_(get_executor())
    , timer_(get_executor())
    {
        assert(sock_.get_executor() == timer_.get_executor());
        assert(get_executor() == timer_.get_executor());
    }

    void initiate_read()
    {
        async_op_error_.clear();
        timer_.expires_after(read_timeout());
        timer_.async_wait([self = shared_from_this()](error_code ec)
        {
            if (ec == net::error::operation_aborted)
            {
                // means the timer was cancelled. i.e. no timeout
            }
            else if (ec)
            {
                // some other error - this would be fatal
                if (!self->async_op_error_)
                    self->async_op_error_ = ec;
                self->sock_.cancel();
            }
            else
            {
                // timer timed out - so we want to error out the socket
                ec = net::error::timed_out;
                if (!self->async_op_error_)
                    self->async_op_error_ = ec;
                self->sock_.cancel();
            }

            if(-- self->ops_waiting_ == 0)
                self->on_read_complete(self->async_op_error_);
        });

        auto buf = net::dynamic_buffer(read_buffer_);
        auto orig = buf.size();
        buf.grow(65536);
        sock_.async_read_some(buf.data(orig, buf.size()-orig),
        [self = shared_from_this(), buf](error_code ec, std::size_t bytes_transferred) mutable
        {
            buf.shrink(65536 - bytes_transferred);
            self->timer_.cancel();

            if (ec)
            {
                if (!self->async_op_error_)
                    self->async_op_error_ = ec;
            }

            if(--self->ops_waiting_)
                self->on_read_complete(self->async_op_error_);
        });

        ops_waiting_ += 2;  // one timer, one socket
    }

    void on_read_complete(error_code ec)
    {
        // decide what to do next
        if (ec)
        {
            // read failed or timed out
        }
        else
        {
            // process data and initiate next read
            process_data();
            initiate_read();
        }
    }

    void process_data()
    {

    }

    std::chrono::milliseconds read_timeout()
    {
        // 10 second timeout
        return std::chrono::milliseconds(10000);
    }

    auto get_executor() const -> net::strand<executor_type> const&
    {
        return my_strand_;
    }

    net::strand<executor_type> my_strand_;
    net::ip::tcp::socket sock_;
    net::steady_timer timer_;

    std::string read_buffer_;
    error_code async_op_error_;
    std::size_t ops_waiting_ = 0;
};

The OP Is asking about Beast's stream, which has a built-in timer.

Ah yes.
Beast’s basic_stream will handle the timeout for you. Bear in mind that the timeout is for the complete read, not for each placket.
If you’re planning on downloading very large documents you may want to use multiple async_read operations with a limit on the size read.
For most documents the stream will work perfectly well as it is.

Didn't really have the time to implement a solution based on the proposal of @vinniefalco, but I'll consider this fixed.

Didn't really have the time to implement a solution based on the proposal of @vinniefalco, but I'll consider this fixed.

Just looking at the question again, you can split the read into a read of
the header followed by a read of the body.
The content size reported by the header can inform the timeout you choose
for reading the body.
If the response is chunked then you might want to choose an appropriate
timeout for reading each chunk.
On Fri, 8 Jan 2021 at 13:42, ropieur<EMAIL_ADDRESS>wrote:

Didn't really have the time to implement a solution based on the proposal
of @vinniefalco https://github.com/vinniefalco, but I consider this
fixed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/boostorg/beast/issues/2125#issuecomment-756736028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHOZSLNRB46BXAW4KG4G4TSY34RVANCNFSM4T7GX3LA
.

--
Richard Hodges
<EMAIL_ADDRESS>office: +442032898513
home: +376841522
mobile: +376380212

Just looking at the question again, you can split the read into a read of
the header followed by a read of the body.
The content size reported by the header can inform the timeout you choose
for reading the body.
If the response is chunked then you might want to choose an appropriate
timeout for reading each chunk.
On Fri, 8 Jan 2021 at 13:42, ropieur<EMAIL_ADDRESS>wrote:

Didn't really have the time to implement a solution based on the proposal
of @vinniefalco https://github.com/vinniefalco, but I consider this
fixed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/boostorg/beast/issues/2125#issuecomment-756736028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHOZSLNRB46BXAW4KG4G4TSY34RVANCNFSM4T7GX3LA
.

--
Richard Hodges
<EMAIL_ADDRESS>office: +442032898513
home: +376841522
mobile: +376380212


Document what lifecycle events users need to manually hook up when using FlutterEngine without a FlutterFragment

FlutterFragment communicates lifecycle events to its FlutterEngine. These lifecycle events impact Flutter's internal lifecycle state, e.g., whether or not rendering is paused.
Document these details in the JavaDocs for FlutterEngine and FlutterFragment.
Include this info in a guide that explains all details of utilizing a FlutterView directly.

One customer question: I moved a FlutterView from one activity to another but it's now blank. A scenario we should document.

Hi @xster
Is this issue currently implemented in https://flutter.dev/docs/development/add-to-app/android/add-flutter-view#general-approach???
Or is still something that need to be documented? if yes, is the link above the right place to implement this?
This is just to make sure the triage team knows where to verify if this issue was fixed or not next time.
Thank you


Hermes debugger is unavailable on all of our devices and machines

I'll start by saying I don't believe this is related to expo-community-flipper as it began affecting builds that previously worked, on Flipper versions that previously worked - but it affects all of our machines, (iOS and Android, Linux and macOS,) and previous git commits, previous builds, Expo 45, Expo 46, previous Flipper versions - nothing fixes the issue - so I really don't know what to guess at as far as causes.
I've commented on a relevant issue on the Flipper repo, but it seems like we're out of luck if it comes to hoping on Facebook for a solution. Is anyone else experiencing this?
https://github.com/facebook/flipper/issues/3983
Edit: I noticed the ReadMe doesn't include SDK 46 on the list of verified versions. I'm guessing that's just an oversight though?

I noticed the ReadMe doesn't include SDK 46 on the list of verified versions. I'm guessing that's just an oversight though?

Yeah 😅  I haven't found a great way to keep the table up to date w/ expo releases. The latest release 46.0.0 should work with SDK 46, and if not let's work on debugging it.
You mentioned this is happening on Android as well, ruling out the usual Podfile shenanigans. The number one thing I'd do is make sure the flipper app's version matches your package.json version. Unfortunately, lots of flipper minor semver releases are backwards incompatible (pre 1.0) and it's easy to get bitten by this.

Thanks so much for your reply @jakobo!

The latest release 46.0.0 should work with SDK 46, and if not let's work on debugging it.

I'm sure it does work. I can't get SDK 45 to work either, but only for Hermes, so I can't imagine it's this plugin - which always worked great for us!
Unfortunately the react-native-flipper version matches the Flipper desktop app version, but no luck with Hermes to be found anywhere. I just keep hoping some new Flipper version will fix things, but it never does. The fact it affects across machines and Flipper versions and commits is baffling to say the least.

Yeah it does seem strange. Is your host a Windows or a Mac? There's some networking annoyances when it comes to Windows + Hermes.
There's also a PR at https://github.com/jakobo/expo-community-flipper/pull/20 if you want to try this changeset. There were some changes in 0.69.2 that we didn't catch; though they're mostly iOS related.

Unfortunately it's affecting both Linux (connecting to Android) and macOS (connecting to iOS.) I never got Hermes debugger working on Windows as seems to be standard experience.
But the issue affects SDK 45 also, so I really doubt it's related to anything on the Expo-Community-Flipper side. I just don't know where else to ask or what else to try besides accepting that debugging is going to have to take place via log statements only from now on, which I really can't accept =/

Totally. Here's the kinda short version of the horror in windows networking as a baseline, and then I'll follow up on some non-networking stuff.
Under WSL
The fundamental problem with WSL is that the Windows Subsystem for Linux is set up as a NAT, not as a Bridge. This means that your Ubuntu under windows is given an IP with its gateway being the host system. For example, when I run ip a on WSL Ubuntu I get the following for my machine:
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:08:c0:2e brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/20 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe08:c02e/64 scope link
       valid_lft forever preferred_lft forever

The 172.x is a Class B private address, similar to how most home networks have a 192.168.x.y (Class C) private address. Unfortunately, this comes to a head when you launch a server such as Metro via Expo and then ask your Android Simulator to connect to localhost. Windows doesn't think to forward localhost to the WSL instance, because (rightly so) that's not local at all as far as IP routing is concerned. There's a lot of IP Table / Forwarding workarounds, but the most reliable is a utility called WSLHostPatcher which uses the Windows Detours framework to let WSL listen on Windows' <IP_ADDRESS> broadcast interface. Doing this lets localhost requests find the Metro server inside of WSL and everything works wonderfully.
To my knowledge, things with Hermes + Android + WSL2 are working for users, as well as on-device builds against WSL using the expo dev client.
Under Windows Native
Windows Native is currently hell (see #4). There's several upstream issues, and the majority of them are related to use the Hermes runtime which is either (A) choking on a websocket over IPv6, (B) can't find the devtoolsFrontendUrl inside of localhost:8081/json for whatever reason, or (C) a completely unknown issue that's related to the Flipper app itself when running on Windows.
The Windows Native one has me absolutely stumped; my bet is that it's something in the Flipper Windows app related to networking & localhost. It's only a partially educated guess though given the sheer number of things that go wrong with Windows Networking. I don't know if Windows Flipper uses Electron, but using electon's windows networking woes as a baseline definitely feels like it's because Windows networking doesn't act like anyone else's networking.

I'm not sure it's Windows fault either. We have:

A device connecting to Windows forwarding requests to Metro (possibly inside of WSL)
A Flipper app on Windows connecting to Metro (possibly on localhost, or possible inside of WSL)
That same Flipper app is also connected to the device because breakpoints

It's just a lot of moving parts. The RN's work of moving Flipper into React-Native & Metro will reduce some of this pain, but we're probably a few releases off before we see those benefits.
Trying to Fix Hermes and Get Debugging Back
Moving on to the Hermes debugger up-and-leaving I'd clear the Metro cache first. Going nuclear on the caches will make for a slow start, but this is kind of the power it off/on approach. There's a set of commands in the Expo docs that will get rid of the caches.
The next thing that I would try is checking the metro endpoint for Hermes. You should be able to load http://localhost:8081/json once your app is started and see the device. If the device is there, great it's the Flipper app. If we get back an empty array [] then less-great, it's anything from Hermes not enabling its debugger to Metro not telling anyone there's a Hermes client connected. In both of these cases, they're likely upstream issues in Flipper.
Finally, and this will hurt, try turning of Hermes. Hermes and JSC use completely different code pathways, and it could legitimately be something about Hermes that simply doesn't exist in JSC land. I'm not a fan of JSC in development in Hermes in production, but gosh-darn debugging via log statements is awful.

So much for kinda short. That's everything I've got on the pain of Hermes and Networking to date.

@jakobo wow thank you so much for your detailed reply! That was too much to absorb in one reading, but I'll probably read over this a few more times as I continue the insane troubleshooting saga.

I don't know if Windows Flipper uses Electron

It does indeed use Electron.
I wonder if disabling IPv6 might resolve my issue. That will be the next thing I try.

There's a set of commands in the Expo docs that will get rid of the caches.

Unfortunately the outcome is the same.

The next thing that I would try is checking the metro endpoint for Hermes. You should be able to load http://localhost:8081/json once your app is started and see the device.

Is the default port 8081? We don't seem to have anything running on there. I did find the JSON on port 19000 though.
I wonder if you see anything obviously wrong here?
[
  {
    "id": "2-3",
    "description": "devclient.app.mobile",
    "title": "Hermes React Native",
    "faviconUrl": "https://reactjs.org/favicon.ico",
    "devtoolsFrontendUrl": "devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=%5B%3A%3A1%5D%3A19000%2Finspector%2Fdebug%3Fdevice%3D2%26page%3D3",
    "type": "node",
    "webSocketDebuggerUrl": "ws://[::1]:19000/inspector/debug?device=2&page=3",
    "vm": "Hermes"
  },
  {
    "id": "2--1",
    "description": "devclient.app.mobile",
    "title": "React Native Experimental (Improved Chrome Reloads)",
    "faviconUrl": "https://reactjs.org/favicon.ico",
    "devtoolsFrontendUrl": "devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=%5B%3A%3A1%5D%3A19000%2Finspector%2Fdebug%3Fdevice%3D2%26page%3D-1",
    "type": "node",
    "webSocketDebuggerUrl": "ws://[::1]:19000/inspector/debug?device=2&page=-1",
    "vm": "don't use"
  },
  {
    "id": "3-3",
    "description": "devclient.app.mobile",
    "title": "Hermes React Native",
    "faviconUrl": "https://reactjs.org/favicon.ico",
    "devtoolsFrontendUrl": "devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=%5B%3A%3A1%5D%3A19000%2Finspector%2Fdebug%3Fdevice%3D3%26page%3D3",
    "type": "node",
    "webSocketDebuggerUrl": "ws://[::1]:19000/inspector/debug?device=3&page=3",
    "vm": "Hermes"
  },
  {
    "id": "3--1",
    "description": "devclient.app.mobile",
    "title": "React Native Experimental (Improved Chrome Reloads)",
    "faviconUrl": "https://reactjs.org/favicon.ico",
    "devtoolsFrontendUrl": "devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=%5B%3A%3A1%5D%3A19000%2Finspector%2Fdebug%3Fdevice%3D3%26page%3D-1",
    "type": "node",
    "webSocketDebuggerUrl": "ws://[::1]:19000/inspector/debug?device=3&page=-1",
    "vm": "don't use"
  }
]

Limited section of Flipper's startup logs
[conn] secure server listening at port:
8088
[conn] secure server (ws) listening at port:
9088
[conn] insecure server listening at port:
8089
[conn] insecure server (ws) listening at port:
9089
[conn] Browser server (ws) listening at port:
8333
[conn] Flipper server state -> started
AndroidLogListener.start -> success
AndroidCrashWatcher.start -> success
[conn] Secure websocket connection attempt: app-dev-client on emulator-5554. Medium 1. CSR: /data/user/0/devclient.app.mobile/files/sonar/

And adb reverse --list makes me think that the ports are being connected
❯ adb reverse --list
host-19 tcp:8088 tcp:8088
host-19 tcp:8089 tcp:8089
host-19 tcp:9088 tcp:9088
host-19 tcp:9089 tcp:9089

Finally, and this will hurt, try turning of Hermes. Hermes and JSC use completely different code pathways, and it could legitimately be something about Hermes that simply doesn't exist in JSC land. I'm not a fan of JSC in development in Hermes in production, but gosh-darn debugging via log statements is awful.

I would happily move to JSC at this point, but unfortunately we can't, because React Navigation now uses React Reanimated 2 which requires Hermes if you want to debug it. It's the reason we moved to Hermes to begin with - which means that truly we are out of luck unless Facebook staff decides to care - basically a complete halt to our mobile development work.

Finally got Hermes Debugger to stop saying not supported! Because it mysteriously began needing METRO_SERVER_PORT defined like env METRO_SERVER_PORT=19000 ./flipper - I'd never have figured that out without your comment, and I am eternally grateful!
I mean, out of nowhere this happened, on all machines, on all Flipper versions. Wtf? Top 5 strangest issues I've seen in all my years.
But, of course that only got us to a new error:

"Metro is connected but no Hermes apps were found."

But at least I have hope again!

https://fbflipper.com/docs/custom-ports/
As I was reading, I was about to share that link until I saw the metro port issue got resolved. The good news is, we're moving into purely Flipper related issues now. It's building, the port's being found, it's progress! 🎉 Now we just need to figure out how to tell Hermes where to look.

Try forwarding 8097 (hermes) in case the build is still using the old hermes port
Run through the troubleshooting
Open up a bug in the flipper repo and follow their bug template. This now smells like the websocket ipv6 woes

Got Hermes working! My final challenge now seems to be getting it to work in a way that allows me to run it from a desktop icon, but that's small potatoes!
Seriously I'd have spent at least another full day on this without your help, I am so grateful!
Basically the fix:

Disabled IPv6 on my machine (not sure if this was important, but it reduces the entries in localhost:19000/json from 4 to 2.)
env METRO_SERVER_PORT=19000 ./flipper

I can't imagine why running the same command from a desktop shortcut (KDE) would get Hermes to stop saying unsupported, but not to actually connect. Flipper is f***ing weird!

Fully functional shortcut for KDE users.
Note the "work path" must be set for Hermes to actually connect!
Also note that the app must be reloaded once from in-app using Ctrl+M (for Android) and then choosing "Reload." After that, you should have Hermes connected and all of the source files should be accessible in the debugger.

Awesome. Would you mind if I pinned this? I'm sure others will run into the same issues trying to get Hermes working

Sure thing; spread the wealth!
And once more, thank you!

Update: Don't disable IPv6.
I haven't yet tested that Flipper still connects, but Android Emulator fails to start if it can't connect to Android Studio via IPv6.

For macOS you can run the following, once Flipper.app is installed:
export METRO_SERVER_PORT=19000; open -a Flipper

If anyone knows how to create a shortcut, or even better to add this to dock, I'd be eager to learn!


Using callbacks instead of returning values

WARNING: binaries have not been replaced and won't work with these modifications.

@dimus making parse_ary_go return a single string of CSV rows / JSON array could be considered, it would potentially be faster than original array return. The implementation in this pull request will probably use less memory that both methods as elements are delivered one at a time and freed once the Ruby-side got a copy of it.


sil-opt: introduce -vfsoverlay to support Windows

Add an option to sil-opt to pass along VFS overlay files to the clang importer.  This is required to make the tests pass with the upcoming work to avoid modifying the Visual Studio installation and instead to prefer to inject the content via VFS overlays.

CC: @akyrtzi

@swift-ci please test

@swift-ci please test macOS platform

@swift-ci please test macOS platform


issue 858 added code to validate ServerSideConfiguration.  Also included unit tests

https://github.com/ehcache/ehcache3/issues/858

Test failures -  needs fixing

Also reword that commit message, in its current form, it is useless

test this please

Merge on the command line after a rebase


Make columns in dashboard at-a-glance sortable

The columns are sortable in the jobs view in the job query, so this is probably just a matter of moving some code around.

Going to close this, because it is fixed in the new dashboard.


Using syncer along with pipeline

Hi
Recently I encountered a breakdown about rs2::pipeline,
while I am using pipeline.start(callback) method, I want to get synced IMU data like accel and gyro at the same frameset. But I cannot find any information about this usage. What I find is all about using rs2::sensor and syncer.
so is there any sample code for this problem?
thanks a lot :)

Intel have a guide about getting data from the IMU that has a sample script at the end of it in the section headed "API".  I hope this will be of use to you.
https://www.intelrealsense.com/how-to-getting-imu-data-from-d435i-and-t265/
I will post the listing here for your reading convenience.
rs2::pipeline pipe; rs2::config cfg; cfg.enable_stream(RS2_STREAM_GYRO); cfg.enable_stream(RS2_STREAM_ACCEL); cfg.enable_stream(RS2_STREAM_POSE); pipe.start(cfg); while (app) // Application still alive? {     rs2::frameset frameset = pipe.wait_for_frames();     // Find and retrieve IMU and/or tracking data     if (rs2::motion_frame accel_frame = frameset.first_or_default(RS2_STREAM_ACCEL))     {         rs2_vector accel_sample = accel_frame.get_motion_data();         //std::cout << "Accel:" << accel_sample.x << ", " << accel_sample.y << ", " << accel_sample.z << std::endl;         //...     }     if (rs2::motion_frame gyro_frame = frameset.first_or_default(RS2_STREAM_GYRO))     {         rs2_vector gyro_sample = gyro_frame.get_motion_data();         //std::cout << "Gyro:" << gyro_sample.x << ", " << gyro_sample.y << ", " << gyro_sample.z << std::endl;         //...     }     if (rs2::pose_frame pose_frame = frameset.first_or_default(RS2_STREAM_POSE))     {         rs2_pose pose_sample = pose_frame.get_pose_data();         //std::cout << "Pose:" << pose_sample.translation.x << ", " << pose_sample.translation.y << ", " << pose_sample.translation.z << std::endl;         //...     } }

I have already read this code before, but what I really want is something like "imu_stream" that can provide the accel and gyro data at the same time.

I recall there was a discussion earlier this year about how to get image data and IMU data working together.
https://github.com/IntelRealSense/librealsense/issues/4018

@ahuizxc hello,
The IMU streams use different clocks with "non-harmonic" data rates: 200/400 for Gyro and 63/250 for Accel . It is not feasible to generate a fully-synchronized accel/gyro tuples.
The approach used in the SDK is allow pipeline to decide how to proceed each stream:

For UVC streams (depth/ir/color/fisheye) pipe's callback will generate a frameset of all the available video streams at the expense of latency.
For IMU streams the frames will trigger the callbacks immediately to minimize latency, as in comparison to video, getting frames in timely manner is critical. But this also means that accel and gyro frames will  arrive one at a time.

Note that if the flow cannot provide for the user's scenario then it is possible to implement a user-defined syncer with a more fine-tuned logic.

@ahuizxc, I'm closing this as answered.
Feel free to reopen as needed

@ev-mp hi, I'm wandering if there has a config to get synced IMU data. Just like the version of ROS , by setting "unite_imu_method", I can get a same framerate about the gyro and acc.


remove old analyzer in StmtExecutionAction

Proposed changes
Issue Number: close #xxx

run buildall

run buildall

run external


Fix ProjectExecParser to include digits in expression names

Fixes https://github.com/NVIDIA/spark-rapids-tools/issues/591
ProjectExecParser fails to parse expression names with digits in them, e.g. xxhash64. We updated the parser's regex pattern to include digits.

Thanks @cindyyuanjiang ! Would it be easy to update any of the current tests to include this in ProjectExec?

Thanks @cindyyuanjiang ! Would it be easy to update any of the current tests to include this in ProjectExec?

@nartal1 Thanks! I will add a PR to support xxhash64, which will test this, once we get this fix merged.


Upgrade .NET Core 3.1 to .NET 6

With ARM64 #490 support, we need to upgrade from .NET Core 3.1 to .NET 6 for support with WPF ARM64.
This should be far easier of an upgrade now we're on Core.

@enricogior adding this to .31/.33 but this work needs to be done for ARM64

good job crutkas! thank you so much for the progress on this i am  just waiting for this lol they released 64x emulation but the .svg previewer doesn't work probably because its iearly staged of 64X emulation for SPX, but im not the only person waiting for this trsut me just wanted to let you know i am grateful to see progress!! :)
i wish i knew how to code im a rookie lol because i would love to help you if i knew wtf i  doin lol anyways keep it up! just thought id let you know people are checking on this heheh

btw idk if u have a SPX but i can honestly say its kinda crazy how snappy things are when running a native ARM64 VS 86X or 64X i didnt  ever notice this till one day i realized i was using  VS code 86X  for weeks .......
Since there is no support for XAML island in .NET 5, settings UI can't be ported.
Should we wait for WinUI 3 to work on this?
An hybrid release with utilities in .NET 5 and settings UI in .NET Core 3.1 will require double runtimes installed and double checks during installation.

We will need to wait. I don’t want to ship with two runtimes and island tooling is tied tightly

Adding the keyword
FRAMEWORK
So that way other folks like myself who search for .net framework will land here instead of making duplicate postings :(
PowerToys is only utility still requiring 3.1.x out of my used utility's, having both frameworks installed not so bad considering c++ redistributables required, will keep an eye/sub on this thread.

@Hammerfest this is where stuff gets super nuanced.  So everyone is aware, there is such a thing as the .NET Framework, which is deemed legacy at this point and we've fully migrated off and onto the more modern .NET Core, soon to be 5/6
.NET Framework 4.7.x -> .NET Core 3.1 -> .NET 5 -> .NET 6
After a lot of investigation, we cannot actually migrate due to our settings app leverages UWP Islands. The tooling to enable this is tied closely to .NET Core 3.1 with a WPF wrapper like we have.  We're chatting how we can solve this and provide guidance for anyone affected

@crutkas
Yep, myself and many other tech's still call it .net framework mainly because it is a framework yet not called ".net framework" :D
Else ya, they took off the framework label and added core but kept .net which sure, for anyone new works well.
Ya I read up on the settings roadblock and the WinUI3 stall, all good.

Is there anything happening?

@mykhailopylyp is investigating this work right now with PT Run and trying to understand the scope of work here.

Title updated to .NET 6.
@crutkas is there a plan for port every single utility to .NET 6 and settings to WinUI3?
Work has started only for launcher.

The goal is .net 6 for everything that doesn't have an island.  Settings due to xaml island is stuck on .net core 3.1 so to migrate / upgrade, we need WinUI3
I need to get the signing pipeline transferred over to the new build server before the migration can go live however since the current build server that does the signing doesn't have .net 5 nor 6 on the agent.

@crutkas are we ready to port to .NET 6? Any project up for grabs?

Let’s do a small one first to test. Color picker comes to mind honestly.
Want to verify CI / signing agents and installer dependency

@stefansjfw any objections as you were going to start on this soon too

Also remember settings app will have to be core 3.1 until we migrate off xaml islands

@stefansjfw  don't hate me.  Lets do 5 since 6 requires forces some requirements we may not be ready for from a pipeline agent stance.  Lets get stuff migrated to 5 and then 6 should be easy upgrade.

No problem :)

The was fixed in in 0.55. Head over to https://aka.ms/installpowertoys to try it out


Add hypertrace workflow

See discussion in #145. NOTE that this relies on the changes in #145 to work, so that PR should be merged first.
This introduces the "Hypertrace" wrapper around Isofit, which takes a known surface reflectance and atmospheric conditions, performs a forward simulation of TOA radiance, and then inverts the simulated radiance to estimate surface reflectance. The wrapper tries to defer to Isofit as much as possible -- mostly, it generates the necessary Isofit config files and does a few additional checks, and does very little in the way of pre- or post-processing.
I've also added a GitHub Actions integration test that runs the workflow over a range of conditions.

Picking up on the discussion re: GH Actions --- I completely agree that a 2 hour required CI for every commit is inefficient. However, one thing that makes GH Actions so powerful is its flexibility in determining when certain jobs run and which ones count towards, say, the standard set of checks on a pull request. Therefore, my suggestion would be to still have the full check run on every push, but to also configure GH actions to run (in parallel!) a much smaller and faster set of checks similar to the current Travis setup and only use those to check the validity of pull requests. That way, we get the best of both worlds --- the standard checks will run and report their results quickly, but we still have a regular set of more comprehensive tests running regularly for picking up more subtle errors.

Hi Alexey,
This looks good to me.
A question.  As you know, when we run ISOFIT in reality, we typically perform atmospheric inversions on contiguous spatial averages of a couple hundred pixels at once.  We then use the empirical line to interpolate a solution at native resolution.  This makes me wonder whether we should be testing it on spatial averages rather than single pixel spectra.  Or whether there is some other way to capture the real behavior of the system as we would use it.   Just curious.
This question aside, the code looks great as always.  Very clean and terse.

Thanks for the kind words, David! Python is far from my first language, so I'm very open to any suggestions to make this more Pythonic or performant.

perform atmospheric inversions on contiguous spatial averages

This is a great idea, and would dramatically improve the runtime. If possible, I feel like this would be valuable as a core feature of this module or Isofit itself, to avoid making users do it by hand every time. The size of the spatial average could also be an interesting parameter to vary in our exploration of uncertainty drivers -- i.e., is there a maximum spatial resolution for atmospheric correction at which the accuracy levels off.
I could take a stab at implementing this here, but it would be useful to see some examples of your use to make sure I'm doing it correctly. Do you have any on hand?

Hi Alexey,
Take a look inside of isofit.utils, particularly at the segment.py and extractions.py files.  You can also see our typical usage inside of apply_oe.
Definitely agreed that things like segment size could use some careful study, but the 'off the shelf' implementation here works reasonably well!

Hi Alexey,
In addition to the code Phil  mentioned, we published a paper using the approach (explanation in the appendix):
https://www.sciencedirect.com/science/article/abs/pii/S0034425720302686
I'm starting to think we may want to add a bibliography to our repository documentation.  There have been half a dozen papers using this code in the last couple of years, and another half dozen in preparation or review...

This looks good @ashiklom - I've sent over a PR with some minor changes.  The current GH Actions script breaks, which so far as I can see is due to a ray update.  I've posted an issue, and we can handle that separately, along with folding in the GH Actions and deprecating Travis, as discussed.  Let me know what you think about this PR, and I'll merge this in.


Release 0.6.1 on github and npm do not match

Hi!
If I'm not mistaken, the release 0.6.1 on github and npm actually contain different contents.
For example the bower.json on npm still has the version 0.6.0, while the github release references version 0.6.1.
There also seems to be missing code changes in the npm version, which results in different behaviour of the gui. In my experience, this resulted in missing sliders and no effect of step() on controls.
It would be greatly appreciated, if releases could be unified.
Thank you very much for your library, it is really awesome for webgl projects!

Sorry for the confusion. The version on npm isn't an official release by our team, its a fork of v0.5.1 created by @korczis that he renamed to v0.6.1. We've since incorporated most of the changes he made into the official repo, as well as some new fixes as v0.6.0, and then a few recent fixes made v0.6.1.
This repo should be the most up to date (and hopefully, functional version). The next version number increment will hopefully clear up the confusion.

Sorry for troubles.

No problem. Thank you for for the explanation!

There is also a "dat-gui" package at 0.5.0; is there a way to clean up all this?

Fil: Had no idea npm could resolve to github, thanks!!

The dat.gui package on npm is now official, and will be kept up-to-date in the future. Thanks @korczis for putting that on npm initially, we probably should have done this officially sooner. 🙂
https://www.npmjs.com/package/dat.gui

And CDN is already working on NPM "dat.gui":  :-D
http://CDN.JSDelivr.net/npm/dat.gui/build/dat.gui.min.js

So any chance dat.gui will support es6 modules? #132
My team has just switched to modules-only usage, using rollup etc to convert to script-able and es5 formats where necessary. It is really easy and actually simplifies workflow.

@backspaces will take a look, sure.

Oh, impolite of  me not to mention: Great job getting the npm issue
resolved! Congrats!


How to reset all column filters?

HI @obiwarn, sorry for lately reply, check this

Hi @AllenFang Is there a way to get every column without making the a ref first.


pull request for e2e test at 01/02/2017 19:26:07

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update system df docs to call out performance implications

Signed-off-by: Wayne Song<EMAIL_ADDRESS>

ping @mlaventure @vdemeester PTAL

Addressed comments.


[JENKINS-57797] Support Configuration-as-Code

JENKINS-57797
This PR aims to validate the support of configuration-as-code for this plugin.
By default, the configuration is supported, but under the section sSHLauncher, this is why I added the @Symbol on the SSHLauncher descriptor.

it's missing the test about the round-trip export/import of the configuration.

@kuisathaverat I think this is ready for a maintainer review :). Could you please have a look, and possibly merge & release this?
Gracias!

@batmat @alecharp I'll try to release it this weekend

:+1: We still love you @kuisathaverat


branch-2.0 add retry when get Kafka meta info and make get Kafka meta timeout configurable

pick  https://github.com/apache/doris/pull/36619 and https://github.com/apache/doris/pull/35376

run buildall

run buildall


refactor: enable codeql alerts

/cc @ankitm123

Can you remove the resource requests: https://github.com/jenkins-x/jx-git-operator/blob/28aa755216cb296850031a2bc9858ed998a59086/.lighthouse/jenkins-x/pullrequest.yaml#L17
See jx-pipeline for an example.

Done


video listener bug

Describe the bug
Video tag output is not good, it prints the delta code instead of the html.
The delta code which generates the Problem
Example:
{"insert":{"video":"test.webm"}},

The expected html output the delta should produce
Example:

Expected behavior
The html output should bethe one above, instead the delta is the output:

{"video":"\/assets\/others\/SvHwb6TvSF1X8Obtq0rcKTk0f7frenDLbQgBRLoV.webm"}

Screenshots
If applicable, add screenshots to help explain your problem.

Using "use nadar\quill\listener\Video;" for Video.

Could you please post the full quill code?

The full code is:
namespace App;

use nadar\quill\listener\Video;
use nadar\quill\Lexer;

class Test
{
	public $json;

	public function __construct($json)
	{
		$this->json = $json;
	}

	public function renderQuill()
	{
		$lexer = new Lexer($this->json);

		$lexer->registerListener(new Video);

		return $lexer->render();
	}
}

and the json data:
{"ops":[{"insert":{"image":"/jv7CaXqRgP6asSXFxefAoC8uCJaBfMIuBVeYtqGk.jpeg"}},{"attributes":{"align":"center"},"insert":"\n"},{"insert":"m a neque illo debitis facilis. Rerum error nulla porro non quo."},{"attributes":{"align":"justify"},"insert":"\n\n"},{"attributes":{"align":"center"},"insert":{"video":"/SvHwb6TvSF1X8Obtq0rcKTk0f7frenDLbQgBRLoV.webm"}}]}

this should render:

or what do you expect? the video element just points to an iframe source with default responsive classes from bootstrap.

It does not render that.
It renders:

{"video":"\/assets\/others\/SvHwb6TvSF1X8Obtq0rcKTk0f7frenDLbQgBRLoV.webm"}

ok thanks! Please try to remove the align attributes if you are looking for a quick fix. i will do some tests.

{"attributes":{"align":"center"},"insert":{"video":"/SvHwb6TvSF1X8Obtq0rcKTk0f7frenDLbQgBRLoV.webm"}}

try this:
{"insert":{"video":"/SvHwb6TvSF1X8Obtq0rcKTk0f7frenDLbQgBRLoV.webm"}}

It works. Will there be a fix for the attributes?

Yes, i will take care of this. As its the same as:
https://github.com/nadar/quill-delta-parser/issues/36
https://github.com/nadar/quill-delta-parser/issues/34

4.0 refactor will not happen. Sorry. Quill is abandoned

https://github.com/nadar/quill-delta-parser/issues/74#issuecomment-1299045180
https://github.com/quilljs/quill/issues/3359


Improve type safety and exception throwing of PGP*KeyRingCollection

I added generics to internal data structures of PGPPublicKeyRingCollection and PGPSecretKeyRingCollection classes and also removed throws PGPException from many methods.
It turns out, while this exception was declared, it is actually not thrown in any of these methods, so removing it makes using these classes downstream easier.

It's about time, thanks for the patch, merged with minor revision.

Your assumption is correct. Thanks, it would things easier.


Ctrl-/ on entire HTML style block uses CSS comment syntax

Prerequisites

[x] Can you reproduce the problem in safe mode?
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?

Description
Atom's comment command (Ctrl-/ by default) uses CSS comment syntax when used on an HTML style block instead of the HTML comment syntax. See the gif below:

This bug occurs as long as there is at least one character (including whitespace characters) between the tags. If the block is completely empty, this issue does not occur.
Commenting out individual CSS rules within the style block works correctly (using the CSS syntax).
Steps to Reproduce

Open a new or existing document with HTML syntax highlighting
Find or write an HTML style block that does not just immediately close (just a space or even a newline between the tags is sufficient to reproduce this issue)
Select the entire style block (from opening to closing tags)
Press Ctrl-/ (Editor: Toggle Line Comments)

Expected behavior: HTML comment syntax is used to comment out the style tag
Actual behavior: CSS comment syntax is used to (incorrectly) comment out the style tag
Versions
Atom 1.7.4
apm 1.9.2
Windows 7 Pro SP1

I realized after submitting this issue that it should probably be reported in the language-html, correct?

Yep, please move this issue @tkindy.  Thanks :).


Avoid multiple PRs suggesting the same change

See https://github.com/jishnub/SphericalHarmonics.jl/pulls?q=is%3Aopen+is%3Apr, where there appears to be a new PR everyday suggesting the same change. Not sure what brought this on.

Seems like a bug. @mattBrzezinski @fchorney

huh very interesting. Looks like this started on September 17th, but CompatHelper itself hasn't changed in any significant way since August. I can't immediately see why this would be happening. The titles are all exactly the same, and thus should theoretically stop the duplication. I don't see any errors in the log output either. I don't see any significant changes in the SphericalHarmonics code either in that time frame.

The only installed package differences between the CompatHelper runs on the 15th and the 17th are that JSON2 got upgraded from 3.2 to 3.3. I don't see any other differences there.

Actually, I just noticed that https://github.com/jishnub/SphericalHarmonics.jl/pulls?q=is%3Aopen+is%3Apr is a fork.
CompatHelper is not intended to be run on forks; it is intended to be run on the upstream repository.
@jishnub I recommend that you go to https://github.com/jishnub/SphericalHarmonics.jl/settings/actions and disable GitHub Actions on your fork.

Perhaps a better error message might work in this case, such that we detect if we're in a fork, print an error message and not run.

We'd want to make sure that we exit with a nonzero status code in this case. That way, the CompatHelper runs show up as failed (red) in the logs.

Thanks for the find!
Unfortunately in this case the upstream is unregistered and not maintained, and my fork is the one that is registered. Is there no way to get it to work on this repo?

@fchorney @mattBrzezinski We'd need to change our logic for excluding PRs from forks. We could keep this check if the repo that's running CompatHelper is not a fork. But we'd have to skip that check if and only if the repo that's running CompatHelper is a fork.

I can start looking into this now, I have some free time.

Overview
So... this is a really weird case and there are a few ways we can handle resolving the issue here. To clarify the problem, we have a Julia package which is a fork of a fork that has been registered in the General registry.
We do not run CompatHelper on forks of repos, because we've been running under the assumption that people follow a normal workflow with forks. Which usually is; fork off of origin, creating some changeset, and create a merge request back into origin.
Solutions

Implement some functionality into CompatHelper.jl to allow for this behaviour to work. I personally do not see the value in creating this functionality and adding complexity for a one-off case.

Contact GitHub support to apparently transfer as forked project into its own standalone project.

Make merge requests to the upstream origins, and then update the General registry to point to the new location.

Have upstream origin owners transfer ownership to @jishnub for the project.

Create a new standalone project, copy the code into it, juggle the names of the projects temporarily. This step is a bit dangerous as it would break the registry for a time being from my understanding.

I think the solution here is to see how responsive the upstream owners are and if they are willing to either transfer / take in PRs. Alternatively, just cutting an issue with GitHub support would be quite simple however I'm not sure how quick to respond they would be.
If you want this fixed ASAP, I think solution 5 is the play. I'd say just have it planned out before hand as you'll basically need to:

Create a new repository called foobar
Transfer in the code and old tags
Delete the fork of SphericalHarmonics.jl
Rename the foobar project to SphericalHarmonics.jl

2. Contact GitHub support to apparently transfer as forked project into its own standalone project.

@jishnub Given that your repo is the registered repo, I would recommend going with option 2.

Interesting, this certainly seems reasonable, thanks!


Add Market Note transport to frontend

Particularly for Japanese data centers, this will make the site more broadly useful. Market Note provides very different data from the data we currently have on the market pages, so a new component is needed to house this information.
If anyone gets to this before me, make sure to link back to the EMN page the data comes from. The author of EMN fairly requests that others credit the data where used.

Their data doesn't match our format, so it's impossible to insert listings from them. However, their statistics can improve ours, see 7fd2baa


Accessing static field should call initializer function only in slow path, avoiding blocking of registers in fast path

This
main() {
  print(bar(1, 2));
  print(bar(2, 3));
  print(bar(4, 5));
}

@pragma('vm:never-inline')
int bar(int a, int b) {
  int c = a + b;
  return c + foo;
}

final int foo = fooInitializer();

int fooInitializer() => int.parse('1');

gets compiled to
Code for optimized function ... {
  ...
        ;; v4 <- BinaryInt64Op(+ [tr], v2, v3) [-9223372036854775808,<PHONE_NUMBER>854775806] T{int}
0x7f3e1d105fda    4803c8                 addq rcx,rax
        ;; ParallelMove S-1 <- rcx
0x7f3e1d105fdd    48894df8               movq [rbp-0x8],rcx
        ;; v9 <- LoadStaticField:4(foo, CallsInitializer) [-9223372036854775808,<PHONE_NUMBER>854775807] T{int}
0x7f3e1d105fe1    498b4660               movq rax,[thr+0x60]
0x7f3e1d105fe5    488b80b00b0000         movq rax,[rax+0xbb0]
0x7f3e1d105fec    493b473f               cmpq rax,[pp+0x3f]   sentinel
0x7f3e1d105ff0    0f850c000000           jnz 0x00007f3e1d106002
0x7f3e1d105ff6    498b972f4c0000         movq rdx,[pp+0x4c2f]   Field <::.foo>: static late final
0x7f3e1d105ffd    e8fbffffff             call 0x00007f3e1d105ffd
        ;; ParallelMove rax <- rax
        ;; ParallelMove rax <- rax
        ;; v10 <- UnboxInt64([non-speculative], v9 T{int}) [-9223372036854775808,<PHONE_NUMBER>854775807] T{int}
0x7f3e1d106002    48d1f8                 sarq rax,1
0x7f3e1d106005    7305                   jnc 0x00007f3e1d10600c
0x7f3e1d106007    488b440008             movq rax,[rax+rax*1+0x8]
        ;; ParallelMove rcx <- S-1
0x7f3e1d10600c    488b4df8               movq rcx,[rbp-0x8]
        ;; v6 <- BinaryInt64Op(+ [tr], v4, v10 T{int}) [-9223372036854775808,<PHONE_NUMBER>854775807] T{int}
0x7f3e1d106010    4803c8                 addq rcx,rax
        ;; ParallelMove rax <- rcx
0x7f3e1d106013    4889c8                 movq rax,rcx
        ;; Return:20(v6)
     ...
}

/cc @dcharkes @alexmarkov

As @alexmarkov mentioned in https://dart-review.googlesource.com/c/sdk/+/284300?tab=comments, we only use a slow-path for throw_exception_on_initialization, which is only for late fields without an initializer. The fields with an initializer which are not late just use kCall:
https://github.com/dart-lang/sdk/blob/54faa319647ad3c33691a4843630903e13dc1c90/runtime/vm/compiler/backend/il.cc#L4254-L4280

Moving initializer call to a slow path is a trade-off:
Pros:

Potentially faster static field access for a field which is already initialized.

Cons:

Potentially larger code size.
Potentially slower first-time initialization of a static field, which may affect startup latency / first frame build time.

As I recall, when the last time I tried moving initializer call to a slow path, there was an increase in code size without any measurable performance gains (there is a significant number of static fields, but they are rarely used in the performance-critical code). However, that was a while ago, before most of the Dart code was migrated to null safety. Now the situation could be different, so it is worth re-evaluating this once again.

the last time I tried moving initializer call to a slow path,

Any chance you have the code for this still laying around @alexmarkov?

@dcharkes Unfortunately, no. I was able to find only a CL which added slow path for late fields without initializers: https://dart-review.googlesource.com/c/sdk/+/168993. Most likely I used local git branches and didn't upload a CL.
But it should be pretty easy to do this experiment: all we need is to add a slow path which would call an initialization stub (for example, similar to  DoubleToIntegerSlowPath).


Calculate proper offset when  or  has a margin

Because offsetTop doesn't take that into account. Instead I used node.getBoundingClientRect with some adjustments, based on jQuery:
https://github.com/jquery/jquery/blob/29370190605ed5ddf5d0371c6ad886a4a4b5e0f9/src/offset.js#L110
This also has the advantage that if window is the scroll container, we get the result immediately (instead of using recursion) which might be slightly faster.

Thanks for finding and fixing! I know that offsetTop and getBoundingClientRect both suffer from performance issues. I tried to look at some jsPerf benchmarks but for some reason the graphs don't show up on any jsPerf examples for me at the moment.
https://jsperf.com/offset-vs-getboundingclientrect/4

Ah, you're right — at least on my machine (Chrome 47.0.2526.80 on Mac OS X 10.11.0) getBoundingClientRect is 85% slower. However, I don't see a more reliable way of calculating this that takes into account all borders/paddings/margins of  and  — we can do all that manually, but my commit seems more robust. What do you think?

I think it's fine to merge this as-is, and think about solutions if we notice that this is real problem. Then we might consider using some kind of heuristic to figure out if we need to do the expensive calculation or not. I don't know if such exists though.
Another option would be to list this issue in the "Limitations" section in the Readme. I would think that 99% of all websites have a margin-less body. (Actually, why did we end up with a margin?).

It's because of the branch banner, that interacts with the position:relative that we have on . It seems relatively hard to refactor that out, and I rather have  work in more cases. Merging this and cutting a release!


Error handling route

Currently error pages in production are simply blank pages

I think it would be helpful to have a general design for what we might want it to look like but as far as development it is very similar in construction to the 404 (not-found.tsx) page @sabakhilji just created.
perhaps a quick design mockup would be helpful though i think it could work if we kept it very similar to the design for the 404 page.

Let's stick with the same design for the 404.

Ok then this will just be a quick copy-paste job!

Can I do this copy-paste thingie?

Hi saba definitely! I thought a little more about it and I think I'd like to have the copy be changed slightly to be more clear for us.
Heading: Hm.. something went wrong.
sentence_1: It's not quite clear what happened.
sentence_2: Our solocopter must have crashed!

Here is some quick documentation to take a look at, long story short it will be a file nearly identical to the notfound.tsx file just renamed error.tsx and have the copy slightly changed.
*no need to add any special page.tsx files like in your last PR

I designed new 404 and error pages.

Could not think of anything clever for the error page, so I put in a holocat that hopefully looks a little startled and guilty. Let me know of any changes you'd like to see.
Designs are here, and export-ready frames are here. (the ones straight on the canvas with export-settings applied).

@GBKS these designs are really great..... love Holocat it is super cute.
@ecurrencyhodler Yes I can do it, but what is the deadline for V1?
If it is tomorrow, can I work on it after V1?


Sequencing too fragile

Version
$ oc-mirror version
<your output here>

What happened?
Disconnected mirroring failed on sequencing error.
What did you expect to happen?
Repeated runs on same or delta imageset configurations, does not fail with "expected sequence.. got seq xx instead" type errors.
How to reproduce it (as minimally and precisely as possible)?
Happens consistently under various scenarios,  different oc-mirror commands including "release 4.14" (not indicative, just example).
In the push to registry step (ie mirroring done to archive, push to disconnected registry. In this case not platform images, just operator images and "additional" images.
Anything else we need to know?
Fixing issue is counter intuitive, in this case deleting the imagesetconfiguration/storageconfig/local/path folder. My first approach which happened to be most obvious to me, was to delete archive, oc-mirror-workspace folders. I find and assuming others might also find, that the contents in the storage config path, that is failing to push disco images because some stored filesystem state in a path (or alternatively a path in a registry [which in itself, all these alternative complexities]), is just not obvious enough and all indicators - on failed oc-mirror push - does not point back to this as culprit. More time is spent on the slow mirroring process, over just blowing away this path and starting again.
References

Enter text here.

wont help anyone. Hopefully v2 makes this type of problem go away


If a vulnerable HTTP client makes an outgoing HTTP connection, while running in a server-side CGI application, an attacker may be occured. https://httpoxy.org/

What Is Affected
A few things are necessary to be vulnerable:
Code running under a CGI-like context, where HTTP_PROXY becomes a real or emulated environment variable
An HTTP client that trusts HTTP_PROXY, and configures it as the proxy
That client, used within a request handler, making an HTTP (as opposed to HTTPS) request

The vulnerability must be fixed by modifying web-server (Nginx, Apache, ...) config.
It is out of our scope and Yii can do nothing with it


[Android] Add support for Bridgeless Mode - 0.74

The problem
I've been trying react-native-fast-image against 0.74 RC with Bridgeless mode and the library doens't work well on Android. The reason is that the library is usign RCTEventEmitter which is deprecated. I'm moving over to use the EventDispatcher.
Test Plan

Before (NewArch-Bridgeless)
After (OldArch)
After (NewArch-Bridge)
After (NewArch-Bridgeless)

@DylanVann friendly ping to get this merged. Anything else I can help with?

Please let me know if I can help somehow @DylanVann 👍

@cortinico Dylann hasn't updated this repo in over 2 years, would highly recommend publishing your fork via npm

@cortinico Dylann hasn't updated this repo in over 2 years, would highly recommend publishing your fork via npm

I'm not going to fork this sorry.
If folks are interested in using react-native-fast-image, they can fork it by themselves or apply my patch via patch patchage.

@cortinico I have Error.
how can i fix it?
"react": "18.2.0",
"react-native": "0.73.6",
"react-native-fast-image": "^8.6.3",

// /node_modules/react-native-fast-image/android/src/main/java/com/dylanvann/fastimage/FastImageViewManager.java

@@ -14,14 +14,19 @@ import androidx.annotation.NonNull;

 import com.bumptech.glide.Glide;
 import com.bumptech.glide.RequestManager;
+import com.dylanvann.fastimage.events.FastImageProgressEvent;
+import com.facebook.react.bridge.ReactApplicationContext;
+import com.facebook.react.bridge.ReactContext;
 import com.facebook.react.bridge.ReadableMap;
 import com.facebook.react.bridge.WritableMap;
 import com.facebook.react.bridge.WritableNativeMap;
 import com.facebook.react.common.MapBuilder;
 import com.facebook.react.uimanager.SimpleViewManager;
 import com.facebook.react.uimanager.ThemedReactContext;
+import com.facebook.react.uimanager.UIManagerHelper;
 import com.facebook.react.uimanager.annotations.ReactProp;
-import com.facebook.react.uimanager.events.RCTEventEmitter;
+import com.facebook.react.uimanager.common.ViewUtil;
+import com.facebook.react.uimanager.events.EventDispatcher;
 import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;

 import java.util.List;
@@ -117,13 +122,17 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
         List<FastImageViewWithUrl> viewsForKey = VIEWS_FOR_URLS.get(key);
         if (viewsForKey != null) {
             for (FastImageViewWithUrl view : viewsForKey) {
-                WritableMap event = new WritableNativeMap();
-                event.putInt("loaded", (int) bytesRead);
-                event.putInt("total", (int) expectedLength);
-                ThemedReactContext context = (ThemedReactContext) view.getContext();
-                RCTEventEmitter eventEmitter = context.getJSModule(RCTEventEmitter.class);
-                int viewId = view.getId();
-                eventEmitter.receiveEvent(viewId, REACT_ON_PROGRESS_EVENT, event);
+                ReactContext context = getReactApplicationContext();
+                EventDispatcher dispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, view.getId());
+                FastImageProgressEvent event = new FastImageProgressEvent(
+                        ViewUtil.NO_SURFACE_ID,
+                        view.getId(),
+                        (int) bytesRead,
+                        (int) expectedLength);
+
+                if (dispatcher != null) {
+                    dispatcher.dispatchEvent(event);
+                }
             }
         }
     }

Note: [2] Wrote GeneratedAppGlideModule with: [com.bumptech.glide.integration.okhttp3.OkHttpLibraryGlideModule, com.dylanvann.fastimage.FastImageOkHttpProgressGlideModule]
/node_modules/react-native-fast-image/android/src/main/java/com/dylanvann/fastimage/FastImageViewManager.java:125: error: cannot find symbol ReactContext context = getReactApplicationContext(); ^ symbol: method getReactApplicationContext() location: class FastImageViewManager
1 error FAILURE: Build failed with an exception. * What went wrong:
Execution failed for task ':react-native-fast-image:compileDebugJavaWithJavac'.

Well it seems like that this library is unmaintained as @DylanVann is unresponsive after various attempts to try to contact them.
Alternative for the community are:

If you're on Expo, use expo-image which offers the same capability https://docs.expo.dev/versions/latest/sdk/image/
Switch back to use React Native's Image component which fully works on New Architecture
(Not Recommended) Attempt to use patch-package on react-native-fast-image with this PR to let it work on Bridgeless/NewArchitecture. The gotchas here is that you'll still be relying on a unmaintained library which we don't reccomend.

@cortinico I am maintaining this package @d11/react-native-fast-image
This PR is merged in the same pacakge

This worked, both platforms!

@cortinico I am maintaining this package @d11/react-native-fast-image This PR is merged in the same package


Is it possible mapping points clickable in image marker ?

Hello,

Is it possible identify a text with AR ? (I want to use the camera to learn about differents words in the book page).

I have an image marker, Is it possible in this image show points that can be clickable and when they grant the click show me a information card ? (this image can be a page of book, and the diferents words are clicable to show their information)

I´m using ViroReact.
Thanks!

Viro has not an OCR built in feature.
About your second question, yes, you can, if I am right, there is an example in the Viro project with clickable points and information display, you have only to set them over an image marker.


Vision dies

Summary
[taskset-3] Traceback (most recent call last):
[taskset-3]   File "/home/bitbots/colcon_ws/install/bitbots_vision/lib/bitbots_vision/vision", line 33, in <module>
[taskset-3]     sys.exit(load_entry_point('bitbots-vision', 'console_scripts', 'vision')())
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision.py", line 184, in main
[taskset-3]     rclpy.spin(node)
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/__init__.py", line 228, in spin
[taskset-3]     executor.spin_once()
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/executors.py", line 725, in spin_once
[taskset-3]     raise handler.exception()
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/task.py", line 239, in __call__
[taskset-3]     self._handler.send(None)
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/executors.py", line 424, in handler
[taskset-3]     await call_coroutine(entity, *arg)
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/executors.py", line 348, in _execute_subscription
[taskset-3]     await await_or_execute(sub.callback, *args)
[taskset-3]   File "/opt/ros/iron/lib/python3.10/site-packages/rclpy/executors.py", line 108, in await_or_execute
[taskset-3]     return callback(*args)
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision.py", line 141, in _image_callback
[taskset-3]     self._run_vision_pipeline(image_msg)
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision.py", line 166, in _run_vision_pipeline
[taskset-3]     self._run_components(image_msg)
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision.py", line 177, in _run_components
[taskset-3]     vision_component.run(image_msg)
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision_modules/yoeo/vision_components.py", line 87, in run
[taskset-3]     self._yoeo_instance.predict()
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py", line 154, in predict
[taskset-3]     self._create_detection_candidate_lists_from(detections)
[taskset-3]   File "/home/bitbots/colcon_ws/build/bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py", line 165, in _create_detection_candidate_lists_from
[taskset-3]     self._det_candidates[self._det_class_names[int(detection[5])]].append(c)
[taskset-3] IndexError: list index out of range
[ERROR] [taskset-3]: process has died [pid 14825, exit code 1, cmd 'taskset -c 6,7 /home/bitbots/colcon_ws/install/bitbots_vision/lib/bitbots_vision/vision

Expected behavior
No exception
Current behavior
It dies
Steps to Reproduce
Run the 2023_07_07_flo_yoeo_light/ yoeo on the robot for some time.

The https://data.bit-bots.de/models/2023_07_07_flo_yoeo_light/model_config.yaml is missing the goal post class.

What do you mean? Is this supposed to be the reason?

It is. We need to adjust the model config. The vision code is fine.


is it possible to only get hooks in the final bundle?

Hello team,
What (is there?) a recommended approach for projects that only use react-redux hooks when it comes to producing final bundle?
When we include react-redux as a dependency, in final production build both connect and connectAdvanced (and all they require) are included even though we never touch them, which results in about 7kb extra. 7kb may not sound much, but if each of our dependency gave us that much extra.....
Here is an example screenshot using CRA and source map explorer.

Here is a codesandbox for this simple project:
https://codesandbox.io/s/bitter-butterfly-exyih
If we just simply manually copy hooks + provider + utils from react-redux source code, we get about exactly expected 7kb less bundle.
Here is a screenshot for that using source-map explorer:

Here is codesandox for this project - in folder
https://codesandbox.io/s/blissful-herschel-slhki
Please let us know if its possible to only get hooks in our final bundle (without manually having to copy source code from react-redux).

To be honest I've never looked into whether you can tree-shake out connect.
At this point, the answer is no, you can't.


Rename TxDeposit::signature to pre_bedrock_signature

Motivation
Fixes semantics of TxDeposit to differentiate between ovm and evm chain
Solution
Renames TxDeposit::signature to pre_bedrock_signature
PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

yeah this is actually included by all deposit transactions after bedrock, so we can keep it as is


Add mapbox-datasets-update-features with stdin or file input

I'd like to make this possible:
$ mapbox datasets create
$ fio cat a.shp b.shp c.shp | mapbox datasets update-features $id

reading a GeoJSON feature sequence from stdin, or reading from a GeoJSON feature collection file.
$ mapbox datasets create
$ fio cat a.shp b.shp c.shp | fio collect > lolwut.json
$ mapbox datasets update-features $id lolwut.json

I intend to implement these functions:

mapbox datasets put-features: stream in geojson, inserts and updates
mapbox datasets delete-features: stream in ids, remove features
mapbox datasets put-dataset: create/replace an entire dataset with whatever you pipe on stdin

I already wrote these out in a non-chunked, not-really-streaming fashion, and I hope to take a stab at using cligj to help here this afternoon / weekend.

Stale.


Update the example in the README

The current example does not compile nor output anything.

@ggallien13 should we remove this example from readme and link to /examples folder in this repo? They should updated and we avoid duplicated code also on readme

@pangea-andrest yes, we should remove this example from the readme

Updated to link to the examples for usage.
By the way, I noticed ci failed and without a gitlab account I can't see why.

@craigpastro thanks a lot!

@craigpastro thanks a lot! ci error was an audit internal error. I've re-run pipeline to see if it success now.

Thanks @pangea-andrest! CI still hasn't succeeded. Do you think it is okay to merge?

@craigpastro I'll take care about tests errors, don't worry about that. Regarding to move tests to github actions maybe @doubletooth or @ggallien13 can give you a explanation, not sure if there is some limitations here

Maybe we can just leave the publishing of the packages in GitLab, but everything else we can do via Github actions.
The original reasons to use Gitlab:

We had a robust runner infra already up for Gitlab pipelines
Most of the team already knew Gitlab CI syntax
We wanted a single secret store, which was and still is Gitlab CI Variables


How to change startup type for some services?

For example, the Security Center service is set to manual, thus on every boot, Windows spits out an error notification. Going to Services, the option to change startup type is greyed out.

Even using PowerShell with admin rights, I still can't change it

Is there anything I can do to change startup type to Automatic without reinstalling Windows?

This was an issue pointed out by one of my Discord members, I have removed the command from the answer file as it could be causing security issues, you can see it in the Changelog
Unfortunately, I couldn't find a way to change it once Windows is installed already, but that's not because of the answer file, Windows doesn't allow it, even on a stock Windows install you are not able to change it, so you will need to reinstall Windows with the new answer file unfortunately.
The default setting for the service on a stock install is Automatic(Delayed Start) and even with the default setting, it doesn't always start automatically, I don't know why.


Safari does not load webpart using MSGraphClient

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
When adding a webpart that uses the MSGraphClient the webpart won't render in Safari on first load.
Steps to Reproduce
For this scenario we used this demo webpart:
https://github.com/RobinBreman/SPFxDemo

Open a modern page in safari.
Add the webpart, publish and reload, the webpart won't run.

Strange behaviour

Add another instance of the same webpart to the page, publish and reload
Both webparts don't run.
Refresh the page
The second webpart runs !!
Refresh the page
Now both webparts run ??

Clearing cache, reproduces the scario above (fist no webpart loads, refresh, only one webpart loads, refresh, they both load).
The issue above does not occur when using Chrome on IOS, only Safari seems to have this issue
Observed Behavior
We see a lot of erros in safari on first loading the webpart page. Errors start decreasing on every refresh.

Any updates on this bug?

@RobinBreman @StefanWaalderbos Are you still seeing issues with this?

This is working for us now.

@lahuey as my colleague @MRuimerman just confirmed this is now working. This issue can be closed


Implement \Psr\Http\Message\StreamInterface

Would be very useful to either implement StreamInterface or provide a method that gets one, to allow HTMLDocuments to be used easily with PSR7 ResponseInterfaces.

I've just been going through marking issues as out-of-scope if they are not part of the DOM standard. Do you think this feature can be implemented without adding unexpected features to DOM?

It's not dom standard by any means so not a v1.0 feature.  I don't think it would require anything confusing, but would mean adding a method that isn't present on the DOM standard (although there are already others of these on Dom aren't there?).  I see PSR7 gaining more and more ground, so people will be implementing this function themselves if it's not part of the library.
I've just been thinking that it might be a good idea to implement the __toString() as an alias for saveHTML() (which I think is an awful name for that function in php's DOMDocument).  Implementing __toString() would allow users to simply cast to a string - or echo it etc.

Agreed. This will remain as a 2.0 issue as I can see many benefits without breaking any compatibility with standards.


[TypeScript] Missing type definitions to props on createMuiTheme

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I'm trying to use the new way to handle props for themed components. Using the props on createMuiTheme, passing the props to the components.
Current Behavior

The use of props on createMuiTheme is blocked due missing on the interface used by the function.
The Typescript doesn't compile the code pushing error because of props is not assignable to the type used.
Steps to Reproduce (for bugs)

Add the object props: {...} when creating a theme using createMuiTheme function.

Context

I need to remove the ripple effect in a button. I'm trying to remove using the function added on #10671
Your Environment

Tech
Version

Material-UI
v1.0.0-beta.45

React
16.2.0

browser
Version 66.0.3359.139 (Official Build) (64-bit)

TypeScript
2.8.2

@oliviertassinari I'm working on this task. You can assign that to me.
One question to clarify. All components can have props passed down in this new way or is scoped to specifics?
So I need to have all those ComponentProps imported right?

@abnersajr It's the same than with the classes. All the public components can be accessed. We have added a small documentation about it https://material-ui-next.com/customization/themes/#properties.

Perfect assign to me. Today I will do this.
Em qua, 9 de mai de 2018 04:17, Olivier Tassinari<EMAIL_ADDRESS>escreveu:

@abnersajr https://github.com/abnersajr It's the same than with the
classes. All the public components can be accessed. We have added a small
documentation about it
https://material-ui-next.com/customization/themes/#properties.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mui-org/material-ui/issues/11278#issuecomment-387644240,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5_OQt-0LCixl35EsovnZKYvcAIF_y6ks5twpgPgaJpZM4T2opu
.


Fix PoolableDrawable prepare call schedules potentially creating overhead if drawable never updated

If a drawable is taken from a pool but never IsPresent before being returned, the schduled PrepareForUse operation may never run. This can cause a single pooled drawable to end up with thousands of schduled delegates.
In this version, I removed usage of Scheduler completely. Rationale is that there was already a flag tracking whether prepare has been run (waitingForPrepare) and it may avoid creating a Scheduler in the case it is not used elsewhere (as these are lazily created in Drawable).
If preferred, see this branch for a version which switches to using AddOnce.
This fixes one portion of editor performance during slider rotation eventually degrading (https://github.com/ppy/osu/issues/20208).

I personally think it looks more organised to use Scheduler.AddOnce, and don't see it behave any different than overriding Update() and performing the preparation there.

You're direct that in the competent usages we're not saving much, but I believe pooling should be as lean as possible for potential use cases. We would only be using pooling if already looking for high performance.

It couldn't be thousands of schedules, right? Because it first .Cancel()s the previous schedule?
I'm not against this though.

Yeah, cancels but doesn't remove. I hit 30,000 schedules when testing in editor (without the osu! side fixes that avoid the case in the first place).

So if a non-present drawable keeps scheduling and cancelling previous schedules, it'll just pill up because Scheduler.Update is never called? That sounds really bad, will open an issue thread for it at least.


Sugar cane growth causes units to be counted as non natural

Fixed. I can't close this one!

it's only for a single game tick where it is non-natural

Does it still exist in newer versions then?

probably

this does appear to be fixed, but I'm not 100% convinced

this does appear to be fixed, but I'm not 100% convinced

ye, it's fixed


feat(dynamic-discovery): support dynamic discovery of plugins in the backend

Hey, I just made a Pull Request!
Follow up to #22671 and #23036, this PR implements the API defined in the BEP and sets up the initial registration system in memory. It also adds 2 new test packages backend-next-split-gateway and backend-next-split-leaf for testing this work. I wanted to get an initial PR up to have something to start iterating on - I can separate this into a separate repo if this isn't a good place to iterate.
This is not intended to be a final solution, there are still very open questions around:

AuthN, how do we ensure the instances that are registering are ones we trust?
Error handling, how do we handle a gateway node going down?
Heartbeats, how do we handle a leaf node that stops responding?
Multiple gateway nodes, how do we handle multiple gateway nodes sharing registration information?

This PR also does not include implementations for the following, which can be implemented in followups,

Frontend use of the gateway to get routing information.
Use of a database for storing routing state, this uses an in memory store which is wiped on restart.

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Also, not sure what the right course of action wrt the BEP is, should I move it to implementable? The authentication concerns that freben brought up are still top of mind, but I think they can be addressed later/in a separate BEP.

@aramissennyeydd you could make a separate PR to move it to implementable and we'll have a closer look and discussion to make sure we're all happy with the design.

bump

Quick update here, there's a bit of a pivot in progress in #25431. I think a fair amount of this code can be salvaged for the new proposed services, but I'm going to close this for now until we have a path defined in the BEP.


Parse #error pragma

Describe the bug
The top parser cannot deal with the #error directive. The new CHARMM FF versions have such a statement, which is why it becomes a problem.
Expected behavior
Parse this pragma and raise an error if defined. This requires a fix in the top parser and in the topology object itself.

solved with #336 and released with v1.6.0


Generation of self-signed certificates

Is your feature request related to a problem? Please describe.
I'm running docker instance in intranet/private-network and require https for some docker-instances (like docker-registry). The private-lan runs on TLD ".lan" so it's not possible to use letsencrypt by routing domain-name over router as letsencrypt only supports domains/tld's reachable from intranet.
Describe the solution you'd like
I noticed nginx-proxy-manager already supports custom-certs which is awesome! I would love to have an additional option in that dropdown in section "SSL Certificates" that could be named "Create self-signed certificate" and then routes this request to f.e. the linux-tool mkcert.
https://blog.filippo.io/mkcert-valid-https-certificates-for-localhost/
mkcert my-private-domain.lan

Describe alternatives you've considered
I could run mkcert on my local machine and manually upload the cert-files into nginx-proxy-manager.
Additional context
I think I'm not the only user who runs a docker instance in private/lan and think this feature would support/help other users as well.

As a short proof-of-concept I've run a shell-console on my nginx-proxy-manager docker instance trying this:
[root@docker-nginx-ssl-proxy:/usr/local/bin]# wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64

root@docker-nginx-ssl-proxy:/usr/local/bin]# mkcert *.typoworx.lan
Using the local CA at "/root/.local/share/mkcert" ✨

Created a new certificate valid for the following names 📜
 - "*.test.lan"

Reminder: X.509 wildcards only go one level deep, so this won't match a.b.typoworx.lan ℹ

The certificate is at "./_wildcard.typoworx.lan.pem" and the key at "./_wildcard.typoworx.lan-key.pem" ✅

I'd be interested in those instructions if it automates the process a little more than what typoworx-de described

The mkcert binary is shipped with the docker image, but it's not used by the software yet. I was planning to add it as an option on the SSL dropdown, but other things have taken more priority. PR's are welcome :)

I'd be interested in those instructions if it automates the process a little more than what typoworx-de described

Hi @WillJBrown ,
I actually created a docker image that does it for you. I have all the instructions typed out in the repository. You can use the docker image or just spin up a Ubuntu image yourself and the instructions are about the same. If you run into any problems, questions, or need any help just let me know. I’ll be more than happy to help you.
Here is the the docker image.
https://hub.docker.com/r/bitsvital/minica-bv

Thanks for that @bitsvital. I got it working today thanks to your page. you might like to clarify that the cert you have to share to clients is the root minica one whereas the one npm needs is the domain specific one. Also thanks to you @jc21 for npm - It's made all the local proxies I set up today so much easier. I don't know any web dev otherwise I would definitely work on a pull request to get this implemented. My knowledge is more in c#, fortran, python, etc. apologies.

@WillJBrown no problem. Thanks for the FYI. I will update that this evening. Feel free to contact me anytime if you need further assistance.

any updates on this?

Having mkcert would be awesome as some of my homelab is local only. I really don't want people being able to change the music playing in my mpd/mympd installation.

Is there any update for this?

Any updates?

It would be nice to have this!

Indeed it might be nice. It looks like it was possible before. Why did you remove it ?

Community wants to keep it open

agree with you.

Please keep this open and active.

This is still a much wanted feature! Would love to see this added.

I would also love to to see it working with NPM!


mag views have conflicting port numbers

After the maglef generation step, the open_pdks/common/foundry_install.py file has
        # Now list all the .mag files generated, and for each, read the
        # corresponding file from the mag/ directory, pull the GDS file
        # properties, and add those properties to the maglef view. Also
        # read the CDL (or SPICE) netlist, read the ports, and rewrite
        # the port order in the mag and maglef file accordingly.

It looks like the port order is being rewritten here.
From clkbuf_16 mag file before annotation.
flabel pwell 29 -17 63 17 0 FreeSans 200 0 0 0 VNB
port 3 nsew ground input
flabel pwell s 46 0 46 0 0 FreeSans 200 0 0 0 VNB
port 3 nsew default input
flabel nbase 29 527 63 561 0 FreeSans 200 0 0 0 VPB
port 4 nsew power input
flabel nbase s 46 544 46 544 0 FreeSans 200 0 0 0 VPB
port 4 nsew default input
flabel metal1 29 -17 63 17 0 FreeSans 200 0 0 0 VGND
port 2 nsew ground input abutment
flabel metal1 29 527 63 561 0 FreeSans 200 0 0 0 VPWR
port 5 nsew power input abutment

Notice how some flabel lines have 13 fields while others (the ones with 's' as the third field) have 14.
After annotation:
flabel pwell 29 -17 63 17 0 FreeSans 200 0 0 0 VNB
port 3 nsew ground input
flabel pwell s 46 0 46 0 0 FreeSans 200 0 0 0 VNB
port 3 nsew default input
flabel nbase 29 527 63 561 0 FreeSans 200 0 0 0 VPB
port 3 nsew power input
flabel nbase s 46 544 46 544 0 FreeSans 200 0 0 0 VPB
port 4 nsew default input
flabel metal1 29 -17 63 17 0 FreeSans 200 0 0 0 VGND
port 4 nsew ground input abutment
flabel metal1 29 527 63 561 0 FreeSans 200 0 0 0 VPWR
port 4 nsew power input abutment

Looks the port number after the longer lines (the ones with the 's') are propagated to the following shorted lines regardless of the signal name.
From open_pdks/common/foundry_install.py
flabrex = re.compile('flabel[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+[^ \t]+[ \t]+([^ \t]+)')
flabrex only matches the longer lines.
So for the unmatched shorter flabel lines, the last port number for a long line is used. If there hasn't been a long line encountered, the port number stays the same.
The following works for long and short lines.
flabrex = re.compile('flabel[ \t]+.*[ \t]+([^ \t]+)[ \t]*')

This is a magic issue, not open_pdks, and it was resolved (sort of) yesterday.  I took steps in the open_pdks scripts to work around the problem, but I still need to track down the memory corruption issue in magic that caused it in the first place.  Your detailed analysis above will help, thanks.  The "longer line" format shows another minor issue in magic, which is that the annotation of labels from a LEF file is resetting the flags like the "sticky" flag.  Although the open_pdks issue has been effectively resolved, I will leave this issue open until I have resolved both the known issues in magic.

If I were not so frazzled, perhaps I would do the smart thing and read your posts carefully.  Testing your proposed fix now.

@RTimothyEdwards Sorry, I need to practice more brevity. Anything I can do to help?

@RTimothyEdwards looks good, you can close this if you want.
Incidentally, I put the delete UNNAMED cell statements back in and the only difference appears to be less warnings.

There have been no further problems with this in the last year, so I'm closing this issue.


still need the manual dependency install?

I have a full ci/cd to deploy my home assistant container into a kubernetes cluster so my container is recreated from scratch every update/ect.  My configs are stored in a persistent volume, but curious if I still need the manual install of that dependency.

This should be closed by s-knibbs@08247f8


Manage resource limits of services

Hi,
Are you planning to improve the module further or is the idea to keep it simple and use it as a "global sync points for reloading systemd"?
Here is a PR for managing resource limits for services started by systemd.
The module creates servicename.service.d/limits.conf file for storing the extra configuration for the service, refreshes systemd and restarts the service.
Limits are configurable also by using hiera.

@raphink Any chance of some feedback on this one?  We're wanting to use this patch internally.... Cheers


NCRC More information link returns 404

To reproduce:

Go to https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>63608
Click on "More"
Click on "Read original source"
Note the resulting destination https://ncrc.jhsph.edu/research/reduced-incidence-of-long-covid-symptoms-related-to-administration-of-covid-19-vaccines-both-before-covid-19-diagnosis-and-up-to-12-weeks-after/ returns a 404.

To help diagnose, a snap shot of the NCRC Google sheet as at 5 Jan 2022 is available at https://docs.google.com/spreadsheets/d/1KyKFYMKiajjeHaPb86RK3-jE1Hdil2j_T-48Sfmuy_4/edit#gid=0

As a reference something that is working:
https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>7308#ncrc:31f1797b-2835-4e00-81cd-3978ae770359
https://ncrc.jhsph.edu/research/sars-cov-2-infection-in-free-ranging-white-tailed-deer-(odocoileus-virginianus)/

Searching by the author doesn't seem to show a matching paper: https://ncrc.jhsph.edu/?s=Simon

I've emailed Brooke so awaiting response. Suggest we can close this ticket now.


Pipelines not working different port other than 3000.

I have hosted Gitness on my VPS with a custom domain setup. when using pipeline it only works with port 3000. if we set a different port using the env variable pipeline throwing the below error.

I am using below port number for my gitness setup.

I am using below port number for my gitness setup.

You may need to set  GITNESS_HTTP_PORT=3000.
Please refer to the documentation. https://docs.gitness.com/installation/settings

You may need to set   GITNESS_URL_CONTAINER= http://gitness:3000


Google Direction symbol not resolved

it is giving error  Google Direction symbol not resolved. Do I need to install any jar file for this project ?

@ruchit31 Did you include my library in build.gradle?


AP-3048 Convert documentation to Swagger

Convert documentation to Swagger
Previously, documentaiton was generated using APIPIE.  This change converts the service
to using swagger documentation generated by RSWAG for the followiong reasons:

APIPIE is no longer maintained
APIPIE needs jQuery which we would prefer not to use
Swagger documentation is more comprehensive and generates a page where payloads can be tested on
real servers

Link to story

ripped out all APIPIE DSL in controllers
removed APIPIE gem and replaced with rswag gem
removed APIPIE validators, initializers and layouts
Wrote new specs with rswag DSL to generate documentation in spec/requests/swagger_docs
Wrote rake task rake swag to easily generate new docs
Updated README
Added RSpec filter config rule to exclude swagger specs from normal run

Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

some of the example data at http://localhost:3000/api-docs/index.html has empty arrays. Also have another look at the example response for a bad request to the GET proceeding types endpoint.


Local Node support is broken

Background
The CustomContractFunction class exists to provide a single interface for sending transactions to Ethereum nodes.  It's supposed to send the transaction to a local node using the personal API if the passphrase for the from account is included in the transaction dict, else, it sends the transaction to a hosted node via the eth API.
Problem
Today the local node support is broken because in Web3.py v5, the personal API was split to differentiate between Geth and Parity implementations. Concretly, web3.personal.sendTransaction was removed in favor of web3.geth.personal.send_transaction or web3.parity.personal.send_transaction.
Possible Solution
Fix CustomContractFunction to support both the Geth and Parity implementation by calling web3._utils.personal.send_transaction.  Normally, calling internal methods (prefixed with underscore '_') should be avoided but in this case, both the Geth and Parity send_transaction methods delegate to web3._utils.personal.send_transaction, so using the internal method allows us to not care whether the caller is running a Geth or Parity node.

Geth: https://github.com/ethereum/web3.py/blob/10e55faccd5250df79608d1fdccd363fef391bea/web3/geth.py#L45
Parity: https://github.com/ethereum/web3.py/blob/10e55faccd5250df79608d1fdccd363fef391bea/web3/parity.py#L32

During the sprint grooming today, we discussed whether we should continue supporting local nodes via the personal API. It was determined that if nothing is using it, we can deprecate and remove the functionality instead of fixing it.


Fully overhaul package for modern Swift/Vapor/Fluent

Pretty much what it says. Changes in public API:

JobMetadataMigration is no longer configurable
QueuesFluentDbType has been removed

Current plan is for these changes to be tagged as 3.0.0-beta.2

Hi, is there an ETA when this is released? This PR is still in draft otherwise I would have jumped right into it to try it out. I would love to get rid of my redis instance to simplify the stack & reduce costs. Anyway thanks for the amazing work you do with vapor.

I've tried this branch, however jobs fail with following error:
Printing description of error:
▿ PSQLError(code: server, serverInfo: [sqlState: 42601, file: scan.l, line: 1188, message: syntax error at or near ")", position: 72, routine: scanner_yyerror, localizedSeverity: ERROR, severity: ERROR], triggeredFromRequestInFile: PostgresKit/PostgresDatabase+SQL.swift, line: 60, query: PostgresQuery(sql: UPDATE "_jobs_meta" SET "state" = $1, "updated_at" = current_timestamp() WHERE "_jobs_meta"."id" = (SELECT "_jobs_meta"."id" FROM "_jobs_meta" WHERE "_jobs_meta"."state" = $2 AND "_jobs_meta"."queue" = $3 AND coalesce("_jobs_meta"."delay_until", current_timestamp()) <= current_timestamp() ORDER BY "_jobs_meta"."delay_until" ASC LIMIT 1 FOR UPDATE SKIP LOCKED) RETURNING "_jobs_meta"."id", binds: [(****; TEXT; format: binary), (****; TEXT; format: binary), (****; TEXT; format: binary)]))
  ▿ backing : <Backing: 0x6000010306c0>

This error is not visible in the console (its redacted):
[ ERROR ] Job run failed: PSQLError – Generic description to prevent accidental leakage of sensitive data. For debugging details, use `String(reflecting: error)`.

I added a breakpoint in AsyncAwaitSupport.swift:70 to get the error.

@Patrick-Kladek This PR is not at all ready for use yet, unfortunately 😰. I had to set it aside for a bit due to time constraints, but I will come back to finish it shortly; I wouldn't recommend trying it out until I've marked it ready for review, as you've seen, it doesn't even properly compile quite yet 😅. Sorry for any confusion!

@gwynne thanks for the heads up. I thought I'll give it a try as it was sitting here for a while and thought I would document my experience and at least help this way.
Please don't feel pressured to finish this asap, I see you are doing a lot on vapor and wanted to say thank you. If there is anything I could help you with, please let me know.

@gwynne can I help you with this task somehow? Maybe we can discuss specific tasks/goals and then I can give this a try. Are we waiting for some other dependency to be finished first?


Please consider fixing mathMod to work with non-integers

I've read the discussions on  #672 and #186, and I understand why you decided to go with a separate function, mathMod, to "fix" JavaScript's broken % operator. But the discussion seemed to revolve around negative numbers, and the integer- type checking got short shrift, IMO.
If I understand it correctly, mathematicians define the operation only over integers so as to be able to define a multiplication operation over the congruence relation. Considering, for example, mod5, then 3 ≡ 8, and 1 ≡ 6, and that implies (31) ≡ (86). But that doesn't hold if you extend to, for example, mod5.1:

(3  ≡ 8.1) and (1  ≡ 6.1) doesn't imply (3 * 1)  ≡ (8.1 * 6.1)

But, how many programmers need that?
You're documentation says this is supposed to be a practical library, and I'd guess the use cases for modeling a cyclic continuous quantity far outnumber those that use this multiplication. I can't even think of an example where it'd be needed. (I'm sure there are some, but I can't think of any. What is 12:31PM times two?)
I imagine backwards-compatibility is an issue now. If so, maybe you could incorporate a third function? Maybe floatMod or something?

Sorry I'm slow to respond.  Been under the weather.
My rationale for mathMod was that I was then doing (and still occasionally continue to do) a fair bit of mathematical programming.  And our mod function, which was simply a wrapper around the language's %, would not do for that.
But the mathematical point of view is clear.  mod n divides the world into n equivalency groups.  The only call I've ever had for your continuous cyclic quantity is probably a [0, 2π).  And for that I've found it easy to write quick functions of my own.  I've used mathMod in business contexts, but I can't imagine using a floatMod there.  What sort of uses do you expect for it?

Thanks for the response! Yes, [0, 2π) is the main use-case I am working on. But another, on the same project, is a toroidal drawing canvas.

But you're right, it's pretty easy to write you're own. I think I really need to maintain a utility library of my own up on npm just for these kinds of things.

I'd be very curious to see your toroidal drawing canvas, if it's something which does more than simply associates left/right and top/bottom edges of an otherwise rectangular surface.  Can you pan or scroll around your surface or pull back to note the toroidal shape?

Oh, sorry, no, I just meant the topographical kind -- like asteroids.

Oh well.  That I can probably code myself.  I was hoping for a really cool demo.  :smile: