Suite yml is updated to point to latest release versions of components

Our suite yml is currently pointing to versions of components that are not newest (intentionally). We need to update the suite.yml to actually point to the newest ones.
AC:

[ ] Suite.yml versions are updated to point to the latest ones

@izgeri - I'm guessing this might be on your plate maybe?

I'm going to close this issue as a duplicate of #32 - feel free to create a draft suite YML bump as needed (@sgnn7 suggested the playroom)


Maint: pre-commit updates & badges

Close #551
Adds badges to the README
Configures pre-commit CI to open PRs to update hooks

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

Project coverage is 94.34%. Comparing base (efe4a9f) to head (f1fe524).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #552   +/-   ##
=======================================
  Coverage   94.34%   94.34%
=======================================
  Files           7        7
  Lines         778      778
=======================================
  Hits          734      734
  Misses         44       44

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


tc_may_override annotation implementation

tc_may_override annotation implementation
* tc_may_override annotation for tc backend
* Added testcases for annotation

https://github.com/Sosutha/p4c/pull/1#issuecomment-1959943639

@sosutha question:
Is it possible (in P4) to have a case where we have two tables with the same default action but different different values? For example testdata/p4tc_samples_outputs/tc_may_override_example_01.template has:
$TC p4template create action/tc_may_override_example_01/MainControlImpl/next_hop actid 1 \
	param vport type bit32
$TC p4template update table/tc_may_override_example_01/MainControlImpl/ipv4_tbl_1 default_miss_action action tc_may_override_example_01/MainControlImpl/next_hop param vport flags runtime

This syntax will be fine if we had another table ipv4_tbl_2 and therefore we could say:
$TC p4template update table/tc_may_override_example_01/MainControlImpl/ipv4_tbl_2 default_miss_action action tc_may_override_example_01/MainControlImpl/next_hop param vport flags runtime
Assuming the ebpf code will generate different variables for the two default values so we can override them. Currently for one of them you would have in testdata/p4tc_samples_outputs/tc_may_override_example_01_parser.h:
This structure:
struct p4tc_filter_fields {
    __u32 pipeid;
    __u32 handle;
    __u32 classid;
    __u32 chain;
    __u32 blockid;
    __be16 proto;
    __u16 prio;
    __u32 MainControlImpl_next_hop_vport;
};

will now contain an extra field for the second table:

struct p4tc_filter_fields {
    __u32 pipeid;
    __u32 handle;
    __u32 classid;
    __u32 chain;
    __u32 blockid;
    __be16 proto;
    __u16 prio;
    __u32 MainControlImpl_next_hop_vport;
    __u32 MainControlImpl_next_hop_vport_2;
};

Assuming this (P4) scenario is legit and above would work, it would require some change from our side.
OTOH if we assume sucha  default action will only be used in one table then the template would need to change to:
$TC p4template create action/tc_may_override_example_01/MainControlImpl/next_hop actid 1 \
	param vport type bit32 flags runtime
$TC p4template update table/tc_may_override_example_01/MainControlImpl/ipv4_tbl_1 default_miss_action action tc_may_override_example_01/MainControlImpl/next_hop param vport

note the "flags runtime" is move to the action creation line above. With this approach there is no need for any change from our side.

@jhsmt, It is possible for two P4 tables to have same default action with different values.
Current implementation will have only one variable as common for both table's default action variable.
If two different variables are needed if there are two different tables with same default action, then implementation needs to  be changed. In such case, for example ipv4Tbl1, ipv4Tbl2 are two tables with next_hop as default action, we can create structure like this
struct p4tc_filter_fields {
    __u32 pipeid;
    __u32 handle;
    __u32 classid;
    __u32 chain;
    __u32 blockid;
    __be16 proto;
    __u16 prio;
    __u32 ipv4Tbl1_next_hop_vport;
    __u32 ipv4Tbl2_next_hop_vport;
};

Please confirm.

@jhsmt, It is possible for two P4 tables to have same default action with different values. Current implementation will have only one variable as common for both table's default action variable. If two different variables are needed if there are two different tables with same default action, then implementation needs to be changed. In such case, for example ipv4Tbl1, ipv4Tbl2 are two tables with next_hop as default action, we can create structure like this
struct p4tc_filter_fields {
    __u32 pipeid;
    __u32 handle;
    __u32 classid;
    __u32 chain;
    __u32 blockid;
    __be16 proto;
    __u16 prio;
    __u32 ipv4Tbl1_next_hop_vport;
    __u32 ipv4Tbl2_next_hop_vport;
};

Please confirm.

Confirmed..

@jhsmt Jamal, I will implement this change in separate PR. I have already raised opensource PR for this implementation.
I have a query regarding this change. These statements will be executed for table entries which have this action not only for default action. Will this change hold fine for both the cases?

@jhsmt Jamal, I will implement this change in separate PR. I have already raised opensource PR for this implementation. I have a query regarding this change. These statements will be executed for table entries which have this action not only for default action. Will this change hold fine for both the cases?

@jhsmt , could you please clarify the query for proceeding with the implementation of the change

@jhsmt Jamal, I will implement this change in separate PR. I have already raised opensource PR for this implementation. I have a query regarding this change. These statements will be executed for table entries which have this action not only for default action. Will this change hold fine for both the cases?

@jhsmt , could you please clarify the query for proceeding with the implementation of the change

@Sosutha I apologize I thought i responded. Sure lets have a second PR for the fix.

@jhsmt Jamal, I will implement this change in separate PR. I have already raised opensource PR for this implementation. I have a query regarding this change. These statements will be executed for table entries which have this action not only for default action. Will this change hold fine for both the cases?

@jhsmt , could you please clarify the query for proceeding with the implementation of the change

@Sosutha I apologize I thought i responded. Sure lets have a second PR for the fix.

@jhsmt I have a query regarding this change. These statements will be executed for table entries which have this next_hop action as designated action for that entry  and also for default action when there is no action given. Will this change hold fine for both the cases? When these statements gets executed for table entries that have this action, Will p4tc_filter_fields.ipv4_tbl_1_next_hop_vport hold the correct value for that entry, not the value->u.MainControlImpl_next_hop.vport?

@jhsmt Jamal, I will implement this change in separate PR. I have already raised opensource PR for this implementation. I have a query regarding this change. These statements will be executed for table entries which have this action not only for default action. Will this change hold fine for both the cases?

@jhsmt , could you please clarify the query for proceeding with the implementation of the change

@Sosutha I apologize I thought i responded. Sure lets have a second PR for the fix.

@jhsmt I have a query regarding this change. These statements will be executed for table entries which have this next_hop action as designated action for that entry and also for default action when there is no action given. Will this change hold fine for both the cases? When these statements gets executed for table entries that have this action, Will p4tc_filter_fields.ipv4_tbl_1_next_hop_vport hold the correct value for that entry, not the value->u.MainControlImpl_next_hop.vport?

@Sosutha excellent catch. So if the value is for the default miss/hit action then the earlier switch statement we discussed i.e.
switch (value->action) {
                            case MAINCONTROLIMPL_IPV4_TBL_1_ACT_MAINCONTROLIMPL_NEXT_HOP:
                                {
                                  /* send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport); */
                                    compiler_meta__->drop = false;
                                    send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport);
                                }
                                break;

changes to:
switch (value->action) {
                    case MAINCONTROLIMPL_IPV4_TBL_1_ACT_MAINCONTROLIMPL_NEXT_HOP:
                                {
                                  if (value->is_default_miss_act || value->is_default_hit_act ) {
                                           /* send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport); */
                                             compiler_meta__->drop = false;
                                           send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport);
                                } else { /* we get the value from the table entry */
                                       /* send_to_port(value->u.MainControlImpl_next_hop.vport) */
                                    compiler_meta__->drop = false;
                                    send_to_port(value->u.MainControlImpl_next_hop.vport);
                                }
                    }
                     break;

But i would say the if statement is only necessary if we have a case such as this where the action is used both in the table entry and as a default hit/miss action

@jhsmt We can generate if statement as you suggested. But so far all the implementation done related to default action has considered only default_miss action.  For default_hit action( specific only to tc), we need to a similar implementation with different design. Since default_hit is annotation based and default_miss was statement based, Different design is needed for default_hit. In order to complete default_miss implementation fully, I will make the change you proposed in one PR. In that we can have implementation for  if statement as below
if (value->is_default_miss_act)
    send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport);

For default_hit related changes, we can have separate PR. I will propose design related default_hit annotation in the issue  https://github.com/p4tc-dev/p4tc-e2e/issues/60. Please confirm

@jhsmt We can generate if statement as you suggested. But so far all the implementation done related to default action has considered only default_miss action. For default_hit action( specific only to tc), we need to a similar implementation with different design. Since default_hit is annotation based and default_miss was statement based, Different design is needed for default_hit. In order to complete default_miss implementation fully, I will make the change you proposed in one PR. In that we can have implementation for if statement as below
if (value->is_default_miss_act)
    send_to_port(p4tc_filter_fields.ipv4_tbl_1_next_hop_vport);

For default_hit related changes, we can have separate PR. I will propose design related to default_hit annotation in the issue p4tc-dev/p4tc-e2e#60. Please confirm

Confirmed for this and for p4tc-dev/p4tc-e2e#60


Add auto-imported Directory.build.props/targets to $(MSBuildAllProjects) automatically

Directory.build.props/.targets is a great feature, but when you start to add configuration properties in there and don't really know much about how incremental build works in msbuild, you're going to hit "weird issues".
I'd like the auto-imported files to be automatically added to $(MSBuildAllProjects) so that targets using it as inputs will pick up changes automatically. It's easy to forget the necessary preamble when you start out with an empty msbuild file.. Also, this helps reducing your project build files to the absolute minimum.

Great idea, tracked by #1299. Closing this as a duplicate.

#1299 is probably a little more invasive (but I'd like to see it).
For these special project files, I was thinking about adding it directly in Microsoft.Common.props/.targets.

Oh, adding it next to the import with the same conditions? That's clever! And it should be fairly low-impact. Want to submit a PR?

Love to. will do so over the next days/weekend.


Added a Rat enemy to the game.

Hi @GarretLefler, enemy generation has changed a bit since you wrote this code. To add the rat enemy to the generator you have to:

Add the rat type to the EnemyType enum
Implement a new method GetType() in the Rat class that will return the rat enum
Add the rat case to Game::SetEnemy()

After that I'll happily merge this! I knew something major was missing from the game. It just needed rats. :smile:


Segfault with Flutter 3.7.6

Hi,
first of all thanks for this layer!
When I want to start the gallery app with flutter-auto I get an segmentation fault since upgrading to flutter 3.7.6 last week. This is my shell output when starting from the terminal:
$ XDG_RUNTIME_DIR=/var/run/user/1000/ WAYLAND_DISPLAY=wayland-1 flutter-auto --b=/usr/share/flutter/gallery/3.7.6/release/ --f
[INFO:main.cc(85)] agl @ 21a2daa
[INFO:configuration.cc(273)] **********
[INFO:configuration.cc(274)] * Global *
[INFO:configuration.cc(275)] **********
[INFO:configuration.cc(276)] Application Id: .......... flutter-auto
[INFO:configuration.cc(280)] Cursor Theme: ............
[INFO:configuration.cc(281)] Disable Cursor: .......... false
[INFO:configuration.cc(283)] Debug Backend: ........... false
[INFO:configuration.cc(285)] ********
[INFO:configuration.cc(286)] * View *
[INFO:configuration.cc(287)] ********
[INFO:configuration.cc(294)] Bundle Path: .............. /usr/share/flutter/gallery/3.7.6/release/
[INFO:configuration.cc(295)] Window Type: .............. NORMAL
[INFO:configuration.cc(296)] Output Index: ............. 0
[INFO:configuration.cc(298)] Size: ..................... 1920 x 720
[INFO:configuration.cc(303)] Fullscreen: ............... true
[INFO:configuration.cc(305)] Accessibility Features: ... 0
[INFO:display.cc(303)] Pointer Present
[INFO:display.cc(312)] Keyboard Present
[INFO:display.cc(321)] Touch Present
[INFO:engine.cc(576)] (0) Loading AOT: /usr/share/flutter/gallery/3.7.6/release//lib/libapp.so
[ 1168.957433] audit: type=1701 audit(1651168910.316:7): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=554 comm="flutter-auto" exe="/usr/bin/flutter-auto" sig=11 res=1
Segmentation fault

My run command did not change from flutter 3.3.10 to flutter 3.7.6 except the version string.
My local.conf file is mostly created from digging into your github workflows for imx8, as a imx8mp is used in this case.
Here are the relevant lines:
# extras
PREFERRED_PROVIDER_libdrm-native = "libdrm-mainline-native"
PREFERRED_PROVIDER_nativesdk-libdrm = "nativesdk-libdrm-mainline"

# ffmpeg
LICENSE_FLAGS_ACCEPTED = "commercial"

# flutter_app
PACKAGECONFIG_pn-flutter-engine = " profile debug release embedder-for-target fontconfig"
PACKAGECONFIG:append:pn-ffmpeg = " openssl "
PACKAGECONFIG:append:pn-weston = " remoting "

LICENSE_FLAGS_ACCEPTED += " commercial "

DISTRO_FEATURES:append = " opengl wayland pam"
DISTRO_FEATURES:append = " virtualization kvm"

TOOLCHAIN_HOST_TASK:append = " nativesdk-flutter-sdk"
PACKAGECONFIG:pn-flutter-auto = "backend-egl mouse-cursor package-info secure-storage text-input texture-test-egl "

Maybe you know a tweak to get more debug information if needed.
Thank you :)

Maybe this is relevant, the app is working with flutter-client.
XDG_RUNTIME_DIR=/var/run/user/1000/ WAYLAND_DISPLAY=wayland-1 flutter-client -b /usr/share/flutter/gallery/3.7.6/release/ -f

@FranzForstmayr greetings
Yes the engine update to 3.7+ came before the embedder update.  I have changes staged for this.  You can roll back to earlier meta-flutter kirkstone that uses 3.3.10 until I merge the changes.

Great news :)
I'll test again if you finished your changes.
Franz

@FranzForstmayr  I'll update flutter-auto in the next few days.  In the meanwhile, what backend are you using, and do you also see repro with the wonderous app?  I need to move the gallery app forward.  The problem with the gallery app is they actively develop on master only.  They have no intent of supporting stable; I asked them.

I tried to build it but I have dependeny issues right now. intl - 0.17 vs 0.18.
The branch was renamed to main, so fetch fails too btw.

https://github.com/meta-flutter/meta-flutter/commit/dc90eaef0e72d7e207866e1e73906a71b7ffb027 expects wayland to be present in DISTRO_FEATURES.  If your DISTRO_FEATURES include x11 and not wayland it would most likely fail to build.
Are you using Wayland?

That was my bad.  I was testing on a machine without using inherit rm_work in conf/local.conf.  I just pushed fix for angle compile error.
My CI machine is down right now.  I would have caught that otherwise.  Let me know if it's better now.

I'm prepping merge for 3.7.6 baseline here:
https://github.com/toyota-connected/ivi-homescreen/pull/105
Should be ready tomorrow.

dc90eae expects wayland to be present in DISTRO_FEATURES. If your DISTRO_FEATURES include x11 and not wayland it would most likely fail to build.
Are you using Wayland?

Yes, wayland is enabled in DISTRO_FEATURES, vulkan isn't.
That's why I was wondering about this compilation issue I mentioned:
| [273/8878] CXX obj/third_party/dart/runtime/bin/dart_io_api.namespace_linux.o
| [274/8878] CXX obj/third_party/dart/runtime/bin/dart_io_api.socket_base.o
| [275/8878] CXX obj/third_party/dart/runtime/bin/standalone_dart_io_product.process.o
| [276/8878] CXX obj/flutter/third_party/tonic/common/tonic.log.o
| [277/8878] CXX obj/flutter/third_party/tonic/tonic.dart_persistent_value.o
| [278/8878] CXX obj/flutter/flutter_vma/flutter_vma.flutter_vma.o
| FAILED: obj/flutter/flutter_vma/flutter_vma.flutter_vma.o
| /home/yocto/Workspaces/yocto/kas-dhsom/build/tmp/work/cortexa53-crypto-dhlinux-linux/flutter-engine/git-r0/src/buildtools/linux-x64/clang/bin/clang++ -MD -MF obj/flutter/flutter_vma/flutter_vma.flutter_vma.o.d --target=aarch64-unknown-linux-gnu --sysroot /home/f_forstmayr/Workspaces/yocto/kas-dhsom/build/tmp/work/cortexa53-crypto-dhlinux-linux/flutter-engine/git-r0/recipe-sysroot -DUSE_OPENSSL=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_DISABLE_AVAILABILITY=1 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DVK_USE_PLATFORM_WAYLAND_KHR -DVMA_DYNAMIC_VULKAN_FUNCTIONS=0 -DVMA_STATIC_VULKAN_FUNCTIONS=0 -I../.. -Igen -I../../third_party/libcxx/include -I../../third_party/libcxxabi/include -I../../build/secondary/third_party/libcxx/config -I../../third_party/vulkan-deps/vulkan-headers/src/include -I../../third_party/vulkan_memory_allocator/include -fno-strict-aliasing -fstack-protector --param=ssp-buffer-size=4 -fPIC -pipe -pthread --target=aarch64-linux-gnu -DBORINGSSL_CLANG_SUPPORTS_DOT_ARCH -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-deprecated-copy -Wno-psabi -Wno-unqualified-std-cast-call -Wno-non-c-typedef-for-linkage -Wno-range-loop-construct -fvisibility=hidden --sysroot=/home/f_forstmayr/Workspaces/yocto/kas-dhsom/build/tmp/work/cortexa53-crypto-dhlinux-linux/flutter-engine/git-r0/recipe-sysroot -Wstring-conversion -Wnewline-eof -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility-inlines-hidden -std=c++17 -fno-rtti -nostdinc++ -nostdinc++ -fvisibility=hidden -fno-exceptions -Wno-c++98-compat-extra-semi -Wno-deprecated-copy -Wno-implicit-fallthrough -Wno-nullability-completeness -Wno-suggest-destructor-override -Wno-suggest-override -Wno-unused-private-field -Wno-unused-variable -c ../../flutter/flutter_vma/flutter_vma.cc -o obj/flutter/flutter_vma/flutter_vma.flutter_vma.o
| In file included from ../../flutter/flutter_vma/flutter_vma.cc:19:
| In file included from ../../flutter/flutter_vma/flutter_vma.h:7:
| In file included from ../../third_party/vulkan_memory_allocator/include/vk_mem_alloc.h:130:
| ../../third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.h:41:10: fatal error: 'wayland-client.h' file not found
| #include <wayland-client.h>
|          ^~~~~~~~~~~~~~~~~~
| 1 error generated.

I just wanted to clarify my issue, I was not very detailed the post before.
I'll test again tomorrow and thank you for your time.

Ivi-homescreen changes are in, flutter-auto not yet.  Primary difference is the executable name.  AGL already had an executive named homescreen hence the name change.


Suggestion regarding copying links

When copying one of the links from the results presented in Alfred, (By selecting the results and pressing Command+C) it copies the URL only.
Would it be possible to have an option to copy the URL and title, so when you paste it somewhere it pastes like this (with the title as the hyperlink):
Testing If You Can Blow Your Own Sail - YouTube
Instead of this:
https://www.youtube.com/watch?v=M7-h3FO-KKo
Thanks!

I can't see how this would work without the target application supporting markdown.


Ability to ship alpha and beta releases

I'd like to be able to ship alphas and betas to PyPI so in-development plugins can depend on them and help test unreleased plugin hooks.

These should not be shipped as the latest version on Docker Hub. They also should not become the "stable" release on ReadTheDocs.

I'd like this soon, because I want to start experimenting with things like #852 and #842 without shipping those plugin hooks in a full stable release.

Relevant PEP: https://www.python.org/dev/peps/pep-0440/
Django's implementation dates back 8 years: https://github.com/django/django/commit/40f0ecc56a23d35c2849f8e79276f6d8931412d1
From the PEP:

Implicit pre-release number
Pre releases allow omitting the numeral in which case it is implicitly assumed to be 0. The normal form for this is to include the 0 explicitly. This allows versions such as 1.2a which is normalized to 1.2a0.

I'm going to habitually include the 0.

I thought I might have to update a regex (my CircleCI configs won't match on a0, example) but it turns out Travis is currently configured to treat ALL tags as potential releases:
https://github.com/simonw/datasette/blob/6151c25a5a8d566c109af296244b9267c536bd9a/.travis.yml#L21-L35

So I think if I push a tag of 0.45a0 everything might just work - Travis will build it, push the build to PyPI, PyPI won't treat it as a stable release.
Except... I don't want to push alphas as Docker images - so I need to fix this code:
https://github.com/simonw/datasette/blob/6151c25a5a8d566c109af296244b9267c536bd9a/.travis.yml#L34-L43

Travis conditions documentation: https://docs.travis-ci.com/user/conditions-v1
These look useful:
branch =~ /^(one|two)-three$/
(tag =~ ^v) AND (branch = master)

So maybe this condition is right?
if: (tag IS present) AND NOT (tag =~ [ab])

I'm going to try this on a separate repository so I don't accidentally publish a Datasette release I didn't mean to publish!

https://github.com/simonw/datasette-render-images uses Travis and is low-risk for trying this out.

OK, I just shipped 0.2a0 of datasette-render-images -  https://pypi.org/project/datasette-render-images/ has no indication of that:

But this page does: https://pypi.org/project/datasette-render-images/#history

And https://pypi.org/project/datasette-render-images/0.2a0/ exists.
In a fresh virtual environment pip install datasette-render-images gets 0.1.
pip install datasette-render-images==0.2a0 gets 0.2a0.

One more experiment: I'm going to ship datasette-render-images 0.2 and see if that works correctly - including printing out the new debug section I put in the Travis config here: https://github.com/simonw/datasette-render-images/blob/6b5f22dab75ca364f671f5597556d2665a251bd8/.travis.yml#L35-L39 - which should demonstrate if my conditional for pushing to Docker Hub will work or not.
In the alpha releasing run on Travis that echo statement did NOT execute: https://travis-ci.com/github/simonw/datasette-render-images/builds/172116625

https://travis-ci.com/github/simonw/datasette-render-images/builds/172118541 demonstrates that the alpha/beta conditional is working as intended:

Here's the readthedocs documentation on versioned releases: https://docs.readthedocs.io/en/stable/versions.html
It looks like they do the right thing:

We in fact are parsing your tag names against the rules given by PEP 440. This spec allows “normal” version numbers like 1.4.2 as well as pre-releases. An alpha version or a release candidate are examples of pre-releases and they look like this: 2.0a1.
We only consider non pre-releases for the stable version of your documentation.

https://pypi.org/project/datasette-render-images/#history worked:

I'm now confident enough that I'll make these changes and ship an alpha of Datasette itself.

Alpha release is running through Travis now: https://travis-ci.org/github/simonw/datasette/builds/699864168

New documentation about the alpha/beta releases: https://datasette.readthedocs.io/en/latest/contributing.html#contributing-alpha-beta

This worked!
https://pypi.org/project/datasette/#history

https://github.com/simonw/datasette/releases/tag/0.45a0 is my manually created GitHub prerelease.
https://datasette.readthedocs.io/en/latest/changelog.html#a0-2020-06-18 has the release notes.
A shame Read The Docs doesn't seem to build the docs for these releases -it's not showing the tag in the releases pane here:

Also the new tag isn't an option in the Build menu on https://readthedocs.org/projects/datasette/builds/
Not a big problem though since the "latest" tag on Read The Docs will still carry the in-development documentation.

https://pypi.org/project/datasette/0.45a0/ is the release on PyPI.
And in a fresh virtual environment:
$ pip install datasette==0.45a0
...
$ datasette --version
datasette, version 0.45a0

But running pip install datasette still gets 0.44.


Replaced nock usage in the oidc provider tests with msw

In #3409 I introduced a dependency on nock with the oidc provider test.  This PR removes nock and uses the msw library to mock network requests as done elsewhere in backstage.
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

Tugboat has finished building the preview for this pull request!
Link:

https://pr4722-bv5pb73f8ohkm3efemjyrjpsdhe5jsye.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/60394b88f285af525a99cea8


LogCollector Incorrectly Aggregates Top-level Frames

The LogCollector works based on the assumption that for any given thread, there's only 1 top-level method. That however isn't strictly true, looking at some real logs. The top of a stack typically is something like java.lang.Thread.run(), but in the main thread, the call can be preceded in time by classloading operations. For instance : sun.launcher.LauncherHelper.checkAndLoadMain(), at the same level as the Thread.run() call.
Because the aggregation assumes only 1 top-level frame, later stackframes may all end up in the wrong ProfileTree. In the example above, say that main calles com.a.b(), you might end up with an aggregated situation which looks like the sun.launcher.[...] is calling com.a.b().
This is fixed in my latest commit (the aggregation has been reworked), but that's on a dev branch which isn't yet integrated into the integration branch on my fork (and even further away from a Pull request).

Can you isolate the fix into a PR, or point to the fixing commit on your fork?

@nitsanw Actually, that's not quite possible.
I've reworked the aggregation, which is how I discovered it (by comparing the differences between what I'm seeing in my current build with the "original" HP UI). So the "fix" is inside the new classes, and can't really be isolated.
Hopefully I can finish my current branch today (I need to add the filtering logic in the new structure), and integrate into the integration branch on my fork. The head there will then contain something which is functionally equivalent with what is at the head of the current Pull Request, but working on a new aggregation paradigm which is a bit more generic, and with the log collection decoupled more from the UI.

Thinking of closing this but I didn't check the console. The issue is in LogCollector, so I suspect this issue should remain open until console is fixed too.


feat(helm): add value to customise PostgreSQL docker image (#774)

feat(helm): add value to customise PostgreSQL docker image (#774)
feat(helm): use PostgreSQL 14.10 in local dev deployment (#774)

Closes #773

Note: PRs to update the version of PostgreSQL to 14.10 in the other repos are still missing


Danger does not have write access to the PR to set a PR status.

Report
What did you do?
Trying to setup Danger for IBAnimatable doing the getting set up: bundle exec danger init
Then making a PR (https://github.com/IBAnimatable/IBAnimatable/pull/366) to see the result.
What did you expect to happen?
A Danger report in the github PR telling me all good.. or not.
What happened instead?
An error log in travis telling me that Danger can't make the report:

Danger does not have write access to the PR to set a PR status.

Your Environment

Which CI are you running on? Travis
Are you running the latest version of Danger? Yes
What is your Dangerfile?
Is there any manipulation / tests I can do?

Did you set DANGER_GITHUB_API_TOKEN on Travis?
Then you can try if your token works with following:
# Install Octokit gem (ruby library)
$ gem install octokit

# To enter the Ruby REPL
$ irb

# In the REPL
> require "octokit"
> client = Octokit::Client.new(access_token: "your 40-char token")
> client.create_status(
  "IBAnimatable/IBAnimatable",
  "280cbb3d8fd10a902b5b408277633dd9e48961fc",
  "success",
  description: "Welcome to danger",
  context: "danger",
  target_url: "https://danger.systems"
)

If then token works, then it will set https://github.com/IBAnimatable/IBAnimatable/pull/366 status to success with a description says Welcome to danger, the details link will link to https://danger.systems. :)

Did you set DANGER_GITHUB_API_TOKEN on Travis?

Yeah, I checked a few times and even generate a new one before posting here 🤓
When I used your code in the REPL, I got a 404, but when trying to paste in the navigator it's has an json as output. Does that mean the issue is from the token? 🤔
Octokit::NotFound: POST https://api.github.com/repos/IBAnimatable/IBAnimatable/statuses/280cbb3d8fd10a902b5b408277633dd9e48961fc: 404 - Not Found // See: https://developer.github.com/v3
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/response/raise_error.rb:16:in `on_complete'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/response.rb:9:in `block in call'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/response.rb:61:in `on_complete'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/response.rb:8:in `call'
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/middleware/follow_redirects.rb:61:in `call'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/rack_builder.rb:139:in `build_response'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/connection.rb:377:in `run_request'
	from /usr/local/lib/ruby/gems/2.3.0/gems/faraday-0.10.0/lib/faraday/connection.rb:177:in `post'
	from /usr/local/lib/ruby/gems/2.3.0/gems/sawyer-0.8.1/lib/sawyer/agent.rb:94:in `call'
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/connection.rb:154:in `request'
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/connection.rb:28:in `post'
	from /usr/local/lib/ruby/gems/2.3.0/gems/octokit-4.6.2/lib/octokit/client/statuses.rb:43:in `create_status'
	from (irb):17
	from /usr/local/bin/irb:11:in `<main>'

Did you give the token public_repo access? 🤔
https://github.com/settings/tokens/new

How about you consult<EMAIL_ADDRESS>to see if anything goes wrong? Thank you so much!

Thanks for your quick answers 🎉
Yeah, I have even tried to give it more access, but nothing changed... Consulting github is a good idea, I will keep you in touch!

The reason why that POST request is failing is that the user for which you created the token (IBAnimatableBot) doesn't have write permissions to the repository in question (IBAnimatable/IBAnimatable). The user needs to have write permissions in order to create statuses. You're able to fetch statuses because fetching them requires read permissions only, and since it's a public repository -- everyone has read permissions.

Here the intestering part of their answer! I didn't test it yet (will do tomorrow), but I think I read in the danger FAQ / setup that we shouldn't add the bot the repository (when the repository is public), does that seems normal to you?

Good news! Giving write access to IBAnimatableBot by adding it to the repository works (using REPL). I'm letting that issue open for one more question, is that the normal?

Looking at the PR, it looks like you never set the Dangerfile to say anything? So you never tested the important part which is communicating on the issue.
Well, generally speaking setting the status is unimportant ( it only adds an indicator at the bottom of a PR ) which is why we don't fail when that request fails. It's a nicety we do if we can.
IMO you should remove the bot from your org, and revoke that token, for OSS projects - anyone could use it to make any changes to all projects in that org now.
Test that Danger works by making her say something 👍
Perhaps we should add something in the FAQ about that, something like

Why am I seeing "set Status Failed" on my GitHub OSS project

Because we recommend not adding your bot to your OSS project, Danger will not be able to post status updates on a PR. A status update is the green/red/yellow dots at the end of your PR page. This does not affect Danger's ability to comment, and fail your CI build, so you are fine to ignore the message.

I see, I didn't get the difference between posting the comment and posting the statuses. Also, I was thinking that Danger will always trigger something even if everything there's no error (don't know why I suppose that).
I try it again following your comments, and everything is now working as expected! The bot is not a member anymore, CI failed, and Danger give me a warning 🎉
So, there's was no issue from the beginning, just a misunderstanding of the expected behaviour.
Add that to the FAQ is definitely worth it, pretty sure that will help anyone who is started 😬
@orta @JuanitoFatas Thanks a lot for the explanations and help! I have now a better understanding of Danger (and github API).
💯

rock

You guys rock, thank you very much for your help and super quick response 👍👍👍

I added the note to troubleshooting too, on the website - thanks for bringing it to us so that others will be unblocked

I am getting the following message when running the danger ci command
Request failed [401]: https://api.github.com/repos/test/web-angular/pulls/4
Response: {
  "message": "Bad credentials",
  "documentation_url": "https://docs.github.com/rest"
}


Spiral Matrix C++

Question: Given an m x n matrix, return all elements of the matrix in spiral order.
Input:
matrix = [[1,2,3],
          [4,5,6],
          [7,8,9]]

Output:  [1,2,3,6,9,8,7,4,5]
Can I work on this issue, please?

Please assign this issue to me. @avinash201199

can i work in this issue

Closing issue #112 Spiral Matrix


Track time negative hours and minutes

Hi @ospfranco , why is it that when I run a newly created track time it gives me negative hours and minutes?

I set the time only on application open, this is still WIP and also minor

Fixed


[question]: Where is list content drawn from?

There doesn't appear to be any available documentation on where these domains are retrieved from. Are you consolidating other public lists? Are they harvested from private servers, like with ShadowWhisperer's lists?

Heya, firstly, thanks for the question!
It's actually a little different, depending on the list itself.
Most are running by themselves nowadays with a, to be perfectly honest, not very well written crawler, which I am sure I will improve soon™, but it does its job for now.
They have a pre based list of servers and look for active sub- and related domains.
TV is actually based on local reverse DNS resolvers that a few friends of mine are nice enough to tolerate in their home.
Suspicious and Tracking are both running via an algorithmic tracking detector that runs with the crawler on every request and determines uniquely identifying cookies, local storage (supercookies), and canvas fingerprinting. If it observes a single third-party host tracking on multiple separate sites, it will be added to the list. This is based on EFF's Badger-Sett.
I generally check up on everything from time to time, but it mostly works without "user" intervention.
Hope that could clear up some stuff for you, I really need to be more transparent and will be working on a new and improved version of it, to open source it, I want to let it automatically interact with this repo in general, but yeah, if there's anything else, always feel free to ask me ^-^

I'm suspecting the YouTube ads list is derived from GoodbyeAds as it contains the watchdog.goodbyeads entry, but the others do seem mostly original. If you'd like to make some of the projects that collect this content public I'd be happy to take a look and clean them up.


iOS 7 support

iOS 7 support would be nice.

@FabianTerhorst: Any problems with iOS7?

Tested on iOS 7. So good so far, except you cannot use CocoaPods.


Handling a corner case better.

If a shard has no master, fail early, instead of panicking, in validation code.
@michael-berlin @dsslater

LGTM


React$Element type param default to React$ElementType

This will allow you to do:
type Props = {
  foo: React.Element
};

in order to accept any valid element type if you don't care to be more specific
Example

You'll still need to include the diamond even if it's empty, e.g. React.Element<>
This looks pretty reasonable to me but I'm going to ask @calebmer to take a look too. Also, could you update the tests as well as add one for this new usage pattern?

Feel free to reopen if you want to rebase and update the tests

I requested similar utility type in this issue: https://github.com/facebook/flow/issues/7306 :) Even though coming up with own utility types is rather easy, builtin would always be more convenient from documentation perspective.


Implemented fields.get()

Fixes #2215. Closes #2233.

Current coverage is 100% (diff: 100%)

Merging #2247 into master will not change coverage

@@           master   #2247   diff @@
=====================================
  Files          59      59
  Lines        1217    1218     +1
  Methods         0       0
  Messages        0       0
  Branches        0       0
=====================================
+ Hits         1217    1218     +1
  Misses          0       0
  Partials        0       0

Powered by Codecov. Last update 65b550e...1e455f6

@erikras this is HUGE.  Thank you so much!

Published in v6.3.1.


Http Storage Plugins need reorder "tail" and paginator parameters

Describe the bug
append the paginator parameters after tail (when requireTail = true)
To Reproduce

set the HTTP Storage Plugins configuration as follows:
{
"type": "http",
"connections": {
"sunrise": {
"url": "https://api.sunrise-sunset.org/json",
"requireTail": true,
.....
"paginator": {
"limitParam": "limit",
"offsetParam": "offset",
"pageSize": 100,
"method": "OFFSET"
}
}
}
}

when i exec sql like this:
select * from http.sunrise./test/123.json limit 10 offset 20;

I get the error request url from drill:
"GET https://api.sunrise-sunset.org/json?offset=20&limit=10/test/123.json"

but I expect the request is:
"GET https://api.sunrise-sunset.org/json/test/123.json?offset=20&limit=10"

Hi @xqgzh
I just submitted a bug fix for this.  If you could take a look and review, I'd really appreciate it.


Code Formatting wiki link redirects to FreeCodeCamp Codebase Page

How I generated the issue:
I found it while giving proper code formatting link to a camper in Gitter Help Chatroom today
Issue Description
Link : Code Format Wiki redirects to
https://github.com/FreeCodeCamp/FreeCodeCamp codebase page
Browser Information
Chrome v 54.0 (64 bit)
Mac OS X

@QuincyLarson has hidden the repo wiki as it is no longer maintained. All links to wiki articles will redirect to the repo page now.

well.. then Camper Bot shouldn't give this link when typed short command ''' to give a camper suggestion to understand how one can format the code in gitter, many people often use this method. So it can be considered issue with camperbot I guess

Looks like this line of code needs to be updated in the Camperbot codebase.

@erictleung This looks like it could be an ideal replacement.

@Manish-Giri Agree

Freecodecamp/camperbot#103 refers to this

I can do this change, if it needs to be done.

@Manish-Giri If you want to have a crack at it, head on over to the camperbot repo :+1:

@Dave1089 thanks for catching this issue. Yes, I agree with everyone on this thread - we should move forward with the fix.
@Manish-Giri here is the new wiki article: http://forum.freecodecamp.com/t/markdown-code-formatting/18391.json (in .json form, with its contents converted to HTML)
You may need to modify CamperBot to be able to pull the HTML out and render it properly. Gitter does not seem to render HTML properly. One alternative would be for you to hard-code Camperbot's response to this since as far as I can tell, this wiki article hasn't changed in a year.

Also affects the link to the Heroku+MongoDB integration article on https://www.freecodecamp.com/challenges/url-shortener-microservice

I agree with @pnahratow

@Dave1089 @pnahratow would one of you like to fix this? It should now point to http://forum.freecodecamp.com/t/guide-for-using-mongodb-and-deploying-to-heroku/19347

@QuincyLarson
Seem to already be in staging since July see a45b0a56

@pnahratow ok - thanks for the heads-up.
@BerkeleyTrue do you know the easiest way to apply an accepted PR to a second branch - in this case, backup/master?


Revert "Version 11.0.0"

Reverts bitfoundation/bitplatform#2113

reverting #2113  because of incorrect squash to main branch


I want to modify the name of DockingItem, which cannot be modified

Can the name property of DockingItem not be set to final

Hi @KeplerLei!
Sure, I can change it. But how do you intend to change the DockingItem? Are you going to keep a reference to the DockingItem in the State?
It might be useful to allow setting a dynamic id on the DockingItem and providing a findById method on the DockingLayout. What do you think?

Resolved by #22

Sometimes, I just need to change the name of DockingItem，I think it is good to provide an id as the only attribute，

#22 done :+1:


v1.11 Backports 2023-01-30

[ ] #23159 -- docs: Disable exclusive lock when chaining with aws-cni (@jaygridley)
[ ] #23339 -- cilium: Fix missing error log dump from compilation (@borkmann)

Minor conflict

[X] #23338 -- test: print log messages that need to be investigated (@aanm)
[X] #23334 -- tests: add exception for etcd error (@aanm)

Minor conflict

[x] #23377 -- proxy: Fix deadlock in error path of CreateOrUpdateRedirect (@gandro)

Minor conflict

[X] #23406 -- .github/workflows: fix external contribution detection (@aanm)

Minor conflict

[X] #23424 -- .github/workflows: fix typo in organization parameter (@aanm)
[X] #23431 -- .github: set do not use provenance from docker buildx (@aanm)

Minor conflict

[X] #23437 -- .github/workflows: set right secret name (@aanm)

Minor conflict

PRs skipped due conflicts:

#23202 -- Introduce node IDs (@pchaigno)

Once this PR is merged, you can update the PR labels via:
$ for pr in 23159 23339 23338 23334 23377 23406 23424 23431 23437; do contrib/backporting/set-labels.py $pr done 1.11; done

or with
$ make add-label BRANCH=v1.11 ISSUES=23159,23339,23338,23334,23377,23406,23424,23431,23437

/test-backport-1.11

Rebased to address conflicts

/test-backport-1.11

Travis failure on arm64 looks like a hiccup, doesn't seem related to the current changes. I filed https://github.com/cilium/cilium/issues/23495 for it.


Nuxt 3 broken error page handling on direct URL call

Environment

Operating System: Darwin
Node Version:     v20.9.0
Nuxt Version:     3.8.2
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-k9tmde?file=README.md
Describe the bug
The error page in Nuxt 3 stops working with this plugin enabled. A normal invalid NuxtLink is working, but if you call something not existing manually from e.g. the browser bar. The 404 error is not handled by Nuxt anymore.
After removing the server plugin compression.ts this is working again.
Additional context
I have linked a minimal demo on StackBlitz, but I had to download the project and use it locally to get the error. It could be related to how StackBlitz is handling the localhost URLs.
Logs
No response

can confirm. Just stumbled upon this one myself.
I've solved it this way to exclude nuxt internal routes:
import { useCompression } from 'h3-compression'

export default defineNitroPlugin((nitro) => {
  nitro.hooks.hook('render:response', async (response, { event }) => {
    if (response.headers?.['content-type'].startsWith('text/html') && !event?.context?.matchedRoute?.path.startsWith('/__nuxt')) {
      await useCompression(event, response)
    }
  })
})

Same problem here. @bernhardberger solution helped, but seems like that kind of check should already be included into plugin itself
@CodeDredd

I used
`import { useCompression } from "h3-compression";
export default defineNitroPlugin((nitro) => {
nitro.hooks.hook("render:response", async (response, { event }) => {
if (!response.headers?.["content-type"]?.startsWith("text/html")) return;
// If readable is false, it causes an error, dont know wht, but the only time it happes seams to be on 404 pages or errors
if (!event.node.req.readable) {
  return;
}

await useCompression(event, response);

});
});
`
To fix this error, do you know if this is a valid fix also?

@entropin This questions beats me. I dont know, but it looks good for me.


pdf_field_tester.yml has no metadata block

I tried adding a dispatch link for the pdf_field_tester.yml interview to have it show in my list of interviews for testing purposes, but there's no metadata for it so it shows as "Untitled"

Should be fixed @michaelhofrichter, feel free to repoen if you need more Metadata!

Thanks @BryceStevenWilley  That's all I needed. Appreciate it.


How to use a single GPU to train a downstream task

My GPU workstation has 4 Tesla V100 GPU. When I run s3prl/run_downstream.py, it automatically uses all 4 GPUs even if I specify one GPU. When the memory of one of the GPUs is insufficient, it reports cuda_out_of_memory.
Here's the test code. I just keep the import code for s3prl/run_downstream.py and specify one GPU, then print the number of GPUs, it says 4 instead of 1. Following is the code. It outputs 4 and the expected is 1.
`
import os
import re
import sys
import yaml
import glob
import torch
import random
import argparse
import importlib
import torchaudio
import numpy as np
from argparse import Namespace
from torch.distributed import is_initialized, get_world_size
from s3prl import hub
from s3prl import downstream
from s3prl.downstream.runner import Runner
from s3prl.utility.helper import backup, get_time_tag, hack_isinstance, is_leader_process, override
os.environ["CUDA_VISIBLE_DEVICES"]="3"
print(torch.cuda.device_count())
`

Hi!,
I think the code you show is just pointing out the available GPUs instead of what you will really utilize when running the run_downstream.py script.
So if you wish to constrain the script to use a specific GPU, maybe you can try:
CUDA_VISIBLE_DEVICES=2 python3 run_downstream.py ...

Note that the CUDA_VISIBLE_DEVICES index starts from 0.


Adds reusable for_each_input method

Experimenting with ways to cut down the boilerplate needed to set up IO in each command. While different commands take different approaches to handling input (some mmap, some make a Reader, some make a SystemReader, etc), the handling for output it pretty universal.
This patch shows what the change would look like for the symtab filter and to json commands.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This logic was added in #115.


making header more responsive and creative

Please describe the problem
Why do you want to add this feature?
header is not responsive and not much creative
Describe the solution you'd like
I want the header should be more responsive and creative
Screenshot
Please attach any relevant screenshot(s).

please assign this issue to me

@abansal15 assigning this to you

Even on the big screen, the header does not look very attractive. I would like to make it a bt more attractive by adding some CSS. Can you please assign it to me?

@abansal15 any update on this?

Ya I will rase the pr till tonight

@AshutoshDash1999 raised the pr

Please tag the issue number in the PR


Honeycomb thresholds cannot accommodate for data explorer SI abbreviations

In this example, the honeycomb sees the 1.7k as 1.7, and therefore a lower number. Setting the warning threshold at 5 colours the tile yellow, when both should be green as they are both higher than 5.

Is unit handling necessary here? Setting thresholds in Explorer should not require setting other thresholds in Powerup markup. Your screenshot show correct threshold coloring in explorer, without additional thresholds in Powerup markup, it should simply use the colors from Explorer.

Ah, I didn't think to check that; I assumed that nay colour coding in explorer would be overridden by the powerup. So, if I omitted thresholds in the powerup, it would just inherit the colours for the cells from explorer then?
I do wonder though, for those scenarios where we don't bother colouring in explorer, the honeycomb is still interpreting 1.7k as 1.7, so it would be seen as being lower than the 796 of the other data row, and that could confuse things.

Correct this would still affect thresholds for USQL based Honeycombs. I'd prefer to steer users towards in-product functionality whenever possible. I'm thinking I should disable thresholds if it's an explorer tile and eventually add unit conversion if it's a USQL tile.

I agree with you there; if there's in-product functionality available, using that would be best. I'll do that for any explorer based tiles then.

I've disabled the threshold functionality for Explorer tiles as discussed. Also in trying to build a reproducer case for USQL, it seems USQL only ever gives one unit for a field, e.g. for time it's always ms even for larger values. Thus, I feel there's nothing more needed here. Please reopen if you think otherwise. Thanks!


CocoaPods could not find compatible versions for pod "TUICallEngine/Professional"

I can't install the pod because of this error:
[!] CocoaPods could not find compatible versions for pod "TUICallEngine/Professional":
In Podfile:
tencent_calls_engine (from .symlinks/plugins/tencent_calls_engine/ios) was resolved to 0.0.1, which depends on
TUICallEngine/Professional (~> <IP_ADDRESS>0)
tencent_calls_uikit (from `.symlinks/plugins/tencent_calls_uikit/ios`) was resolved to 0.0.1, which depends on
  TUICallEngine/Professional

Specs satisfying the TUICallEngine/Professional, TUICallEngine/Professional (~> <IP_ADDRESS>0) dependency were found, but they required a higher minimum deployment target.
I attached the file also please check

Make sure the minimum deployment version of ios in your Podfile is 11.0 or above.
Use pod repo update to update your local specs, and then use pod install


Vary header cache

First try on an implementation to support vary header as asked for in
https://bz.apache.org/bugzilla/show_bug.cgi?id=61176
Do not merge.
I haven't written tests yet, as I am not sure, if the code is going in the right direction.
The idea at the moment is to store two entries in the cache, when a vary header is found in the response headers. One entry for the original url with the name of the vary header set and one entry for the url+var-header-name+vary-header-value (of the request).
The code makes it clearer, that the two http samplers with slightly different implementation details make it harder to implement this. For example both samplers have different notions of how the headers are implemented.

Thanks Felix for PR.
I reviewed it, it looks good to me.
Maybe since we're making API modifications we should start thinking about:

https://bz.apache.org/bugzilla/show_bug.cgi?id=53540

Thanks

Great progress, Felix!
Now we need to test it against real websites with Vary header, right?

@undera there are still a few tests missing, mainly the ones for vary headers for multiple and different headers. But you are welcome to give this some testing on real sites.
@pmouawad I think that the caching of content/partial content is a different beast and might be looked at after this pr.

I think this feature can be tested now.

Great @FSchumacher  !
Thanks for your work !

Hi Felix,
Looks good to me.
I'd just change a bit in HTTPJavaImpl#getHeaders(HeaderManager headerManager) to:
    private Header[] getHeaders(HeaderManager headerManager) {         if (headerManager != null) {             final CollectionProperty headers = headerManager.getHeaders();             if (headers != null) {                 List<Header> allHeaders = new ArrayList<>(headers.size());                 for (final JMeterProperty jMeterProperty : headers) {                     allHeaders.add((Header) jMeterProperty.getObjectValue());                 }                 return allHeaders.toArray(new Header[allHeaders.size()]);             }         }         return new Header[0];     }

Hi Felix,
I suggest you commit the PR so that we can update and test code more easily.
Thanks
Regards


[BUG] comfyui address does not include port

I can't understand why the extension doesn't work, I only see a white screen.
[ComfyUI] [sd-webui-comfyui] Setting up IPC...
[ComfyUI] [sd-webui-comfyui] Using inter-process communication strategy: Shared memory
[ComfyUI] [sd-webui-comfyui] Started callback listeners for process comfyui
[ComfyUI] [sd-webui-comfyui] Patching ComfyUI...
Applying attention optimization: sdp... done.
Model loaded in 4.0s (load weights from disk: 0.6s, create model: 0.6s, apply weights to model: 1.0s, apply half(): 0.8s, move model to device: 0.9s).

I also made the same mistake, the correct calling address should be http://<IP_ADDRESS>:8188 But what Stable diffusion calls is http://<IP_ADDRESS> , which has caused the inability to access, and I have not yet found a solution

This does not look right. Did you set a custom address or this is by default? did you change any of the configuration?

Traceback (most recent call last):
  File "sd-webui-aki\sd-webui-aki-v4\extensions\sd-webui-comfyui\lib_comfyui\comfyui\pre_main.py", line 7, in <module>
    from lib_comfyui import (
ModuleNotFoundError: No module named 'lib_comfyui'

Only see a white screen too.But I have an Error.

@DennyCai this is caused by PYTHONPATH not setup properly, or something like that. I hope to fix this different issue in #155. For the missing port issue, I suspect this is because the comfyui client address is manually specified and does not include a port.

I had this problem with Chrome, I switched to Microsoft Edge and it worked fine, maybe it's not too compatible with Chrome!

Sometimes the webui finishes loading before the comfyui server. That's what the reload comfyui interface button is for in the txt2img and img2img dropdown.

I've made it so that the client url in the settings is canonicalized. Any missing info like port or protocol is added back, it should resolve the confusion created by the recent change of behavior.

It still doesn't work for me, and I don't know what I'm doing wrong.

I'm missing context:

how do you start the webui, is this on a remote server or locally?
which version of the webui, the extension and comfyui are you running on, are all 3 on the latest version?
which operating system are you running on?

From the short section of the logs you have provided, it looks like comfyui does not finish starting for some reason. Maybe the situation you are running into has to do with this.

I tried a new clean install but I got the same results

It looks like the comfyui subprocess is freezing during the patch phase on your setup. This is not caused by a port missing in the configuration.
Does it help in any way if you chose "File System" instead of "Default" for the interprocess communication strategy?

It looks like the comfyui subprocess is freezing during the patch phase on your setup. This is not caused by a port missing in the configuration.
Does it help in any way if you chose "File System" instead of "Default" for the interprocess communication strategy?

I've done that, but the error is still there.


Fix in chapter 9: set OPM and clear CEN (for one pulse mode)

First of all, thanks for your great job in the world of programming microcontrollers in rust!
I believe the bit set and clear were mixed up. The registers are explained in the page 678 of the user manual.
Thanks!

Thanks @pheki!


embed: fix HTTPs + DNS SRV discovery

Fix #8445
@gyuho can you manually test it? or do we have a plan to add a test case for this?

Ok I will try manual-testing it. Thanks.

Can confirm this fixes the issue. Was able to reproduce and confirm the fix via https://github.com/coreos/etcd/pull/8654.

The ppc64 one is always failing recently. i have not digged into why. but that should not block this pr. so merging.

This change breaks existing clusters that use ETCD with SSL without the wildcard domain. It would have been good if it wasn't part of a patch release and the release notes highlighted that it is a backwards incompatible change.

@stephanh maybe we will revert this change, and find a better solution. i am not sure how to deal with it for now. but we will figure it out before the release.

@xiang90 it has already been included in the 3.2.9 release (https://github.com/coreos/etcd/releases/tag/v3.2.9).

@stephanh sorry. then we need to figure this out as soon as possible.

FYI this has been reverted and released with https://github.com/coreos/etcd/releases/tag/v3.2.10.


Popups appear as plaintext and not HTML-formatted

I'd like to use HTML in my marker popups but I'm having a super hard time figuring out the syntax. The markers appear as expected, however the popup is fully plain text and not HTML.
def popup_html(row):
    i = row.Index
    street_address=df['Full Street Address'].iloc[i]
    mls_number=df['Listing ID (MLS#)'].iloc[i]
    lc_price = df['L/C Price'].iloc[i]
    price_per_sqft=df['Price Per Square Foot'].iloc[i]
    brba = df['Br/Ba'].iloc[i]
    square_ft = df['Sqft'].iloc[i]
    year = df['YrBuilt'].iloc[i]
    garage = df['Garage Spaces'].iloc[i]
    pets = df['PetsAllowed'].iloc[i]
    phone = df['List Office Phone'].iloc[i]
    terms = df['Terms'].iloc[i]
    sub_type = df['Sub Type'].iloc[i]

    html = f"""[
      html.H1("Street Address"),
      html.P("{street_address}")]"""
    return html

# Dynamically generate the HTML popup code for each row
for row in df.itertuples():
    df.at[row.Index, 'HTML Snippet'] = popup_html(row)

# Create markers from dataframe
markers = [dl.Marker(children=dl.Popup([df.at[row.Index, 'HTML Snippet']]), position=[row.Latitude, row.Longitude]) for row in df.itertuples()]

# Add them to a MarkerCluster
cluster = dl.MarkerClusterGroup(id="markers", children=markers)

# Create the map
dl.Map([dl.TileLayer(), cluster], zoom=3, center=(51, 10), style={'width': '100%', 'height': '50vh', 'margin': "auto", "display": "block"})])

results in a map with markers like this:

Why is it in plaintext? Is there a way to pass HTML code into the popup like I can with Folium?

Hi,
popup_html returns a string thus it gets rendered as a string. If you return
[
      html.H1("Street Address"),
      html.P(f"{street_address}")
]

and create the popup like dl.Popup(df.at[row.Index, 'HTML Snippet']) you should get what you expect.

Thank you thank you thank you!! That worked perfectly (and also your explanation about returning a string makes sense now).
You helped me get past a 2 week block, I really appreciate it


chore: Updated pull request template to mention Typescript, eslint

[ ] Bug fix
[ ] New feature
[X] Chore
[ ] Breaking change
[ ] There is an open issue which this change addresses
[X] I have read the CONTRIBUTING document.
[X] My commits follow the Git Commit Guidelines
[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.

[X] I have updated the documentation accordingly.

[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

I realized I forgot to change the typings for my change #2016. To make sure other contributors don't miss this, I added a note to both the PR template and the CONTRIBUTING.md file

Thanks


Error when trying to add app to my account

This is my first time trying to add a custom app to my SmartThings, so I'm probably doing something wrong.  Any help would be appreciated!
When I go to https://graph.api.smartthings.com/ide/app/saveFromCode and paste in the code from https://raw.githubusercontent.com/ahndee/Envoy-ST/master/devicetypes/aamann/enlighten-envoy-local.src/enlighten-envoy-local.groovy, I get the following error:
No signature of method: script14845225286271511565877.metadata() is applicable for argument types: (script14845225286271511565877$_run_closure2) values: [script14845225286271511565877$_run_closure2@2d154b1e] Possible solutions: getMetadata(), getState(), pullData(), setState(java.lang.Object), metaClass(groovy.lang.Closure)
Any ideas?

You are trying to paste the device handler code into the code for a new SmartApp - that won't work. You need to use the "From Code" tab on https://graph.api.smartthings.com/ide/device/create/ instead


session create buffer error no connection closed

If the session creation buffer exceeds the maximum value, it should be closed

fix in <IP_ADDRESS>


Gainsight PX source documentation

What do these changes do?

Added documentation for the Gainsight PX source

Type of documentation

[x] New documentation
[ ] Documentation update
[ ] Hotfix

Converted Payload has to be updated will share the right one.


process: init process estimator so as to use other models

To use non-ratio models such as BPFCounterOnly for Kepler process metrics, the process estimator needs to be initiated.

/lgtm


add priority_countries_divider to readme

just a quick upgrade to docs.

Thanks!

🙏
On Tue, Jul 25, 2017 at 7:07 PM Adam Anderson<EMAIL_ADDRESS>wrote:

Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stefanpenner/country_select/pull/145#issuecomment-317887370,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAoLnuzM8HujJ9DYXIa9qz2f_44qcMx3ks5sRmcigaJpZM4OjHjm
.


fix: change in string for condition check

Fixes #231

@VadirajKranam thanks for the report and the fix. Please sign the CLA so we can proceed with reviewing and merging your PR

Hey @eliben i have signed the CLA


updated unit test

Description of Changes

updated request_test.go to successfully pass

Please check that the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] Add a changelog entry (for non-trivial bug fixes / features)
[ ] CI passes

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.6551887
+0.06894684
130.06398
+2.1900558

1
5000
5.7758493
-0.15522432
139.64777
+0.34698486

1
10000
12.534706
+0.6724758
145.24353
+0.8679962

1
50000
62.209797
+0.46752167
172.6087
-1.2972717

1
100000
128.68188
+11.9231415
224.44746
-1.3157349

10
100
2.327625
+0.18968678
133.14372
+2.3777008

10
500
6.948259
+0.017113209
141.38173
+2.806305

10
1000
13.551839
+0.10338211
148.69733
+2.8974915

10
5000
68.19157
-0.6199188
175.59052
-1.9492188

10
10000
134.8153
-18.450012
227.0846
-11.276794


Update Set-CsTeamsMessagingPolicy.md

per discussion with PM John Taig

Docs Build status updates of commit 7454de0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsTeamsMessagingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@JohanFreelancer9  done! many thanks

Docs Build status updates of commit 8230292:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsTeamsMessagingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@RuiPereiraTabares Please check the review comments and update. Thanks

@JohanFreelancer9 approved commint

Docs Build status updates of commit 26ac0bf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsTeamsMessagingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@get-itips @dariomws

@tiburd Please merge this PR. Thanks

Docs Build status updates of commit 0d00a59:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsTeamsMessagingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Pass className to Selector

Ideally, it would be nice to be able to pass a className into the selectors so users could add their own styles into it - background-color, etc.

I agree. Want to make a PR? I'm a little busy this week so it would be a bit until I can add this.

@charkour I'd be happy to do it. I'll create one as soon as I have time. 😁

Thanks! I appreciate it.

@justemoilouise, which selectors would you like this to apply to? All of them?
Also, are you actively working on this? If yes, I can assign you to this issue. Thanks

@charkour it would be nice to apply it to all of them. I haven't started working on this. 😅

Alright, thanks for the update!
[ ] Facebook Selector (and Pokemon Selector)
[ ] GitHub Selector
[ ] Slack Selector
We can use this to track updates. I'm not sure when I'll get time to do this either. But I'll update this if I start to work on it. Or you can let me know if you do. Thanks!!

Hello,
Is there any news regarding the custom styling feature ?
Thanks !

Hey @lagroms,
Right now this custom styling feature is supported for the Custom Selector. Do you need support for other selectors?
Thanks

Well I'm using the custom ReactionBarSelector, but no custom class in being applied in my case. Maybe I'm missing something ?
I'm using css-modules in my case :
const Reactions = ({ onSelect }) => {
    return (
        <ReactionBarSelector
            className={styles.reactions_container}
            reactions={reactionOptions}
            onSelect={(key, event) => onSelect(key, event)}
        />
    );
};

My bad, my question was regarding the ability to add a className on the  component, instead of passing the style directly to it.

Hi @lagroms!
Currently it is not possible to style the labels, but that is a great idea. Would you be willing to make a PR for this feature?


Add SignIn, SignOut route

[x] Sign in route
[x] Sign out route

Need to format all the files using Prettier

Im running pnpm check:prettier&pnpm fix:prettier to resolve this problem in the next commit. Is that enough ?

Im running pnpm check:prettier&pnpm fix:prettier to resolve this problem in the next commit. Is that enough ?

Yes


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c5l1d4wr57/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_c5l1d4wr57/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_c5l1d4wr57/clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_c5l1d4wr57/clone/recipe/meta.yaml:37: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_bbwcr6id09/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_bbwcr6id09/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_bbwcr6id09/clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_bbwcr6id09/clone/recipe/meta.yaml:37: missing_description: The recipe is missing a description
Errors were found


Fix an issue with concating empty frames

The issue is revealed in dask_gdf.merge.

This is weird.  I think I pushed a commit during the last GH outage and now this PR doesn't see my update.

Ok, a force push sync it.

@sklam looks good to me. Merging, thanks!


Update README.md

Added a note for windows platform

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

closing this PR as it is covered in PR #86.


Unable to connect to the admin dashboard

Hi,
I am using a rpi zero w with the latest buster lite.
Your latest commit allowed the setup to finish without any errors:
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ docker-compose up -d
Creating network "pi-hole-monitoring_influxdb" with the default driver
Creating influxdb ... done
Creating sql_influx ... done
Creating grafana    ... done
Creating telegraf   ... done

But I can't access the web interface and neither can I curl it:
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ sudo netstat -peanut | grep LISTEN | grep 3000
tcp6       0      0 :::3000                 :::*                    LISTEN      0          178138     12125/docker-proxy
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ curl -I http://<IP_ADDRESS>:3000
curl: (56) Recv failure: Connection reset by peer
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ sudo netstat -peanut | grep LISTEN | grep 3000
tcp6       0      0 :::3000                 :::*                    LISTEN      0          178138     12125/docker-proxy

After a few minutes, netstat reports that nothing is listening on port 3000.
I can docker-compose down && docker-compose up -d again, but to the same effect.
Please let me know how I can provide more info.

Can you run docker-compose up without the -d and see what the output says?

Sure, here you go:
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ docker-compose down
Stopping sql_influx ... done
Stopping grafana    ... done
Stopping telegraf   ... done
Stopping influxdb   ... done
Removing sql_influx ... done
Removing grafana    ... done
Removing telegraf   ... done
Removing influxdb   ... done
Removing network pi-hole-monitoring_influxdb
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ docker-compose up
Creating network "pi-hole-monitoring_influxdb" with the default driver
Creating influxdb ... done
Creating sql_influx ... done
Creating telegraf   ... done
Creating grafana    ... done
Attaching to influxdb, sql_influx, grafana, telegraf
influxdb exited with code 139

Looks like the pi zero might not have enough memory to start the stack. Try running
influx by itself with docker-compose run influxdb bash. If that runs and gives a shell, then the pi zero is failing because it runs out of memory. If not, let me know.

I'm not sure how to tell (this is after a reboot):
pi@raspberrypi-gr:~ $ free -m
              total        used        free      shared  buff/cache   available
Mem:            432         102         178           5         151         276
Swap:            99           4          95
pi@raspberrypi-gr:~ $ cd Pi-Hole-Monitoring/
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ docker-compose run influxdb bash
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $
pi@raspberrypi-gr:~/Pi-Hole-Monitoring $ free -m
              total        used        free      shared  buff/cache   available
Mem:            432         134         133           9         165         239
Swap:            99          19          80

You memory is fine. It's a buster lite issue. Someone else had the same issue on DietPi which essentially is Stretch lite. The lite version of the OS does not come with everything required to start this.


Tooltip is not working in bootstrap 5 beta1 with an svg?

Currently I'm using Bootstrap 5 beta1.
But I face a problem. When I use tooltip with button it working good. But If I use tooltip with an icon (svg, feather icon), it's not working.
On another things. If I use tooltip with svg it working 1st time. Please check.
Click here to see my JSFiddle
I also checked bootstrap 5 beta1 tooltip example. But I face same problem here.
Check here it's not working. See svg with tooltip section.
Please anyone give me a solution.
Thanks in advance.

I'm new to open source and I wanna fix this issue. Can you please guide me what procedure do I need to follow before forking the code and start working ?

Duplicate of #31646


Fix Issue with Library Mutating Input Param Object.

This commit fixes an issue where the input params objects were being
mutated.
It seems quite unexpected that the provided input params would be
mutated by the stream.
This was causing issues when using a list of headers that is
a subset of the whole CSV column set as therefore desiring to also
apply the same header set to the includeColumns so that resulting
JSON object doesn't have extra properties; Field1, Field2... etc.

Rebased a new version that should pass CI in old nodejs versions,  sorry for all the failed builds.

Thanks for the contribution.


[Bug] Chatbox header is hiding behind navbar

Description
When i open the chatbox that it opens but the header of the opened checkbox is hiding behind the navbar .
In my opinion the header should comes over navbar for better user experience .
I want to work on that .
If suitable assign this issue to me .
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

hii...pls assign me this issue

@Rakesh9100
Assign this task.

Issue 621 is already open for this, you can comment there if you want to work @Ayushmaanagarwal1211


[python3] Add import test and add features for readline and extensions

Add an import tester for extension modules
Add a feature for linking readline (enables proper keyboard controls in python, like backspace etc)
Add feature for extensions: This disables unnecessary deps for static builds without extensions however enabling extensions means dynamic build for the port (since dynamic python is a requirement for extensions at least for windows).
Fix building paths for building extensions (other way Python.h and/or python libs are not found)
Fix ssl linkage on !windows

hmm linux ssl linkage is broken:
The necessary bits to build these optional modules were not found:
_curses              _curses_panel        _dbm
_gdbm                _hashlib             _ssl
_tkinter             readline
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Reason for breakage:
configure:23280: /usr/bin/cc -pthread -o conftest -fPIC -O3 -I/mnt/vcpkg-ci/installed/x64-linux/include -DNDEBUG -Wl,-rpath,/mnt/vcpkg-ci/installed/x64-linux/lib -L/mnt/vcpkg-ci/installed/x64-linux/lib  conftest.c -lpthread -ldl  -lutil -lssl -lcrypto >&5
/usr/bin/ld: /mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x17): undefined reference to `dlopen'
/usr/bin/ld: dso_dlfcn.c:(.text+0x2a): undefined reference to `dlsym'
/usr/bin/ld: dso_dlfcn.c:(.text+0x35): undefined reference to `dlclose'
/usr/bin/ld: /mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_bind_func':
dso_dlfcn.c:(.text+0x1cf): undefined reference to `dlsym'
/usr/bin/ld: dso_dlfcn.c:(.text+0x2ce): undefined reference to `dlerror'
/usr/bin/ld: /mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_load':
dso_dlfcn.c:(.text+0x345): undefined reference to `dlopen'
/usr/bin/ld: dso_dlfcn.c:(.text+0x3d0): undefined reference to `dlclose'
/usr/bin/ld: dso_dlfcn.c:(.text+0x401): undefined reference to `dlerror'
/usr/bin/ld: /mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_pathbyaddr':
dso_dlfcn.c:(.text+0x4d6): undefined reference to `dladdr'
/usr/bin/ld: dso_dlfcn.c:(.text+0x547): undefined reference to `dlerror'
/usr/bin/ld: /mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o): in function `dlfcn_unload':
dso_dlfcn.c:(.text+0x6d8): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status

static triplet, traditional linker, -ldl too early.

static triplet, traditional linker, -ldl too early.

-ldl is not to early. Since it is not coming from openssl here. Seems like the pkg-config check in AX_CHECK_OPENSSL somehow is not successful which is why it is falling back to some hardcoded -l flags when the header exists.

cc @Hoikas: Do you have any problems with this PR? You should still be able to build python3 statically if you don't need extensions. Just need to depend on python3[core] ("default-features":false) then.

@WangWeiLin-MV Are you waiting for something to mark it reviewed or are you doing feature testing? I would like to see this being reviewed by Billy by Wednesday so that he can pull it into the team meeting on Thursday because I am probably not going to get this merged without that.....

Failed on Windows, try vcpkg install python3[core] then got:
link.exe
...
"BZ2_RELEASE-NOTFOUND"
"EXPAT_RELEASE-NOTFOUND"
"FFI_RELEASE-NOTFOUND"
"LZMA_RELEASE-NOTFOUND"
"SQLITE_RELEASE-NOTFOUND"
zlib.lib
version.lib
...

Failed on Windows, try vcpkg install python3[core] then got:

A the one case I did not check. Should be fixed now.

@BillyONeal  @JavierMatosD: team on vacation or is there a pause in thursday team meetings? Was somehow expecting a response by now.

gentle ping

Reference in n

@Neumann-A, half of the team is currently out of office. I'll make sure to bring this up in our next meeting.

@JavierMatosD: Feels like you forgot about it? (or there was no team meeting?)

Sorry, I marked it then went out of town for 3 weeks 😅

Paraphrasing @ras0219-msft "This looks like something that would only ever be used in testing, which is not something we would normally do in a customer facing port build, which argues that it should be in test ports."
Are we misunderstanding what this is intended to do somehow?

Are we misunderstanding what this is intended to do somehow?

Yes. If you are missing symbol from a linked library you'll get an linker error. If you are missing a package in a python import you'll get an error. This is meant to be customer facing test as a scripted post build check which avoids errors of missing python dependencies or other stuff which might go wrong/be at the wrong location.
It doesn't test functionality of whatever has been build it just answers: Can this even be used in some sensible way. Just like config.cmake files have to be at a certain location to be useful.

next to the test ports that use it.

There is no test ports which uses it. The intention is to directly use it in the port building python stuff.

This is meant to be customer facing test as a scripted post build check which avoids errors of missing python dependencies or other stuff which might go wrong/be at the wrong location.

We conventionally don't run tests as part of build; how is this different?
Not wanting ports to run tests themselves is why we have test ports in the first place.
can these Python checks be done in test ports or is there some reason they must not be?
Can you describe an example of how this is expected to be used?

We conventionally don't run tests as part of build; how is this different?

That is incorrect. You are already analyzing files (architecture/full paths etc.) That can also be considered testing. This just uses python directly to analyze the file structure of the to be installed package to validate it. It is not running a real test of the module to be installed like, e.g. running the numpy unit test suite via np.test(). This should be done separately

Not wanting ports to run tests themselves is why we have test ports in the first place.

The reason not to run tests within ports is just so that they can be easily re-run without a need for re-installation.  In the future you might want to introduce another way for testing in having a portfile.test.cmake or so which can be run without needing an additional port for it.

can these Python checks be done in test ports or is there some reason they must not be?

Can the architecture checks be done with a test port? Can the full path checks be done with a test port? Yes they could. Everything could be done with a test port. None of those must be done before there are just reason you would like to have them before it is installed and moved to the binary cache. The import test makes sure that the module is in some kind of a useable state. You don't want to push stuff to the cache if it is not at least useable (meaning it is literal broken and you know it.).

Can you describe an example of how this is expected to be used?

Exactly as used here:
vcpkg_python_test_import(MODULES <list of modules to check>)
Theoretically list of modules to check could be extracted via the file structure in the packages dir itself (e.g. by looking into site-packages and seeing which modules are added) but i didn't want to go there for a script port. So there is a way to do this check automatically by playing with Z_VCPKG_POST_PORTFILE_INCLUDES and make it invisible but I really don't want to do it this way currently.

@Neumann-A Note that CMake config testing as part of ports is also rejected.

@Neumann-A Note that CMake config testing as part of ports is also rejected.

That is a bit different. You can still use a library with a broken cmake config by other cmake means. Also the language connection is a bit different since cmake is not directly interacting with C/C++/CUDA/etc. At runtime.
If a python module cannot be imported in python it is broken at runtime and thus unuseable.
A proper config check would require actual knowing a symbol of the library, using it and linking it via cmake. So at least 3 programs would be involved cmake/compiler/linker.

Note that python itself has a build step that checks whether it can import its modules. Extending that to other ports is reasonable to me.

@Neumann-A Note that CMake config testing as part of ports is also rejected.

Note that this is because we tried to do that before, and it didn't work. The problem is that such a test needs to run after the bits are copied into the installed tree, and that has not happened while portfile.cmake is running.
Is the way this test works vulnerable to the same class of issue? (Presumably the intent is to know that the installed bits work after they are installed?)
Are there concerns about such tests really only working for the host since they are expecting to run code?

Note that python itself has a build step that checks whether it can import its modules. Extending that to other ports is reasonable to me.

It does mean a lot to me that, for lack of a better description, "one of the Python people" who aren't the original author seem to want this.

Can the architecture checks be done with a test port? Can the full path checks be done with a test port? Yes they could. Everything could be done with a test port. None of those must be done before there are just reason you would like to have them before it is installed and moved to the binary cache.

That's not actually true: We store in the binary cache even if post-build checks fail. Doing those in a test port might be hard because after installation it's hard to tell what came from what ports apart.
@ras0219-msft points out another difference is that our post-build checks are

universally applicable
the tests / execution is not based on the target triplet
don't run arbitrary code out of the resulting built bits (and thus is unaffected by any potential performance of arbitrary startup code)

@ras0219-msft "This is running the code that was built, and that really sounds like 'test port' to me" [...] and he doesn't think executing the code that was built should be in the 'critical path' of the port.
@Neumann-A Would you be willing to sever the parts of this PR that are uncontroversial (that is, everything but vcpkg-python-test-import we would have merged already)?

@Neumann-A Would you be willing to sever the parts of this PR that are uncontroversial (that is, everything but vcpkg-python-test-import we would have merged already)?

done #41183

Note that this is because we tried to do that before, and it didn't work.

I think some variables just need to be tweaked and it could (rather will) work. dg0yt can probably make that work.

The problem is that such a test needs to run after the bits are copied into the installed tree, and that has not happened while portfile.cmake is running.

Strongly depends on the test. CMake usage could be tested by supplying CMake with the correct additional paths into CURRENT_PACKAGES_DIR.

Is the way this test works vulnerable to the same class of issue?  (Presumably the intent is to know that the installed bits work after they are installed?)

I don't think so. Python is customizable where it looks for stuff and that is used here. You could also use a python outside of vcpkg for testing if the version of the deps match accordingly. But the idea here is to actually detect if all requirements for the package are there.

Are there concerns about such tests really only working for the host since they are expecting to run code?

I don't have concerns about. Some testing on the host is better than no tests at all.

points out another difference is that our post-build checks are

Fair points. "universally applicable", depends on what "universally" means. Checks for abs paths yes, checks about architecture etc. maybe. Considering that everything has a policy to disable the check "universally" is probably not that universal

the tests / execution is not based on the target triplet

That is not true. Some tests are not run on linux. So saying that the tests are not depending on the target triplet is in my opinion incorrect

don't run arbitrary code out of the resulting built bits

Yeah that is correct. I don't control what init of the module does. However, if somebody requests a module i expect them to use the module and that will hit init either way. Secondly, we are running arbitrary code in ports indirectly already (moc, gobject, protoc, there are probably many more examples).

"This is running the code that was built, and that really sounds like 'test port' to me" [...] and he doesn't think executing the code that was built should be in the 'critical path' of the port.

Ok you don't want to have:
vcpkg_python_test_import(PYTHON_EXECUTABLE "${VCPKG_PYTHON3}" MODULES "sys" "ctypes" "ssl")
because that is the bit running the code. You could move that single line into a test port (+ the n lines required to define the manifest + creating the folders and passing the overlay) , however vcpkg-python-test-import is not a test port. It is a script port providing functionality. If people want to opt into having vcpkg_python_test_import(PYTHON_EXECUTABLE "${VCPKG_PYTHON3}" MODULES "sys" "ctypes" "ssl") (or similar) in tree in a port they should be able to do just that.


chore(deps): update @egoist/tailwindcss-icons

🔗 Linked issue
Fix #1840

❓ Type of change

[x] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality)
[x] ✨ New feature (a non-breaking change that adds functionality)
[x] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[x] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
📝 Checklist

[x] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

Closing in favor of https://github.com/nuxt/ui/commit/49174b76285f88b84a2a299fa3e9f562eb236bfd. The lockfile you pushed contained way too many changes.


Signature help does not highlight current parameter

That was the tooltip font that looked the same in regular and bold weights. Switching to Consolas has fixed this:


Updated samples to 1.9

The new AR marker sample here (or https://github.com/microsoft/OpenXR-Unity-MixedReality-Samples/pull/154) doesn't work out of the box for me - have I misconfigured something?
I have:

Pulled this repo
Built and run
Force-quit app on device
Enabled camera permissions via HoloLens settings
Restarted app

But no detections and nothing in the in-app unity log readout.  Have also tested with printed QR codes for sanity.

@camnewnham can you try with the newest runtime? 113.2309.7002

@camnewnham can you try with the newest runtime? 113.2309.7002

I don't have any updates pending via the Microsoft Store on HoloLens (based on https://learn.microsoft.com/en-us/windows/mixed-reality/develop/native/openxr-getting-started#getting-started-with-openxr-for-hololens-2)
Is there another way to update or do I need to be on an insider track?

Ah - yes makes sense the latest runtime is required. I'll wait till it's generally available :)

Ah - yes makes sense the latest runtime is required. I'll wait till it's generally available :)

If you would like to try it now, you can use the preview runtime using the instructions here: https://learn.microsoft.com/en-us/windows/mixed-reality/develop/native/openxr-getting-started#using-preview-extensions


Set node use to v12 for heroku

Context
Changes proposed in this pull request
For our review apps, we had the node engine version set to >12.0.
This meant that up until recently our review apps were using a newer nodejs
version compared to our local dev setup. We only spotted this issues today
after v16 of nodejs was released yesterday and Heroku tried to use that
but all our review apps started failing as a result of our dependency not
being compatible with v16.
For the time being we will stay on v12 but we should look to update to
latest LTS version which at the time is v14. This is a bigger task because
we need to ensure our docker image is pulling in the correct version of node
and some other checking is required.
Guidance to review

Review apps are deployed successfully
v.12 is being used on heroku

Heroku logs found below for the review app generated from this PR.
-----> Building on the Heroku-18 stack
-----> Using buildpacks:
       1. heroku/nodejs
       2. heroku/ruby
-----> Node.js app detected

-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       YARN_CACHE=true
       USE_YARN_CACHE=true
       NODE_ENV=production
       NODE_MODULES_CACHE=true
       NODE_VERBOSE=false

-----> Installing binaries
       engines.node (package.json):  12.x
       engines.npm (package.json):   unspecified (use default)
       engines.yarn (package.json):  unspecified (use default)

       Resolving node version 12.x...
       Downloading and installing node 12.22.1...
       Using default npm version: 6.14.12
       Resolving yarn version 1.22.x...
       Downloading and installing yarn (1.22.10)
       Installed yarn 1.22.10

-----> Restoring cache
       - yarn cache

       ```

 Review apps are failing for every PR


Add additional linting check

Change the linting workflow to not use the flake8 action anymore; but just run flake8 ourselves. Additionally, add in ruff as a linting action. ruff is a relatively new linter that I'd like to move to going forwards. However, it doesn't have all the features we require yet so using it in tandem with flake8.
Additionally, fix all the current linting issues so future commits don't fail with the new job.

@brods for ref; this won't pick up the issue we saw in your PR (#309) yesterday.

Technically, it is valid Python but it just makes the last few elements one string rather than several separate elements in the list. Which, would have been a hilarious message for the bot send but still unintended behaviour.


Fix for 'port already in use by another kube-scheduler process'

Stop kubelet service before updating Docker (#731)

Fixes #731


Allow filtering of ICE candidates

Allows the passing of a filterCandidate function in the options that when provided should return true/false indicating if a candidate should be applied or not.
Useful for enforcing ICE candidate preferences (such as UDP only, TURN only, etc)

Cool - I'll add you to the npm owners for this package (and others when I get the chance).

Done:
[master][damo@djo-carbon unidir]$ npm owner add nathanoehlman rtc-taskqueue
npm http request GET https://registry.npmjs.org/-/user/org.couchdb.user:nathanoehlman
npm http 200 https://registry.npmjs.org/-/user/org.couchdb.user:nathanoehlman
npm http request GET https://registry.npmjs.org/rtc-taskqueue
npm http 304 https://registry.npmjs.org/rtc-taskqueue
npm http request PUT https://registry.npmjs.org/rtc-taskqueue/-rev/52-5deb0ae5a7a34d3d606b94d292a3972f
npm http 200 https://registry.npmjs.org/rtc-taskqueue/-rev/52-5deb0ae5a7a34d3d606b94d292a3972f
+ nathanoehlman (rtc-taskqueue)

Just added you to a whole bunch of them :)

Awesome - cheers :)

Awesome!!


Implement celo tx support in ethereumjs-vm

3 additional fields
pay for transactions in stable tokens

foundation grant hopefully covers this?

cc @aslawson is there a progress update on grant?

useful for env-tests with ganache
potential alternative to heavy/error prone e2e tests with geth mininet
hardhat & truffle both use @ethereumjs/vm
external developers should probably be using these native features even if they haven't been anecdotally

@ethereumjs-vm v4 used by ganache and is under scope of shard labs work
@ethereumjs-vm v5 used by hardhat-network hasn't been explored yet

can be closed out with https://github.com/celo-org/celo-monorepo/issues/8270