Problem with the site?

Hello, I'm getting this error, what can I do about it?

I am getting this too. I think its sadly abandoned.

Hey, sorry for the very late reply! 🙏
The site has now been updated to work with Bannerlord 1.1.1.


How to listen to selected text and changes to selection using CocoaTextField?

I want to trigger a function or variable change of the selected text whenever user selects a portion of the typed text string and if they move the selection right or left to change the range of selected portion.
Is it possible to achieve using CocoaTextField or how do I get it even with UIKit TextField?

@thegitparticle honestly not sure, but I can consider this feature enhancement request if possible with UIKit.

solved it using this - https://github.com/kyle-n/HighlightedTextEditor


fix(command_result): return entire result in toJSON

Fixes NODE-1942

I'm a fan of #2. I think that makes the most sense!

I added https://github.com/mongodb/node-mongodb-native/pull/1977 to test this.

@kvwalker I was holding off on LGTM'ing this because the native PR is all red in CI, specifically related to checking the result of an insertOne

The native PR is showing that the way toJSON currently works is broken so that PR will be green after this PR is merged.

😱 well don't I feel foolish..


Authentication error with the fresh.deno framework

Building a project with the fresh.deno framework. I wanted to test the authentication but when adding the code example with some small changes nothing shows up, but when checking the console a few errors shows up...

Please provide more context:

What code sample did you add?
Where, how did you add it?


exit code -11 while running darknet_ros.launch

error lookes below:
[darknet_ros-1] process has died [pid 23440, exit code -11, cmd /home/shanyx/catkin_ws/devel/lib/darknet_ros/darknet_ros camera/rgb/image_raw:=/image_raw __name:=darknet_ros __log:=/home/shanyx/.ros/log/5c4f5838-3449-11ea-8e87-54e1ad5a8195/darknet_ros-1.log].
log file: /home/shanyx/.ros/log/5c4f5838-3449-11ea-8e87-54e1ad5a8195/darknet_ros-1*.log
i have checked the logfile , nothing useful . Can anyone please help me ?

when i use gdb , ii got this :
[New Thread 0x7fff369fc700 (LWP 12457)]
Waiting for image.
[New Thread 0x7fff30dfe700 (LWP 12499)]

Thread 1 "darknet_ros" received signal SIGSEGV, Segmentation fault.
0x00007ffff7263e53 in ros::CallbackQueue::callAvailable(ros::WallDuration) ()
   from /opt/ros/lunar/lib/libroscpp.so

can anyone please help?

Hi, same problem, did you fix that?

Hi, same problem, did you fix that?

no,and i found something strange . When I used Ubuntu 16 in VMwrea I can conmpile and run perfectly (CPU version) , but when i install Ubuntu on my laptop with the same ISO , it shows errors . I have changed the kernel to the version i used in VMware .

Hi, same problem, did you fix that?

Maybe i fix that . I reinstalled ubuntu16 today , but i didnt install boost or opencv , just ROS kinetic , now this project worked with CPU . I havent test the GPU version . Hope this is helpful to you .

Hi, same problem, did you fix that?

Also remember to change the path of config and weights files in YoloObjectDetector.cpp .

Hey guys, I met the same issue. I'm on Ubuntu 18.04 with CUDA 10.2.
Any clue about it? I currently would not like to reinstall my ROS as well as my Ubuntu. It is too costly for me.
Many thanks!!!!

Hey guys, I met the same issue. I'm on Ubuntu 18.04 with CUDA 10.2.
Any clue about it? I currently would not like to reinstall my ROS as well as my Ubuntu. It is too costly for me.
Many thanks!!!!

Hi, have you solved this problem?

I hope a more recent version of darknet_ros solves this issue. If not, feel free to reopen this issue.

I meet the same problem in melodic branch
![image](https://user-images.githubusercontent.com/56673361/121912603-4cdde900-cd63-11eb-8827-39e085647f73.png)

I think what I did back then to resolve this is that I retrained the model

Maybe try to download the pre-trained models to be sure.

Maybe try to download the pre-trained models to be sure.

I try with pre-trained models , but meet the same error

Check the image format of the incoming message.
I was getting the same error but traced it to the rgbgr_image function when I was passing in mono images.
Switching to bgra8 caused the same exit code error but elsewhere.
Looks like only 3 channel image formats work but I'm still digging into it.

Check the image format of the incoming message.
I was getting the same error but traced it to the rgbgr_image function when I was passing in mono images.
Switching to bgra8 caused the same exit code error but elsewhere.
Looks like only 3 channel image formats work but I'm still digging into it.

I use ros_bridge to reform the image msg by:
cv_img_h = bridge.cv2_to_imgmsg(img_rot,"rgb8")

maybe  the image has 3 channel

Loading weights from /home/bojan/darknet_ros_og/src/darknet_ros/darknet_ros/yolo_network_config/weights/yolov4-tiny-custom_2000.weights...Done!
Waiting for image.
[darknet_ros-1] process has died [pid 13861, exit code -11, cmd /home/bojan/darknet_ros_og/devel/lib/darknet_ros/darknet_ros camera/rgb/image_raw:=/camera/rgb/image_raw __name:=darknet_ros __log:=/home/bojan/.ros/log/869f03e4-4e65-11ec-b140-78d0042abcfe/darknet_ros-1.log].
log file: /home/bojan/.ros/log/869f03e4-4e65-11ec-b140-78d0042abcfe/darknet_ros-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Hi everyone,
I am facing the same issue. I've trained a custom model on darknet yolov4-tiny. Followed the instructions on the readme.

Copied .weights file to darknet_ros/yolo_network_config/weights
Copied  .cfg file to darknet_ros/yolo_network_config/cfg
Changed ros.yaml, camera reading topic to /zed/zed_node/left/image_rect_color (using zed_ros_wrapper)
Changed yolov2-tiny.yaml to point to config files and weights file per 1. and 2.
Changed detection classes names in yolov2-tiny.yaml to the 1 class the model was trained on ("- box")

I was able to run the default yolov2-tiny.weights and .cfg but face this error only after pointing to our .cfg and weights as mentioned.
Please help.

This package helped me to use the yolov4 and worked with my custom dataset
https://github.com/Tossy0423/darknet_ros/tree/020b7560f9c5901605503bb59450ed7654514e9c
I guess in the old version of darknet (melodic for me) some elements in the darknet/src is not updated to suits the yolov4

I have the same problem and couldn't solve it yet. I'm using cv_camera for the image_raw. I'm new to Ros and need help.
Loading weights from /home/ez10/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/yolov3.weights...Done!
Waiting for image.
[darknet_ros-1] process has died [pid 9663, exit code -11, cmd /home/ez10/catkin_ws/devel/lib/darknet_ros/darknet_ros camera/rgb/image_raw:=dev/video0 __name:=darknet_ros __log:=/home/ez10/.ros/log/eed6e908-aff5-11ec-8912-4f219ac33992/darknet_ros-1.log].
log file: /home/ez10/.ros/log/eed6e908-aff5-11ec-8912-4f219ac33992/darknet_ros-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

The only thing, that worked for me was a new installation of Linux and ROS.

Hi guys, I have the same problem, but it also says:
CUDA Error: no kernel image is available for execution on the device
Before that, I deleted all -gencode arch=compute_30,code=sm_30 like below on on CMakeLists.txt according to this solution.
Then I change the line as a  -gencode arch=compute_75,code=sm_75 according to this solution. And It works.
Also, I found a similar solved issue.
System (please complete the following information):
OS: [Ubuntu 20.04]
ROS version: [Noetic]
GPU : [ GTX 1650]
Cuda: 12.1
Nvidia Driver Version: 530.30.02

-gencode arch=compute_30,code=sm_30
-gencode arch=compute_35,code=sm_35
-gencode arch=compute_50,code=[sm_50,compute_50]
-gencode arch=compute_52,code=[sm_52,compute_52]
-gencode arch=compute_61,code=sm_61
-gencode arch=compute_62,code=sm_62

Try the following method : Here


Implement the 'a' conversion in java.util.Formatter.

Updated with the requested comments and assertion.


The requirements for testing R-MSFM

Hello, great works!
Will you release the list of dependencies for testing R-MSFM?
Thank you.

Thank you for your attention :) Our R-MSFM solely depends on the standard Pytorch.
Feel free to present your test results below.


Image loads flipped in X and Y

Hi!
I am loading image data using this control, and it works great, except my image is inverted in X and Y.
Is there a simple way to fix this? Code below:
public static int LoadTexture()
        {
            byte[] bytes = _gv.GetTextureBytes(frameNum);// grabs image data

            int tex;
            GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest);

            GL.GenTextures(1, out tex);
            GL.BindTexture(TextureTarget.Texture2D, tex);

            GL.CompressedTexImage2D(TextureTarget.Texture2D, 0, InternalFormat.CompressedRgbaS3tcDxt1Ext, width, height, 0, _gv.FrameBytes, bytes);

            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Repeat);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Repeat);

            return tex;
        }

        public static void DrawImage(int image)
        {
            GL.MatrixMode(MatrixMode.Projection);
            GL.PushMatrix();
            GL.LoadIdentity();

            GL.Ortho(0, width, 0, height, -1, 1);

            GL.MatrixMode(MatrixMode.Modelview);

            GL.PushMatrix();
            GL.LoadIdentity();

            GL.Disable(EnableCap.Lighting);

            GL.Enable(EnableCap.Texture2D);

            GL.BindTexture(TextureTarget.Texture2D, image);

            GL.Begin(PrimitiveType.Quads);

            GL.TexCoord2(0, 0);
            GL.Vertex3(0, 0, 0);

            GL.TexCoord2(1, 0);
            GL.Vertex3(width, 0, 0);

            GL.TexCoord2(1, 1);
            GL.Vertex3(width, height, 0);

            GL.TexCoord2(0, 1);
            GL.Vertex3(0, height, 0);

            GL.End();

            GL.Disable(EnableCap.Texture2D);
            GL.PopMatrix();

            GL.MatrixMode(MatrixMode.Projection);
            GL.PopMatrix();

            GL.MatrixMode(MatrixMode.Modelview);
        }

        public static void Render()
        {
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            texture = LoadTexture();
            DrawImage(texture);

        }

This is because opengl has it's texture origin in the lower left corner instead of the top left corner. You can either modify your UVs, or flip the image data vertically before uploading it, but flipping vertically might not be trivial as pixels are encoded in 4x4 blocks so they need to be internally flipped too

Hmm, the texture data comes to me in a compressed format as byte[] bytes, not sure if I can adjust it..
Can i modify UVs in GL?  Or can i use a shader for this?

A shader would be the "better" way in that it doesn't use deprecated features. But it's possible to flip the UVs using both immediate mode and modern shaders.

            GL.TexCoord2(0, 1);
            GL.Vertex3(0, 0, 0);

            GL.TexCoord2(1, 1);
            GL.Vertex3(width, 0, 0);

            GL.TexCoord2(1, 0);
            GL.Vertex3(width, height, 0);

            GL.TexCoord2(0, 0);
            GL.Vertex3(0, height, 0);```

Thank you! I'll try this. Is there any examples of a simple shader workflow? I am new to GL and a little confused

Here you can find the go-to tutorial for OpenGL: https://learnopengl.com/
It's in c++, but it's a good idea to learn how to convert c++ opengl code into C# code (not that complicated).
We do have two tutorials written in OpenTK. One is for OpenTK 3 which is a port of learnopengl.com, you can find it here: https://opentk.net/learn/index.html
The other is written with OpenTK 4 and is just heavily commented code and can be found here: https://github.com/opentk/LearnOpenTK
Using a combination of these resources you should be able to get going with modern OpenGL. It's some upfront work, but it's well worth it.

Closing this as it has been resolved.


convert index.ts to composeWebhook

I wasn't able to actually test the app since you cannot create new Braze accounts for testing.


grype: 0.39.0 -> 0.40.0

Description of changes
https://github.com/anchore/grype/releases/tag/v0.40.0
https://github.com/advisories/GHSA-x24g-9w7v-vprh

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

grype


Module parse failed upgrading from 5.61.0 => 5.62.0

Bug report
After upgrading from 5.61.0 to 5.62.0 with anything else untouched, the project failed to build with the following error:
Module parse failed: Unexpected token (95:92)
File was processed with these loaders:
 * ../../node_modules/.pnpm/swc-loader@0.1.15_@swc+core<EMAIL_ADDRESS>You may need an additional loader to handle the result of these loaders.
|         var ref;
>         (ref = UNCONFIRMED_CALLBACK_MAP.get(pid)) === null || ref === void 0 ? void 0 : ref(, error, response);

The original source code is:
            UNCONFIRMED_CALLBACK_MAP.get(pid)?.(error, response)

We're using swc-loader to transform TypeScript into JS with the following options:
options: {
    // https://swc.rs/docs/configuring-swc/
    jsc: {
        parser: {
            syntax: 'typescript',
            dynamicImport: true,
            tsx: true,
            importAssertions: true,
        },
        target: 'es2019',
        externalHelpers: true,
        transform: {
            react: {
                runtime: 'automatic',
                useBuiltins: true,
                refresh: reactRefresh && {
                    refreshReg: '$RefreshReg$',
                    refreshSig: '$RefreshSig$',
                    emitFullSignatures: true,
                },
            },
        },
    },
},

I found this is not a correct report.


chore: fix #983 and bugs with Clarity int/uint value encoding

This PR fixes #983 in a backwards compatible way, as well as fixing a handful of other issues related to how Clarity Ints and UInts were being constructed and serialized.
The fix for #983 is a bit of a kludge in order to prevent breaking changes. The cvToValue function checks if the BigNum is larger than 53 bits (Number.MAX_SAFE_INTEGER), if it is then a string quoted integer is returned, otherwise it preserves the original behavior of returning a js number. For example, the Clarity value 123 is returned as a js number 123, while the Clarity value<PHONE_NUMBER>740992 is returned as a js string "9007199254740992".
I left a TODO comment around this code for fixing this in the future to always return the same type (either a string or a bigint) because returning different types dependent on the value is surprising behavior. @friedger @reedrosenbluth let me know if we just want to go ahead and make the breaking change now to avoid this strange behavior. Easy change.
In addition to the above change, several fixes were made around serializing and deserializing Clarity integer types. Prior to this PR, both signed-ints and unsigned-ints were being encoded with twos-complement. This caused unsigned integers to incorrectly accept negative input values. It also caused negative signed-integers to only work when passing through both the serialize and deserialize function. For example, the following code would fail:
const intNegativeTen = intCV(-10);
expect(intNegativeTen.value.toString()).toEqual('-10');
// Error:
//    Expected: "-10"
//    Received: "340282366920938463463374607431768211446"

The intCV(...) and uintCV(...) functions were also expanded to accept bigint values and hex strings. Max/min bit size and base-10 number range checks were also added to prevent out-of-bounds integers from being passed to these functions. TypeErrors and RangeErrors are now thrown in relevant conditions.

Sweet! I think we should just go ahead and make the breaking change since we will be releasing v2.0.0 soon anyway.

This LGTM -- is there an issue tracking the odd return type of integers (i.e., the switch from native number to string at large values)? If not, it probably makes sense to create one.

@kantai there's not an issue, but there's follow up PR that fixes it https://github.com/blockstack/stacks.js/pull/1030


[chart] Add pixie self monitoring

The functionality to self-monitor pixie was added while v2 was in beta on the v2 chart and we did not port that functionality to the v3 chart.
This should add that lost feature again.

Adding do-not-merge label until @bpschmitt finds time to test this :)


vendor: update client-go to kubernetes v1.16.2

Fixes: d1fecef5d46f ("vendor: add go-mod support")
Signed-off-by: André Martins<EMAIL_ADDRESS>

test-me-please

Coverage increased (+0.002%) to 45.599% when pulling 7716925ec7ca179bef514111b5f15992a64ef44c on pr/update-k8s-client-go into d1fecef5d46f4e19f3cb78a69e801f166c2e4ef0 on master.


fix flashing to 'f0 device' targets

Fixes issue #594.
Pull request #592 (0498621) accidentally deleted the call to set_flash_cr_pg.

NOTE: I am operating under the assumption that the set_flash_cr_pg call is unnecessary for flash type STLINK_FLASH_TYPE_F1_XL, since the call was accidentally deleted when implementing support for it.

#594

Thank you for the fix, hopefully it will work now.


AirwaySegmentation Test Crashes with Access Violation

Every time I run the airway segmentation test the test fails because of an access violation. Below is the last part of the output before it crashes. Looks like it gets up to the point where it's checking the local convention for the decimal point and then the surface extraction?
My computer has 2 NVIDIA cards: a Tesla C2075 and a Quaddrro K2200.

It seems to be finished with the actual airway segmentation and centerline extraction. It's the visualization and thereby the extraction of the surface mesh from the segmentation (marching cubes algorithm) which seems to fail. This algorithm works on fine on my setup with Linux+NVIDIA/AMD and Windows+AMD. I will test it on Windows+NVIDIA and see if I can reproduce the error.

@smistad Here's some more output that might be helpful:

As an update, I was able to successfully build and run the tests on another machine with Visual Studio 2017, Qt 5.9, running windows 8.1 with an NVIDIA 860M. Looks like this bug may be system dependent.
Do you think it could be driver related?

Could be. Would not be the first time. Which driver versions do you have?

I'm using driver version 376.51.

I upgraded to 377.35 and am still getting the same issue.

@smistad As an update, I removed the Tesla from my system, re-booted and tried the tests again and they all passed. So it seems that the Tesla was causing the issue.
In my system configuration I had set the Tesla to be for Compute Needs Only so do you think the issue could have been that the code was trying to create a OpenGL context from the Tesla card (instead of my Quaddrro)?

I see. Only the Quadro is connected to a screen, right? But from the output above I see the Tesla is reported to have OpenGL interop, which is incorrect... I think. A card not connected to a screen should not have GL interop

@smistad Yes that's correct the Quadro (excuse my inability to spell) is connected to 2 monitors. The Tesla is not connected to any screens. I tried that once and it was terrible.
I see. If that's the case then use, the Tesla should not have Open GL interop.


Increase size of "Destination Address" text box

So as not to obscure the message that tells the user whether to enter a dest. address depending on the transaction type.
Can be fixed by changing the rows attribute to "2" on line 274 of app/src/App.js

Any update on this?


refactor: remove subscribe htlcs and complete_htlc

Currently in the gateway, there are two RPCs needed for completing an HTLC: subscribe_htlcs and complete_htlc. Subscribe returns a stream which the actors use to determine if they need to take an action with the federation. If the gateway is able to get the preimage, it then calls complete_htlc to complete the payment.
However, it is not necessary to have two separate RPCs and this makes the code a bit more complicated. This refactor changes it so there is only one RPC called route_htlcs. This RPC takes a stream as input and returns a stream. This way, the actors can send messages using the input stream rather than needing to call a separate RPC.
This allows us to clean up the code a bit. In the LND implementation, we are able to remove the outcomes map.
Fixes: https://github.com/fedimint/fedimint/issues/1936

(Adding @okjodom's comments that he sent offline while he didn't have much internet access)

CI audit:
fedimint-workspace-audit-audit> error: 1 vulnerability found!
error: builder for '/nix/store/p7qkfpa0mxn3nzz4y303g41d69vf895h-fedimint-workspace-audit-audit-0.0.1.drv' failed with exit code 1;
       last 10 log lines:
       > Dependency tree:
       > libsqlite3-sys 0.24.2
       > └── sqlx-core 0.6.2
       >     ├── sqlx-macros 0.6.2
       >     │   └── sqlx 0.6.2
       >     │       └── fedimint-sqlite 0.1.0
       >     │           └── fedimint-tests 0.1.0
       >     └── sqlx 0.6.2
       >
       > error: 1 vulnerability found!

we shouldn't forget about his, either.

CI audit:
fedimint-workspace-audit-audit> error: 1 vulnerability found!
error: builder for '/nix/store/p7qkfpa0mxn3nzz4y303g41d69vf895h-fedimint-workspace-audit-audit-0.0.1.drv' failed with exit code 1;
       last 10 log lines:
       > Dependency tree:
       > libsqlite3-sys 0.24.2
       > └── sqlx-core 0.6.2
       >     ├── sqlx-macros 0.6.2
       >     │   └── sqlx 0.6.2
       >     │       └── fedimint-sqlite 0.1.0
       >     │           └── fedimint-tests 0.1.0
       >     └── sqlx 0.6.2
       >
       > error: 1 vulnerability found!

we shouldn't forget about his, either.

This got fixed here https://github.com/fedimint/fedimint/pull/2204


allow double-digit versions in XcodeVersion

Checklist

[ ] npm install && npm test passes
[ ] tests are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Description of change

Related to #1849 ?

yes, relates-- sorry at work and not able to dig further atm, but that change seems to fix

(or rather, obviously doesn't work given it's failing, but the regex change matches both 9.X and 10.X, where as the other one fails on 10.X, so could be a hint to a real fix)

Sorry, I'm not a python person but this looks invalid to me, \d+ will match double digits just as well as \d?\d in any normal regex engine. Can I close this or is someone willing to dispute that Python does something funky with regexes that makes this necessary?

Can we just replace this line with ".".join(version.split(".")[:3] and move on?  Not a fan of regex for trivial use cases.

I believe that #1890 fixed this. Please rebase and reverify.

Conflicts to resolve.

I think this is dealt with already and the solution posed here isn't correct as far as I can tell


Fixes issue #7

NT

Not sure why gitlab-ci died as I did not make any changes to any code that would have likely touched the pipeline code. The build died on installation of etcd it seems. Do I need to try and force a retry?

can you rebase master (and squash your commits?),   it should work once rebased

That was my fault, I did not push the CI fix on master.
I'm sorry for the delay,
I've rebased and merged the fix on #90, I'll merge asap as you validate it
moved to #90

Thank you sir! Joe Julian says hi.


Slow multithreading

From my understanding, Redis-py is mostly doing network IO under the hood. Python's GIL should not kick in for network IO. However, it looks like multithreading is as slow as single-threaded sequential version. Am I missing anything?
r = StrictRedis()

def test():
    for i in range(10000):
        key = 'mykey'+str(i)
        r.set(key, 'ibvjaiuj65s4fa4sd8ear4')
        r.get(key)
        r.delete(key)

def bench1():
    for _ in range(5):
        test()

def bench2():  # as slow as bench 1
    ts = [threading.Thread(target=test) for i in range(5)]
    [t.start() for t in ts]
    [t.join() for t in ts]

def bench3():  # much faster, which means GIL is in play
    ts = [multiprocessing.Process(target=test) for i in range(5)]
    [t.start() for t in ts]
    [t.join() for t in ts]

@LinxiFan  Multithreading and concurency in python is very hard and i would suggest that you dig into the talks from David Beazley has done on this topic to better understand the problem with threads/multiprocessing/async and so on. One of the better presentations he has done is this one https://www.youtube.com/watch?v=MCs5OvhV9S4 where he show code examples live and the performance of the different methods.

@LinxiFan I suppose you run redis at a localhost? Then there is no network request happened.

@laixintao yes, I am running it on localhost. But it's still IO operation, and therefore should not invoke the GIL, no?

@LinxiFan GIL is always invoked whenever where is thread. GIL grantee there is only one thread running in Python interpreter.
You should noticed that redis in running on memory, so if you test your code in localhost, there is no networking io or file system io.
Compare to single thread, multi thread need switching(which cost), so slower than single thread.

@LinxiFan In addtition to @laixintao 's suggestion, redis trully has network IO(even run locally, it still listens on port given), but so little that it can be ignored, file system IO(if you turned AOF on， which should be checked before test). The relationship between thread number and cpu number is also needed
to be taken into consider if you want to test in multithreading env (although it is not so important for the sake of GIL, maybe multiprocessing is better)
With so condition variable reffered before can we come to the conclusion that if redis-py can run fast in multithreading env(i recommend multiprocessing + pipeline to improve the efficiency indeed)

Please don't forget the CPU time needed to encode commands and decode responses. I imagine, because the latency is next-to-nothing, that you're bumping up against the limits of your python interpreter to send and parse the responses.


Add Font Awesome theme

Add Font Awesome theme, which uses 'fa-times' for the Remove icon.

Added some more changes; see README for details.


Missing space causing post submit test failures

Please provide a description of this PR:
Post submit tests are failing:
+ DOCKER_TARGETS='docker.pilot docker.proxyv2 docker.operator docker.install-cni  docker.app docker.app_sidecar_ubuntu_jammy docker.ext-authzdocker.app_sidecar_ubuntu_xenial docker.app_sidecar_debian_11  docker.app_sidecar_centos_7 '

Note the lack of a space, and two targets being concatenated: docker.ext-authzdocker.app_sidecar_ubuntu_xenial docker.app

@ericvn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
4c44a64be7b8e297ad277a41dd055d2d8d0024d9
link
true
/test gencheck_istio

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

/test gencheck_istio


[AzureMonitorExporter] refactor event source tests

fix #29146
Amending my work from my previous PR #29017
The AzureMonitorExporterEventSourceTests tests are intermittently failing. When tests run in parallel, they can capture the messages from other tests.

System.InvalidOperationException : Sequence contains more than one element

System.InvalidOperationException : Collection was modified; enumeration operation may not execute.

Changes

revert changes from previous PR

remove static singleton TelemetryDebugWriter.Writer
remove interface IDebugWritter.
remove private class TestWriter : IDebugWriter

unit tests now use a discrete EventListener TestListener
This lets us evaluate the full EventWrittenEventArgs object.
unit tests now use a GUID to identify events generated by specific tests

API change check
API changes are not detected in this pull request.


Using verifyIdToken()` with the second argument causes serverless function to timeout

Operating System version: Ubuntu Xenial 16.04
Firebase SDK version: 8.13.0
Firebase Product: auth
Node.js version: v12.18.0
NPM version: 6.14.4

Steps to reproduce:
Using verifyIdToken(idToken, true) with the second argument to check if the token has been revoked causes Netlify serverless Function to timeout.
Relevant Code:
Publish the following code below to a Netlify function, then hit the endpoint which includes a valid JWT  with an "Authorization" header and the lambda function will consistently timeout.
However if you remove the second argument from verifyIdToken() and republish the function again, there are no issue at all.
const admin = require("firebase-admin")

const SERVICE_ACCOUNT = JSON.parse(process.env.FIREBASE_CONFIG);

if (!admin.apps.length) {
  admin.initializeApp({
    credential: admin.credential.cert(SERVICE_ACCOUNT)
  });
}

exports.handler = async function (event, context, callback) {

  try {
    // Extract JWT from header
    const JWT = event.headers.authorization;

    // Verify JWT, if user deleted, or JWT is invalid, this will throw an error
    const user = await admin.auth().verifyIdToken(JWT, true);

    callback(null, {
      statusCode: 200,
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify(user)
    });
  } catch (error) {
    console.error("There was an error", error);
    callback(null, {
      statusCode: 400,
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ error })
    });
  }
};

Can you reproduce the issue locally or in any other environment? Without a repro I don't think we can do much about this issue, since it works normally in our test environments.

Weirdly, the issue cant be reproduced on a local machine. It only occurs when it's published on Netlify.
If it helps, I have published two endpoints which I used to verify this issue personally.
broken:
https://deploy-preview-7--jottivity.netlify.app/.netlify/functions/broken
logs : https://app.netlify.com/sites/jottivity/functions/broken?scope=deploypreview:7
working:
https://deploy-preview-7--jottivity.netlify.app/.netlify/functions/working
logs: https://app.netlify.com/sites/jottivity/functions/working?scope=deploypreview:7
I think those logs are accessible if you have a Netlify account

Can't really speculate as to why something wouldn't work in a specific environment. Have you tried reaching out to the Netlify Support or developer community?

I have indeed, I've posted the same issue on the Netlify community forums - https://community.netlify.com/t/netlify-function-timeout-after-10-seconds-when-published/18220
And I've spent a few hours troubleshooting this issue on the Firebase slack where we were able to pinpoint the issue to that verifyIdToken() method which was causing the problem.

Ok, that forum post actually helped.

This is often resolved by changing the function code to include calls to close “the connection”. As far as what “the connection” actually is, it is typically a connection to an API or database.

You need to clean up the App instance (app.delete()) to ensure proper clean up of the Admin SDK: https://firebase.google.com/docs/reference/admin/node/admin.app.App#delete
This is not required in most environments. But it appears it's required in Netlify.

nice, that worked! I included await admin.app().delete() just before returning the http response. now it works locally and also when published to Netlify without any timeouts 👍 .
It does seem like quite a daunting method to call though, just my own personal thoughts. However, thank you helping me finally get to bottom of this issue.

It does seem like quite a daunting method to call though, just my own personal thoughts.

Yeah, it's not the best name, but we are stuck with it for historical reasons. Most applications don't need to call it explicitly (notably none of the Google Cloud Functions code require it). But some environments can be more picky about calling it.

I’m having a similar timeout issue on Netlify, but when using the JavaScript Web SDK. Is there an equivalent .delete() method to close the Firestore connection on the Web SDK too?
https://github.com/netlify/next-on-netlify/issues/66#issue-731895731

We started to see this error at 2022-09-23 09:49:08.055 PDT in the<EMAIL_ADDRESS>package, running in a node:16 container within GKE.  Setting the checkedRevoked parameter seems to resolve the issue and we're try to determine what caused it.


chore: Update GitHub workflows

Description
The jobs are now failing. I think its because of a timeout issue. Plus, the Dockerfile at the root, that should only build the api, was also installing all the deps for the frontend, which takes a huge amount of time and is useless. I removed that.
Type of Change
Please delete options that are not relevant (including this descriptive text).

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Not tested cause it has to be tested on main

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[BugFix] Fix NPE of dump for hudi query

What type of PR is this：

[x] bugfix
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #10589
Problem Summary(Required) ：

Fix query dump NPE when query hudi table
enable sesseion variable "enable_hive_column_stats"  at join reorder stage

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:disappointed: fail : 15 / 20 (75.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/Utils.java
5
10
50.00%
[394, 395, 396, 397, 400]

:large_blue_circle:
com/starrocks/sql/optimizer/dump/QueryDumpInfo.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/dump/HiveTableDumpInfo.java
8
8
100.00%
[]

run starrocks_admit_test


Release gax-nodejs v0.18.0

Mainly to stop nodejs-* libraries from emiting deprecation warning:
(node:2) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead

One such complaint is here: https://github.com/googleapis/nodejs-vision/issues/120
Implementation Changes
BREAKING CHANGE:

fix: drop support for node.js 4.x and 9.x (#262)

Dependencies

refactor: add dependency on @grpc/proto-loader (#229)
chore(deps): update dependency typescript to v3 (#275)
fix(deps): update dependency @grpc/proto-loader to ^0.3.0 (#269)
chore(deps): update dependency gts to ^0.8.0 (#266)
chore(package): Update gts to the latest version 🚀 (#255)
chore(package): update @types/globby to version 8.0.0 (#257)

Documentation

Add Code of Conduct

Internal / Testing Changes

chore: move mocha options to mocha.opts (#274)
test: fixing timeouts (#264)
Configure Renovate (#258)
fix: fix typo in a test (#260)
fix: update linking for samples (#259)
refactor: remove prettier, eslint, jshint (#254)

I updated gax to version v0.18.0 but still having the same issue.


site-maven-plugin stuck after message "Creating 338 blobs"

Hello,
I'm trying to deploy a multi-module maven project site to github.
This project is available here:
https://github.com/graphql-java-generator/graphql-maven-plugin-project
(I created the tag 'site-maven-plugin_issue_139' against which you can reproduce it)
Here what I did:

Create the site (into target/site) with "mvn site -Prelease"
Stage the site (into target/stage) with "mvn site:stage"
Tried to deploy the site to github with "mvn com.github.github:site-maven-plugin:site -Prelease"

But then, it hangs. Here is the console output:
[INFO] ------< com.graphql-java-generator:graphql-maven-plugin-project >-------
[INFO] Building com.graphql-java-generator:graphql-maven-plugin-project 1.0.0-RC2-SNAPSHOT [1/12]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- site-maven-plugin:0.12:site (default-cli) @ graphql-maven-plugin-project ---
[INFO] Creating 338 blobs
It gets stuck there, with no activity...
:(
Any hint ?
Etienne

See issue #136

Right !
Thanks bguerin !!
For other readers: this site-maven-plugin is not maintained.
More info there: http://wiki.bitplan.com/index.php/Multi-Module_Maven_with_github_pages


Added IPv6 CIDR/subnet support methods

Fixes #76

Closes #75
Fixes #68
Fixes #69
Fixes #70

This is a huge chunk of new functionality that seems niche if generally useful at all. I am not convinced that I should merge this, it seems too application-specific. At least I cannot conceive of any use for it.

@whitequark: You don't think it's useful to be able to get the outermost effective host addresses for a subnet from its corresponding CIDR? 😕

Not particularly, especially not in IPv6 since none of network address assignment mechanisms I'm aware of use sequential addresses.

shrugs I get the impression you're deeper into the weeds on IPv6 stuff than I am but, from my perspective, these changes are useful and seemingly practical.  If that's not the case for others, though, I can just as easily require('ipaddr.js') and extend these onto it within my own codebase.
@silverwind Any thoughts?

FWIW, this seems to be common functionality on almost every web-based CIDR calculator tool that I've encountered, as well as being present in the ip6addr module's API.

Yeah sure it's common but what's it useful for?

For me:

Normalizing the CIDR addressing, as done by processCIDR (and mentioned in #76)
Knowing the minimum and maximum address in the subnet range, which,  in turn, is useful for:

checking for inclusion of a single IP
checking for overlaps with other CIDRs/subnets/ranges
displaying an IP range to users who are not so savvy with CIDR notation

Normalizing the CIDR addressing, as done by processCIDR (and mentioned in #76)
checking for inclusion of a single IP
checking for overlaps with other CIDRs/subnets/ranges

All of these are more easily done using the CIDR form and some basic bitwise operations. A function for checking whether two CIDR ranges overlap would be useful.

displaying an IP range to users who are not so savvy with CIDR notation

I'm not convinced this is a good enough reason to add this massive chunk of code to ipaddr.js, sorry.

Can this be reconsidered? Getting the first/last addresses in a network is generally useful and I actually already have a use case: Normalizing a user-entered IPv6 CIDR.

Like I said, you only need basic bitwise operations for this. Something like:
function normalize(cidrBits) {
  for(var i = 0; i < 8; i++) {
    if(cidrBits > 16) this.parts[i] = 0;
    else this.parts[i] &= ((1 << cidrBits) - 1) << (16 - cidrBits);
  }
}

But isn't the point of this library to provide easy-to-use methods? Doing bitwise doesn't really strike me as easy.
One of my projects is currently depending on the branch of this PR and I'd like to get rid of this ugly dependency.

But isn't the point of this library to provide easy-to-use methods? Doing bitwise doesn't really strike me as easy.

I've already said I'll accept a PR introducing normalization.

One of my projects is currently depending on the branch of this PR and I'd like to get rid of this ugly dependency.

You can always move the code into your own codebase, no?

You can always move the code into your own codebase, no?

Already did, thought I see it kind of unnecessary that such a useful feature is not included in this otherwise good library.


GetEIDs fails validation if input is a network dataset layer

It throws "The feature dataset where your network dataset resides does not have a feature class called 'TransitLines'. Please use a valid network dataset."  It's getting confused because when the input is a network dataset layer rather than the catalog path, it isn't correctly finding the feature dataset.  Need special handling for this case.

Is this related to the message (below), that I get when I try to run GET EID's?
Messages
Executing: GetNetworkEIDs C:\ProgramData\GTFStoNetworkTest.gdb\GTFStoNetworkTest\GTFStoNetworkTest_ND
Start Time: Thu Sep 14 14:19:43 2017
Running script GetNetworkEIDs...
Retrieving EIDs from network dataset...
(This step might take a while.)
Error obtaining network EIDs.
The system cannot find the path specified.
Completed script GetNetworkEIDs...
Failed to execute (GetNetworkEIDs).
Failed at Thu Sep 14 14:19:44 2017 (Elapsed Time: 0.92 seconds)

No.  The issue here occurs only if the input is a layer in the map and not a catalog path to a network dataset.  However, I'm also seeing the issue you mentioned, and I'm not quite sure why.  What version of ArcMap are you using?

Currently using 10.2.2.

Have you ever been able to successfully run this tool?  For example, does it work on a different network dataset, did it work with a different version of ArcMap or a different version of the Add GTFS toolbox?

I have not been able to successfully run this tool.  I've only used the most up-to-date GTFS toolbox, with the only network dataset and version of ArcMap that I have access to.

Okay, thanks.  I'll get it figured out.

@PPaulsonOregonDOT: For your issue, it's because you have to first build GetEIDs.exe from the GetEIDs stuff included here.  I'm not sure how much luck you'll have with that unless you're already familiar with building ArcObjects executables.  If you're just looking for something to use out of the box, download the ready-to-use version of these tools from here: http://www.arcgis.com/home/item.html?id=0fa52a75d9ba4abcad6b88bb6285fae1
For my own part, I was just having a moment of exceptional stupidity when testing my update to the tool and forgetting that I needed to copy the file to a place where I already have GetEIDs built...however, it served me well because otherwise I would not have realized that this was the answer to your problem.


NO-ISSUE: Run linter on OpenAPI specs

Adds linting of OpenAPI specs with Spectral. A set of rules is included that

enforce consistency for verbs, error codes, and request/response media types across resource kinds and collections
enforce having descriptions for parameters and properties
warn if best practices are not followed

This PR will be complemented by a number of other PRs cleaning up the specs.

We have a couple instances of returning 418, these should probably be 422.

It looks awesome, it would be good if we could sanitize all the API before we release TP

I suggest

Make the check optional
Let's split the work to fix the issues
Make the check mandatory


eventstat: 0.04.03 -> 0.04.04

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/eventstat/versions.
These checks were done:

built on NixOS
/nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04/bin/eventstat passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.04.04 with grep in /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04
directory tree listing: https://gist.github.com/5ed1c395b9ebbda292b165652d1666cf
du listing: https://gist.github.com/83aba0c7903134aa17a6215a3a9b0b9f

meta.description for eventstat is: '"Simple monitoring of system events"'.
cc @cstrahan for testing.
Experimental: this build is cached with Cachix. To use the cache follow these experimental instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout bbef10b3b95183ae4b0dde17bd9c029c9cef97e3 && nix-shell --pure -I nixpkgs=. -p eventstat

Success on aarch64-linux (full log)
Attempted: eventstat
Partial log (click to expand)
cp eventstat.8.gz /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04/usr/share/man/man8
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04
shrinking /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04/bin/eventstat
gzipping man pages under /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04/share/man/
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04/bin
patching script interpreter paths in /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04
checking for references to /build in /nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04...
/nix/store/xfvwn0yf0mpld989r1812nnym48ly9ls-eventstat-0.04.04

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

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

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

Success on x86_64-linux (full log)
Attempted: eventstat
Partial log (click to expand)
cp eventstat.8.gz /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04/usr/share/man/man8
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04
shrinking /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04/bin/eventstat
gzipping man pages under /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04/share/man/
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04/bin
patching script interpreter paths in /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04
checking for references to /build in /nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04...
/nix/store/8maki50gwqm08fzrrw4nnnfr6alvqzr8-eventstat-0.04.04


Log rotation?

Hi!
The project looks cool. I see it has some log persistence, too. How it is cleaned up, though?
Also, does it have to run as root?

I'll leave it open for some time. If there would be no additional questions, I'll close the issue

So that's not exactly rotation, just manual wipe, right?

Absolutely right. The rotation exactly was in our roadmap, not sure why readme doesn't mentioned it

Got it, thanks.


Allow ==- doesn't see everything:

I'm not sure if there's anything one can do (without starting to re implementing simplifier in the library?),
Should we document that ==- doesn't always work, for example, I get:
    LHS:
        ...

        lhsEnum
        lhsEnum
          = \ x ->
              case x of {
                LT -> $WZ `cast` <Co:102>;
                EQ -> lvl `cast` <Co:102>;
                GT -> lvl `cast` <Co:102>
              }

        lhsEnum
        lhsEnum = lhsEnum `cast` <Co:303>

    RHS:
        ...

        rhsEnum
        rhsEnum
          = \ ds ->
              case ds of {
                LT -> $WZ;
                EQ -> lvl;
                GT -> lvl
              }

i.e. Quite the same, but there's a coercion in bad place.
EDIT the code in question is still under development, but I'll post a link once it's published

I think this is a reasonable request.
We don’t have to reimplement the simplifier, but we'd have to do a better job comparing expression, knowing that the two lhsEnum’s are the same (better print this with uniques :-)).

The fin library in https://github.com/phadej/vec is quite small (and light on dependencies), see https://github.com/phadej/vec/blob/master/fin/test/Inspection.hs

I wanted to reproduce (and fix) it, but If I run the linked file, the error I get for inspect $  'lhsEnum ==- 'rhsEnum looks different than the one you posted. I get:
    LHS:
        lhsEnum
        lhsEnum = $fEnumOrdering_$sgfrom `cast` ...

    RHS:
        lvl_scJI
        lvl_scJI = S @~ ... $WZ

        lvl_scJ1
        lvl_scJ1 = S @~ ... lvl_scJI

        lvl_scIZ
        lvl_scIZ = S @~ ... $WZ

        rhsEnum
        rhsEnum =
          \ ds_dbJk ->
            case ds_dbJk of _ {
              LT -> $WZ;
              EQ -> lvl_scIZ;
              GT -> lvl_scJ1
            }

… ah, but only with GHC-8.0. With GHC-8.2 I get the result that you posted.

Fixed in 0.1.2 :-)

Looks like GHC-8.0 is quite smart. Cannot blame it for reusing already generated code (from Data.Fin.Enum). Subtle behavior, but I guess this library exists to catch such issues :)
Thanks for very prompt fix!


Outline game core logic

This issue aims to establish a comprehensive outline of the core game logic required to implement a Mancala game.
Key Considerations:

Board Representation: How will the board's state (pits, stores) be represented on the blockchain?
Seed Distribution: Define the rules and logic for the initial seed distribution across pits at the start of the game.
Turn-Based Mechanics: Detail the process of a player taking a turn:

Choosing a pit
Redistributing seeds according to Mancala rules
Capturing seeds
Determining when a turn ends

Win Condition: Clearly specify how a player wins the game and how this state is determined.

Tasks:

Research: Investigate efficient data representations for on-chain board storage.
Design: Draft pseudocode or diagrams outlining core game actions (seed sowing, capture logic, turn transitions).
Smart Contract Considerations: Sketch out the potential smart contract functions needed to implement the game logic.

Acceptance Criteria

A clear and concise document outlining the game's core logic.
Diagrams or pseudocode to illustrate key actions and state changes.
Initial considerations for smart contract implementation.

@all-contributors please add @okhaimie-dev for code


Restrict TMPDIR etc. changes to install, post_install and test

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

#800 came with a caveat, which despite my initial confidence, actually bit others too (I'm saying "too" because I myself was certainly bitten, but didn't regard it as too big a deal).
In this PR we restrict TMPDIR, TEMP and TMP normalization to install, post_install and test and restore their original values afterwards, thus eliminating the caveat.
There's quite a bit of code duplication here unfortunately. I also have a DRY branch https://github.com/zmwangx/brew/commit/f5cc95c9967793e50a83c675f4e43419fde7e1a6 in case anyone's interested, but it involves a bit of global changes and it seems harder to restore the original values without further global hacks.
CC @xu-cheng (who proposed this) @dunn.

Nice work 👍


Add section for Why CBOR

The findings are primarily from https://github.com/onflow/flow-go/issues/3448 and some of its text can be reused here.  Some of the content under Interoperability and Reuse and also be moved into Why CBOR.
Thanks @turbolent for the suggestion to add this section.

Done.


test: added tests for data fetching

PR Checklist

[x] Addresses an existing open issue: fixes #227
[x] That issue was marked as status: accepting prs
[x] Steps in CONTRIBUTING.md were taken

Overview
Extracts and adds unit tests for data fetching helpers in content-script.ts.
The rest of the file is mostly DOM creation, so it wasn't very unit testable. Ah well.

@all-contributors please add @joshuakgoldberg for test.

🤖 Beep boop! This comment was added automatically by all-contributors-auto-action.
Not all contributions can be detected from Git & GitHub alone. Please comment any missing contribution types this bot missed.
...and of course, thank you for contributing! 💙


[module_test_ios] trying tap the buttons again if the first time didn't work

I guess there's a race condition in the XCUITests that caused some flakiness in the tests. This PR is to try another workaround, the first try with tap on app didn't work.
https://github.com/flutter/flutter/issues/89175
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

You can rebase on master to clear up the tool test errors.

looks like the google testing is stuck (it's been over 24 hours), I'll re-trigger CI


Remove dependency on outdated cross images

Current situation
We currently use cross to build our rust binaries for all currently supported architectures (x86_64, aarch64 and armv7), cross uses the cross-compilation ability of rust paired with a C/C++ toolchain for target architecture to be able to cope with C libraries.
These toolchains are distributed through container images, cross provided images for last release are based on Ubuntu 18.04, this version of Ubuntu is EOL and we need a more recent version of packages to be able to build akri with up to date dependencies. Cross next release (which is 4 month late based on their initial milestone plan) will upgrade those to Ubuntu 20.04, but that is not enough to build akri.
This leaves us with the possibility to either build our own up-to-date toolchain images (which doesn't seems to be an easy feat), or change the way we build our artifacts.
Use "native" compilation using docker buildkit
The first solution is to directly build the artifacts as part of our Dockerfile with a file like this one (result is untested), here based on openSUSE base image to more easily compare with next "solution":
ARG RUST_VERSION=1.70
FROM registry.opensuse.org/opensuse/bci/rust:${RUST_VERSION} AS build
RUN zypper -n install libopenssl-devel systemd-devel protobuf-devel libv4l-devel && zypper clean
COPY ./ /app
WORKDIR /app
RUN cargo build --release

FROM registry.opensuse.org/opensuse/tumbleweed:latest
ARG AKRI_COMPONENT
RUN zypper -n install libopenssl3 && zypper clean
COPY --from=build /app/target/release/${AKRI_COMPONENT} ./${AKRI_COMPONENT}
ENTRYPOINT ["./${AKRI_COMPONENT}"]

You then use docker buildx build --platform linux/amd64,linux/arm64 --build-arg AKRI_COMPONENT=agent . to build.
From my tests on my laptop (x86_64 with a i9-11950H CPU) a native build takes 8 minutes and a non-native one (aarch64) around 5 hours. I've been unable to build for armv7
Pros:

Simple to setup
Easily reproducible "at home"
Integrate well with GitHub Actions
Can take advantage of docker build cache to prevent rebuilding for every component
Can integrate a generated SBOM (built from image scanning)

Cons:

Unable to build armv7
Extremely slow for non-native platforms

Use build.opensuse.org to build artifacts
This solution consists on using an external service to build the artifacts (namely build.opensuse.org), this build system
is better used by creating RPMs then building an image containing those RPMs, so you can find here an attempt for a RPM build for akri here: https://build.opensuse.org/package/show/home:nbelouin/akri. and an image for the agent here: https://build.opensuse.org/package/show/home:nbelouin/akri-agent
The build system has native x86_64 builders as well as native aarch64 builders, so x86_64 build took 12 minutes and aarch64 one took 12 minutes as well. armv7 build failed.
The RPM will get automatically rebuilt if a package dependency get updated (e.g. openssl update)
There is a possible GitHub integration (Rancher Elemental project use it for example), that allows to trigger independent builds for every PR and give feedback to GitHub (not yet tested).
Pros:

Fast
Generate very small images easily (around 57MB for the agent)
Can integrate a generated SBOM (built from RPM build system)

Cons:

Integration with GitHub Actions is not straightforward
Unable to build armv7
Not easily reproduced "at home"

Hi,
Really interesting subject. I used buildx qui a few times on other projects but never heard of this opensuse service.
Have you also had a look on xx project ? https://github.com/tonistiigi/xx#rust
And do we know what cause armv7 build to fail ? is it rust code ? a dependency ?

Hi, Really interesting subject. I used buildx qui a few times on other projects but never heard of this opensuse service.

This openSUSE service is now used by kubernetes to build their artifacts. This is also what is used to build all openSUSE

Have you also had a look on xx project ? https://github.com/tonistiigi/xx#rust

I didn't know about the xx project, will take a look at it

And do we know what cause armv7 build to fail ? is it rust code ? a dependency ?

The armv7 build fails on the opcua crate build, so only the opcua discovery handler fails to build in fact.
It seems to be some kind of error during rust code compilation specific to armv7 flavor of rustc, I didn't file a bug on rustc upstream yet as I didn't take time to try to gather more information about the issue to file a meaningful bug-report for them.

About armv7, upstream kubernetes no longer build for armv7 since kubernetes/kubernetes#115742, so I've been wondering if we have any user of that armv7 flavor or if it would be better to just stop providing armv7 builds if these are basically unused.

I think we should follow suit with Kubernetes and remove v7 support especially if it prevents us from improving our build system.
@diconico07 I am a big fan of reducing container size. Does strategy 1 of using opensuse base and the docker buildx toolkit reduce image size too?
I think the RPM approach is too prohibitive for the local/maintainer experience. It is helpful being able to build images locally and test and run them. But we could potentially do both, publish the RPM containers and still maintain a set of dockerfiles for local builds

The way I use to reduce the container size is based on RPM (the image will only have the RPM and its dependencies), so no the pure buildx image is not lighter, it could be made lighter, but this would require more work.
I however agree that not being able to build local images is bad, if we keep all the files simple to maintain (i.e RPM specfile, RPM based Dockerfile and local build Dockerfile) it shouldn't be an issue to have both ways.
For the v7 thing I created rust-lang/rust#115674 for the issue (it won't be hard to bring it back if this get fixed).


handleLLMNewToken called with empty tokens when using function calling

When calling ChatOpenAI.predictMessages with an OpenAI function call specified, the handleLLMNewToken callback is repeatedly called with empty tokens. This is likely because when OpenAI pushes new chunks to the HTTP event-stream, the structure of the response data is slightly different.
For normal text responses, the schema of a choice follows:
{
  "delta": { "content": string },
  "index": number,
   "finish_reason: null
}

With function calling, however, it now looks like:
{
  "delta": {
    "function_call": {
       "name": string,
       "arguments": string
    }
  },
  "index": number,
  "finish_reason": null
}

Edit: This does seem to be the case: see

Here are some of the ideas:
Single callback
callbacks: [
    {
      handleLLMNewFunctionCall(function_call: {name: string;args:string}) {
        /*
        function_call = {
          name: "xxx",
          args: 'yyy'
        }
         */
      },
    }
  ]

Separate callbacks for function name and argument
callbacks: [
    {
      handleLLMNewFunctionCallName(function_call_name: string) {
        /*
        function_call_name = "xxx"
         */
      },
      handleLLMNewFunctionCallArgs(function_call_args: string) {
        /*
        function_call_args = "yyy"
         */
      }
    }
  ]

From my observations, looks like OpenAI always emits function_name in stream as a single distinct chunk. So probably second option makes more sense.

Looks like a PR was submitted https://github.com/hwchase17/langchainjs/pull/1964


[patch] Enhancements to support Redis on Heroku

Given the verbose log level of the Redis error on L312, I'm assuming the errors on L320 and L327 were meant to be logged with a verbose log level as well. We're on Heroku and are getting hundreds of these errors which is flooding our Sentry logging as the Redis connections timeout every 300 seconds.
Another potential implementation would be to move the errors to an else block after the check for onRedisDisconnect and onRedisReconnect functions if the intent is for the onRedis... to provide custom overriding rather than supplemental logic.
Also fixing what I suspect is a typo on L324 where currently the logic checks for an onRedisDisconnect definition but then fires onRedisReconnect.
Lastly, changing .extend ->.merge on L440 to allow (in our case)  saveUninitialized to be set to false.  We deployed to production and very quickly filled our Heroku Redis store with uninitialized sessions.

@davidjconnolly Re: _.extend vs _.merge -- I don't see why this change is necessary.  Setting resave and saveUninitialized to false in my config/session.js or config/production.js works fine for me with the current code.  How are you configuring your session store?

@sgress454 we're configuring it in our config/session.js as follows (using our fork https://github.com/opencare-admin/sails):
'use strict';

var session = {
  // Redis options:
  adapter: 'redis',
  ttl: 2592000, // 30 days session expiry
  db: 0,
  prefix: 'sess:',

  // Express options:
  name: 'dc.sid',
  secret: '<removed>',
  resave: false,
  saveUninitialized: false,
  unset: 'destroy',
  cookie: {
    secure: true,
    maxAge: 30 * 24 * 60 * 60 * 1000
  }
};

module.exports.session = session;

I'm trying to remember now exactly what the issue was, I believe that the source object was overwriting the destination saveUninitialized property.

@davidjconnolly Hm, I installed your fork and changed _.merge back to _.extend, and added the session config from above, and got the same result when I log opts -- resave and saveUninitialized both false as expected.  Perhaps there was another issue that got fixed simultaneously (like a conflicting config in config/env/production.js)?
The typo you caught definitely needs to be merged.  The log verbosity we'll consider, but can you say a bit more about why your session is disconnecting/reconnecting so much?  That is, is there an argument to be made that in general, these errors are not serious enough to always show up?

@sgress454 That's weird, I just tried it locally as well and had no issue, @vadim-zverugo do you remember why we needed to change _.extend to _.merge?  I seem to remember needing this change in order for saveUninitialized to stay false but I tried it both ways with a console log of opts on L445 and it's preserved as false in both cases.
With respect to the log verbosity, it seems we've resolved our issue with the main API redis connections timing out as they're kept alive by all the traffic.  I suspect we had some issues with orphaned dyno's.  However, our job scheduler spins up sails which leaves an un-used redis connection that is timing out harmlessly after the default heroku timeout of 5 minutes.
I definitely see the argument for wanting to default to log.error for the general case but it was frustrating that we couldn't override it.  What if I instead put an else on L319 and L326 so that the default behaviour is to throw an error but if the onRedisDisconnect/Reconnect override functions are set, the alerting and any other logic is delegated to them?  I'll back out the _.extend change too if we can't find a good reason for keeping it.
Thoughts?

What if I instead put an else on L319 and L326...

I like this!  I'll make a similar change in sails-hook-sockets.

I'll back out the _.extend change too if we can't find a good reason for keeping it.

Sounds good.  It'll be good to have y'all back in the fold.  Every time someone uses a forked Sails in production, a puppy dies.

@sgress454, @davidjconnolly: Agree, _.extend works well and overwrites resave and saveUninitialized properties. Looks like I had another issue with a custom config.
Once Redis/log patches are confirmed and applied, I'll be happy to upgrade to Sails v.1.0.0-37.
And one more question about sails-hook-orm. Currently, in order to work with Sails v.1.0, we should specify in our package.json something like "sails-hook-orm": "git+https://github.com/balderdashy/sails-hook-orm.git". When are you planning to publish this package in NPM?

@vadim-zverugo re: sails-hook-orm, you should be able to set your dependency to:
sails-hook-orm": "^2.0.0-20"

That's the semver range for the Sails 1.0-compatible hook.

Thanks @sgress454 & @vadim-zverugo, feedback addressed!  Let's resurrect some puppies ;)

Thanks for the great work @davidjconnolly and @vadim-zverugo.  We expect to be publishing a new 1.0 version next week.

@davidjconnolly @vadim-zverugo Sails v1.0.0-37 was published yesterday, sorry for the delay!


Implement self-signed certificates for HTTPS

Implemented self-signed certificate creation to enable HTTPS out of the box as Webauthn (PR #33) requires it.
We should also add support for Let's Encrypt by integrating certbot (with schedule for renewals every 60 days).

SonarCloud warning is to be expected because there are two options for running pAI-OS which are very similar: main.py from the root (eg python -m paios), which will also serve up the frontend, or a similar file in the backend folder for running API-only mode. We should however consolidate these or remove one of them.

Thanks for the reminder to test on Windows (which I have done).


fix(costmodels): details page sources tab fit and finish

closes #1059

Codecov Report

Merging #1065 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1065   +/-   ##
=======================================
  Coverage   75.66%   75.66%
=======================================
  Files         228      228
  Lines        4369     4369
  Branches      813      813
=======================================
  Hits         3306     3306
  Misses        950      950
  Partials      113      113

Continue to review full report at Codecov.

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

//ping @dlabrecq @nlcwong please review this.

For the delete dialog, we should just keep the button title generic (since in the wording it's pretty generic) that we say we are un-assigning a source rather than un-assigning a cluster.  @dayleparker, would you have thoughts on that?

I am adding @chargio to this conversation too.

For the delete dialog, we should just keep the button title generic (since in the wording it's pretty generic) that we say we are un-assigning a source rather than un-assigning a cluster. @dayleparker, would you have thoughts on that?

I agree @nlcwong -- the button should be just "Unassign source".
I think the wording in that dialog box could be a little more smooth/succinct if we removed the word "using" from the first sentence, so:
"This will remove the assignment of [SOURCE] from the [COSTMODELNAME] cost model."
One last comment - for the empty state message, do you think we need "like an Amazon Web Services account"? Or could this be explanatory enough with just "Assign a source to this cost model." ?

@dayleparker I'm a bit flip floppy on this issue.  I think less is more, but in this case, the user who is setting up the cost model might not know what a source is because they might not be the one who added the source in the first place.  In fact i can see where certain sources will be delegated to different users (say a cluster belongs to engineering vs. IT ops and they all handle their pricing differently).  So the empty state might need to be more specific in that sense.

//ping @dlabrecq  - read for your review :raised_hands:


Addon and decorator not working.

I am a issue while using addons and global decorators in the react-storybook. Here is what my config file looks like
import { addDecorator, configure, setAddon } from '@kadira/storybook';
import stories from '../src/components/stories';
import infoAddon from '@kadira/react-storybook-addon-info';

addDecorator((story) => (

      {story()}

));

setAddon(infoAddon);
function loadStories() {
   stories
}
configure(loadStories, module);

And when i am trying to use the infoAddon method in the component story file i am getting error that the function is not find. Below is my component.story  file
import { storiesOf, action } from '@kadira/storybook';

storiesOf('Component', module)
  .addWithInfo('default view', () => {

         Content

  });

This is the error i am getting
Uncaught TypeError: (0 , _storybook.storiesOf)(...).addWithInfo is not a function
Also the decorator are not working too.
I am not using any custom webpack config. Can you please help me in rectifying what's going wrong here. I went through the Readme and followed every step and was able to setup the initial version successfully without having any addons and decorators.

@roonyh could you have a look at this?

@dhansiddh Remove the line, import stories from '../src/components/stories';. This line is called before setAddon is called so it gives that error.
And change the loadStories function to,
function loadStories() {
  require('../src/components/stories');
}

Thanks @roonyh this seems to fix the issue 👍


Improve read text from a file article

Summary

Conform article to linter rules.

Change title/H1/H2.
Add prereqs.
Adjust see also to related content.

Remove double spaces from line endings.
Merged the two samples into a single project for each code language
Improved the C# examples to the latest features of C#
Removed WPF from the async example

Fixes #40274

Internal previews

📄 File
🔗 Preview link

docs/standard/io/how-to-read-text-from-a-file.md
Read text from a file

@BillWagner tagging for review. Thanks!


feat(turborepo): add basic child process manager package

Previous PR #5849 was opened by @arlyon and it auto-merged without passing unit tests first. Re-opening from the same branch to sort out unit tests.
Description
Adds a library for managing child processes. Spawning a process on the manager gives you a handle to the task, through which you can listen for its completion. You can also take down all tasks on the manager at once, and anyone listening to child tasks will be notified of exit codes etc.
Testing Instructions
Go unit tests are ported (where it makes sense–due to some type-improvement-redesign a number of tests were unneeded).
Closes TURBO-1287

Oh that is strange, I can see tests failing in the ci as well. It's a few windows things that I am going to work through this morning :)


Number of plates default should be ~50

I suggest to set the default number of plates for the simulaton to values around 50. As the earth has around 50 plates, this number result in a more realistic world map, regarding the earth we live on.
I assume the main scope of new users is the usage of worldengine for creating realistic maps for e.g. games, or simulations on the rise and fall of cultures. By changing this number new users would faster see the benefit of this project. And for all other more specialized applications the number is still parametrized and thus is set to the appropriate number.

@DaWiTH is this the file you are referring to change? https://github.com/Mindwerks/worldengine/blob/master/worldengine/plates.py#L16


Update Google Maps Location Tracker to use locationsharinglib==4.0.2

Breaking Change:
Google Passwords are no longer required to be provided in your config. An external program is now required to obtain the necessary cookie file to place in your Home Assistant config directory. This is due to limitations with the underlying package.
Description:
Update the Google Maps location tracker component to use the most recent version of the underlying package (v4.0.2).
I am adding this PR on behalf of @costastf and per this forum post: https://community.home-assistant.io/t/google-maps-device-tracking-setup/59944/65
Related issue (if applicable):
fixes #23349, fixes #25312, fixes #24490, fixes #24025
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#9918
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[n/a] Tests have been added to verify that the new code works.

are existing users required to update their current cookie? or is the new cookie process only for new users? the code seems to look for the same cookie name as previously.

@dshokouhi I believe the same cookie will work if it works currently. From my understanding via @costasrf, the new version of locationsharinglib removes the authentication mechanism and expects a valid cookie file to be provided, rather than trying to generate one itself.

Please add to the breaking change paragraph what the user needs to do to cope with the breaking change.

@MartinHjelmare: Done.


Tests performance degregation after PR #315

After pull request #315 in which we run migrations before tests, the performance of the tests decreased significantly.

That's only on my machine, by looking at the history of the actions, it looks like the performance has not degregated.


[SPARK-47558][SS] State TTL support for ValueState

Note: This change has been co-authored by @ericm-db  and @sahnib
Authors: @ericm-db @sahnib

What changes were proposed in this pull request?

This PR adds support for expiring state based on TTL for ValueState. Using this functionality, Spark users can specify a TTL Mode for transformWithState operator, and provide a ttlDuration/expirationTImeInMs for each value in ValueState. TTL support for List/Map State will be added in future PRs. Once the ttlDuration has expired, the value will not be returned as part of get() and would be cleaned up at the end of the micro-batch.
Why are the changes needed?

These changes are needed to support TTL for ValueState. The PR supports specifying ttl for processing time or event time. Processing time ttl is calculated by adding ttlDuration to batchTimestamp, and event time ttl is specified using absolute expiration time (expirationTimeInMs).
Does this PR introduce any user-facing change?

Yes, modifies the ValueState interface for specifying ttlDuration, and adds ttlMode to transformWithState API.
How was this patch tested?

Added unit test cases for both event time and processing time in ValueStateWithTTLSuite.
WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.vector
[info] TransformWithStateTTLSuite:
11:56:54.590 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
11:56:56.054 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate state is evicted at ttl expiry - processing time ttl (6 seconds, 244 milliseconds)
11:57:01.188 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate ttl update updates the expiration timestamp - processing time ttl (4 seconds, 465 milliseconds)
11:57:05.641 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate ttl removal keeps value in state - processing time ttl (4 seconds, 407 milliseconds)
11:57:10.041 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate multiple value states - with and without ttl - processing time ttl (3 seconds, 131 milliseconds)
11:57:13.175 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate state is evicted at ttl expiry - event time ttl (4 seconds, 186 milliseconds)
11:57:17.355 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate ttl update updates the expiration timestamp - event time ttl (4 seconds, 28 milliseconds)
11:57:21.391 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
[info] - validate ttl removal keeps value in state - event time ttl (4 seconds, 428 milliseconds)
11:57:25.838 WARN org.apache.spark.sql.streaming.TransformWithStateTTLSuite:

[info] Run completed in 32 seconds, 433 milliseconds.
[info] Total number of tests run: 7
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 7, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.

Was this patch authored or co-authored using generative AI tooling?

No

Should we update the PR description for this - event time ttl is calculated by adding ttlDuration to watermarkForEviction. ?

@HeartSaVioR PTAL, thanks.

Reviewed code changes. Reviewing tests.
In overall, I'd like to understand the use case where we need to set different TTL per update. My gut feeling of main use case of state TTL was that they just consider the grouping key A to never appear again after TTL has expired (so they set an enough TTL value), which actually doesn't need such flexible TTL setup.

Discussed offline, the reason we decided on two APIs because ttlDuration does not make sense for event time ttlMode. In eventTime, user might want to decide TTL based on event time column value (of row being processed), or add value to watermark (however watermark for first batch is always zero and then jumps significantly as we process first batch). Having such a interface however complicates the API.
Its hard to decipher at this stage if Spark users would ever want to use eventTime ttl. If its needed, we should understand exact use-cases (how should ttl be calculated in event time) and then support this mode.
Based on this discussion, we have decided to remove EventTimeTTL for now. Furthermore, to simplify the API - we accept a ttlConfig per state variable which sets ttlDuration at variable level.

Thanks! Merging to master.


Fixes for PHP 8

PHP 8 is out now. Sculpin has some small issues that this PR seeks to resolve.

Thank you for working on this! I decided to try out PHP 8, but unfortunately Composer throws an error when installing Sculpin because Sculpin's version constraint does not allow PHP 8. I've taken a look at the failing build, perhaps I can help you get this fixed :slightly_smiling_face:

The PHP 7.2 jobs seem to fail because of PHPUnit 9 which dropped support for PHP 7.2. PHP 7.2 is an old version of PHP anyway, which is not actively supported and its security support happens to end tomorrow. Perhaps this is a good moment to drop support for PHP 7.2 from Sculpin?
The PHP 8.0 job seems to fail because Travis CI apparently doesn't support PHP 8 yet. I've asked about the status of PHP 8 support on Travis' community forum.
I'm not sure why the OSX build failed, it seems to have timed out

Hi Nic! Thanks for responding. I too am contemplating dropping PHP7.2 support, but I'm not sure what that means for point releases of sculpin. I.e., should that be 3.0.4, 3.1, 4.0, or some other approach ... I'm leaning toward 3.1

It would be a MINOR release. Composer takes the PHP version into account, so there isn't a need to worry about breaking an existing install. New installs on 7.2 would be locked to the appropriate 3.0.x release.
So we could just push to 3.1.

What should the new requirement be? ^7.3|^8.0?

Would personally push for ^8 || ^7.4 but not sure how you all feel about dropping 7.3 support

I generally gauge it by "which version is shipped by default with the latest Ubuntu and the latest macOS", or sometimes "the latest Ubuntu LTS", but I don't currently know the answer to any of those three.

I generally gauge it by "which version is shipped by default with the latest Ubuntu and the latest macOS", or sometimes "the latest Ubuntu LTS", but I don't currently know the answer to any of those three.

I can answer two of those: Ubuntu 20.04 (LTS) and Ubuntu 20.10 both come with PHP 7.4.

Looks like 7.3 still in Big Sur, but with a deprecation notice (that also applied for Python and others): https://twitter.com/grahamjcampbell/status/1295111982924861442?s=21
Might be time for getting the Dockerfile work back on track.

Might be time for getting the Dockerfile work back on track.

Sounds like a plan, what do we need for that?

Docker discussion to continue in #456

Because 7.3 is still getting security updates until next year (https://www.php.net/supported-versions), we should probably keep it in the dependencies. At least for now.


[NEW]: The Web3 Fraud

Date
2021-12-16
Description
So why this hype?  Because the cryptocurrency space, at heart, is simply a giant ponzi scheme where the only way early participants make money is if there are further suckers entering the space.
Links
https://www.usenix.org/publications/loginonline/web3-fraud
Agreement

[X] I irrevocably agree to release my contribution under the CC-BY 3.0 License

Attribution name
@triptych
Personal link
https://twitter.com/triptych

Added to https://web3isgoinggreat.com/what


extra division tag in index.php

In your program there is extra div tag, that is to be removed just for fun.


added navigation bar

What kind of change does this PR introduce? (check at least one)

[ ] Bug Fix
[x] New Feature
[x] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe below:

Checklist

[x] I have read the CONTRIBUTING Guidelines.
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

Any Other information:

Looks good but keep some margin between the nav links & logo, and the corners. Try to centralize the navbar content.

ok, will do the changes

Does this looks good, added some margin

done some improvement, made register and login link to be appear as button and increased logo size


Implemented cancel method for collectors

Closes: https://github.com/metarhia/metasync/issues/168

Landed in 63c2ecb


AttributeError: 'ZippedMod' object has no attribute 'factorio_version'

From clean start (fac remove '*'):
fac install boblogistics
fac install bobwarfare

The second one fails with
Traceback (most recent call last):
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\gtk-build\python-3.5\Win32\Scripts\fac.exe\__main__.py", line 9, in <module>
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\site-packages\fac\main.py", line 84, in main
    args.run(args)
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\site-packages\fac\commands\install.py", line 124, in run
    ignore_game_ver=args.ignore_game_ver):
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\site-packages\fac\mods.py", line 370, in resolve_local_requirement
    res = [mod for mod in self.find_mods(req.name)
  File "c:\programdata\chocolatey\lib\python3-x86_32\tools\lib\site-packages\fac\mods.py", line 372, in <listcomp>
    (ignore_game_ver or mod.factorio_version == game_ver)]
AttributeError: 'ZippedMod' object has no attribute 'factorio_version'

mod.factorio_version should be mod.game_version ?

Nice catch.
Funny thing is I downloaded the whole mod repository to test against that kind of errors. Too bad I did it with the -i flag...

Not. Enough. Unittests.

You're welcome to write some :innocent:


CollapsibleSection component

Work in progress, please do not merge

https://github.com/x-team/auto/issues/513
https://github.com/x-team/auto/issues/514

@x-team/auto I'm getting familiar with cmz and elem usages and syntax patterns. I got something usable so far but I think the css classes logic bytes can be improved. Please let me know any suggestions. /cc @joshwnj
How can I receive and use isTwoColumns inside cmz? Something like this:
const Header = elem.h1(cmz(`
  // some style...
  {isTwoColumns && `
    // different styles for this flag...
  `}
`))

// while isTwoColumns is a prop

The appearance of the WIP looks like this now:

will send more commits next hours that will make it look better and include the collapsible effect.

@bernardodiasc looking good! The thing to know about cmz is that even though it might look magical, it tries to be restrained in how much magic is introduced.
So when you call the cmz() function, 2 things happen:

it returns a unique className
it inserts a <style> tag into the <head>.

This means that if we want conditional styles, the 2 natural options are:

create all needed classes at module-time, and compose at render-time.
use css variables

If you're interested what option 2 looks like, here's an example of how you might do it: https://gist.github.com/joshwnj/2ef1f7856fae06e544593a8b6ec9918b
We actually could use variables here, which would be pretty cool (we don't need to support IE).  But I still think it's worth trying to solve the problem neatly with composition first, and only go to vars if it becomes cleaner.
Here's how I would do it.  First, define the base css classes:
const cx = {
  root: cmz(`
  margin: 0
  padding: 1rem
`),

  header: cmz(`
  margin: 0
  padding: 0.5rem
`),

  content: cmz(`
  border: 1px solid red
`)
}

Then define a toggle class that we can compose to do a bit of controlled cascading:
const twoColSection = cmz(`
& {
  display: flex;
}

& > .${cx.header} {
  border: 1px solid blue;
}

& > .${cx.content} {
  border: 1px solid orange;
}
`)

Then define the elements:
const Root = elem.section(cx.root)
const Header = elem.h1(cx.header)
const Content = elem.div(cx.content)

All of this happens at module-time, which means it is only executed once when the app starts.
Finally we just say how to render this:
  render () {
    const {
      title,
      isTwoColumns,
      children,
    } = this.props

    return Root({ className: isTwoColumns && twoColSection },
      Header(title),
      Content(children)
    )
  }

Look ok?

Awesome! All questions (and a bit more) cleared now, thanks @joshwnj

CMZ troubleshooting
The snippets bellow won't work, was following https://www.npmjs.com/package/cmz instructions :/
cmz(`
  font-weight: 800
  font-size: 1.2em
  margin: 0
  padding: 0
`).compose([
  typo.family.base,
  cmz.pseudo('after', cmz(`
    content: '▾'
    position: absolute
    right: 0.5em
    top: 0.5em
  `))
])

// Uncaught TypeError: Cannot read property 'forEach' of undefined
//     at renderCss (index.js:26)
//     at Function.cmz.pseudo (index.js:64)
//     at Object.sheets (CollapsibleSection.js:35)
//     at __webpack_require__ (bootstrap fc410375e28dc3511c96:705)
//     at fn (bootstrap fc410375e28dc3511c96:111)
//     at Object.module.exports.aliceblue (index.js?5ba1:26)
//     at __webpack_require__ (bootstrap fc410375e28dc3511c96:705)
//     at fn (bootstrap fc410375e28dc3511c96:111)
//     at renderStyleguide (index.js:17)
//     at Object.<anonymous> (index.js:90)

cmz(`
  font-weight: 800
  font-size: 1.2em
  margin: 0
  padding: 0
`).compose(typo.family.base)

// and

cmz(`
  font-weight: 800
  font-size: 1.2em
  margin: 0
  padding: 0
`).compose([
  typo.family.base,
])

// Uncaught TypeError: (0 , _cmz2.default)(...).compose is not a function
//     at Object.sheets (CollapsibleSection.js:33)
//     at __webpack_require__ (bootstrap 01c9e4bb4403bc8cf217:705)
//     at fn (bootstrap 01c9e4bb4403bc8cf217:111)
//     at Object.module.exports.aliceblue (index.js?5ba1:26)
//     at __webpack_require__ (bootstrap 01c9e4bb4403bc8cf217:705)
//     at fn (bootstrap 01c9e4bb4403bc8cf217:111)
//     at renderStyleguide (index.js:17)
//     at Object.<anonymous> (index.js:90)
//     at __webpack_require__ (bootstrap 01c9e4bb4403bc8cf217:705)
//     at fn (bootstrap 01c9e4bb4403bc8cf217:111)

Using a different approach, that is the same on existing components
cmz([ typo.family.base, `
  font-weight: 800
  font-size: 1.2em
  margin: 0
  padding: 0
`])

// ^ this works, but there is no pseudo element yet

cmz([ typo.family.base, `
  & {
    font-weight: 800
    font-size: 1.2em
    margin: 0
    padding: 0
  }

  &::after {
    content: '▾'
    position: absolute
    right: 0.5em
    top: 0.5em
  }
`])

// ^ this won't work, only the first item in array was included (typo.family.base)
// BUT using with `hover` pseudoelement will work - the hover effect only - and will not include the styles for the class
// tricky!

cmz([ typo.family.base, `
  font-weight: 800
  font-size: 1.2em
  margin: 0
  padding: 0
`, `
  &::after {
    content: '▾'
    position: absolute
    right: 0.5em
    top: 0.5em
  }
`])

// ^ this won't work, only the 2 first item in array was included
// The `after` wasn't included :/

Conclusion, I couldn't use ::after anyway so far... The :hover works mostly of cases above, but not all perfect.

Made few different prototypes of the behaviour to cover described specs, two of them was made on codepen instead styleguidist just to get the appearance and behaviour working:

https://codepen.io/bernardodiasc/pen/RLvPqp This one uses <details> tag, it's good and don't require any JS, but some very specific behaviours requires different markup that wouldn't work this way. (won't work)
https://codepen.io/bernardodiasc/pen/EwrVgP This works, but uses ::after and I still stuck on cmz part.

@bernardodiasc try this:

cmz([ typo.family.base, `
  & {
    font-weight: 800;
    font-size: 1.2em;
    margin: 0;
    padding: 0;
  }

  &::after {
    content: '▾';
    position: absolute;
    right: 0.5em;
    top: 0.5em;
  }
`])

Things that aren't very well described in the current cmz README:

to compose classes, pass an array into cmz. Eg. cmz([ ... ])
when writing pseudo-selectors, we need semicolons (I ought to update cmz to either add them for you, or at least give a warning)

I think the warning could be good to have, but for this specific case I see no problem in using semicolons. :)

Just a note about cmz, this technique:
const header = cmz([ typo.family.base, `
  & {
    font-weight: 800;
    font-size: 1.2em;
    margin: 0;
    padding: 0;
  }

  &::after {
    content: '▾';
    position: absolute;
    right: 0.5em;
    top: 0.5em;
  }
`])

And
const twoColSection = cmz(`
& {
  display: flex;
}

& > .${cx.header} {
  border: 1px solid blue;
}

& > .${cx.content} {
  border: 1px solid orange;
}
`)

Will not work as expected (see image below). This is not a bug, I can see it's the expected behaviour, just a note.

@bernardodiasc ah right, I see - the problem is that a cmz classname is not guaranteed to be a single classname. It might be a composition of multiple classnames, which means my solution above would not work.
Try this instead, which is the same idea but inverted:
const twoColSection = 'twoColSection'

const Section = elem.section(cmz(`
& {
  margin: 0;
  padding: 1rem;
}

&.${twoColSection} {
  display: flex;
}
`))

const Header = elem.h1(cmz(`
& {
  margin: 0;
  padding: 0.5rem;
}

.${twoColSection} > & {
  border: 1px solid blue;
}
`))

const Content = elem.div(cmz(`
& {
  border: 1px solid red;
}

.${twoColSection} > & {
  border: 1px solid orange;
}
`))

Quick note, found strange behaviour on cmz:
  elem.header(cmz(`
    & {
      cursor: pointer;
    }

    .twoColSection & {
      width: 200px;
    }
  `, typo.family.heading))

returns:
<header class="
    & {
      cursor: pointer;
    }

    .twoColSection & {
      width: 200px;
    }
   AutoUI_typo-25 AutoUI_typo-14">Panel title</header>

found my mistake, correct pattern for cmz composition should be like this:
  elem.header(cmz([`
      & {
        cursor: pointer;
      }

      .twoColSection & {
        width: 200px;
      }
    `, typo.family.heading]))

Current state

stuck with
Error: src/components/CollapsibleSection.js:4
  4: import { compose, withState, onlyUpdateForKeys } from 'recompose'
                                                           ^^^^^^^^^^^ recompose. Required module not found

recompose was added on package
  "dependencies": {
    "cmz": "^3.7.0",
    "color": "^2.0.0",
    "recompose": "^0.26.0",
    "webfontloader": "^1.6.28"
  }

🤔

@bernardodiasc this is flow complaining that it can't find the type definition for that package. Follow the instructions here: https://github.com/x-team/auto/wiki/Flow-Definitions#add-definitions-for-common-libraries

@bernardodiasc this is looking good! Please check the above 4 commits I pushed with some minor cleanups

Nice updates @joshwnj, this PR is ready for review. :)

I'm checking how to integrate auto-ui components on auto app. will continue on https://github.com/x-team/auto/issues/514 and https://github.com/x-team/auto/issues/513

@bernardodiasc good work bringing elem and cmz back together, that cleans it up nicely.
Please also check https://github.com/x-team/auto-ui/pull/4/commits/691e996316384e2ab05dada169f2b1c9ebb1e822
This is important when we want to export css from one package to another, because by using symbols instead of hardcoded strings we avoid name collisions.

hey, got it! getting my mind to this patterns :)
please, wait merge, I'm going to send one more commit, I put the click area in the entire section when collapsed. just checking details.

there some cases that having the cmz separated from elem, I'm trying something like section:hover h1 { color: red; }, for instance. for that I would need to split const Root = elem.section(cmz( declaration again. is that correct?

or something like section h1:hover { background: silver; }

@joshwnj alright, found solution, if that last commit pass, then it's ready. the changes are subtle, but it improves experience. now when pass mouse hover section and title, on collapsed or not, will behave differently. this also good to stress cmz and elem a little bit more :)

cool :) I've got 1 more change coming then we'll merge :)

@bernardodiasc please check those last 3 commits to confirm.
The principle I find helpful here is to name the css atoms by what they mean on their own, rather than how the element is using them.
Eg. rather than saying "the .collapsed class means the element should have an arrow" we can just make a .arrow class.
Following this principle we should end up with a better separation-of-concerns, and make it easier to modify in future (eg. if we decide we don't want an arrow later, we can just remove 1 line where it is composed).

I also upgrade cmz to v3.8.0, which makes some simplifications as well as handling semicolon insertions properly, so the css source is cleaner.

@bernardodiasc looks good!


Fix PEP8/Flake8 errors for release.py

recheck_cit_swift

This commit will probably have to be included with https://github.com/rcbops/rpc-openstack/pull/2229, since #2229 can't merge because it fails the travis lint checks, and this PR can't merge because the CIT builds fail with the flavor issue.

Abandonned in favor of #2229


Fix reference file tests

These have not been running properly for some time.

Coverage increased (+0.3%) to 95.095% when pulling 7349e806862a6ffa7b62a5ec61446cdeecf011c9 on drdavella:fix-reference-tests into 41200690ed3e3542794bdccb2a765d55f0d86433 on spacetelescope:master.