worker_events.sock failed Resource temporarily unavailable

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
kong:3.1.1-alpine
Current Behavior
Hi All,
We have deployed kong proxy and ingress-controller image in kubernetes cluster and have enabled 3 instances of kong, out of the 3 instances, 2 instances are working as expected and 1 instance is throwing below error and giving 404 error for all the api calls.
If any api calls goes to 3rd instance, it keeps throwing the below error and giving response as 404.
Kong proxy version: kong:3.1.1-alpine
Kong ingress-controller version: kubernetes-ingress-controller:2.7.0
2023/06/22 07:26:12 [error] 1132#0: *19203169 connect() to unix:/kong_prefix/worker_events.sock failed (11: Resource temporarily unavailable), context: ngx.timer
2023/06/22 07:26:12 [error] 1132#0: *19203169 [lua] worker.lua:124: communicate(): failed to connect: failed to connect: resource temporarily unavailable, context: ngx.timer
2023/06/22 07:26:12 [info] 1132#0: *19210153 client <IP_ADDRESS> closed keepalive connection
Any help would be appreciated..
Expected Behavior
All 3 instance of kong should serve the requests
Steps To Reproduce
It got reproduced only in our customer box..
Anything else?
No response
### Tasks

Could you check /proc/sys/net/core/somaxconn and  increase the limit?

Hi @chronolaw
Thanks for the reply.
Currently the /proc/sys/net/core/somaxconn is 4096, do you want me to increase further ?

Also, I ran the netstat command to find out active connections in kong pod, I could see that, kong has consumed total 4473 connections, out of them, udp has consumed 3872 connections, on digging further, kong has made udp calls for kubernetes dns resolution.

I am not sure does kong really need this many connections for dns resolution.
Thanks in advance for your help.

Yes, I think that the limitation of somaxconn may be a reason of this issue. It is worthy to try.

Could you help me page reference to understand that when would kong use worker_events.sock

This blog may be helpful.
https://konghq.com/blog/engineering/nginx-openresty-event-handling-strategy-for-cpu-efficiency

Thanks for your quick response @chronolaw .
I tried to reproduce the below issue, by making lot of http + websocket calls using jmeter, I could see that tcp connections are getting increased, but worker_events.sock connections are not getting increased.
Issue from Kong logs:--
2023/06/22 07:26:12 [error] 1132#0: *19203169 connect() to unix:/kong_prefix/worker_events.sock failed (11: Resource temporarily unavailable), context: ngx.timer
2023/06/22 07:26:12 [error] 1132#0: *19203169 [lua] worker.lua:124: communicate(): failed to connect: failed to connect: resource temporarily unavailable, context: ngx.timer
is there any other call that I need to make to bring up the worker_events.sock to 500+, so that the above issue would get reproduced, then I can apply the above suggested fix by you and retest again to ensure that issue wouldn't occur again

Your help would be appreciated.

worker_events.sock is unix domain socket, not tcp socket, I think that jmeter will not affetct it.
I notice the socket name is unix:/kong_prefix/worker_events.sock, does it exist? does kong have permission to access it?

@chronolaw : It has permission, please find the screen shot below..

In my experience, worker_events.sock always works well, but I can not find the reason from this limited information.
I think that the problem is still the environment, sorry I can not give the proper answer.

@chronolaw : We are using the below docker images for kong and kong ingress-controller, in this case does environment affects kong unix socket connection behavior?
Kong docker images:--
kong:3.1.1-alpine
kubernetes-ingress-controller:2.7.0
Also, we noticed kong proxy container had opened 585 worker_events.sock connections and of them 4 worker_events.sock are in CONNECTED state and remaining 581 worker_events.sock connections are in  CONNECTING state.

Could you help me to find why kong proxy is trying to open so many worker_events.sock connections?

@chronolaw : Could you please help me here...
Let me know if you need more details to fix the issue.
Thanks in advance for your help..

If I am not wrong, as per the below code, kong should not have created more than one worker_events.sock, if the worker_events.sock is in LISTENING state.
https://github.com/Kong/lua-resty-events/blob/2f6fa23eb3d0b76a3b35fd915711200e90bc6732/lualib/resty/events/worker.lua#L121

Yes, I think that the limitation of somaxconn may be a reason of this issue. It is worthy to try.

@chronolaw : Could you please help me to change this value, as I tried to change somaxconn value trough kong kubernetes deployment and rebuilding docker image, both ways, I am not able to do?

I defined the below in kong deployment yaml, but getting error as below
securityContext:
sysctls:
- name: net.core.somaxconn
value: "65536"
Error:--  Forbidden: unsafe sysctl "net.core.somaxconn" is not allowed pod.spec.securityContext.sysctls[0]:
Tried to rebuild Kong docker image with the below RUN commands, getting error as below

RUN chmod 777 /proc/sys/net/core/somaxconn
RUN sysctl -w net.core.somaxconn=65535
Error:-- sysctl: error setting key 'net.core.somaxconn': Read-only file system
Could you please help here..

Sorry, I am not familiar with docker/k8s, this is not my field.

The lua-resty-events library has a limitation of 50k for events stock, I saw the message that says "queue overflow".
I think that the root reason is still unix domain socket (worker_events.sock) can not work properly. The 4 connected worker_events.sock should be the nginx worker, but the other 581 worker_events.sock looks like trying to connect to the broker. It seems that some error cause the nginx workers keep trying to reconnect.

Could you upgrade Kong to the latest version (3.4.x), I think that we have already solved this issue.


Use pypi pkg

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.957%

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
62

Relevant Lines:
94

💛  - Coveralls


Troubleshooting guide

Do you have any kind of troubleshooting guide? I'm currently trying to debug a latency problem, (intermittent latency of about 4 seconds) and I can't figure out where to start.
I'd be willing to contribute to it - I've already found several areas where setup is non-obvious. (Networking and using non-data USB cables.)

Maybe the Wiki?

Thanks for the suggestion! I've added a page to the wiki for this:
https://github.com/mtlynch/tinypilot/wiki/Troubleshooting-and-Diagnostics
Let me know if you're still running into issues.


Sensitive to network outage

The installer will hang if the net connection becomes unavailable.  Investigate why it's not retrying after a timeout.

The network code has been re-written so this should no longer be an issue.


add explaination on model.eval()

As the title, add explaination on model.eval() in dygraph mode, since some users may forget to call model.eval() when they are actually doing evaluation.
Fixes #21685


Change the build profile for bin-deps

Problem
I am writing my own kernel. Now, I am trying to add support for test, for that I am getting inspiration on Phil's Blog. I added it, but when I tried to build it with cargo test, my kernel crate is built as normal.
Proposed Solution
The solution that I propose is to add support for changing profiles on binary dependencies, it will look like:
kernel = { path = "kernel", artifact = "bin", target = "x86_64-unknown-none", profile = "test" }
Notes
I think that this is the simplest solution, but if you know something better or more elegant for fixing this, let me know.
Thanks!

I added it, but when I tried to build it with cargo test, my kernel crate is built as normal.

What do you want to achieve? Could you elaborate more?
For applying the built-in test profile for your artifact dependency, it should be applied just like other dependencies as far as I can tell. You can try CARGO_PROFILE_TEST_CODEGEN_UNITS=1 cargo +nightly t -v -Zbindeps and see if it takes effect. That is, kernel should compile with codegen-units=1.

That didn't work because the kernel is a crate in the workspace, when I do that what happens is that the build.rs is compiled as a test, so the result is the same.
What I want is to compile as a test is the kernel (that is at the workspace). But look that I'm using the (bootloader crate)[https://github.com/rust-osdev/bootloader] as an image builder. And that image builder is at the top of the workspace for simplifying the step of setting a runner in the .cargo/config.toml.

Have you tried profile override? You could either override a specific package or build dependencies.

I tried, but I don't know exactly how to use it for this issue. What I need is to override the default profile to test of a binary dependency if the profile of the main crate is set to test.
The link that you sent looks for changing specific things of a created profile of a different crate.

Sorry. I still have a hard time fully understand it. Pardon my lengthy asking again.

By profile do you really mean profile, a set of compiler settings, right?
What exactly do you want to test? kernel itself, or the final artifact of your package asensio_kernel?
What did you mean by "my kernel crate is built as normal”? What is the expected build result you?

If you want to build kernel as a test binary, you need to build it separately. It is specified as a build dependency in package asensio_kernel, so it is always built as a normal binary in order to execute but not a test binary linking to libtest.
If you do want to alter the compiler flags of kernel when running cargo test, the following Cargo configuration should work:
[profile.test.package.kernel] # `[profile.<profile-name>.package.<package-name>]`
codegen-units = 168

Yes, I mean.
The kernel itself.
The build result that I want is when running cargo test, the binary dependency will compile as test.

The build result that I want is when running cargo test, the binary dependency will compile as test.

I am not sure if I follow. If “compile as test” means compiles as a binary linking to libtest or your own custom test harness, then you need to build it separately, for example cargo test -p kernel. Reiterate the previous comment:

If you want to build kernel as a test binary, you need to build it separately. It is specified as a build dependency in package asensio_kernel, so it is always built as a normal binary in order to execute but not a test binary linking to libtest.

Feel free to message me on Zulip if it is still not clear.

I think that @asensio-project meant to say that running cargo test doesn't launch the kernel in qemu and of course doesn't launch tests in virutal machine, this because with bootloader v.11 you run "cargo test" from a parent directory of the kernel and not directly into the kernel, the rules inside phil-opp blog are not valid in this case. I'm searching the new way to testing directly inside the kernel too

I think that @asensio-project meant to say that running cargo test doesn't launch the kernel in qemu and of course doesn't launch tests in virutal machine, this because with bootloader v.11 you run "cargo test" from a parent directory of the kernel and not directly into the kernel, the rules inside phil-opp blog are not valid in this case. I'm searching the new way to testing directly inside the kernel too

Yes, that is what I am referring.


python311Packages.fingerprints: 1.1.0 -> 1.2.3

Diff: https://github.com/alephdata/fingerprints/compare/1.1.0...1.2.3
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

6 packages built:

python311Packages.fingerprints
python311Packages.fingerprints.dist
python311Packages.scancode-toolkit
python311Packages.scancode-toolkit.dist
python312Packages.fingerprints
python312Packages.fingerprints.dist


[ENH] Race control messages feed

Proposed new feature or change:
Hi there!
i'd love to access the live race control messages. tfeed.net somehow has a live feed of all race control messages, like for example
"TURN 1 INCIDENT INVOLVING CARS 18 (STR) AND 23 (ALB) NOTED - CAUSING A COLLISION"

i cannot find the url for this. any idea

The question is what is a proper format? It currently returns a list of dicts. That seems like a really nice format to work with

Of the top of my head, I'd say convert the timestamp strings to datetime values and create a dataframe out of the whole result. Basically exactly the same as is done for session status data.


DBZ-7698 Add custom transaction metadata

Changes
Add ability for customizing transaction metadata. See this PR https://github.com/debezium/debezium-connector-vitess/pull/188 on how this can work for the Vitess Connector and be used for adding ordering metdata.
Adds two new configs for overriding the transaction struct used (similar to how source info struct makers can be overridden), and for overriding the transaction context used (to allow for custom tracking of other transaction info that is not just transaction ID).
Additional Notes
SQL server & other tests appear to be flakey, and are failing for other PRs as well. All other tests passed.

@jpechane Can you re-review when you get the chance? Thank you

@jpechane Updated based on your feedback. Ready for re-review

@twthorn Hi, there was a major refactoring of MySQL/MariaDB code finished. Could you please rebase the PR on the latest main? Thanks for understanding.
WRT your proposal about the config - yes I agree let's do it in a separate PR. When the rebase on the new main is done the PR is ready to be merged.

Rebased onto main

@twthorn Applied, thanks for the patience and good work!


Memory leak in __Java_sun_lwawt_macosx_CPlatformView_nativeCreateView_block_invoke_1

zcash4mac 1.0.4-208
Steps:
Launch zcash4mac.
What happened:
Memory leak in __Java_sun_lwawt_macosx_CPlatformView_nativeCreateView_block_invoke_1
https://www.dropbox.com/s/pf54fy2ge7yx5o9/zcash4mac.trace.zip?dl=0
Expected result:
No leaks.
Notes:
Unzip and open file with Apple Instruments (part of Xcode tools).

This project is dead so retracting.


cant run an example

error: failed to download `smallvec v1.9.0`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `C:\Users\ofir ben atar\.cargo\registry\src\github.com-1ecc6299db9ec823\smallvec-1.9.0\Cargo.toml`

Caused by:
  could not parse input as TOML

Caused by:
  TOML parse error at line 1, column 1
    |
  1 |
    | ^
  Unexpected ``
  Expected key or end of input

[dependencies]
druid = { git = "https://github.com/linebender/druid.git" }

This does not seem to be a Druid issue, but a general Cargo issue. The C:\Users\ofir ben atar\.cargo\registry\src\github.com-1ecc6299db9ec823\smallvec-1.9.0\Cargo.toml file seems to be empty.
You can try the following to verify:
cargo install cargo-cache
cargo cache verify


iOS: Dart_TimelineEvent is surprisingly slow

This tracker is for issues related to:

Dart VM

Description
I was doing some performance testing on iOS and noticed that 7% of CPU time was spent in GetCurrentThreadCPUMicrosForTimeline.  It is the second hottest symbol I'm executing beyond memcpy (I'm copying thousands of buffers that are a megabyte big for microbenchmarks).  Compared to the other symbols, some that are also doing system calls, it's shocking how much CPU time it is taking.

Steps to reproduce

Check out https://github.com/flutter/flutter/tree/master/dev/benchmarks/platform_channels_benchmarks
Make the following code change so channels use compute (which will call Dart_TimelineEvent which calls GetCurrentThreadCPUMicrosForTimeline)\

--- a/packages/flutter/lib/src/services/platform_channel.dart
+++ b/packages/flutter/lib/src/services/platform_channel.dart
@@ -57,7 +57,10 @@ class BasicMessageChannel<T> {
   /// Returns a [Future] which completes to the received response, which may
   /// be null.
   Future<T?> send(T message) async {
-    return codec.decodeMessage(await binaryMessenger.send(name, codec.encodeMessage(message)));
+    final ByteData? encodedResult =
+      await binaryMessenger.send(name, codec.encodeMessage(message));
+    return compute<ByteData?, T?>(codec.decodeMessage, encodedResult);
+//    return codec.decodeMessage(await binaryMessenger.send(name, codec.encodeMessage(message)));
   }

Run the platform channels benchmarks with flutter run --profile with instruments running a Time Profiler probe.

Profile

All of the time is in the thread_info call.
Version
Dart version 2.16.0 (build 2.16.0-56.0.dev)
Evaluation
Can't we just use the system clock for Dart_TimelineEvent, why does it have to be the clock from thread_info?

/cc @bkonyi @rmacnak-google

We record both monotonic wall time and thread time, both of which are visualized in Catapult.

Maybe there should be a way to opt out of it since I'm not using Catapult then.  Since we know the cost is high to query the thread time it should be optional.

Updates on this:

This is an impediment for providing more tracing for flutter users: https://github.com/flutter/flutter/pull/100926
I've added a microbenchmark that shows Timeline events are 2x slower on iOS than android: https://flutter-flutter-perf.skia.org/e/?begin=1643949613&end=1648138606&queries=sub_result%3Dtimeline_with_arguments&requestType=0
I've suggested we add the ability to change the sample rate of the thread_info calls and us the clock time as a way to interpolate: https://github.com/flutter/flutter/pull/100926#issuecomment-1086361759

Re-opening based on https://github.com/dart-lang/sdk/issues/47850#issuecomment-1086401613. Esp. concerned if this is blocking https://github.com/flutter/flutter/pull/100926.

Here are the benchmarks for changing the samplerate of thread_info.  timeline is a microbenchmark calling Timeline events over and over again.  build is a macrobenchmark where we are rebuilding Flutter frames over and over again.  The microbenchmarks suggest a samplerate of 100khz but the macrobenchmark suggests as a samplerate of 2khz.  I bet this is because we are using timeline events with arguments frequently in Flutter which limits the benefit of the change since JSON encoding is so expensive.  I'll have to double check how we are using those parameters.  If they are not useful in profile builds we should rip them out.
delay (µs) | samplerate (hz) | timeline wo/ arguments (µs) | savings | timeline w/ arguments (µs) | savings | build benchmark w/ trace user widgets (µs) |
-- | -- | -- | -- | -- | -- | -- | --
0 | inf | 3.6314 |   | 4.9332 |   | 989.1 |
1 | 1000000 | 3.0432 | 16.20% | 4.4318 | 10.16% |<PHONE_NUMBER> | 0.02%
5 | 200000 | 1.9845 | 45.35% | 4.5912 | 6.93% |<PHONE_NUMBER> | 0.26%
10 | 100000 | 1.6052 | 55.80% | 4.3707 | 11.40% |<PHONE_NUMBER> | 4.05%
100 | 10000 | 1.4908 | 58.95% | 4.5289 | 8.20% |<PHONE_NUMBER> | 3.13%
250 | 4000 | 1.4384 | 60.39% | 4.3411 | 12.00% |<PHONE_NUMBER> | 6.92%
500 | 2000 | 1.4905 | 58.96% | 4.373 | 11.36% |<PHONE_NUMBER> | 9.88%
Link to benchmarks:

timeline - https://github.com/flutter/flutter/blob/master/dev/benchmarks/microbenchmarks/lib/foundation/timeline_bench.dart
build - https://github.com/flutter/flutter/blob/master/dev/benchmarks/microbenchmarks/lib/stocks/build_bench.dart

As mentioned on flutter/flutter#100926:
@rmacnak-google might have a better way of doing this that doesn't involve approximating thread time and is quite a bit faster (quick results show ~3x improvement on some simple C programs when using the current GetCurrentThreadCPUMicros() implementation and one that uses clock_gettime_nsec_np(CLOCK_THREAD_CPUTIME_ID) / 1000 instead). I'll follow up later whether or not this approach pans out.

@bkonyi awesome, I'll pause the approximation work until I hear back.  Let me know if you want help measuring the change against Flutter.

I tested the change against build_bench.dart with debugProfileBuildsEnabled and it went from 3371.8 µs to 2403.9 µs (29% decrease in build time).  This blows the approximation off of the system clock away.  It does require newer operating systems.  But iOS 10 can support the iPhone 5 which was released 10 years ago so I don't think we need to try to do the approximation stuff for the older operating systems.  Thanks @rmacnak-google and @bkonyi .

FYI we'll soon be increasing the minimum supported iOS version to iOS 11.

closed via https://dart-review.googlesource.com/c/sdk/+/240148/7/runtime/vm/os_macos.cc#111

This resulted in a 72% increase in Timeline performance for no parameters and a 46% increase in Timeline performance with parameters for the Timeline benchmarks:
https://flutter-flutter-perf.skia.org/e/?begin=1649245654&end=1649459529&keys=X910e8b4ac5857b2178ba24fd805d071d&requestType=0
Good work everybody.


hey look at this

hey @rongierlach and @kilokeith
I have three libraries going that I think represent a pretty cool direction to head for library code.

crumbles, which y'all know about
snackstack, which provides some scripts that the other two libraries use in package.json.scripts
snackcli, which provides some utilities for making cli tools

things you'll notice

if you run npm run test in any of them it runs snackstack test, which does three things:

run lint
run flow type checking on files with a // @flow annotation

if you run npm run install:types, it downloads type definitions for required node modules if they exist, or generates usable stubs if they don't.

run any jest tests (**/*.test.js or __tests__/*.js)

if you run npm run docs in any of them, it runs snackstack docs, which builds a docs page.

todo
I'm sure I haven't documented anything enough, and you'll have further questions. Commenting here is a good way to ask.
check them out. read the code. tell me what you think. is this a good pattern to adopt? does snackstack make sense as a thing? let's talk about it.
If you're on board, and you want to jump into some code, here are some things that need to happen:

config: how should it work?

I wrote down some initial thoughts about the problem under config injection here
this is probably our hardest problem.

crumbles

[ ] needs more tests
[ ] needs more jsdoc annotations

snackstack

[ ] needs more tests
[ ] needs more jsdoc annotations
[ ] figure out whether it makes sense to use a utility like this for client projects

snackcli

[ ] needs more tests
[ ] needs more jsdoc annotations

snackpack

[ ] needs to move into this new structure
[ ] the other libraries need to use it

right now, you'll notice that each library has a webpack.config file that declares a bunch of functions, and then exports their composition. the way I see it, snackpack should be a library that exports those functions, and the individual repos should require them and export their composition. That way, it's super clear how to add your own stuff to the config when needed.

[ ] we need a better project management system for this. this todo list ain't cuttin it.

options:

github issues
make a pivotal board
???

I don't have strong opinions about this. If someone felt like setting something up, I'd be grateful. If not, I'll figure something out eventually.

actual project code

this is all well and good for libraries, but we oughta have a conversation/consensus about which parts of infrastructure scale to client projects. jsdoc and jest probably don't. flow annotations might. snackstack scripts maybe do.

[ ] extract a library template, probably from crumbles

I can endeavor to get some better test coverage and more comprehensive docs going for crumbles.

rad


Nowrap

remove wrapper. bumps to 2.0

@Wilto
Looks like Scott is removing the .snippet div but maintaining the flip animation? Any thoughts?

undid. you saw nothing :)

hello everyone how are you today


#4252 Maven not running all tests

Signed-off-by: Nigel Jones<EMAIL_ADDRESS>This is an additional change for 4252 to try and run all tests
I have removed the explicit references to junit/jupiter/testng libraries since surefire has logic to try and automatically determine the right versions to use. Removing the explicit declaration seems to allow surefire to correctly find more tests.
For example the files integrator tests now function again - this was broken in the later stages of the original PR as I cleaned up a more local surefire definition in the pom & migrated to the top level pom, which resulted in a slightly different default config

With this change only one test target is showing 0 tests run. and that is
12:43:57,758 [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.058 s - in org.odpi.openmetadata.accessservices.analyticsmodeling.test.utils.TestUtilities

which actually doesn't have any testscases as it's test utils code (probably should be renamed)
Prior to this we had 15 instances of tests not running in the build. Most likely due to not letting surefire figure out whether they were junit 4/5/testNG by itself. So more tests had been running than before the original PR where there were 53 instances, ie in fact the original PR made an improvement, but left some tests still not working (testNG in this case)
cc: @mandy-chessell


Testcontainers MockServer module incomplete documentation

Hi,
Inside the official documentation of the mock server module appears the use of a class not bundled within the module (MockServerClient), the nexus artifact do not contain this class and after looking on the examples on this repository i found that it is imported from
<dependency>
    <groupId>org.mock-server</groupId>
    <artifactId>mockserver-client-java</artifactId>
</dependency>

Please, could you consider to update the documentation to reflect that the client is not bundled with the server. Or include the client also inside the testcontainers mock server artifact.

Testcontainers' MockServer module is just a helper to start the container with MockServer. It does not implement the mocking itself (nor the server), and it is expected that the user will bring the client (as with any other module).
Since these expectations are common for a Java library, I don't think mentioning this in the docs is a good idea.
@rnorth WDYT?

I actually believed this too. I don't think mentioning would make any harm. What about just putting an hyperlink to maven on the MockServerClient word?


make resourceExclusion configurable

This PR makes the resourceExclusion option configurable with the default option set as the previous default configuration.

Thanks @strangiato ! PRs need to go to the common repo. This repo here gets automatically updated with every common change. Once openshift-gitops will fully support multisource we plan on stopping the use of common for these helm charts. I moved your commit to https://github.com/validatedpatterns/common/pull/540 and will merge it there (hope that is okay). I now added a small note about this in the README


Update README.md to add Sharechat as a user

At Sharechat we use franz-go quite heavily with both RedPanda and Kafka. It is the recommended client internally for golang.

Awesome thank you very much!


Reproducing results of paper

Hello, many thanks for sharing the code of this awesome work !
I am trying to reproduce your results, but the config file cvt_nuscenes_vehicle.yaml differs from what is described in the paper and the training/evaluation setup of Lift Splat Shoot.
In particular:

The use of the Center Loss instead of the Focal loss
You use a learning rate of 4E-3 instead of 1E-2
You use the visibility token from Nuscenes annotation to filter-out objects that have a  visibility level strictly inferior to 2
You use label_indices: [[4, 5, 6, 7, 8, 10, 11]] (7 classes) whereas the list of classes DYNAMIC contains 8 classes

Do you know how these factors influence your results?
Can you share the exact config you used to get the results in Table 1 of your paper ?

This is an auxiliary loss (focal loss on vehicle centers) used by FIERY that I tried and left in. works fine without this
After major cleanup of the code for release and trying to train mixed-precision this lr seems to be more stable
These objects are not visible to the ego-vehicle and need to be filtered out for correctness
If you take a look the dataset generation code  can the missing index is pedestrian - we included this in the label set since it could be useful for future tasks

The config is accurate - i will check to make sure nothing diverged in the release
Thanks for the questions!

Hello bradyz ! Many thanks for your response !

I understand that, but my question is about how you evaluate. In your paper, to obtain the score in table 1, do you evaluate on all vehicles or only on visible vehicles ?

Ok this is as further experiments, the results in your paper were obtain using the Focal loss

I see, indeed it is a nice feature to be able to train with mixed-precision

Ok

Table 1 is visible vehicles only - unfortunately almost all methods for this task evaluate slightly differently but I would argue this is the right way to do it

Ok I better understand now, many thanks.


Update /Legacy - Life Among the Ruins/LegacyRoll20sheets.html

Changes / Comments
Added the Prophet and Traitor Role to the quick character sheet role section as in the End Game Handbook.
Currently although the sheets contain all the families and primary characters from Engine of Life and End Game as well as the additional roles that were added with these supplements the Quick Character sheet did not receive this update. This proposed change just brings the Quick Character sheet in line with all the other Primary Character sheets content wise.
First time doing one of these, I do not believe it should have any carryover effect to anything else but would still appreciate someone confirming they work correctly.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
/Life Among the Ruins/LegacyRoll20sheets.html

[ ] Is this a bug fix?

[X] Does this add functional enhancements (new features or extending existing features) ?
Yes, it extends an existing feature related to quick character sheets.

[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?

[X] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
This does not alter any attributes to my knowledge as it only adds an additional checkbox that is used purely for record keeping.

[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


[BEAM-6974] Make cassandraPort and cassandraNativePort dynamic in HIFIOWithEmbeddedCassandraTest and HadoopFormatIOCassandraTest . Set them out of free ports instead of constant port

CC: @aromanenko-dev
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Thanks for fixing this! Unfortunately, it fails in Cassndra tests
https://builds.apache.org/job/beam_PreCommit_Java_Commit/5194/

@aromanenko-dev yes I know I think this is because I did not rebase on master and this branch does not include my other fix on dynamic ports

Actually, the code is not exactly copy/pasted between the 2 hadoop modules. cassandra.yaml differ in the port number ! Hence the failure when I try to replace it in the conf file

@echauchot When we decide the criteria to do it, still waiting for the mailing list thread to settle on something.

@echauchot It's still under discussion at dev mailing list when deprecated code could be removed

Thank you! I want to also ping @Ardagan who noticed.


add 'extras'

In addition to 'text2img' and' img2img', can you also add api function to 'extras'?

+1


Change Rails/ApplicationRecord to ignore migrations

Closes #1342.

Please document the reason for excluding files under the db/migrate directory in the Rails/ApplicationRecord cop's documentation, as mentioned in #1342.

Added a comment.

Adding a comment is a good approach, but can you document it? It would likely be the most helpful for users' understanding:
https://docs.rubocop.org/rubocop-rails/2.26/cops_rails.html#railsapplicationrecord

Misinterpreted the previous comment. Add a comment line to the cop file.

Thanks!


🐞 : Want to improve that Feedback line in bottom

I want to improve the feedback line in the bottom of the home page. I will improve its CSS and make it attractive. As of now, it detoriates the beauty of the website. Pls assign this issue to me @iamrahulmahato
I am a Contributor in GSSOC'24 Extd.

someone already working on it,do not lose heart and raise new issue.


Techpubs 3013

Added the procedure to provision the CEC with a customer password hash.
Added the procedure to update MEDS after the CEC password hash has been changed.

Pull request moved to 0.9 release, not main.


Unused variable warning

Using the latest commit release in Envoy Proxy generates the following warnings.
https://github.com/circonus-labs/libcircllhist/blob/master/src/circllhist.c#L1181
https://github.com/circonus-labs/libcircllhist/blob/master/src/circllhist.c#L1241
external/com_github_circonus_labs_libcircllhist/src/circllhist.c:1181:7: warning: unused variable 'i' [-Wunused-variable]
  int i, tgt_idx, src_idx;
      ^
external/com_github_circonus_labs_libcircllhist/src/circllhist.c:1241:7: warning: unused variable 'i' [-Wunused-variable]
  int i, tgt_idx, src_idx;
      ^
2 warnings generated.

Resolved in d34f2e8e3db03148e60c34e1d3c611aadb04d9df


Remove linux_ebpf tag from linting

What does this PR do?
Removes linux_bpf tag from the linting tag set. Adds linux_bpf build tag to files/functions that are only used from files with that tag, to prevent unused linting errors.
Motivation
Linting fails on the debian/centos build images because of missing libbcc. This should fix linting on those environments until we figure out how we want to lint eBPF code in CI.
Additional Notes
Describe your test plan
dd-gitlab/run_tests_deb-x64-py2 and similar CI pipelines should pass.

It doesn't have to be in this PR, but can we lint the linux_bpf files in the ebpf builders?

@leeavital I will figure out what is necessary to do that, but I wanted to unblock folks.


Compile error on latest 1.3.7

I added the SDK to my iOS project via SPM but it gave compile error as below:
Library/Developer/Xcode/DerivedData/Runner-fkxkleebmmxzupdxjgcvmqgugsgm/SourcePackages/checkouts/tiktok-business-ios-sdk/TikTokBusinessSDK/TTSDKCrash/TTSDKCrashRecording/Monitors/TTSDKCrashMonitor_CPPException.h:28:10: fatal error: 'TTSDKCrashMonitor.h' file not found
       28 | #include "TTSDKCrashMonitor.h"
          |          ^~~~~~~~~~~~~~~~~~~~~
    1 error generated.

I added the SDK to my iOS project via SPM but it gave compile error as below:
Library/Developer/Xcode/DerivedData/Runner-fkxkleebmmxzupdxjgcvmqgugsgm/SourcePackages/checkouts/tiktok-business-ios-sdk/TikTokBusinessSDK/TTSDKCrash/TTSDKCrashRecording/Monitors/TTSDKCrashMonitor_CPPException.h:28:10: fatal error: 'TTSDKCrashMonitor.h' file not found
       28 | #include "TTSDKCrashMonitor.h"
          |          ^~~~~~~~~~~~~~~~~~~~~
    1 error generated.

Did you fix it? I have the same issue

Same issue.

Same issue as above, not working via SPM.

Same, also v1.3.6 is not working

Does anyone else have this problem?
Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:14:57

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:15:57

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:16:43

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:17:35

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:18:35

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:19:35

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:20:35

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:21:35

Swift Compiler Error (Xcode): Property has a previous declaration
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Pods/Headers/Public/TikTokBusinessSDK/TikTokConfig.h:22:35

Swift Compiler Error (Xcode): Too many errors emitted, stopping now

Swift Compiler Error (Xcode): Could not build Objective-C module 'TikTokBusinessSDK'
/Volumes/DierSSD/DANET%20Projects/danet_short/ios/Runner/AppDelegate.swift:9:7

same issue


Installer-based Spyder does not start on Windows

Using the latest installer, Spyder does not start on Windows. It only shows the splash screen, then nothing else happens. (How to activate the console or debug logging?)
I suspect that it is related to https://github.com/spyder-ide/qtawesome/issues/167 because it works when I change the Untrusted Font Blocking setting (described in https://docs.microsoft.com/en-US/troubleshoot/windows-client/shell-experience/feature-to-block-untrusted-fonts). Unfortunately, the listed solutions in the Microsoft page cannot be applied on the target machines.

Note: For now fix the fallback to the Spyder 2 icon set so if the icons are not available due to the font load error, Spyder should use the old Spyder 2 icon set which doesn't rely in loading fonts.


spctl reports an error with default setting

$GOPATH/bin/spctl create service mysvc
Fail to parse URL parse "<IP_ADDRESS>:6733": first path segment in URL cannot contain colon
parse "<IP_ADDRESS>:6733": first path segment in URL cannot contain colon

This is a new issue imported by PR #15 .
At cmd/spctl/command/root.go:ln 33, the default value for command line pms-endpoint is flag.DefaultPolicyMgmtEndPoint, however the value of this constant is <IP_ADDRESS>:6733 which is the default value for PMS.


Apply Kotlin multiplatform plugin globally

Fixes #552

Codecov Report

Merging #586 (f41890f) into main (43ea686) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #586      +/-   ##
==========================================
+ Coverage   70.65%   70.67%   +0.01%
==========================================
  Files         109      109
  Lines        5460     5460
  Branches     1084     1084
==========================================
+ Hits         3858     3859       +1
  Misses        862      862
+ Partials      740      739       -1

Impacted Files
Coverage Δ

...elife/algorithm/ConfigurableGameOfLifeAlgorithm.kt
89.47% <ø> (ø)

...vanyo/composelife/algorithm/GameOfLifeAlgorithm.kt
88.88% <ø> (ø)

...exvanyo/composelife/algorithm/HashLifeAlgorithm.kt
93.88% <ø> (ø)

.../composelife/algorithm/NaiveGameOfLifeAlgorithm.kt
95.65% <ø> (ø)

...otlin/com/alexvanyo/composelife/model/CellState.kt
69.81% <ø> (ø)

...xvanyo/composelife/model/CellStateSerialization.kt
59.82% <ø> (ø)

...exvanyo/composelife/model/DeserializationResult.kt
50.00% <ø> (ø)

...com/alexvanyo/composelife/model/GameOfLifeState.kt
100.00% <ø> (ø)

...m/alexvanyo/composelife/model/HashLifeCellState.kt
95.83% <ø> (ø)

...otlin/com/alexvanyo/composelife/model/MacroCell.kt
82.96% <ø> (ø)

... and 103 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Remove agent proxy config which is no longer used

Thanks for submitting this @yamt, I am going to hold off on merging this for now as we may re-introduce a load-balancing nginx proxy for HA in v0.8.0 using those variables.

@erikwilson
do you mean to have nginx on every nodes to load balance requests to api servers?

That is correct @yamt. At the moment we are requiring an external load balancer to be setup for HA masters, but we could obtain the same effect by load balancing on each node, from my understanding we are doing something similar with RKE. Will probably have an option to disable the node LB if you want to use just an external LB or don't care about HA.

Going to merge, would like to know the port to use before connecting to the server, might re-introduce a similar agent flag to set the port for the load balancer.


Deeply merge yamls in original data

This is part of https://github.com/kairos-io/kairos/issues/399
I need this merged first, so I can use it on the kcrypt side. Then I will bump kcrypt here to use the new config pkg.

Codecov Report

Merging #665 (92aa795) into master (0633bf8) will increase coverage by 0.89%.
The diff coverage is 100.00%.

:exclamation: Current head 92aa795 differs from pull request most recent head 59d183d. Consider uploading reports for the commit 59d183d to get more accurate results

@@            Coverage Diff             @@
##           master     #665      +/-   ##
==========================================
+ Coverage   19.88%   20.78%   +0.89%
==========================================
  Files          18       18
  Lines        1413     1429      +16
==========================================
+ Hits          281      297      +16
  Misses       1085     1085
  Partials       47       47

Impacted Files
Coverage Δ

pkg/config/config.go
60.00% <100.00%> (+2.92%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

would it make sense to use something like mergo instead?
LGTM

My research didn't reveal this library, nice! Seems to work. Updating the PR.

IMHO a lib for merging 2 yamls is too much. Nothing wrong with having 30 lines to do that on our own code. Still lgtm

I wasn't too confident about the function to be honest (e.g. future "merged" I haven't though of). The lib is being used by many projects, I expect it to be more mature.

It seems to break something: https://github.com/kairos-io/kairos/actions/runs/3946782970/jobs/6755339985

It seems to break something: https://github.com/kairos-io/kairos/actions/runs/3946782970/jobs/6755339985

I saw this after merge (I ignored most failures because they were network timeouts). I'm investigating now. I used the test's conf file to install kairos and the expected path exists. Trying to run the test locally now.

Test passes, locally. Re-triggered on CI: https://github.com/kairos-io/kairos/actions/runs/3946782970/jobs/6757307211

I did a manual test. It has something to do with the change here: https://github.com/kairos-io/kairos/pull/651 (because of this: https://github.com/kairos-io/kairos/blob/6168edaf2d3b97c12ad6f3755ac65a13fc362dfc/examples/bundle/Dockerfile#L11).
Relevant debugging:
kairos-21vm:/home/kairos # systemd-sysext refresh
No suitable extensions found (1 ignored due to incompatible version).
kairos-21vm:/home/kairos # systemd-sysext refresh --force
Using extensions 'kubo'.
Merged extensions into '/usr'.
kairos-21vm:/home/kairos # systemd-sysext
HIERARCHY EXTENSIONS SINCE
/opt      none       -
/usr      kubo       Wed 2023-01-18 14:10:02 UTC
...
cat /usr/local/lib/extensions/kubo/usr/lib/extension-release.d/extension-release.kubo
ID=kairos
VERSION_ID=v1.4.0-28-gfc2585b-dirty
kairos-21vm:/home/kairos # cat /etc/os-release
NAME="kairos-core-opensuse"
VERSION="v1.4.0-25-g79c4a94"


[management] allow owner/operator support for adding new validator

I cannot directly write into release-0.21 so I need to do this... sigh.
We need this for Wednesday.

This will need an update to the wrapper script: https://github.com/libra/partners/blob/master/scripts/libra-operations.sh

sigh... one time uses .... sigh...

/land

:broken_heart: Test Failed - Build images and run cluster test

well crap.... I don't know what to do here now...

/help

Bors help and documentation

Bors is a Github App used to manage merging of PRs in order to ensure that CI is always green. It does so by maintaining a Merge Queue. Once a PR reaches the head of the Merge Queue it is rebased on top of the latest version of the PR's base-branch (generally master) and then triggers CI. If CI comes back green the PR is then merged into the base-branch. Regardless of the outcome, the next PR is the queue is then processed.
General

This project's Merge Queue can be found here.
This project requires PRs to be Reviewed and Approved before they can be queued for merging.
Before PR's can be merged they must be configured with "Allow edits from maintainers" enabled. This is needed for Bors to be able to update PR's in-place so that Github can properly recognize and mark them as "merged" once they've been merged into the upstream branch.

Commands
Bors actions can be triggered by posting a comment which includes a line of the form /<action>.

Command
Action
Description

Land
land, merge
attempt to land or merge a PR

Canary
canary, try
canary a PR by performing all checks without merging

Cancel
cancel, stop
stop an in-progress land

Cherry Pick
cherry-pick <target>
cherry-pick a PR into <target> branch

Priority
priority
set the priority level for a PR (high, normal, low)

Help
help, h
show this help message

Options
Options for Pull Requests are configured through the application of labels.

          Option
Description

Indicates that the PR is high-priority. When queued the PR will be placed at the head of the merge queue.

Indicates that the PR is low-priority. When queued the PR will be placed at the back of the merge queue.

Before merging the PR will be squashed down to a single commit, only retaining the commit message of the first commit in the PR.


Use github action and fastlane upload dSYM file success but Firebase console shows dSYM required

Description
I use github action and fastlane for iOS package:
      upload_symbols_to_crashlytics(
                            dsym_path: dsym_path,
                            gsp_path: "./aistro-ios/GoogleService-Info.plist",
                            binary_path: binary_path
                          )

[06:38:03]: --- Step: upload_symbols_to_crashlytics ---
[06:38:03]: -------------------------------------------
[06:38:03]: Uploading '/Users/runner/work/aistro-ios/aistro-ios/aistro-ios.app.dSYM.zip'...
[06:38:17]: Successfully uploaded dSYM files to Crashlytics 💯
[06:38:17]: -----------------------------------

But on Firebase console, the version shows unknown and when carsh on a specific version, it still shows dSYM required

Reproducing the issue
No response
Firebase SDK Version
10.9
Xcode Version
14.3.1
Installation Method
Swift Package Manager
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Thanks for reporting, @karthuszY. Based on your logs, your dSYM files were successfully uploaded, but still showing missing dSYMs in the Crashlytics dashboard. With this, you may try to check the troubleshooting steps here. If the issue persists, you may reach out through our Firebase support so they could investigate your dSYMs and project.
I'll now be closing this ticket.


Configurable amounts

I had someone complain they could only send me 1000 sats.
It makes sense to add a user-defined amount, or maybe define custom options.

They could enter any amount that they'd like, but I get the problem. 👍

Thank you, Rene!!


imp module deprecated since Python 3.4

We can use types.ModuleType for all Python versions.

Hey @overcat,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 8f23d7e0-303d-11e9-82e9-4fe4dc49fea2

Merged, Thanks


apply PayloadSender fix from #1886 and add unit test

Fixes #1886
Description

Specific Changes

Testing

Pull Request Test Coverage Report for Build 112337

10 of 10 (100.0%)  changed or added relevant lines in 1 file are covered.
9 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.08%) to 81.679%

Files with Coverage Reduction
New Missed Lines
%

libraries/botframework-streaming/src/webSocket/webSocketTransport.ts
2
80.65%

libraries/botframework-streaming/src/webSocket/webSocketServer.ts
7
66.67%

Totals

Change from base Build 112319:
-0.08%

Covered Lines:
9296

Relevant Lines:
10966

💛  - Coveralls


Added gitignore and did some minor file and gemspec clean-up.

Most importantly, for my purposes, I added a couple of lines to the gemspec that made it possible for me to require the gem in an irb shell.

Thanks Derek-
I'm just seeing this now, so I'll take a look and merge in the morning.
The "response" classes still have a bit of work left.  I quickly threw a few methods in them that I needed for a project, but there's a lot of work left, so feel free to make any recommendations.
-Chris
Sent from my iPhone

On Sep 25, 2015, at 4:31 PM, Derek Willis<EMAIL_ADDRESS>wrote:
Most importantly, for my purposes, I added a couple of lines to the gemspec that made it possible for me to require the gem in an irb shell.
You can view, comment on, or merge this pull request online at:
https://github.com/chriscondon/ruby-openfec/pull/1
Commit Summary
cleaning up and added gitignore
File Changes
D .DS_Store (0)
A .gitignore (18)
M Gemfile.lock (4)
M README.md (27)
M lib/open_fec.rb (4)
M lib/open_fec/candidate.rb (128)
M lib/open_fec/client.rb (92)
M lib/open_fec/committee.rb (129)
M lib/open_fec/financial.rb (89)
M lib/open_fec/schedule.rb (160)
M lib/open_fec/search.rb (7)
D open_fec-0.2.0.gem (0)
D spec/.DS_Store (0)
Patch Links:
https://github.com/chriscondon/ruby-openfec/pull/1.patch
https://github.com/chriscondon/ruby-openfec/pull/1.diff
—
Reply to this email directly or view it on GitHub.


Go 1.7beta1 all.bash build failure: TestPackageNotStaleWithTrailingSlash cmd/fix, cmd/go

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
go version go1.7beta1 darwin/amd64

What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/ajstarks/gowork"
GORACE=""
GOROOT="/Users/ajstarks/go"
GOTOOLDIR="/Users/ajstarks/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ly/55wr2yk15r5bzxvvxxknvfr00000gn/T/go-build772300902=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"

What did you do?

./all.bash
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

What did you expect to see?

All tests pass

What did you see instead?

ok  	cmd/fix	0.017s
--- FAIL: TestPackageNotStaleWithTrailingSlash (0.15s)
go_test.go:244: running testgo [list -f {{.Stale}}:{{.StaleReason}} runtime]
go_test.go:259: standard output:
go_test.go:260: false:standard package in Go release distribution
go_test.go:562: wrong reason for Stale=false: "standard package in Go release distribution", want ""
go_test.go:244: running testgo [list -f {{.Stale}}:{{.StaleReason}} os]
go_test.go:259: standard output:
go_test.go:260: false:standard package in Go release distribution

go_test.go:562: wrong reason for Stale=false: "standard package in Go release distribution", want ""
go_test.go:244: running testgo [list -f {{.Stale}}:{{.StaleReason}} io]
go_test.go:259: standard output:
go_test.go:260: false:standard package in Go release distribution

go_test.go:562: wrong reason for Stale=false: "standard package in Go release distribution", want ""

FAIL
FAIL	cmd/go	28.395s

Dupe of #15933


Create onion.md

Am wondering if the action of "sautéing" should be a pattern?  Kind of like a function?

Hey @asgh, thank you so much for submitting this!
I would have to agree with @navarr – I think this is a little too much of a low-level concept. A vegetable sauté in general, though, looks more like a pattern in this context. What do you think, @asgh?

You article mentioned how once you know "patterns" you can put together all sorts of dishes.
That's exactly what this is: Once you know this you can add so many different things and have a delicious dish without needing a recipe.
I don't think your intent is making a list of simple core basic recipes (if I'm wrong tell me), but rather the building blocks of other recipes, and this is one of them.

@asgh Got your point, let me think about it for a while – I will get back to this tomorrow. Cheers!

@asgh Just had some sautéed onions with my mother’s varenyky, and I get your point even better.


Sync XLIFF downloaded from Crowdin UI in browser

By project and file ID stored in XLIFF attributes.
Just like for PO it implemented earlier
Since Crowdin team confirmed that already added project-id attribute to xliff xml node thought they need few days to make it available/released in their app/service publically/production. But I've decided to implement this useful feature in advance to get it chance to be included in v2.4 Poedit release. So I've tested to confirm it work in Poedit right now by just adding project-id="12334" (where 1234 replaced with real project numeric ID) to xliff attribute manually

Nitpicky comments below aside, I think it is fundamentally wrong idea to do low-level XML processing in Crowdin-specific code; especially without checking for XLIFF version being 1.2.

Why to check for XLIFF version if just checking for presence of x-crowdin-project-id and 'x-crowdin-file-idviaXPath` should be enough how it's refactored now in 45f9004 ? Since now it can not be set by any other tool except Crowdin in any case

In this light either be74a59 refactoring was a mistake (without it, the natural place for this would be in XLIFF1Catalog) or a high-level interface in XLIFFCatalog is needed.

IMO virtual IsFromCrowdin(int* projId = nullptr, int* fileId = nullptr) in Catalog would be most appropriate and future proof decision which would implement only checks for project and file IDs in filename  which is common for all formats) while overrides of above method would implement check for headers in POCatalog and for attributes in XLIFFCatalog while both would call base method Catalog::IsFromCrowdin() at the beginning or at the end (if not detected by headers/attributes). Since this would clearly separate, specialize and encapsulate code responsible/applicable for particular format handling instead of mixing/putting everything together for all formats. So I can even refactor this way if you agree. But it's up to you to keep that way it's refactored now if you think it's enough for now if you think you will come with better solution later.

I think the latter is the better approach and it would make sense to use pugixml's XPath capabilities to add e.g.
std::string XLIFFCatalog::GetXPathValue(const char *xpath) const;

and use it as (pseudocode)
auto xliff = std::dynamic_pointer_cast<XLIFFCatalog>(cat);
if (xliff)
{
    if (projectId)
        *projectId = std::stoi(xliff->GetXPathValue("@project-id"));
    if (fileId)
        *fileId = std::stoi(xliff->GetXPathValue("file@id"));
}

Refactored with XPath but in slightly simplified way since it's not so clear for me why to add one more public function to XLIFFCatalog working with pugixml while GetXMLRoot() provides access to XPath features as well and even more (unless you just want to drop it in favour of higher level like GetXPathValue() or so

In an ideal world, this could also be used to check if the file was produced by Crowdin. For example, Xcode-produced files, with this standard header:
<xliff …>
  <file …>
    <header>
      <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="10.0" build-num="10A255"/>
    </header>
    <body>
    …

can then easily be checked with
if (xliff->GetXPathValue("file/header/tool@tool-id") == "com.apple.dt.xcode") { … }

Don't see why just checking for presence of x-crowdin-project-id and x-crowdin-file-id is not enough (since now those attributes are definitely unique for Crowdin, not too general so can not be set by any other tool except Crowdin). With how it was earlier (like project-id and even more just id for file - I would fully agree. Just changing name of project and file ID attributes to above (or any other of e.g. your proposal to better mach XLIFF spec) is not finally confirmed by Crowdin team but I would advocate it and discuss with them to change (since it's just point of changing name in what already implemented) if you agree with such approach and naming convention or would propose better

Why to check for XLIFF version if just checking for presence of x-crowdin-project-id

I was uneasy about manually traversing a file with a different structure externally. The x-crowdin- prefix (which still violates the XLIFF spec, but at least is close in spirit to how the spec handles extension values) is a new development.

Since this would clearly separate, specialize and encapsulate code responsible/applicable for particular format handling instead of mixing/putting everything together for all formats.

Such things are always somewhat subjective, but I think having Catalog::IsFromCrowdin(), as I did originally, is against the principle of encapsulation except in the narrow sense of handling access to some headers — that would be best addressed by abstracting Headers (currently PO-only) to access other stuff in other formats, which is an item on my TODO list.
But besides that, higher level encapsulation — i.e. "all things Crowdin" makes more sense to me, i.e. putting all Crowdin-related stuff together. Consider:

What if there were 20 sync platforms? Would it still make sense to you to have helpers for all of them in Catalog?
Changing Crowdin to v2 API in itself (sans XLIFF) is an implementation detail that ideally no other part of Poedit would notice. But because it changes file IDs, it required changes in Catalog for handling the new IDs format. It wasn't well-encapsulated in Crowdin* classes, it leaked out.
Before the refactoring to put everything in Crowdin files, an important bit was not encapsulated and was implemented in two separate places: cached filenames were constructed in crowdin_gui.cpp code and parsed in catalog.cpp. Making changes in one of those places and not other would break things; now they are in two functions nearby in the same file — encapsulated.

Don't see why just checking for presence of x-crowdin-project-id and x-crowdin-file-id is not enough (since now those attributes are definitely unique for Crowdin, not too general so can not be set by any other tool except Crowdin)

Presumably <tool> (which is confirmed) will remain canonical, while metadata deeper in the file may change with v3 API or otherwise…

Refactored with XPath but in slightly simplified way since it's not so clear for me why to add one more public function to XLIFFCatalog working with pugixml while GetXMLRoot() provides access to XPath features as well and even more (unless you just want to drop it in favour of higher level like GetXPathValue() or so

I think this really missed the point — which is to not expose internal representation of XLIFFCatalog to outside code besides the fact that it is XLIFF and thus XML. There's little point in doing manual XPath-via-pugixml instead of manual node traversal, it gains nothing. It is hiding the pugixml implementation detail by way of having a string-taking, string-returning GetXPathValue that is the point of the suggestion.

Why to check for XLIFF version if just checking for presence of x-crowdin-project-id

I was uneasy about manually traversing a file with a different structure externally.

Actually structure is same affecting Crowdin specific custom attributes in both XLIFF 1.2 and 2.0  though if you still think it makes sense to add version check even after switching to XPath (which simplifies check for presence of Crowdin specific custom attributes, i.e. eliminating necessity of any complex traverse) and it worths in term of performance - please let me know so I will add it

The x-crowdin- prefix (which still violates the XLIFF spec, but at least is close in spirit to how the spec handles extension values) is a new development.

Yep, as discussed with Crowdin team today - they will consider my proposal to switch to fully valid/canonical XML+XLIFF spec to use namespaces (e.g. <xliff xmlns:crowdin="crowdin"> and then <file crowdin:project-id="11111" crowdin:id="22222"> or please correct me if it still would not ideally match any spec and you have better suggestions/ideas) but  probably not so soon to work this way right after v2.4 Poedit release. That is why they don't see sense to switch to x-crowdin- prefixed names of Crowdin attributes especially if it violates specs as well and considered to be switched to namespaces in the future as final and future proof. So I've changed back to project-id and id just now project-id is in file node they decided it more future proof (anyway it will work when wil be switched to namespace based crowdin:id or crowdin:file-id attribute as final)

Don't see why just checking for presence of x-crowdin-project-id and x-crowdin-file-id is not enough (since now those attributes are definitely unique for Crowdin, not too general so can not be set by any other tool except Crowdin)

Presumably <tool> (which is confirmed) will remain canonical, while metadata deeper in the file may change with v3 API or otherwise…

Now it makes sense for me, thanks a lot for explanation. So added this check https://github.com/vslavik/poedit/pull/644/commits/01473f020ed5b9eff2228e510950fbe437cba4d1#diff-a1865a3025926eb82afbd7f4d9f13518R683

Refactored with XPath but in slightly simplified way since it's not so clear for me why to add one more public function to XLIFFCatalog working with pugixml while GetXMLRoot() provides access to XPath features as well and even more (unless you just want to drop it in favour of higher level like GetXPathValue() or so

I think this really missed the point — which is to not expose internal representation of XLIFFCatalog to outside code besides the fact that it is XLIFF and thus XML. There's little point in doing manual XPath-via-pugixml instead of manual node traversal, it gains nothing. It is hiding the pugixml implementation detail by way of having a string-taking, string-returning GetXPathValue that is the point of the suggestion.

Implemented that way 49c8c07 , thanks a lot for explanation, now it makes sense for me.

Also added two project and file ID retrieval improvements  d3818d4

Future proof namespace agnostic for the case if namespace will be added
by Crowdin to above attributes (e.g. crowdin:project-id,
crowdin:id) to fully match spec
Use std::atoi() instread of std::stoi() to avoid exception if any
of above attributes is not present so empty string is returned by
GetXPathValue()

Future proof namespace agnostic

I take it you think it's worth it, i.e. likely to happen?

Future proof namespace agnostic

I take it you think it's worth it, i.e. likely to happen?

Yep, as of discussion with Crowdin team. It makes sense for them so they added it as idea for consideration and probable future implementation, though still not in the nearest update when project-id and tool will appear.

Also there are other major fix in 8767181 (see it message)
While testing above - discovered that after sync (reproduced at least on files downloaded in browser via Crowdin UI) - it does not save remote changes to the disk (i.e. to the same opened and synced local file), even if to close Poedit. The only option to save in that case to press Save explicitly.

BTW, now Crowdin already sets project-id and tool so now it tested in live, fixed dc98593 to work original/source (remote) file is native XLIFF as well

I don't understand the latest changes here either :-(

Fixes/improvement  … 8767181

Failed to download during sync due of misleading extension
GetXPathValue() return std::string

This is a vaguely-titled ("fixes/improvements") commit that apparently does two unrelated things inside. One of them, "Failed to download during sync due of misleading extension" is a complete and utter mystery to me. When/why/how? Then a later commit, which does a third thing, also undoes part of this. So to pick the uncontroversial bits, I have to manually untangle them and re-create your commit in a text editor.
Seriously, one commit per one thing is a great invention. It makes things easy. If you then want to undo a part, you don't need to do it as part of unrelated commit. You just do git rebase -i and drop the no-longer-wanted commit. Done. Or you do a fixup commit (one, fixup only, not mixed with other stuff) and then git rebase -i can be used to squash the original and the fixup together for clean history. No manual untangling.

exportAsXliff: true API param for native XLIFF as well  …

This part is… complicated. On one hand, it is a good temporary solution for the broken v2 API that downloads corrupted files. On the other hand, I'm surprised the server-side fix, which is supposed to exist, didn't make it into production yet when other stuff did, so I'm not sure if it's worth having a temporary fix in the first place.
As a permanent solution, though, this shouldn't be done. All the arguments for downloading files in their original form that apply to POs also apply to XLIFFs. Crowdin's XLIFF-converted-to-XLIFF looses information. It's an imperfect representation of the original. It is a fallback solution to editing the real thing.
For example, this Xcode-made XLIFF file differs in significant ways:

<trans-unit> IDs are lost; they are sometimes meaningful (e.g. id="CFBundleName" source="${PRODUCT_NAME}" — important information there)
<note>s are distorted, with "Context: " prepended to them
information about Xcode being the tool is lost; Poedit doesn't yet use it, but should, to handle IDs and notes better
information about two embedded sub-<file>s is lost altogether (again: Poedit doesn't yet use it)

I don't understand the latest changes here either :-(

Fixes/improvement  … 8767181

Failed to download during sync due of misleading extension
GetXPathValue() return std::string

This is a vaguely-titled ("fixes/improvements") commit that apparently does two unrelated things inside. One of them, "Failed to download during sync due of misleading extension" is a complete and utter mystery to me. When/why/how? Then a later commit, which does a third thing, also undoes part of this. So to pick the uncontroversial bits, I have to manually untangle them and re-create your commit in a text editor.

Is it now enough clear for you in #647 PR with clean/arranged commits while same diff as the current PR as of the current moment of our discussion here? If so then once all topics/comments/discussions are resolved here - please free to close this PR in favour of above. Or please feel free to let me know here if otherwise so I would still improve that above PR branch and will force-push it.

Seriously, one commit per one thing is a great invention. It makes things easy. If you then want to undo a part, you don't need to do it as part of unrelated commit. You just do git rebase -i and drop the no-longer-wanted commit. Done. Or you do a fixup commit (one, fixup only, not mixed with other stuff) and then git rebase -i can be used to squash the original and the fixup together for clean history. No manual untangling.

I am fully agreeing and admitting. But just happened to due of rush in the term of weekend and wanting to do not block/delay 2.4 release. Although I see and admit that nevertheless it turns out to take even more time for you and eventually/finally for me as well (on rebasing/rearranging, unneeded discussions/explanations etc). So I deeply apologize for this and promise to continuously improve this in all my further work on Poedit

But just happened to due of rush in the term of weekend and wanting to do not block/delay 2.4 release.

I figured. Unfortunately it disoriented me so much I figured it's better to get some clarity before I rush the release.

So I deeply apologize

Not at all, you have nothing to apologize for!
Thanks for the updated PR, moving to →  #647 then.

exportAsXliff: true API param for native XLIFF as well

This part is… complicated.
...

for the broken v2 API that downloads corrupted files

Sorry, but I am not sure what do you mean? Which exactly "v2 API" are "broken" and which files are downloaded "corrupted"

As a permanent solution, though, this shouldn't be done. All the arguments for downloading files in their original form that apply to POs also apply to XLIFFs. Crowdin's XLIFF-converted-to-XLIFF looses information. It's an imperfect representation of the original. It is a fallback solution to editing the real thing.

I am fully consent with you as it should be ideally but as of my today discussion with Crowdin team it's not going to changed in the nearest future. So as of now we have only two options as for exactly that particular case, i.e. if the original of the file downloaded exactly in a browser is XLIFF

Just to disable Sync for it
Sync it with exportAsXliff: true to get it syncable at least this way rather than none

I would prefer 2 unless you are certainly for 1 or propose some better solution

For example, this Xcode-made XLIFF file differs in significant ways
...
Fully got your concern here so fully agree and admit that in case of file opened via Open from Crowdin initially or from local cache later we should always use exportAsXliff: false to handle it natively as is without any changes to it


Middleware Interfering with Mail Queue

Laravel Version: 5.7.16
PHP Version: 7.2.10
Database Driver & Version: mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Description:
Not sure if its a bug but seems like it is.
When mails are queued from controller with middleware, it gives InvalidArgumentException : No connector for [] error.
I have discussed this in Laracasts
https://laracasts.com/discuss/channels/laravel/l57-invalidargumentexception-no-connector-for
https://laracasts.com/discuss/channels/laravel/l57-middleware-interfering-with-queuework
Steps To Reproduce:
Queue mail from controller which uses middleware (lets say 'admin'). Mails are queued but fails to send. It keeps on retrying [2018-12-20 22:56:00][1022] Processing:
Logging as suggested on documentation https://laravel.com/docs/5.7/queues#failed-job-events
and
https://stackoverflow.com/questions/48199475/laravel-5-5-queue-no-connector-for
shows following error:
InvalidArgumentException  : No connector for []

  at /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:172
    168|      */
    169|     protected function getConnector($driver)
    170|     {
    171|         if (! isset($this->connectors[$driver])) {
  > 172|             throw new InvalidArgumentException("No connector for [$driver]");
    173|         }
    174|
    175|         return call_user_func($this->connectors[$driver]);
    176|     }

  Exception trace:

  1   Illuminate\Queue\QueueManager::getConnector()
      /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:156

  2   Illuminate\Queue\QueueManager::resolve("daemon")
      /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:138

  Please use the argument -v to see more details.

Please post your queue.php config. I see resolve("daemon"). Is "daemon" a custom queue?

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Queue Connection Name
    |--------------------------------------------------------------------------
    |
    | Laravel's queue API supports an assortment of back-ends via a single
    | API, giving you convenient access to each back-end using the same
    | syntax for every one. Here you may define a default connection.
    |
    */

    'default' => env('QUEUE_CONNECTION', 'sync'),

    /*
    |--------------------------------------------------------------------------
    | Queue Connections
    |--------------------------------------------------------------------------
    |
    | Here you may configure the connection information for each server that
    | is used by your application. A default configuration has been added
    | for each back-end shipped with Laravel. You are free to add more.
    |
    | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
    |
    */

    'connections' => [

        'sync' => [
            'driver' => 'sync',
        ],

        'database' => [
            'driver' => 'database',
            'table' => 'jobs',
            'queue' => 'default',
            'retry_after' => 90,
        ],

        'beanstalkd' => [
            'driver' => 'beanstalkd',
            'host' => 'localhost',
            'queue' => 'default',
            'retry_after' => 90,
        ],

        'sqs' => [
            'driver' => 'sqs',
            'key' => env('SQS_KEY', 'your-public-key'),
            'secret' => env('SQS_SECRET', 'your-secret-key'),
            'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
            'queue' => env('SQS_QUEUE', 'your-queue-name'),
            'region' => env('SQS_REGION', 'us-east-1'),
        ],

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
            'queue' => env('REDIS_QUEUE', 'default'),
            'retry_after' => 90,
            'block_for' => null,
        ],

    ],

    /*
    |--------------------------------------------------------------------------
    | Failed Queue Jobs
    |--------------------------------------------------------------------------
    |
    | These options configure the behavior of failed queue job logging so you
    | can control which database and table are used to store the jobs that
    | have failed. You may change them to any database / table you wish.
    |
    */

    'failed' => [
        'database' => env('DB_CONNECTION', 'mysql'),
        'table' => 'failed_jobs',
    ],

];

Not really sure if it is a bug. Expected behavior was, queue worker should send that mail once it is in the queue (no matter who composed it).
What I am observing is the mails are not sent if my controller have middleware restriction (like must be admin). When disabled, the composed mail on queue gets sent. When middleware is active, it gets to the queue but cannot send.
Not sure if payload also includes some restriction info.
Thanks!

In your Stackover you mentioned you are running:
php artisan queue:work --daemon
That is wrong - it should just be
php artisan queue:work
In Laravel 5.7 the queue:work is already a daemon process.

Stackoverflow link was not mine. Just found that when searched for how to log failed queue task so tried that.
By the way I have compared two queue payloads (one sent with middleware activated and one with deactivated). There is no difference in payload information so far.
So my initial though on extra info on payload causing this is not true.
Not sure what is causing this.

So what is the exact command you are using to get the error?

Mail gets queued but not not sent when middleware is active
php artisan queue:work --queue=high,medium,low --stop-when-empty

Please check my Laracast post...
Not really sure if this is a bug or transient phenomenon on my local machine.


Safari 18.0 is here!

Safari 18.0 shipped yesterday, Sept 16, 2024.
https://developer.apple.com/documentation/safari-release-notes/safari-18-release-notes
https://webkit.org/blog/15865/webkit-features-in-safari-18-0/
It'd also be a nice time to add the slot for Safari 18.1 to the system.

Also Safari 17.7, at least on iOS, no?
Seemingly there is Safari 17.7 on macOS?

There is no Safari 17.7 on any platform, no. iOS did bump up to iOS 17.7, but the Safari version number is separate from the iOS/iPadOS version number. We should just have a Safari 17.6 on all platforms, and then Safari 18.0.

The User agent seems to report otherwise, based on what you are saying I would have expected it to stay at 17.6 🤔

Safari 18.1 release notes!
https://developer.apple.com/documentation/safari-release-notes/safari-18_1-release-notes
(And I'm digging further into the 17.7 question...)

Fyrd seems to have added 18.0 and 18.1, so I suppose technically this issue can be closed.
As for 17.7 however, in addition to my single example I can report that in the stats of my company version 17.7 on mobile is already the 11th most used version.
Somehow even on desktop there are 500-ish sessions (mis?)reported with that version.
So I really think there should be an entry for 17.7, at least for mobile, to have that mapping available, e.g. for in the future for browserslist to be able to target the last version of 17.x.

I can confirm that iOS went to Safari 17.7, while macOS stayed at 17.6. This is unusual, but perhaps should be documented for the sake of the user agent & yes, user stats. There are zero meaningful-to-web-developer differences between 17.6 and 17.7.

iOS 17.7 now included with iOS17.6 so seems safe to close this now. :)


High Fi website

Next steps

Move from greyscale to HighFi
User Testing  and Nia testing
-Copywriting

All updated wireframes/hifi are up!
https://zpl.io/Vkj3Elg


DataFrame for orderBy, limit, and offset

Thanks for @agentm 's opinion, in order to explore more practical usage from relational algebra, we may need

a new type and processing engine for converting Relations to DataFrames akin to pandas or R DataFrames which do have an ordering.

Converting to a DataFrame  would emphasize the finality of that processing to the user- further relation algebra operators cannot be applied, though the DataFrame could potentially be converted back to a Relation. Normally, this conversion step would be final step in a data retrieval pipeline.

Some reference:
ACCESSING POSTGRES IN A DATAFRAME IN HASKELL

Yea, it would be nice to be able to use a DataFrame-related engine from an existing Haskell project, but, from what I have seen, they are typically typed at compile time. We will need to support arbitrarily-generated types at runtime in order to support conversion to-and-from relations.
I considered exporting to SQLite but there is no way to represent relation-valued attributes or ADTs, so the data type impedance mismatch would be quite painful.

Oh, I didn't think too far. I just try to find some code that make sure I have something to reference when I think about code.
I just want to have a simple syntax like beam's to use projectm36 and relational algebra in haskell.
And yes,  relation-valued attributes and ADTs feels too valuable to lose. It would be interesting to use them both in haskell and relational database.
As far as I know, beam-core is about SQL query...I am not sure if we can write a backend for beam...
Anyway, I am trying to understand beam these days...

I'm happy to discuss any future features. From my perspective, I think a good first step would be to implement a Relation -> DataFrame engine. That could be implemented independently of a compile-time type safe interface.

Thanks!
I have implemented a simple feature now.
TutorialD (master/main): :importexample date
TutorialD (master/main): :showexpr s
┌──────────┬────────┬───────────┬───────────────┐
│city::Text│s#::Text│sname::Text│status::Integer│
├──────────┼────────┼───────────┼───────────────┤
│"Paris"   │"S2"    │"Jones"    │10             │
│"Athens"  │"S5"    │"Adams"    │30             │
│"Paris"   │"S3"    │"Blake"    │30             │
│"London"  │"S1"    │"Smith"    │20             │
│"London"  │"S4"    │"Clark"    │20             │
└──────────┴────────┴───────────┴───────────────┘
TutorialD (master/main): :showsorteddataframe s s#
┌──────────┬────────┬───────────┬───────────────┐
│city::Text│s#::Text│sname::Text│status::Integer│
├──────────┼────────┼───────────┼───────────────┤
│"London"  │"S1"    │"Smith"    │20             │
│"Paris"   │"S2"    │"Jones"    │10             │
│"Paris"   │"S3"    │"Blake"    │30             │
│"London"  │"S4"    │"Clark"    │20             │
│"Athens"  │"S5"    │"Adams"    │30             │
└──────────┴────────┴───────────┴───────────────┘
TutorialD (master/main): :showsorteddataframe s city
┌──────────┬────────┬───────────┬───────────────┐
│city::Text│s#::Text│sname::Text│status::Integer│
├──────────┼────────┼───────────┼───────────────┤
│"Athens"  │"S5"    │"Adams"    │30             │
│"London"  │"S1"    │"Smith"    │20             │
│"London"  │"S4"    │"Clark"    │20             │
│"Paris"   │"S2"    │"Jones"    │10             │
│"Paris"   │"S3"    │"Blake"    │30             │
└──────────┴────────┴───────────┴───────────────┘

It can only has ascending order now.
And I leave RelationAtom and CustomizedAtom's Ord instance undefined because I don't see the meaning of it.
However, I don't know how to integrate it with relational expression,
Can we have rel_x join (offset <n> (limit <n> (rel_y orderby <attrName> <ASD/DESC>) in tutd expression?
I am happy to discuss any thing, too.
Let me make an pull request for this first.


add minimum_of_length_pos_mem

add minimum_of_length_pos_mem to Mathlib/Data/List
Co-authored-by: Eric Wieser<EMAIL_ADDRESS>

zulip: https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/.E2.9C.94.20how.20to.20show.20.60min_first.60.20is.20a.20permutation.3F

Thanks. I have re-opened the PR from the mathlib4 repo itself.
#7974


bug(@angular/youtube-player): "ready" event isn't fired

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
don't know
Description
Similar issue from the past: https://github.com/angular/components/issues/20462
https://github.com/angular/components/issues/20462#issuecomment-684730811 claims the problem was solved.
It seems to be there again.
After migrating from the NgModule version to using the YouTubePlayer component, I don't get a ready event fired anymore. Meaning I don't have access to the player object anymore. 😢
I am getting the following error, that might or might not be related.
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('https://example.com').

Similar to: https://github.com/angular/components/issues/22835
I mention this here because similarly it could be that the error prevents the event from being emitted now that the code has been refactored (regression bug).
Reproduction
StackBlitz link: https://stackblitz.com/edit/angular-youtube-player-responsive-issue?file=src%2Fmain.ts
Steps to reproduce:

Open the console.
Verify that the console does not show the log message which according to the code would get written when the ready event is dispatched.

Expected Behavior
The ready event fires when the youtube player (video) loads.
Actual Behavior
The component event does not fire at all.
Environment

Angular: 17.3.3
Browser(s): Stackblitz

Duplicate of https://github.com/angular/components/issues/28619.

@crisbeto I see. Thanks for pointing me there. 🙏
My challenge is that I have a play button somewhere else in the ui and clicking it will not work as the YouTubePlayer is not yet loaded and calling youtubePlayer.playVideo() throws the following error:
ERROR ReferenceError: YT is not defined
Since the _load method is private, is there a way to load the video programmatically even when using the placeholder feature?

https://github.com/angular/components/issues/28844

The feature request is valid. I just wanted to mention that you can turn off the placeholder to get back the old behavior.


fix-#25/update-note-on-change

Easier to create a new PR instead of reverting changes made in #64 .
fixes #25
closes #64

May I ask if you want me to change something?

May I ask if you want me to change something?

yes the comment above is unresolved:

no need to put a filename in quotes

May I ask if you want me to change something?

yes the comment above is unresolved:

no need to put a filename in quotes

Sorry I mistook it as "no need to quote it but it's ok"
I fixed it.


My Icon Break on Some Device How to Fix this?

I have no problem in firefox, ie and google chrome in a desktop user...
but ive got instances that my icons break in apple ipad , other mobile devices such as lenovo model...
this is my custom.css

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v11/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

this is my materializedcss version:
Materialize v0.97.5

Majority of the Apple Made Devices Break the Icos except Iphone 6 plus :(
Anyone Experience this help

You can try searching some closed issues, but the font is provided by Google and you should post on their repository


Project is outdated

Hello. I want to learn more about Firestore so I cloned this project and followed tutorial. It didn't work because the code is outdated. Any plan to update this?

Fixed in 8dfa417c8c563e444602b17211dbccb327bb4274. Thanks for reporting!


Release v0.3

Description

[x] Open PR named Release v0.3
[x] Set __version__ = '0.3' in src/phasorpy/version.py
[x] Bump versions in docs/_static/switcher.json
[x] Create release notes (copy changes from GitHub release notes tool)
[ ] Merge this PR
[ ] Use GitHub to create new release and tag v0.3
[ ] Copy sdist and wheels from GitHub Actions
[ ] Build wheels locally for linux_aarch64 using tools/build_manylinux2014 script
[ ] Upload sdist and wheels to GitHub release
[ ] Upload sdist and wheels to PyPI using twine
[ ] Change docs/stable symlink to point to docs/v0.3 (mklink /D stable v0.3) at phasorpy.github.io
[ ] Update version to 0.3 (stable) in phasorpy-homepage/docs.rst
[ ] Add news entry Nov 30, 2024: PhasorPy 0.3 is released. to phasorpy-homepage
[ ] Set __version__ = '0.4.dev' in src/phasorpy/version.py and create PR named Bump version
[ ] Fix authors, affiliations, and license in Zenodo record

Checklist

[ ] The pull request title and description are concise.
[ ] Related issues are linked in the description.
[ ] New dependencies are explained.
[ ] The source code and documentation can be distributed under the MIT license.
[ ] The source code adheres to code standards.
[ ] New classes, functions, and features are thoroughly tested.
[ ] New, user-facing classes, functions, and features are documented.
[ ] New features are covered in tutorials.
[ ] No files other than source code, documentation, and project settings are added to the repository.

@cgohlke I don't think the wavelet filter will be ready soon enough and it makes sense to create a new release with the fixes already implemented. Also I believe the other works in progress will also take some time and may delay this release significantly.


Parent span not set properly

In the OpenTelemetry Demo we have a Rust service using reqwest-middleware.
We have noticed that the Context Propagation is not working properly when using reqwest to call another service.
The issue is detailed in here: https://github.com/open-telemetry/opentelemetry-demo/issues/1318
But to add a full context to this issue, here is where we are using it:
async fn request_quote(count: u32) -> Result<f64, Box<dyn std::error::Error>> {
    // TODO: better testing here and default quote_service_addr
    let quote_service_addr: String = format!(
        "{}{}",
        env::var("QUOTE_SERVICE_ADDR").expect("$QUOTE_SERVICE_ADDR is not set"),
        "/getquote"
    );

    let mut reqbody = HashMap::new();
    reqbody.insert("numberOfItems", count);

    let client = ClientBuilder::new(reqwest::Client::new())
        .with(TracingMiddleware::<SpanBackendWithUrl>::new())
        .build();

    let req = client.request(Method::POST, quote_service_addr);

    let mut headers = HeaderMap::new();

    let cx = Context::current();
    global::get_text_map_propagator(|propagator| {
        propagator.inject_context(&cx, &mut HeaderInjector(&mut headers))
    });

    let resp = req
        .json(&reqbody)
        .headers(headers)
        .send()
        .await?
        .text_with_charset("utf-8")
        .await?;

    debug!("{:?}", resp);

    match resp.parse::<f64>() {
        Ok(f) => Ok(f),
        Err(error) => Err(Box::new(error)),
    }
}

When shippingservice(Rust) calls quoteservice(PHP) the parent_id sent is not from the caller, but from the caller's parent.
The trace is currenly looking like this:

But it should be something like this:
checkoutservice oteldemo.ShippingService/GetQuote
    |--> shippingservice oteldemo.ShippingService/GetQuote
        |--> shippingservice POST
            |--> quoteservice POST /getquote
                |--> quoteservice {closure}
                    |--> quoteservice calculate-quote

Another thing that I wonder is why do we need to manually add the context to the headers?
I've removed the following and the trace context was totally gone from the headers.
let mut headers = HeaderMap::new();

    let cx = Context::current();
    global::get_text_map_propagator(|propagator| {
        propagator.inject_context(&cx, &mut HeaderInjector(&mut headers))
    });

Shouldn't the reqwest instrumentation handle that automatically?

You're enabling opentelemetry_0_20 (https://github.com/open-telemetry/opentelemetry-demo/blob/d8ecad7b975e662d0ab9096d7952f7e14497787c/src/shippingservice/Cargo.toml#L30) while using opentelemetry = 0.21 in the same manifest (https://github.com/open-telemetry/opentelemetry-demo/blob/d8ecad7b975e662d0ab9096d7952f7e14497787c/src/shippingservice/Cargo.toml#L22).
If you switch to the correct feature everything should work as expected.
You shouldn't be setting the context yourself, the middleware does it for you (if configured correctly).

Thank you @LukeMathWalker!
I've just submitted a PR fixing it: https://github.com/open-telemetry/opentelemetry-demo/pull/1433
Appreciate the help.


change (ci): merge check warnings into test linux job

Since we care to fail the merge if warnings are found in the test CI job, it makes sense to merge check_warnings job into test-linux-stable.
As a bonus, it will not queue for docker runners.

@TriplEight I think you need to disable the old gitlab-check_weight job?

@TriplEight I think you need to disable the old gitlab-check_weight job?

What job do you mean exactly?

removed the requirement for the continuous-integration/gitlab-check_warnings ci check

@gabreal thanks, I don't have permissions to do that.


Laravel Auth Controllers use wrong database credentials

Laravel Version: 5.8
PHP Version: 7.3.1
Database Driver & Version: MySQL 5.8

Description:
I just installed a fresh Laravel instance. I have put the correct MySQL data in the .env file. First, I have run the php artisan make:auth command, and then the php artisan migrate, which worked flawlessly and three tables were added.
Then, I tried to register a dummy user through the default routes, and have received the following error:
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from users where email =<EMAIL_ADDRESS>limit 1)
It looks like the default controllers are somehow using different data. From the Whoops page, I have found that the arguments to PDO construct function are:
"mysql:host=<IP_ADDRESS>;port=3306;dbname=homestead"
"homestead"
"secret"
It looks as if I didn't update the .env file at all. But, if my credentials were incorrect, then php artisan migrate would not run.
Also, running php artisan tinker and creating a user there by
$user = new App\User and giving it the data and hitting $user->save(); works and the row is added to table.
Steps To Reproduce:

Install fresh Laravel (using Windows 10)
Put the correct data in .env file
Run php artisan make:auth and then php artisan migrate
Try to open the home page, and  go to Register and try to register
You should see the error.

Issue solved by closing my terminal and running php artisan serve again. Any reason why this might happen?

Any .env file changes applies only after re-run artisan serve.

If I'm not mistaken, composer cache-clear will clear the .env so run that after you make changes to your .env. It's normal behaviour for changes to .env to not be immediately updated when using php artisan serve.

Thank you @antonkomarev, didn’t know that little piece of information. I’m closing the issue.