BPF verifier does not permit use of bpf_probe_read() / bpf_probe_read_str() functions for architectures with overlapping address spaces

Describe the bug
The BPF driver cannot be loaded because BPF verification fails with "unknown func bpf_probe_read_str". This problem occurs on architectures (e.g. s390x) that have distinct address spaces for kernel and user space where address ranges can overlap/being valid in both address spaces. In such cases, the BPF verifier does not permit use of bpf_probe_read{_str}() functions. Instead, using the kernel and user variants is required.
The respective kernel change was introduced with commit "bpf: Restrict bpf_probe_read{, str}() only to archs where they work" https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ebeea8ca8a4d1d453ad299aef0507dab04f6e8d
See below for additional detals and scap-open output.
How to reproduce it
To reproduce this issue on architectures with non-overlapping address ranges, rebuild the Linux kernel and turn off the config option CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE.

git clone the libs repository
Follow the generic builds steps and also build the BPF driver: cmake -DUSE_BUNDLED_DEPS=true -DBUILD_BPF=true ../
Build the scap-open test program
Run the the scap-open test program as follows: # ./libscap/examples/01-open/scap-open --bpf driver/bpf/probe.o

Expected behaviour
The expected behavior is BPF program can be successfully verified and loaded. The  BFP program should not use functions that let the BPF (tracepoint) verifier fail.
Screenshots and terminal output
# ./libscap/examples/01-open/scap-open --bpf driver/bpf/probe.o

---------------------- SCAP SOURCE ----------------------
* BPF probe: 'driver/bpf/probe.o'
-----------------------------------------------------------

---------------------- CONFIGURATIONS ----------------------
* Simple consumer mode: 0 (`1` means enabled).
* Print single event type: -1 (`-1` means no event to print).
* Run until '18446744073709551615' events are catched.
--------------------------------------------------------------

-- BEGIN PROG LOAD LOG --
0: R1=ctx(off=0,imm=0) R10=fp0
[...]
188: (85) call bpf_probe_read#4
unknown func bpf_probe_read#4
processed 180 insns (limit 1000000) max_states_per_insn 0 total_states 6 peak_states 6 mark_read 6

-- END PROG LOAD LOG --
libscap: bpf_load_program() err=22 event=filler/sys_single (1)

Environment

Falco version: n/a - simply used the scap-open command from the libs repositor
System info / Cloud provider / hardware configuration: IBM z14 with z/VM 7.1.0
OS:

cat /etc/os-release
NAME="Fedora Linux"
VERSION="35 (Thirty Five)"
ID=fedora
VERSION_ID=35
VERSION_CODENAME=""
PLATFORM_ID="platform:f35"
PRETTY_NAME="Fedora Linux 35 (Thirty Five)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:35"
HOME_URL="[https://fedoraproject.org/"](https://fedoraproject.org/%22)
DOCUMENTATION_URL="[https://docs.fedoraproject.org/en-US/fedora/f35/system-administrators-guide/"](https://docs.fedoraproject.org/en-US/fedora/f35/system-administrators-guide/%22)
SUPPORT_URL="[https://ask.fedoraproject.org/"](https://ask.fedoraproject.org/%22)
BUG_REPORT_URL="[https://bugzilla.redhat.com/"](https://bugzilla.redhat.com/%22)
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=35
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=35
PRIVACY_POLICY_URL="[https://fedoraproject.org/wiki/Legal:PrivacyPolicy"](https://fedoraproject.org/wiki/Legal:PrivacyPolicy%22)

Kernel:

# uname -a
Linux m8345024 5.18.11-100.fc35.s390x #1 SMP Tue Jul 12 22:33:28 UTC 2022 s390x s390x s390x GNU/Linux

Installation method:
From libs git repository, git commit a8747b00a8730344a5400e537598f8401a31b7f5

Additional context
The conversion of the bpf_probe_read() and bpf_probe_read_str() to their kernel and user space variants can improve security by explicitly referencing the correct address space.

cc: @iii-i and @kcrane

Hey, @hbrueckner thank you for reporting this! I know there are these kinds of problems in architectures like s390x  this is why right now we are not officially supporting them :( Unfortunately, these architectures have also other problems like they cannot catch clone,fork,vfork child exit events... I have tried to solve this second issue in our kernel module, but for what concerns the bpf side, it will require a lot of extra work since there is also the first issue that you mentioned. Right now I'm quite busy, but I will try to solve this ASAP, hoping this won't require me to change a lot of stuff BPF side :/

Uhm I have seen here that the bpf_probe_read_user and bpf_probe_read_kernel helpers are defined only in kernels >= 5.5, so, unfortunately, we cannot fix all the previous kernel versions :/

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale
@Andreagit97 I already make some progress to resolve this issue. I keep you posted when I have my branch ready for a PR.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale


Failures on Add test of potentially constant scopes.

There are new test failures on Add test of potentially constant scopes..
The tests
language/constants_2018/potential_const_test MissingCompileTimeError (expected Pass)
language_2/constants_2018/potential_const_test MissingCompileTimeError (expected Pass)

are failing on configurations
cfe-linux
cfe-strong-linux
cfe-weak-linux

The errors are missing compile-time errors for invalid (no-potential const) expressions in potential const-required contexts.
It might be a case of premature tree-shaking, since I believe the errors do occur if I add invocations of the const constructors in question.

cc @jensjoha


Revert the formatting part of the syn wrap change

I did not test this locally. I attempted to revert it as cleanly as possible.
If you prefer I can also revert the entire change which has a higher chance of being correct.
fixes #29

I don't have the time to properly set up a local development environment and test a nice fix that does everything nicely. But I very strongly believe that this was a significant regression of functionality and that the previous state was better.

let me test it

it works quite well

hold on you broke unsafe

diff --git a/src/commands/playground/util.rs b/src/commands/playground/util.rs
index dd1d3d5..3409ca6 100644
--- a/src/commands/playground/util.rs
+++ b/src/commands/playground/util.rs
@@ -247,7 +247,7 @@ pub fn maybe_wrapped(
 	.to_owned();

 	if unsf {
-		after_crate_attrs = format!("{unsf}unsafe {{");
+		after_crate_attrs = format!("{after_crate_attrs}unsafe {{");
 	}

 	// fn main boilerplate counterpart
diff --git a/src/main.rs b/src/main.rs
index 651ecc1..3140b3e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -86,8 +86,8 @@ async fn serenity(#[shuttle_runtime::Secrets] secret_store: SecretStore) -> Shut
 					poise::Prefix::Literal("<:ferris:358652670585733120>"),
 					poise::Prefix::Literal("<:ferrisballSweat:678714352450142239> "),
 					poise::Prefix::Literal("<:ferrisballSweat:678714352450142239>"),
-					poise::Prefix::Literal("<:ferrisCat:678714352450142239> "),
-					poise::Prefix::Literal("<:ferrisCat:678714352450142239>"),
+					poise::Prefix::Literal("<:ferrisCat:1183779700485664820> "),
+					poise::Prefix::Literal("<:ferrisCat:1183779700485664820>"),
 					poise::Prefix::Literal("<:ferrisOwO:579331467000283136> "),
 					poise::Prefix::Literal("<:ferrisOwO:579331467000283136>"),
 					poise::Prefix::Regex(

@ivandardi this is now ready for review, @bend-n tested it so it should work fine


Allow to create a heightmap collision shape from an image

Before I had to manually convert all pixels in GDScript to a PoolRealArray, so I added the possibility to pass an image, which is faster and simpler.

CC @AndreaCatania

Thanks!


[Feature] Implementing ServiceMain in Server.exe?

Discussed in https://github.com/TLeonardUK/ds3os/discussions/72

Originally posted by rscales2929 February  1, 2022
Hi, are there any plans to implement ServiceMain in Server.exe, allowing it to run as a Windows service? I'm not a professional C++ dev, but it seems like it would fit right into Entry.cpp.
Right now you can get a t2.micro Amazon AWS EC2 Windows Server 2019 instance for free, meaning those inclined to put in the leg work can set up a hosted DS3 Open Server. They can keep it running for 750 hours/month at no cost. To me, this is infinitely preferable to opening my personal computer to the Internet.
I used NSSM to create a wrapper for Server.exe on my EC2 instance, but being able to run DS3OS directly as a service would be preferable. (Btw, happy to share my AMI for those interested in spinning up their own instances.)

I put together a working sample of this on my fork: https://github.com/FracturedShader/ds3os/tree/feature/run-as-service
There are a few TODOs left before it is fully ready, but the main goal was to preserve all current functionality precisely as it is while enabling the ability to register the server as a service. This way it can be run directly (how it currently works), or as a service without any special configurations on the part of the user.
Remaining TODOs:

Proper reporting to the Windows Event Log requires very custom message file compilation that also must be linked in the Registry to work
The service must run as the same user as the Steam client for the Steam APIs to work. This could be setup dependent

If the approach so far seems reasonable it should be possible to handle these remaining items in a fairly straightforward way so long as we assume anyone doing this is comfortable with manipulating Windows Services.


metarepos: Return grpc error code in response to UpdateLogStream rpc.

UpdateLogStream RPC in the admin server returns vague error codes in some cases. Thus, the clients that call this RPC can have trouble handling errors.
To clarify and correctly handle the causes of errors, we need to define an explicit error code for every response from UpdateLogStream rather than depending on the verrors package.

Edited description of this issue.


Sensu Go Enablement : Refactor for GA changes

Refactor the Sensu Go enablement to account for GA changes.
Description

Check and Entity metadata was reorganized in beta8.

beta8 also introduced new annotation concept to replace custom attributes. New mapping logic will treat env defined annotation as json string and will map into Sensu Core 1.x compatible Ruby hash representation of event data.

Sensu Go versioning jumped to 5 from 2 in refactor. Enablement logic refactored  to indicate "Sensu Go" event mapping instead of specific event version. Function names were updated accordingly to reduce confusion.

Added simple enablement mutator command that should help users start to migrate workloads. Provided mutator should help any workload that doesn't already require a mutator.

Motivation and Context
Sensu Go beta8 refactor of Event model broke mapping to 1.x event.
How Has This Been Tested?
Using updated handle-logevent.rb for manually updated sensu-plugins-logs plugin
Also updated the testing fixtures in the plugin to include changes
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have updated the Changelog following the conventions laid out on Keep A Changelog

Known Caveats

Latest commit should have addressed all outstanding comments.

released: https://rubygems.org/gems/sensu-plugin/versions/3.0.0


Greetings

This is a beautiful framework! Congratulations. Do you have any plans to add navigation and tabs?
Thanks,
Everardo

Motus is meant to a foundation to build a website upon, unlike other frameworks such as bootstrap. So making a standard navigation bar isn't a high priority, but I might add it at some point. And adding tabs actually sound like a really good idea.

Thank you so much!


Not working on iOS

XCode Version 7.2.1 (7C1002)
simulator or device (iOS 8.4, 9.2)
Working on Android but on iOS I don't get any notifications!
Geofence successfully initialized
Geofence successfully added (just one because I know the limit of 20)
Starting monitoring for region CLCircularRegion ..
radius enough (50000 where the lat and lng are my current position)

Hi gaecer, the plugin notify the enter/exit on a region. If you are yet in the location no notification are show.

not woring on ios with giving radius 30000m

@gaecer - pls let me know the root cause of issue, having same at my end. Thanks

@brijesh-p I don't remember exactly now, but I think I did my own native function at the end, because this plugin is just not working well.


Fix default tags becoming mangled

Updated the way the service is run to fix issue with default tags becoming mangled - we were seeing that the tags were being read in as "hostname:... and anything following this was dropped, and I suspect it was the way the quotes were being handled/escaped.

FYI, this is relating to NewRelic support case number 00042696

 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.Matthew Lewis seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I've also tried signing the CLA, but the app doesn't appear to be working properly :|

@amasses  I see that commits are not signed. Can you sign them please? We'll merge after being signed. Thanks!

@amasses I see that commits are not signed. Can you sign them please? We'll merge after being signed. Thanks!

Merging this as it is a small and controlled change and fixes a bug.


fix socket.io error

requested socket connection was not specifying the port for devkit
server. Because of that, repeated polling was failing and it was
spamming the console.

Works for me. @mgh can you take a look? This fixes the socket.io polling problem that keeps coming up in IRC and on the mailing list.


Messed up styles in Django Debug Toolbar

When using django-cotton with django-debug toolbar, I messes up with the styles from the toolbar:

This is my config
TEMPLATES = [
    {
        # https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATES-BACKEND
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        # https://docs.djangoproject.com/en/dev/ref/settings/#dirs
        "DIRS": [str(APPS_DIR / "templates")],
        # https://docs.djangoproject.com/en/dev/ref/settings/#app-dirs
        "APP_DIRS": False,
        "OPTIONS": {
            "loaders": [
                "django_cotton.cotton_loader.Loader",
                "django.template.loaders.filesystem.Loader",
                "django.template.loaders.app_directories.Loader",
            ],
            # https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors
            "context_processors": [
                "django.template.context_processors.debug",
                "django.template.context_processors.request",
                "django.contrib.auth.context_processors.auth",
                "django.template.context_processors.i18n",
                "django.template.context_processors.media",
                "django.template.context_processors.static",
                "django.template.context_processors.tz",
                "django.contrib.messages.context_processors.messages",
                "ericluna_dev.users.context_processors.allauth_settings",
            ],
             "builtins": [
                "django_cotton.templatetags.cotton",
            ],
        },
    }
]

@ericlunadev which version of cotton are you using? I pushed a fix to that not so long ago..

Hey, thanks for the quick reply man!
I'm using v0.9.32 but I still get the problem. I'm glad there's a workaround

Heh well of you're already on latest, I'm not sure and will have to take a look

Maybe I need to add the {% cotton_verbatim %} tag?

nvm, there's an issue with my virtualenv, I manually updated the file and it's working now. Thanks!
BTW, thanks for this library! This was the missing piece of the puzzle in Django!


[DOC]: Updating the Readme Documentation for Community Apps

What's wrong?
The documentation for superduper-community-apps needs improvement.
How could it be better?
Requires refinement and additional context for better clarity.

Please review and merge the pull request here at the community repository.


Project Name should list allowable characters instead of telling me what I got wrong

build from master - June 11th (afternoon)
Steps:

Create a project with a name that includes a space and a _

Results:
The error message tells me one character at a time which one is invalid
Expected:
For consistency and actual ease of use, we should give them the list of allowable characters which should be a valid DNS label equal to a-z 0-9 . - _

How about I tell you all the bad characters at once...

Version - master 3/15
Verified fixed


Fixing man typo which resolves #398

Github.com/dev

@anthillofoppies44 thank you for the contribution!
(closing PR as it's already fixed in the next release development branch)


Swiss Hydrological Data sensor stopped working, source data no longer public available

Home Assistant release (hass --version):
Latest, 45.1
Python release (python3 --version):
3.6 on Windows
Component/platform:
Swiss Hydrological Data sensor
Description of problem:
The XML source is no longer available !
http://www.hydrodata.ch/xml/SMS.xml
I received my last data on the 15. May at 09:40 Swiss time.
According to the website the data is no longer public.
https://www.bafu.admin.ch/bafu/de/home/themen/wasser/zustand/daten/messwerte-zum-thema-wasser-beziehen/aktuelle-hydrologische-daten-beziehen.html
Expected:
Since the clean XML access is no longer possible the only way seams to be to parse the website again ?
Additional info:

@fabaff Did you developed this sensor ?

They announced in September 2016 that they would change it to require an account but there was no date. I hoped that they would come-up with a REST API instead of the XML file.


Firefox fails to build with some node error

After running kiss b firefox, even with all dependencies installed, and waiting 50 minutes (!) for the build to get remotely close to the end, I get this weird error:
47:16.39 b"/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/build.js:31\n    throw new Error(`\n    ^\n\nError: \n========================\nNODE COMPILATION ERROR!\n\nFile:   /root/.cache/kiss/proc/7389/build/firefox/devtools/client/debugger/src/components/Editor/Preview/ExceptionPopup.js\nStack:\n\nTypeError: unknown: Cannot read properties of null (reading '2')\n    at e.StringLiteral (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/build-debugger.js:159:62)\n    at n (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:706249)\n    at e._call (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:684196)\n    at e.call (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:683913)\n    at e.visit (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:684876)\n    at t.visitQueue (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:703440)\n    at t.visitMultiple (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:702943)\n    at t.visit (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:703831)\n    at sA.node (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:794691)\n    at e.visit (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/babel.js:1:684983)\n\n========================\n\n    at transform (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/build.js:31:11)\n    at Object.<anonymous> (/root/.cache/kiss/proc/7389/build/firefox/devtools/client/shared/build/build.js:70:16)\n    at Module._compile (node:internal/modules/cjs/loader:1112:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1166:10)\n    at Module.load (node:internal/modules/cjs/loader:988:32)\n    at Module._load (node:internal/modules/cjs/loader:834:12)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)\n    at node:internal/main/run_main_module:17:47\n\nNode.js v18.5.0\n"
47:16.41 make[3]: *** [backend.mk:1025: devtools/client/debugger/src/components/Editor/Preview/.deps/node.stub.stub] Error 1
47:16.41 make[2]: *** [/root/.cache/kiss/proc/7389/build/firefox/config/recurse.mk:34: misc] Error 2
47:16.41 make[1]: *** [/root/.cache/kiss/proc/7389/build/firefox/config/rules.mk:352: default] Error 2
47:16.41 make: *** [client.mk:63: build] Error 2
47:16.43 0 compiler warnings present.
 Config object not found by mach.
Configure complete!
Be sure to run |mach build| to pick up any changes
-> firefox Build failed

Wat.
Here is the full log file (renamed for GitHub):
firefox-2022-00-00-00:00-7389.log
Running GKISS

I'll try doing a build soon just to see if I can encounter it. @ioraff have you seen this error before?

Strange. Just ran a successful build.

 I used the flag -Ofast which implied a lot of aggressive nonstandard optimizations. I've since switched to -O3 which, while still not exactly recommended, is allowing me to compile Chromium far past the step 5393 that failed. I'm now at 8079 with no sign of issue so far.
This is surprising, even despite what -Ofast does. I never expected it to cause failures in high-level scripting languages.
I am pretty sure this should extend to Firefox as well. I'll not waste my Chromium build, and wait for it to finish before trying Firefox, but once that's done, I'll try building Firefox and close this issue if it succeeds.
I'll need to look into rebuilding my system again (not just node.js), since most of it (including glibc, some other interpreters, and my entire X11 stack) was already compiled with -Ofast. Only one way to find out if kiss can handle rebuilding a library that other packages depend on.

Chromium took so long to build I had to sleep on it, but I successfully built Firefox now, so it appears -Ofast was indeed the problem. Maybe this warrants a more explicit warning somewhere on this repository, or for KISS in general.


Add release scripts

We need Apache Arrow C++ 13.0.0 or later.
So we can't release the first version until Apache Arrow C++ 13.0.0 or later is released.


Fix examples

#29 Fixed broken examples
BTW, I added Selenium as dependency, feel free to remove if unnecessary.

Awesome work! Thanks so much for the updates, I wasn't expecting anyone to hop on it so quick 😄


What version of node do you guy use?

I noticed the lack of transpiler dependencies etc. Would you advise to use the latest Node (version 4.2.2?)

Yes, we roll with 5.x but it should work fine with 4.x as we don't depend on anything in 5.

Thanks :)


signal: 11, SIGSEGV: invalid memory reference

Problem
Compiling libc v0.2.124
Compiling proc-macro2 v1.0.37
error: failed to run custom build command for libc v0.2.124
Caused by:
process didn't exit successfully: /var/www/html/SkyAPM-php-sdk/target/debug/build/libc-9fc25dbd7adcc169/build-script-build (signal: 11, SIGSEGV: invalid memory reference)
warning: build failed, waiting for other jobs to finish...
error: build failed
Steps
No response
Possible Solution(s)
No response
Notes
https://github.com/SkyAPM/SkyAPM-php-sdk/runs/6517898614?check_suite_focus=true
Version
cargo 1.57.0 (b2e52d7ca 2021-10-21)
release: 1.57.0
commit-hash: b2e52d7cab0a286ee9fcc0c17510b1e72fcb53eb
commit-date: 2021-10-21
host: x86_64-unknown-linux-musl
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.79.1-DEV (sys:0.4.49+curl-7.79.1 vendored ssl:OpenSSL/1.1.1l)
os: Alpine Linux 3.7.1 [64-bit]

Without reproducible steps it's hard to perform further analysis. The culprit might be build script of crate libc. A "build script" in a Cargo project is a native binary compiled by Cargo. It runs to do works at build time. The segfault is not from rustc or cargo, so the failure probably has nothing to do with Cargo. You may instead check out the build script in libc.
To investigate more, you could pass -vv to enable "very verbose mode" to display all the output from build script. Alternatively, you can build your project with gdb/lldb to debug the segfault, such like gdb --args /var/local/git/skywalking/target/release/build/libc-b5ddf0437c163328/build-script-build.

In Alpine, Use export RUSTFLAGS="-Ctarget-feature=-crt-static" fix it.

This also happens when there is not enough RAM available on the system.


Config for ignoring conditions when generating openapi schema

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
We have parameters struct like:
#Parameter:{
	a: int
	b: *"foo"|"bar"
	if b == "foo"{
		c: string
	}
	if b=="bar"{
		d: string
	}
}

We want to generate OpenAPI schema for struct like above. When generating it with cue CLI, the d: string will always be ignored because default value of b is "foo"
result of
cue eval param.cue --out=openapi

{
    # omitted...
    "components": {
        "schemas": {
            "Parameter": {
                "type": "object",
                "required": [
                    "a",
                    "c",
                    "b"
                ],
                "properties": {
                    "a": {
                        "type": "integer"
                    },
                    "c": {
                        "type": "string"
                    },
                    "b": {
                        "type": "string",
                        "enum": [
                            "foo",
                            "bar"
                        ],
                        "default": "foo"
                    }
                }
            }
        }
    }
}

As we are doing this by code, I search the Config field in encoding/openapi/openapi.go. But it doesn't seems to have related field to config this behavior. Also nothing related in encoding/openapi/openapi_test.go
I think it's a reasonable demand because the field d can be used when b is set to something else, it's just can't be set when b keeps the default value.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Add one config for ignoring the conditions expression (or expand them?) when generating the openapi schema.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This one's priority is medium. Though there's no workaround, it will not block our generator for open-api.
I'll say this is a user-facing problem since we're generating docs from cue parameters for our users.
No time constraint. According to the discussion with Paul offline, this seems like a bug. Looking forward to more investigation.

This is best explored after the release of required fields in v0.6, which should make the distinction between schema and template clearer.


Appstudio update test-component-pac-lpul

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-lpul-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
35 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
22 seconds
deprecated-base-image-check

✅ Succeeded
18 seconds
inspect-image

✅ Succeeded
17 seconds
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
16 seconds
sbom-json-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
11 seconds
optional-label-check

✅ Succeeded
8 seconds
show-sbom

✅ Succeeded
9 seconds
show-summary

Pipelines as Code CI/test-component-pac-lpul-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
35 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
22 seconds
deprecated-base-image-check

✅ Succeeded
18 seconds
inspect-image

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
17 seconds
clair-scan

✅ Succeeded
16 seconds
sbom-json-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
11 seconds
optional-label-check

✅ Succeeded
9 seconds
show-summary

✅ Succeeded
8 seconds
show-sbom


chore: bump opendal to 0.44

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?

Bump opendal to 0.44

The next minor version(0.44.1), a BufferReader(https://github.com/apache/incubator-opendal/issues/3735) will be introduced.
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)

@evenyag @killme2008 PTAL


[WIP] feat(payments): PAYPAL-654 Embedded Submit button

What?
Smart payment buttons were added to checkout page.
Adding an embedded button instead of the submit button
Relevant PR  on the checkout-sdk
Why?
PPCP pop up is blocked on the BC hosted checkout page and Embedded checkout. Pop ups work for SPB at the shopping cart page.
Testing / Proof

@bigcommerce/checkout

@davidchin Thank you for review! I added all changes!


Looking for code release

Hi @memberRE, very interesting work!
When will the code be released? Cannot wait to use your model.

Thanks for your interest! Due to a tight schedule, we are aiming to release it by September. We appreciate your patience and understanding.


Happymh: Blocked from website/Unable to load image

Source information
Happymh 1.4.8
Source language
Chinese
Steps to reproduce
1.use UA
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360ENT
2.Blocked from website
3.Use mobile browser UA
4.Can access web page but cannot load images
Expected behavior
Visit the website and load the image
Actual behavior
Blocked by site or unable to load image
Mihon/Tachiyomi version
0.16.4
Android version
Android 13
Other details
Can you provide a UA that can access the website and load the images?
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Do you find any ways to slove this?I have already changed my sauce for now

Hi, change to this user agent and it works
https://github.com/keiyoushi/extensions-source/issues/1409

No it doesn't useable anymore

No it doesn't useable anymore

Hmm that's weird..I just used it today a few times and it worked

Bruh really?Can you me more details,such as your settings cause it doesn't work for

me anymore

Honestly I just want to know is that my personal problem or I not only me have this problem .If I can't find any ways to slove this,I will change my sauce.

Oh I find that when I using vpn I can use this sauce again


pwasm-abi-derive is not compatible with no-std libs

I've tested it with serde, but I'm pretty sure the problem is wider.
Sample code
#![no_std]

extern crate pwasm_ethereum;
#[macro_use]
extern crate serde_derive;
extern crate serde;

Cargo.toml
[package]
name = "pwasm-tutorial-contract"
version = "0.1.0"
authors = ["Alexey Frolov<EMAIL_ADDRESS>
[dependencies]
pwasm-std = "0.9"
pwasm-ethereum = "0.5"
pwasm-abi = "0.1.2"
pwasm-abi-derive = "0.1.2"
serde_derive = { version = "1.0", default-features = false }
serde = { version = "1.0", default-features = false }

[lib]
crate-type = ["cdylib"]

[profile.release]
panic = "abort"
lto = true
opt-level = "z"

Expected result
everything compiles
Actual result:
$ ./build.sh
   Compiling pwasm-tutorial-contract v0.1.0 (file:///C:/Users/Alex/Documents/Repo/pwasm-tutorial/step-0)
warning: unused `#[macro_use]` import
 --> src\lib.rs:6:1
  |
6 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

error: duplicate lang item in crate `std`: `panic_impl`.
  |
  = note: first defined in crate `pwasm_std`.

error: duplicate lang item in crate `std`: `oom`.
  |
  = note: first defined in crate `pwasm_std`.

error: aborting due to 2 previous errors

error: Could not compile `pwasm-tutorial-contract`.

P.S.
Combinations that work:

Cargo.toml without pwasm-abi-derive = "0.1.2"
lib.rs without extern crate serde;

It's expected.
If any of crates is not #![no_std] std will be linked. So the goal is to find which one brings it..
@pepyakin has been around the block - is there any solution/or script found to check which crate links std?

None I'm aware of.
When I had to bisect which crate pulled std library in, I simply ran a build with cargo build --verbose, and checked every library that might pull std (i.e. doesn't contain #![no_std] attribute in it's lib.rs). If the #![no_std] attribute is behind the cfg feature flags, it is also simple to check in cargo verbose log if the correct feature flags are passed when compiling.

Well, afaik serde supports no_std scenarios, so if it's incompatible with pwasm-abi-derive I'd suspect the latter crate rather than the former one.

Maybe it's caused by
#[cfg(not(feature="std"))]
extern crate alloc;

?

@Pzixel no it shouldn't..

This code compiles fine:
#![feature(lang_items)]
#![no_std]
extern crate pwasm_std;
#[macro_use]
extern crate serde_derive;
extern crate serde;

#[lang = "eh_unwind_resume"]
#[no_mangle]
pub extern fn rust_eh_unwind_resume() {}

[package]
name = "issue54"
version = "0.1.0"
authors = ["Psilon<EMAIL_ADDRESS>
[dependencies]
pwasm-std = "0.9.2"
serde_derive = { version = "1.0.70", default-features = false }
serde = { version = "1.0.70", default-features = false }

[lib]
crate-type = ["cdylib"]

[profile.release]
panic = "abort"
lto = true
opt-level = "z"

Investigting further..

I cloned latest pwasm-abi-derive. Here is changed cargo.toml:
[dependencies]
pwasm-abi = { path = "..", version = "0.1" }
quote = "0.3"
syn = { version = "0.11", features = ["full"] }
tiny-keccak = { version = "1", default-features = false }
byteorder = { version = "1", default-features = false }
parity-hash = { version = "1", default-features = false }
serde = { version = "1", default-features = false }
serde_derive = { version = "1", default-features = false }

that works, but if we add serde_json:
[dependencies]
pwasm-abi = { path = "..", version = "0.1" }
quote = "0.3"
syn = { version = "0.11", features = ["full"] }
tiny-keccak = { version = "1", default-features = false }
byteorder = { version = "1", default-features = false }
parity-hash = { version = "1", default-features = false }
serde = { version = "1", default-features = false }
serde_json = { version = "1", default-features = false }
serde_derive = { version = "1", default-features = false }

Then this error happens.

Possibly related: https://github.com/rust-lang/cargo/issues/4866 https://github.com/rust-lang/cargo/issues/4664 https://github.com/rust-lang/cargo/issues/2589 https://github.com/rust-lang/cargo/issues/4361 https://github.com/rust-lang/cargo/issues/5730 ...

probably not related
check your Cargo.lock, there must be 2 different versions of pwasm-std compiled in binary

@NikVolf no, there isn't. See repo: https://github.com/Pzixel/issue54
https://github.com/Pzixel/issue54/blob/42157efa3bcdcfc16e76b821a1fa095f902fc5b6/Cargo.lock#L37
There is single 0.9.2 across entire lock file.

See #59


Model performance

Hello, first of all, thank you for the good research.
I trained without any modifications, but the paper's performance did not come out.
Is there a pre-trained model?

Hello, first of all, thank you for the good research.
I trained without any modifications, but the paper's performance did not come out. Is there a pre-trained model?

Hello, thank you very much for your question. The answers are as follows:

Firstly, the paper does not use other pre-training models
Ensure that your operating environment is consistent with this article;
The paper result is the final result obtained after each round of testing after the completion of 40 rounds of training.
Under the influence of random seeds, the training results tend to be slightly biased.
I hope the above answers can be helpful to you.


stm32f303v(b-c)tx-pinctrl.dtsi, No such file or directory

When i run the following command in the terminal on Ubuntu 18.04:
 west build -b stm32f3_disco samples/hello_world
The following errors prompt. I find that st/f3/stm32f303v(b-c)tx-pinctrl.dtsi does not exist in the corresponding directory.
zephyrproject/zephyr/boards/arm/stm32f3_disco/stm32f3_disco.dts:9:10: fatal error: st/f3/stm32f303v(b-c)tx-pinctrl.dtsi: No such file or directory
    9 | #include <st/f3/stm32f303v(b-c)tx-pinctrl.dtsi>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

After i run "west update", this bug disappears. It seems relative with cmsis.


Memory Use / Variable Size

One of the big issues with DataServer.py is that memory is constantly consumed. Variables are ever growing, and this needs to change, so maybe we should use a database? I'm thinking we incorporate mongodb, and track metrics there. That way variables aren't tracking metrics the entire time, and we save on memory space.
Thoughts/Ideas?

Yes ... the created objects are huge and store numeric data that could be in a database. This will make it easier to generate reports. Good idea. A simple bank I use here is SQLITE. One more option.

I disabled the console.log of the code and solved the browser memory problem here. It's been working for days without crashing.


Geocoding map attribution should be an option

Since using the ArcGIS Online Geocoding service is an option the map attribution text should also be an option in the constructor. The default option could remain "Geocoding by Esri".

agreed.
a PR would be helpful, otherwise I'll knock it out sometime soon.

I'll take a 🔪 at it.

awesome!


ALT+C --> Input still goes through to game while typing

This can have a lot of keyboard inputs for buttons that are not intended, like exiting the matchmaking menu etc

It's annoying, I know. When you pause the online search the game asks you if you want to exit or not, and if you press the enter key at that point even if the focus is not on the Tekken window it will still go trough and exit the search lobby.
But no luck so far finding a fix.


github-backup: 0.43.1 -> 0.44.1

Description of changes
Changelog: https://github.com/josegonzalez/python-github-backup/blob/0.44.1/CHANGES.rst

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

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

2 packages built:

github-backup
github-backup.dist


Slow on very large files (with vim plugin?)

I am noticing nearly 0.5 to 1 second keypress lags with SQL NOTEBOOKS for my 2000-line file.  I have another file that is only 275 lines that I don't see this, and I don't see this in 1000-line python files.   It appears that it goes away if the vim plugin is disabled.   Not sure if the issue is related to this plugin, but figured you should know.

Thank you for this report. I have yet to reproduce this behavior. I tested a 3,000-line SQL file opened as a notebook with Vim enabled and saw no increase in input latency. The same was true for a 3,000-line .ipynb file opened as a notebook. I also enabled and disabled the embedded language server configuration option, with no perceivable effect. I also tried with local files vs. remote files (via Remote SSH) and saw no difference.
Any other ideas about what might be different with your setup?


CI: CUDA Python test is broken

CUDA Python CI is broken. It seems CUDA 11.5 & CUDA Python 11.7.1 & texture memory issue.
https://ci.preferred.jp/cupy.linux.cuda11x-cuda-python/105617/
01:27:04.155812 STDOUT 1589]	FAILED cupy_tests/core_tests/test_userkernel.py::TestElementwiseKernelTexture_param_0_{dimensions=(64, 0, 0)}::test_texture_input
01:27:04.155819 STDOUT 1589]	FAILED cupy_tests/core_tests/test_userkernel.py::TestElementwiseKernelTexture_param_1_{dimensions=(64, 32, 0)}::test_texture_input
01:27:04.155823 STDOUT 1589]	FAILED cupy_tests/core_tests/test_userkernel.py::TestElementwiseKernelTexture_param_2_{dimensions=(64, 32, 19)}::test_texture_input
01:27:04.155828 STDOUT 1589]	FAILED cupy_tests/cuda_tests/test_texture.py::TestTexture::test_fetch_float_texture[_param_0_{dimensions=(64, 0, 0), mem_type='CUDAarray', target='object'}]
01:27:04.155834 STDOUT 1589]	FAILED cupy_tests/cuda_tests/test_texture.py::TestTexture::test_fetch_float_texture[_param_6_{dimensions=(64, 32, 0), mem_type='CUDAarray', target='object'}]
01:27:04.155838 STDOUT 1589]	FAILED cupy_tests/cuda_tests/test_texture.py::TestTexture::test_fetch_float_texture[_param_12_{dimensions=(64, 32, 19), mem_type='CUDAarray', target='object'}]
01:27:04.155844 STDOUT 1589]	FAILED cupy_tests/cuda_tests/test_texture.py::TestTextureVectorType::test_fetch_float4_texture[_param_0_{target='object'}]
01:27:04.155886 STDOUT 1589]	= 7 failed, 98674 passed, 3634 skipped, 1043 deselected, 88 xfailed, 2569 warnings in 3444.73s (0:57:24) =

CUDA Python 11.7.1 needs to be built with CUDA 11.7.1, maybe this is the reason?

Oh, is that so? I thought CUDA Python 11.X would work with CUDA 11.0~11.X.
https://github.com/nvidia/cuda-python

CUDA Toolkit 11.0 to 11.7

CUDA Python 11.7.1 needs to see the same version of CUDA headers at the build time. At runtime the compatibility remains.

(It was done to fix https://github.com/NVIDIA/cuda-python/issues/22.)

I took a quick look at the failures, looks like they're all due to results mismatching at runtime, and they're all about texture, perhaps there's something else going on...

I took a quick look at the failures, looks like they're all due to results mismatching at runtime, and they're all about texture, perhaps there's something else going on...

Seems so. CI uses cuda-python binary package so the source build restrictions do not apply.

I built CuPy (v11) with the following combinations and tested cupy_tests/core_tests/test_userkernel.py and cupy_tests/cuda_tests/test_texture.py. The error occurred only with the combination of CUDA 11.5.0 and CUDA-python 11.7.1.
For CUDA 11.5, is it possible to use, for example, CUDA-python 11.7.0 as a workaround?

CUDA
CUDA-python
test results

11.5.0
11.5.0
OK

11.5.0
11.6.0
OK

11.5.0
11.7.0
OK

11.5.0
11.7.1
NG

11.6.2
11.5.0
OK

11.6.2
11.6.0
OK

11.6.2
11.7.0
OK

11.6.2
11.7.1
OK

11.7.0
11.5.0
OK

11.7.0
11.6.0
OK

11.7.0
11.7.0
OK

11.7.0
11.7.1
OK

11.7.1
11.5.0
OK

11.7.1
11.6.0
OK

11.7.1
11.7.0
OK

11.7.1
11.7.1
OK

Thanks for exhaustive testing, @anaruse! Yes, we have no reason to stick with CUDA 11.5. Will bump the CUDA version in #7022.

The CUDA python team's investigation has revealed that this is not directly due to CUDA python, but is essentially due to backward compatibility issues with the texture related APIs in CUDA 11.5/11.6. This backward compatibility issue has been resolved in CUDA 11.7, so it would be helpful if you could use CUDA 11.7 to test CUDA python.


[master] Update GitHub Actions

Copied from https://github.com/knative-sandbox/.github/tree/master/workflow-templates.
/assign tcnghia
/cc tcnghia

@mattmoor  BUILD GHA seems to be broken ?
/hold

cc @dprotaso
another one

/unhold


[SPINECLI-1616] updated the narrative to include the new included pointer types

updated the supported pointer types as per SPINECLI-1616

Duplicate of: https://github.com/NHSDigital/NRLF/pull/531


Null value results "Out of bounds. Excel supports columns from 1 to 16384"

Hello,
If the first value in the pushed row is null or undefined, it throws the error Out of bounds. Excel supports columns from 1 to 16384:
// Fails
sheet.addRow([null, 'hello', 123]);
sheet.addRow([undefined, 'hello', 123]);

// Works
sheet.addRow(['', 'hello', 123]);
sheet.addRow(['hello', null, 123]);

I guess I should use null instead of an empty string for empty cells.

yep, same happens to me
when I return '' instead of null everything works fine
@jozsi thanks for finding the reason, I don't think I could have isolated it

This issue is fixed, I use the code from the master branch to verification and it works fine.

Thanks for opening this request.
Please re-open if you still have issues.
Best of luck.


[Question] How to parse .json, .obo, or .owl to get dictionary of enzymes {id_go:{ec_1, ec_2, ..., ec_n}}

I'm trying to understand how I can use GOTATOOLS to parse any of the GO files to yield a dictionary that has the following structure:
{id_go: {ec_1, ec_2, ..., ec_n}}

I was able to load the obo file but I couldn't figure out how to get the enzymes:

from goatools.base import get_godag

godag = get_godag('Databases/GO/go-basic.obo', optional_attrs='relationship')
go = godag['GO:0000015']

for id_go, go in godag.items():

    print(id_go, go.get_all_children())
#GO:0000001 set()
#GO:0000002 set()
#GO:0000006 set()
#GO:0000007 set()
#GO:0000009 {'GO:0033164', 'GO:0052917'}

They are definitely in there, I just don't how to access them:
%%bash
grep -c "EC:" /Users/jolespin/Databases/GO/go-basic.obo

# Databases/GO/go-basic.obo:26098

@jolespin
You are close, EC number is under xref (you can check which field they are under in the .obo file).
Here are some sample code:
from goatools.base import get_godag

godag = get_godag("go-basic.obo", optional_attrs="xref")

for id_go, go in godag.items():
    ecs = [x for x in go.xref if x.startswith("EC:")]
    if ecs:
        print(id_go, ecs)

This prints out:
...
GO:0008557 ['EC:<IP_ADDRESS>']
GO:1901237 ['EC:<IP_ADDRESS>']
GO:0090450 ['EC:<IP_ADDRESS>']
GO:0043851 ['EC:<IP_ADDRESS>']


Strange highlighting for SCSS maps

Hi,
currently SCSS-maps are not highlighted properly (when variables are used):

I see this is also related to #4

See also:

using the Bootstrap source.

Hi, any news related to this issue?

I experience something similar when using placeholder selectors and extends.


max_load input for breaks object not currently supported

Currently, vroom 1.3.0 supports a max_load input with the breaks object:

[max_load]: an array of integers describing the maximum vehicle load for which this break can happen --- https://github.com/VROOM-Project/vroom/blob/master/docs/API.md

pyvroom 1.3.0 only allows for id, time_windows, service and description (see https://github.com/VROOM-Project/pyvroom/blob/9965ce244d01252bbcedcfafe22dc01a7138133a/src/vroom/break_.py#L33):
    def __init__(
        self,
        id: Union[Break, int],
        time_windows: Sequence[TimeWindow] = (),
        service: int = 0,
        description: str = "",
    ) -> None:

Would it be easy to include max_load input with pyvroom as well?

That is a good catch, and something I missed in the recient release.
I've made a fix in version 1.13.1. Let me know if it works as expected.

Thanks, I'll do some testing later next week and will close the issue once tested.


[EG] July events

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-eventgrid


sysinfo was null after adding a 100

at https://github.com/anthturner/TPLinkSmartDevices/blob/master/TPLinkSmartDevices/TPLinkDiscovery.cs#L64
i had to
            if (sys_info != null || sys_info != new object { })
            {
                string model = (string)sys_info.model;
                if (model.StartsWith("HS110"))
                    device = new TPLinkSmartMeterPlug(ip.Address.ToString());
                else if (model.StartsWith("HS"))
                    device = new TPLinkSmartPlug(ip.Address.ToString());
                else if (model.StartsWith("LB"))
                    device = new TPLinkSmartBulb(ip.Address.ToString());

                if (device != null)
                    DiscoveredDevices.Add(device);
            }

because i keep getting an empty object.
is this normal? freshly set up plug.
thanks

I'm having the same issue, any fix?

Could you provide a full text dump for the sys_info JSON-object?

Content of message is:
"{"system":{"get_sysinfo":null},"emeter":{"get_realtime":null}}"


Bjorncs/slimmer fat model [run-systemtest]

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@baldersheim Yes, Maven want it to be hard and painful https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html


Update p4 release version to r18.1

Update p4 release version to r18.1.
Version r16.1 is no longer available for download on P4 filehost server causing this cookbook to fail.

Thank you for the PR.  I must admit I was given the project to look after, but not had the time to review the code and tests.

Hi Paul,
Thank you very much for merging my changes. Is it possible to get this
change releases as version 2.2.1? This change fixes the currently broken
cookbook (2.2.0).
Thank you,
Fares
On Thu, Jul 19, 2018 at 7:59 AM, Paul Allen<EMAIL_ADDRESS>wrote:

Thank you for the PR. I must admit I was given the project to look after,
but not had the time to review the code and tests.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/p4paul/chef-perforce/pull/14#issuecomment-406306878,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEzYAHBW-OWuinfIwTUlDANV6ts63lV6ks5uIJ68gaJpZM4VVV-f
.

Hi Fares,
As I mentioned earlier I'm new to this Chef project and the hand over was limited.  If you know the release process or have links to the docs, then I am happy to look into pushing out release.
Kind regards,
Paul


[SPARK-27444][SQL] multi-select can be used in subquery

What changes were proposed in this pull request?
This is a regression caused by https://github.com/apache/spark/pull/24150
select * from (from a select * select *) is supported in 2.4, and we should keep supporting it.
This PR merges the parser rule for single and multi select statements, as they are very similar.
How was this patch tested?
a new test case

cc @dilipbiswal

Test build #104515 has started for PR 24348 at commit b35cabf.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9843/
Test PASSed.

@cloud-fan Thanks a LOT for fixing it.
LGTM

Test build #104515 has finished for PR 24348 at commit b35cabf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/104515/
Test PASSed.

thanks, merging to master!


Example Not Work

The Example doesn't work fine. The heif images don't display. I test it in iphone 7p and ios 12.1.3.  It often  crashed. Please check it. Thanks!
Screenshot as below:

@kaich Identified issue because of #10 . I'll provide a fix now.

@kaich Fixed now. I've test it on iPhone XR (iOS 12.3.1)
Please upgrade to v0.5.3: https://github.com/SDWebImage/SDWebImageHEIFCoder/releases/tag/0.5.3

@dreampiggy  thank you very much. It fixed now.


279818942 Gazetteer updating timing out (Michael)

Issue reported by MikeS at 2023-11-13 15:29:02 UTC
Time: 2023-11-13T15:26:55+00:00
Session ID: c04ff9d662545b260014c91ae13b5c13
Problem Page URL: /freecen2_places/search_names_results?locale=en
Previous Page URL: https://www.freecen.org.uk/freecen2_places/search_names
Reported Issue:
Due to timing out attempts, the entry for Edinburgh now shows 4 additions of City of Edinburgh

@Vino-S
I have looked in the production database and found this:
db.freecen2_places.find({"chapman_code" : "MLN","place_name" : "Edinburgh"}).pretty()
{
"_id" : ObjectId("5fc6dd41f4040beff481f0f8"),
"disabled" : "false",
"cen_data_years" : [
"1841",
"1851"
],
"country" : "Scotland",
"county" : "Midlothian",
"chapman_code" : "MLN",
"place_name" : "Edinburgh",
"last_amended" : "9-Apr-16",
"grid_reference" : "NT268733",
"latitude" : "55.94714",
"longitude" : "-3.173655",
"source" : "Gazetteer of British Place Names",
"genuki_url" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"place_notes" : "",
"original_country" : "Scotland",
"original_county" : "Midlothian",
"original_chapman_code" : "MLN",
"original_place_name" : "Edinburgh",
"original_grid_reference" : "NT2573",
"original_latitude" : "55.944168",
"original_longitude" : "-3.202386",
"original_source" : "Gazetteer",
"reason_for_change" : [
"",
"Add Alternative Place Name"
],
"other_reason_for_change" : null,
"master_place_lat" : "55.944167",
"master_place_lon" : "-3.2023862",
"data_present" : true,
"location" : [
-3.173655,
55.94714
],
"standard_place_name" : "edinburgh",
"u_at" : ISODate("2023-11-13T15:26:22.500Z"),
"place_name_soundex" : "E351",
"original_standard_name" : "edinburgh",
"alternate_freecen2_place_names" : [
{
"_id" : ObjectId("6048805ff493fdeda301c501"),
"alternate_name" : "Edinburgh Castle",
"standard_alternate_name" : "edinburgh castle",
"alternate_name_soundex" : "E351"
},
{
"_id" : ObjectId("65523b12f493fd40906a8f9f"),
"alternate_name" : "City Of Edinburgh",
"standard_alternate_name" : "city of edinburgh",
"alternate_name_soundex" : "C313"
},
{
"_id" : ObjectId("65523cc8f493fd40906a8fa1"),
"alternate_name" : "City Of Edinburgh",
"standard_alternate_name" : "city of edinburgh",
"alternate_name_soundex" : "C313"
},
{
"_id" : ObjectId("65523e07f493fd40a86a2991"),
"alternate_name" : "City Of Edinburgh",
"standard_alternate_name" : "city of edinburgh",
"alternate_name_soundex" : "C313"
},
{
"_id" : ObjectId("6552401ef493fd40906a901d"),
"alternate_name" : "City Of Edinburgh",
"standard_alternate_name" : "city of edinburgh",
"alternate_name_soundex" : "C313"
}
],
"freecen2_place_edits" : [
{
"_id" : ObjectId("61180540f4040b4a683e9b81"),
"editor" : "unknown",
"reason" : null,
"previous_chapman_code" : "MLN",
"previous_county" : "Midlothian",
"previous_country" : "Scotland",
"previous_place_name" : "Edinburgh",
"previous_grid_reference" : "NT2573",
"previous_latitude" : "55.944168",
"previous_longitude" : "-3.202386",
"previous_source" : "Gazetteer",
"previous_website" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"previous_notes" : "",
"created" : ISODate("2021-03-10T08:16:31.213Z"),
"previous_alternate_place_names" : [
"Edinburgh Castle"
],
"u_at" : ISODate("2021-08-14T18:02:40.980Z"),
"c_at" : ISODate("2021-08-14T18:02:40.980Z")
},
{
"_id" : ObjectId("65523b12f493fd40906a8f9e"),
"editor" : "MikeS",
"reason" : "["Add Alternative Place Name"]",
"previous_chapman_code" : "MLN",
"previous_county" : "Midlothian",
"previous_country" : "Scotland",
"previous_place_name" : "Edinburgh",
"previous_grid_reference" : "NT2573",
"previous_latitude" : "55.944168",
"previous_longitude" : "-3.202386",
"previous_source" : "Gazetteer of British Place Names",
"previous_website" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"previous_notes" : "",
"created" : ISODate("2023-11-13T15:04:50.441Z"),
"previous_alternate_place_names" : [
"Edinburgh Castle"
],
"u_at" : ISODate("2023-11-13T15:04:50.441Z"),
"c_at" : ISODate("2023-11-13T15:04:50.441Z")
},
{
"_id" : ObjectId("65523cc8f493fd40906a8fa0"),
"editor" : "MikeS",
"reason" : "["Add Alternative Place Name"]",
"previous_chapman_code" : "MLN",
"previous_county" : "Midlothian",
"previous_country" : "Scotland",
"previous_place_name" : "Edinburgh",
"previous_grid_reference" : "NT268733",
"previous_latitude" : "55.94714",
"previous_longitude" : "-3.173655",
"previous_source" : "Gazetteer of British Place Names",
"previous_website" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"previous_notes" : "",
"created" : ISODate("2023-11-13T15:12:08.167Z"),
"previous_alternate_place_names" : [
"Edinburgh Castle",
"City Of Edinburgh"
],
"u_at" : ISODate("2023-11-13T15:12:08.168Z"),
"c_at" : ISODate("2023-11-13T15:12:08.168Z")
},
{
"_id" : ObjectId("65523e07f493fd40a86a2990"),
"editor" : "MikeS",
"reason" : "["Add Alternative Place Name"]",
"previous_chapman_code" : "MLN",
"previous_county" : "Midlothian",
"previous_country" : "Scotland",
"previous_place_name" : "Edinburgh",
"previous_grid_reference" : "NT268733",
"previous_latitude" : "55.94714",
"previous_longitude" : "-3.173655",
"previous_source" : "Gazetteer of British Place Names",
"previous_website" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"previous_notes" : "",
"created" : ISODate("2023-11-13T15:17:27.634Z"),
"previous_alternate_place_names" : [
"Edinburgh Castle",
"City Of Edinburgh",
"City Of Edinburgh"
],
"u_at" : ISODate("2023-11-13T15:17:27.635Z"),
"c_at" : ISODate("2023-11-13T15:17:27.635Z")
},
{
"_id" : ObjectId("6552401ef493fd40906a901c"),
"editor" : "MikeS",
"reason" : "["Add Alternative Place Name"]",
"previous_chapman_code" : "MLN",
"previous_county" : "Midlothian",
"previous_country" : "Scotland",
"previous_place_name" : "Edinburgh",
"previous_grid_reference" : "NT268733",
"previous_latitude" : "55.94714",
"previous_longitude" : "-3.173655",
"previous_source" : "Gazetteer of British Place Names",
"previous_website" : "http://www.genuki.org.uk/maps/gmap?GR=NT270730&PLACE=EDINBURGH&CCC=MLN",
"previous_notes" : "",
"created" : ISODate("2023-11-13T15:26:22.494Z"),
"previous_alternate_place_names" : [
"Edinburgh Castle",
"City Of Edinburgh",
"City Of Edinburgh",
"City Of Edinburgh"
],
"u_at" : ISODate("2023-11-13T15:26:22.495Z"),
"c_at" : ISODate("2023-11-13T15:26:22.495Z")
}
],
"editor" : "MikeS"
}
So alternate_freecen2_place_names array elements with indexes 2,3,4 need to be removed as do
freecen2_place_edits array elements with indexes 2,3,4.
I was thinking of doing updates to resolve this directly in Mongodb ie.

@Vino-S to check with Anne if speed improved


Ignore .d.ts when processing .js files

This is a stop gap. We'll need to make it still use .d.ts but prioritize .ts and .js files.

LGTM, sorry hit the wrong button


Merging release v1.0 into main

Note for the next release PR, make sure to update and verify release version information.  If you are running the release-it tool on the release PR, you can run git tag to verify the new tag is in the right place.
$ git checkout origin/release-v1.0.0
$ git tag

https://github.com/google-research/vaccination-search-insights#development-process-and-releasing
The release-it tool is also what creates release notes and version information on the github releases page:
https://github.com/google-research/vaccination-search-insights/releases


[FR] Implement tracking of storage containers (part bins/bags/boxes/storage cases/toolboxes)

Is your feature request the result of a bug?
No
Problem
It's currently difficult to track location of inventory inside movable containers - (part bins/bags/boxes/storage cases/toolboxes). It's hard to know what's inside various storage boxes and keep track of where they are. Bags with parts tend to get lost.
Locations module presumes fixed location, and is very limited in functionality (no barcode/serial/asset tag, does not support tracking of container location history, does not have customizable attributes  such as type , size/weight, material, specs, pic).
Suggested solution
Enhance locations module to track location of inventory inside various containers. Bulk check-in, barcode scan, track relocation history, have extended attributes (pic, size/weight, address, fixed or movable location)
Another alternative - allow assigning inventory items to other inventory items for the purpose of location tracking. So for example a box with resistors would be an inventory item, and hold stock of resistors inside of it.
Describe alternatives you've considered
Currently using Google Sheets with custom views for storage management. This is not ideal
Examples of other systems
SnipeIT supports assigning assets to assets. So containers can be tracked as assets.
Do you want to develop this?
Possibly. I'm familiar with Python, but not with Web Development.

Hi @laurus-lx thanks for the comments
Stock locations currently do support barcodes, and actions such as "bulk check in" are supported if you have a barcode scanner (or use the Android / iOS app).
What is missing now is the ability to move an entire location (into another location) via barcode scanning. This would be a good addition, potentially some locations could be marked as "fixed location" to disable this action.
Additional attributes for a StockLocation would be a good idea, and add some value.
Location history could be a little trickier to implement.

Hi @laurus-lx thanks for the comments
Stock locations currently do support barcodes, and actions such as "bulk check in" are supported if you have a barcode scanner (or use the Android / iOS app).
What is missing now is the ability to move an entire location (into another location) via barcode scanning. This would be a good addition, potentially some locations could be marked as "fixed location" to disable this action.
Additional attributes for a StockLocation would be a good idea, and add some value.
Location history could be a little trickier to implement.

Hi SchrodingersGat,
Thank you for the feedback. Yes, need ability to move and track history of locations with some easy to use interface.
Example would be - small bags with electronics components and kits being checked-in to a bin, then later moved to a different bin or box when resorting inventory.
Or perhaps a better way to handle this would be to make each parts bag or box a stock item, and allow assigning other stock items to it (via bulk entry check-in, like for locations check-in).

@laurus-lx I've assigned this to the 0.6.0 release milestone

@laurus-lx do you need any assistance with this? We are happy to help!

@laurus-lx have you made any progress on this? I would very much love this feature to keep track of parts installed into a pick and place machine. I have a thought about how to implement it and am happy to contribute but do not want to step on any work you have done.

@matmair @SchrodingersGat @eeintech
In the absence of a response from the submitter, can we discuss the options for implementation? I have toyed with several different approaches to implementing sub-locations to keep the patch small and simple, but I have consistently found that this isn't sufficient.
In fact, what is needed is to take full advantage of the existing stock system, and have the ability to mark Parts as being able to store Stock. As the original submitter suggested, this is quite an elegant solution to allow complex storage schemes, such as:

Pick and Place machine has Positions

which store Feeders which have Serials, Parameters, Tests and can be purchased
which store Reels which have Serials and can be purchased
which store Parts that may have Tests, Serials, Parameters or just Batch Codes.

Test Equipment has Module Slots

which store Modules which have Serials, Parameters, Tests and can be purchased
sometimes these even nest, there are SFPs in Modules in Test Equipment

CNC Mill has a Tool Changer which has Positions

which store Tool Holders which have Parameters and Serials
which store Tools which have Parameters and Serials

The critical point is that this is a system of installation which does not mark the contents as being consumed. It would be possible to mark a Module as Installed in Test Equipment, but this module would then count as consumed. I suggest the first approach here should be to allow any stock item to be installed in any other stock item but provide an additional boolean field, Permanently Installed to capture this difference. This would be set by Builds for example.
In order for this to not be incredibly spammy, and to represent reality well, Parts would need an additional flag such as Storage to indicate they can store other items within them. Thanks to them being real Stock, plugins may also check parameters such as "Reel Width" to find which feeders a part may be installed in.
These two changes then effectively eliminate the need for the 'Stock Location' system, as it is a parallel hierarchy with fewer features than the Stock hierarchy. I would like to eliminate this entirely and by introducing the Storage attribute at the same time, safe forward and reverse migrations can be created to allow this to happen seamlessly (assuming reserved characters are the same).
In order to do this, when a user creates their first Stock Location they would actually be creating a Stock Item, but it requires a Part to link to. I think adding a default Part is a reasonable option, but a user would not want to see this in their list (nor many categories of Location, but not all), therefore I propose one additional change.
Parts which have only the Virtual and Storage flags should be hidden by default from the Parts and Stock lists (via a filter or implicitly). This model elegantly encompasses the concept of "Rows" and "Columns" as of course the Storage Rack is a non-virtual Storage item, and the containing Rows/Columns are virtual subdivisions.
One more wrinkle is the need to support existing location labels which have IDs which cannot be reused in the Stock table (UUID only labels future please? ☺) so another attribute Location ID will need to be added, or a translation table in order to handle these edge cases.
In summary, I would like to propose a patch with the following changes

Add a boolean field to Stock, Permanently Installed, set to False by default, set to True for all installed items in forward migration
Add a boolean field to Parts, Storage, set to False by default
Add an integer field to Stock, Location ID, to store a numeric ID so that old stock labels work

This is quite hacky but numerical IDs always suffer from these problems, this has to be used for all location stuff otherwise Stock ID and Location ID could be confused. This can be handled in migration and set sequentially in future when a Stock item is created from a Storage Part

Create a 'Location' Part (with a random suffix if a Part named Location already exists) with Virtual and Storage flags set
Remove the current StockLocation implementation and migrate existing Locations to be Virtual Storage Stock
Miscellaneous fixes to selection boxes etc

I appreciate this is a relatively major change and it will touch quite a few areas of InvenTree but hopefully I have illustrated how the existing Stock hierarchy is more powerful and should be taken advantage of fully. As far as I can tell from my investigation so far this can be implemented completely safely and will provide significant power to plugins in future (such as letting me run my entire P+P setup!)
No rush for a response, I won't be fully implementing this next week most likely.
Cheers!
exp

This is a major change that could break a lot of things if not done carefully. I will have to think about this proposal a bit before I give my final opinion but here is a non-hirachical collection:

You will need to keep the locations API etc. in place as a lot of stuff in the wild uses it
This sounds to be a nightmare to explain to newbies. We aim for hobby, SME and labs - so please keep that in mind. The default UX must be intuitive
I already proposed UUID ids - the consensus was that positive-integers are preferred
You can propose adding stuff but switching out the base identifier is a heavy step: A lot of python-module and API users have built up their stuff on the existence of the id / pk being an integer that always exists - so we most likely will need to keep that up which means two unique identifiers - what is the benefit of that switch?
Filtering should be transparent so you could propose adding a default filtering. Filtersets are saved in a cookie on device. Should be just override those or think of a mechanism for that?

There is more to come - I think a UML with the proposed changes would help.

@exp what you are proposing here is a very major change to the way that InvenTree fundamentally works - and for what seems to amount to an "edge case" of how it is being used.
The existing "simple" setup of StockLocation and StockItem has been developed to be as user friendly as possible. I know from experience that any extra complexities in the system reduce the likelihood that the operators will use it properly, as it is too cumbersome. I would like to keep it as simple as possible.
However your suggested use case (tool holders, PNP cassettes, etc) does interest me. At my work we also have CNC / PNP machines and have been using InvenTree to track parts going through our pick and place machine. So I would like to explore this idea further.
I believe we can make it work within the existing framework, without the major overhaul you have suggested. The original suggestions by @laurus-lx would be sensible here - extending the fields on the StockLocation model to provide enhanced behaviours.

UUID field could be added
Easier methods for "transferring" stock locations around (e.g. boxes / bins)
location history tracking
image attribute

Adding extra features to the existing models would provide compatibility with existing installs, new features (for those users who want them) and retain the simple workflow which is already in place.

Thank you both for your replies. Instead of going through point by point I'm going to address the common themes if that's ok.

UX Changes
I don't plan to make any UX changes at all, the Virtual Storage suggestion is just the best current option I have for not changing the UX. I will review this suggestion and see if I can find something even lower impact

UUID IDs
It seems there are different opinions on these, and it may be that it's 'too late' to switch to them from integer IDs. I strongly believe that UUIDs are the correct approach for location/stock/part/build IDs as they permit refactoring, databases merges etc. This is not a core part of this proposal so I will not mention it again.

Extra complexities
I feel that adding extra fields to the StockLocation model is not keeping things simple but actually adding in the extra complexities you wish to avoid. There is no doubt that the physical reality of storage is that Stock is stored inside other Stock. Parts are kept on shelves which have serials and are purchased, they are stored inside parts with parameters, parts with tests, parts with every attribute the Stock system currently handles.

Eventually these features will need to be added for reasons illustrated above, such as allocating reels to feeders based on tape width. This means effectively re-creating the Stock system but in the StockLocation subsystem.
I don't see the point of maintaining this parallel hierarchy given that Stock already fully encompasses what's required, and in fact the concept of an Installed item already exists and very nearly matches the real semantics. The only reason to do so in my mind are the risks of using Stock as a StockLocation and the unintended complexity that could result, however I feel this is quite well bounded. There is a simple top down hierarchy and the only additional check would be to ensure you can't Install an item in a circular fashion. I haven't checked if this code already exists but circular references are the only pitfall I can see.
Compatibility is something I have thought long and hard about and my primary concern. The changes that I propose could be safely carried out on existing databases in both a forward and reverse manner with no information loss whatsoever. That I would expect is something no PR would be accepted without.
I could produce a UML diagram to continue the discussion here, but after reviewing my proposal above, the core of the patch I think is much smaller than I expected. I have some other work to complete at the start of this coming week, but I would like to produce a quick demo install (with patches) to illustrate my proposals much more clearly, if that's ok?
Cheers,
exp
PS. Apologies for the succinct response, I am happy to illustrate any part of the proposal in more depth, and I thank you for even entertaining my ramblings ;) Hope you all have a lovely weekend.

@SchrodingersGat There is a PR in the same direction already present #2482

I've been looking for something similar to locate items in storage. My use case - I put items/parts in to zip lock bags or small boxes, and they then go in to storage boxes. I then need to find where the item is (or been last seen), and where to find the storage box.
My main problems have been:

Parts and boxes get shuffled/moved around a lot, so I can't rely on fixed locations hierarchy, and need to be able to update it quickly.
Often there is no time to keep inventory up to date, so information can get stale. That's acceptable, as most inventory is non-critical. With that said - I need to know how stale is the tracking/inventory data for the following reasons:

To know which stale inventory to update when there is time
To know when NOT to rely on tracking/inventory info because it's of date
To know where an item (or it's container) was seen last, to help with the search when inventory gets lost

Data entry and reporting needs to be very quick and lightweight. Time is highly valuable, while stock items are diverse, numerous and inexpensive.

For schema - I really need 2 tables:
ITEMS - TAG, DESCRIPTION, ATTRIBUTES
HISTORY - ITEM_TAG, PARENT_TAG, DATE, ACTION, ATTRIBUTES
So far I've implemented this in SqLite, and been using DBeaver (GUI/Front-End) for data-entry and viewing reports. New stock goes in to items table, and I note items location in history with date, action (Install/Remove/Purchase/Sell/Test/Dispose etc.), and parent tag.
For reporting I mostly rely on Recursive Location that can report hierarchical location for a single item OR report what's stored at a given item/location (in a hierarchical/tree like format). I also combine Recursive Location report with tracking history report to search for lost items. DBeave/SQLite solution has been working well for the last year.
Hoping to move my custom solution to Inventree at some point to be able to view item's pictures, attributes and make it more user friendly for non technical users (so my wife can use it as well). Wanted to ask how feasible would it be to implement this in Inventree? - I'd most likely contribute with the development, main concerns are that Inventree would be trying to enforce some additional rules on inventory ( I just need to know what's where, get tracking history, and be able to enter a lot of items very quickly).

@rshalaev have you tried the demo / read the docs?
I think your use case should be mostly covered by what is there already. Locations are hierarchical and stock has a history tracking model attached by default. Manipulation via QR codes might make inventory faster.

@rshalaev have you tried the demo / read the docs? I think your use case should be mostly covered by what is there already. Locations are hierarchical and stock has a history tracking model attached by default. Manipulation via QR codes might make inventory faster.

@matmair Yes. I've setup Inventree, and been trying to get it to work for this use case (minimal data entry/lightweight system for tracking installed and stored items and components).
Here's an example of tracking movement of an internal PC component (for example SATA/m.2 adapter):
Day 1: Room_1 - Item_A -> Item_B  -> Item_C (Item C is installed in component B in device A)
Day 2: Storage_1 - Box_1 -> Bag _1 -> Item_C (Item C is removed/ placed in to storage)
Day 3: Storage_2 - Box_1 -> Bag _1 -> Item_C (Box moved to a new storage location)
Day 4: Storage_2 - Box_2 -> Bag _1 -> Item_C (Bag moved to a different box)
Day 5: Storage_2 - Box_1 -> Bag _2 -> Item_C (Item moved to a different bag)
Day 6: Room_1 - Item_D -> Item_E -> Item_C  (Item installed in to component E in device D)
Problems, as I recall:

Locations don't have bulk check-in of other locations - moving boxes between storage - need to find and update each box (as location) individually. Time-consuming
Locations don't have history - can't lookup tracking / can't undo an erroneous entry when looking for lost items
Process of assigning items to other items was a multi-step process. Required updating comparability model /  generating and executing a build order

Short term solution was to track things in a simple custom database. Just a barebone/raw DB interface.
Longer term - looking to see if Inventree can be enhanced to support this use case (lightweight tracking with minimal data entry, hierarchical locations/components, tracking history).

@rshalaev there were several ppl. interested in this but no PRs materialized until now so feel free to submit something.
Locations don't have history but the stock has right now as the whole system is oriented around material flow (in a manufacturing sense), not warehousing. I think that explains why some things are set up that way. But this is def. not set in stone.

@rshalaev adding "history" to the stock locations themselves would be a welcome addition, and one that we would certainly be happy to consider!

I apologise for the massive delay in producing a PR, I have been completely swamped with PCB and device failures, firmware, bootloaders, holidays and birthdays!
I will be on this issue full time from some time today if all goes to plan.

@exp no worries, we are all doing this on free time! Ping us if you need assistance.

Turns out things did not go to plan, but I have small amounts of progress made. I'll aim to give you something workable this week as I need to get this feature working in some form that's acceptable to all.
Cheers

@exp no worries. Feel free to just dump what you have into a WIP PR so we can take a look and give you feedback. The things ppl struggle with often turn out to be just a quirk with the way Django/our structure is set up.

@exp any chance you'd want to post what you've got?  This is likely a blocker for switching to inventree so I could put some hours in...

@laurus-lx a lot of pieces of this puzzle are now in place.
https://github.com/inventree/InvenTree/pull/3640 was a major refactor of the barcode scanning feature, you can now assign arbitrary barcodes to stock locations, as you could already do with stock item.
https://github.com/inventree/InvenTree/pull/3887 provides some additional barcode functionality to the web interface.
Still missing is historical tracking information for stock locations.

Just chiming in to say that whilst I'm a hobbyist, being able to track what's in the PnP feeders would be very useful, as would a lot of other suggestions mentioned above.
Happy holidays everyone!

Hi, I think this feature is the SSCC containers implemented by other solutions.

Hiya folks! I'm trying to figure out if there's anything left or what's left to enable historical tracking of locations?  i.e. if I have a box with things in it, can I track where that box has been?

@adamwolf no, currently we only have historical tracking of individual stock items - not the locations.


Add dynamically methods to _DeviceArray and PyBuffer.

As you suggested during a review, calling _DeviceArray directly when LazyExpr are present is clearer.
We need to remove the weakref slot, otherwise we get:
TypeError: weakref slot disallowed: either we already got one, or itemsize != 0

Looks like #1180 effectively added __weakref__ to DeviceArray, though unfortunately it didn't add a test.
@brianwa84 do you still need DeviceArrays to be weakref-able?

(I have note tested it, but it's is possible that they are still weak-ref friendly, because I think pybind11 classes, are weak-ref friendly by default). If it's still needed, I guess we should add a test.

I expect we have tests in TFP that would break if weakref support were broken. I can think of a change that might allow us to get rid of this, but it's a user-visible API change to bijectors and transformed distributions.

I have added a test in api_test.py:
  def test_devicearray_weakref_friendly(self):
    x = device_put(1.)
    y = weakref.ref(x)
    self.assertEqual(y(), 1.)
    del x
    self.assertIsNone(y())


Fix tsql_stat_get_activity() and tsql_read_current_status() to consider only valid tds backends

Description
Fixed the tsql_read_current_status to increment LocalNumBackends only when it has a valid pid, also fixed tsql_stat_get_activity to use numbackends as calculated by TDS extension insteand of pg_stat_activity.
Issue
When idle Babelfish sessions are killed one-by-one, after killing a certain number of sessions (usually 8-9), other yet-unkilled sessions suddenly disappear from sys.dm_exec_sessions. They still do appear in pg_stat_activity.
RCA
There seems to be 2 issues

We are incorrectly setting numLocalBackends(Static variable) for TDS in function tdsstat_read_current_status Check link vs how pg does it (Basic if logic bug)

We are using pg_stat_fetch_numbackends Function in tsql_stat_get_activity , which seems wrong because the status Array for pg vs tds BackendStatus are different so are the numLocalBackends variable.  Check Link

These bugs seem to exist from this commit onwards
CHERRY-PICK from 4X https://github.com/babelfish-for-postgresql/babelfish_extensions/pull/2905
Issues Resolved
BABEL-5219
Test Scenarios Covered

Use case based -
YES

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Signed-off-by: Nirmit Shah<EMAIL_ADDRESS>Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

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

9 of 9 (100.0%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.003%) to 73.618%

Files with Coverage Reduction
New Missed Lines
%

contrib/babelfishpg_tds/src/backend/tds/tds.c
2
93.63%

Totals

Change from base Build<PHONE_NUMBER>6:
0.003%

Covered Lines:
42689

Relevant Lines:
57987

💛  - Coveralls


Send :retry option to automatically retry on failure

I came here looking for this exact feature.
Also, probably the oldest issue I've seen on GitHub :smiley:
Any update on when this might land?

It will land when someone who wants it writes it ;) Should be a fairly simple change.
--
Martyn
On 6 Mar 2012, at 19:36, Derek<EMAIL_ADDRESS>wrote:

I came here looking for this exact feature.
Also, probably the oldest issue I've seen on GitHub :smiley:
Any update on when this might land?

Reply to this email directly or view it on GitHub:
https://github.com/mloughran/api_cache/issues/3#issuecomment-4351368


Proofread and edited "Extending"

 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.

LGTM! Thanks for your contribution!


T4 Templates not working

T4 templates are only working after removing empty lines at the end of all three .tt files. I am not used to working with T4, so I can't say anything about how this fixes the issue. Got this hint from a comment on stack overflow.

I'll take a look, should be a straightforward fix.


Nested enum reducer error: cannot be constructed because it has no accessible initializers

Description
The case is pretty simple. The error occurs if you have nested macro-generated enum reducer (e.g. Feature1) in another macro-generated enum reducer (.e.g. Feature2).
Looks that issue occurs since Reducer macro doesn't take into account that macro-generated enum Reducers don't have inits.
Checklist

[X] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[X] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
No error occurs.
Actual behavior
Compiler reports an error: 'Type' cannot be constructed because it has no accessible initializers
Steps to reproduce
See the code below.
@Reducer(state: .equatable)
enum Feature1 {
 case a
 case b
}

@Reducer(state: .equatable)
enum Feature2 {
 case feature1(Feature1)
}

The Composable Architecture version information
1.10.2
Destination operating system
No response
Xcode version information
Version 15.3 (15E204a)
Swift Compiler version information
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0

@stephencelis thank you! it works like a charm!
Is it in the docs already?

@larryonoff I don't believe it's documented yet, but we'll PR some later today!


Update alert.py

Here are some improvements and debugging suggestions:
Docstrings and Comments: Add docstrings and comments to explain the purpose of functions, their parameters, and return values. This will make the code more understandable for others and for yourself in the future.

Error Handling: Implement error handling to catch and handle exceptions gracefully. This will prevent the script from crashing and provide meaningful error messages.

Logging: Consider using the built-in logging module to manage and log messages instead of directly writing to sys.stdout. This will provide more flexibility in controlling where and how logs are displayed or saved.

Constants: If there are any constants or magic values in your code, consider moving them to the top of the script and giving them meaningful names. This makes the code more maintainable.

Code Structure: Ensure that the code follows a consistent structure, such as defining functions before they are used and organizing related functions together.

Argument Parsing: If the script accepts command-line arguments, consider using a library like argparse to handle argument parsing. This makes it easier to manage and validate input arguments.

Code Reuse: If there are duplicated code segments, consider refactoring them into reusable functions to avoid code duplication.

Testing: Write unit tests for your functions to ensure they work as expected. This can help catch bugs early and provide confidence in the correctness of your code.

Checklist

[x] I have followed the Contributor Guidelines.
[ ] The code has been thoroughly tested in my local development environment with flake8 and pylint.
[x] The code is Python 3 compatible.
[x] The code follows the PEP8 styling guidelines with 4 spaces indentation.
[ ] This Pull Request relates to only one issue or only one feature
[ ] I have referenced the corresponding issue number in my commit message
[ ] I have added the relevant documentation.
[ ] My branch is up-to-date with the Upstream master branch.

Changes proposed in this pull request
Your development environment

OS: x
OS Version: x
Python Version: x

I apologize for any confusion in my previous responses. Upon closer examination of the code I provided, I see that it uses 8 spaces for indentation, which does not adhere to the PEP 8 standard of 4 spaces for indentation.i Should change the indentation to 4 spaces throughout the script. Here's the updated code with the correct 4 spaces indentation


Hard-coded path in recipe_runoff_et

recipe_runoff_et.yml requires an external NetCDF file to run. The path to this file is currently hard-coded in the recipe:
https://github.com/ESMValGroup/ESMValTool/blob/cbc936f1dbf21ddccfda7baf31b7be3268927268/esmvaltool/recipes/recipe_runoff_et.yml#L42-L45
Is there a way to replace it with, e.g., auxiliary_data_dir from config-user.yml?

how big is that mask file? we can add it to the masks dir and integrate in the package

aslo -> @mattiarighi you should assign this to whoever wrote and deployed the recipe :point_right:

Actually I only wanted to ask whether it is possible to use auxiliary_data_dir for storing the NetCDF file required by the recipe. I will take care of implementing and testing in case.

Yeah but that means the user will have to get hold of the file on their own - if that file is hard to find, they not gonna be happy :sweat:

The file is freely available via doi, as stated in the recipe:
Currently, the required catchment mask needs to be downloaded manually                                                                                at https://doi.org/10.5281/zenodo.2025776

So the question is where to store this file after the download.
auxiliary_data_dir would be a better solution than ~/

Yts absolutely, cheers Mattia, was lazy enough not to read the recipe :grin:


Suggestion for feature hasDraft

🚀 Feature Proposal
Can you provider new api to validate whether immer type is in deep object.
Motivation
hasDraft()
Example

const data = {  a: 0, b: {  test: 1  } };

const draft = createDraft(data);

const foo = {
    c: 2,
    bar: draft.b,
};

// Sometimes, I don't know when user will assign immer type data to normal object.
return hasDraft(foo) ? finishDraft(createDraft(foo)) : foo;

Or I want to invoke method finishDraft, no matter how deep the immer type is, even if the top of object  is not immer type.

Or another method name clearDraft()

This feature looks far to specific to be part of the standard api. However, you can easily define this in your own code by leveraging some utility that walks the tree using isDraft.
I'm not sure what the context of the original problem is, but I suggest to be a bit more explicit about where you have drafts and where not, rather than mixing and maxing them freely, and then needing some magic utilties that straightens it all out :).
You should never leak drafts anywhere, or assign them to anything. They are only valid during your produce function. Using them anywhere outside is just very confusing without really giving any unique benefits

Sometimes, I have to do that. Even if I find  immer type from deep object by using isDraft, but I can't use finishDraft due to it may be not top level object from createDraft.

As said, you shouldn't be storing your drafts anywhere, but only finalized
states, in which case you wouldn't have this problem in the first place.
So as it stands, strong arguments to implement such a feature are lacking
imho. If you want to make a case you really need to store drafts to only
finish them later, feel free to do so, but please provide a lot more
context and example code in that case :).
On Fri, Jul 26, 2019 at 4:57 AM 原罪<EMAIL_ADDRESS>wrote:

Sometimes, I have to do that. Even if I find immer type from deep object
by using isDraft, but I can't use finishDraft due to it may be not top
level object from createDraft.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/398?email_source=notifications&email_token=AAN4NBHAHTTNTUFXLMDPG6LQBJRZ5A5CNFSM4IG2ELGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD23LDBQ#issuecomment-515289478,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAN4NBAKAO45QMOLPE7BUYDQBJRZ5ANCNFSM4IG2ELGA
.


Fix: Force prompt builder token indicator to be in line with its icon

Description

See this thread. When the token count is more than 3 digits, the alignment gets weird. This PR forces it to be a single row.
User Impact

This is just a UI change, so it will look better
Demo

Before

After

Docs

N/A

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Additional details and impacted files

:loudspeaker: Thoughts on this report? Let us know!


Remove/replace deprecated packages

Sorry I didn't merge this before! I just realized that I'm the maintainer.
These are good changes, thank you.


[Feature Request]: Add gfg solution "Anagram"

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Add gfg solution "Anagram"
Use Case
Add gfg solution "Anagram"
Benefits
Add gfg solution "Anagram"
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar Please assign me this issue


WFCORE-1157 tests - enhance all variants of JmxControlledStateNotificati…

…onsTestCase
this contains tests for EAP 7.1 RFE: https://issues.jboss.org/browse/EAP7-471
upstream issue: https://issues.jboss.org/browse/WFCORE-1157

Please reference WFCORE-1157 in the commit message and PR title, not EAP7-471. EAP7-471 is an internal Red Hat product planning item and isn't the publicly accessible issue useful to the open source community.
Thanks!
@ehsavoie please approve :)

Fixed the jira references.

@ehsavoie is this ok?

Adjusted the tests per Emmanuel's suggestions.

Rebased.

Can we merge this please? I'm growing a bit annoyed that I have already had to resolve conflicts 3 times.

Retest this please

:+1:

Thanks; sorry for the delays.


Use threading

Using threads will make this process much faster
Issues with threading:

Need to know how many parts will be needed, because if 2 parts are getting created and they both end up < 5MB, they will fail to upload since AWS s3 multi part uploads must be >5MB (except last part)

This is hard to calc since the data gets compressed so it can not be calculated before hand from the inputs file sizes

Maybe have a queue of n amount of data pre downloaded ready to get tar'd up? that should speed the process up some, but will it be enough?

Found a solution. Create a cache of source files pre processed as tar's in memory which is kept filled by multiple threads. Default is 5 files, but can be set using the cli flag --cache-size

Fixed in release 0.1.3


ReSharper 9.0 support

Is there any plan to support ReShaper v9? I'm using v9 update 1 currently.

This is a very timely question, because I’ve been working on an update for a couple of weeks :)
There are som big changes in how extensions are distributed in ReSharper 9.0, and I opted to keep it simple and create a brand new extension for ReSharper 9.0 (that is ReSharper Wave01 of products). The package should be up on the ReSharper gallery, and you can find the source here: https://github.com/joaroyen/ReSharper.LiveTemplates.
Thanks for using the extension and please let me know if you have any issues.

Unfortunately, I can't install this plugin using R# extension manager. I tried using manual install as defined in Alternative 2 but it didn't work either. The macro for template is interesting feature. I tried to create pascal case naming rather than snake case naming convention.

As far as I know, every extension is installed through the extension manager, and I'm not sure if it is possible to install it manually in ReSharper 9.0.
If you can't access the official feed, you can try to build the NuGet package locally using the BuildExtension.ps1 PowerShell script. This build script puts the NuGet package in the Extensions folder and you can then add your local folder as a feed in ReSharpers options page for the Extension Manager.

Yeah, you have to install extensions through the extension manager with 9.0. If you're having issues with the extension manager, please email support at jet brains, or raise an issue at https://youtrack.jetbrains.com

I'll try using local folder as nuget feed. Thanks for help.


Store jid correctly when yield returns a hash

Simpler solution to the problem where (with certain Sidekiq version) the yield returns a hash instead of the job id.

LGTM!


Network zperf sample fixes

Codecov Report

Merging #14303 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #14303      +/-   ##
==========================================
+ Coverage   51.97%   51.97%   +<.01%
==========================================
  Files         308      308
  Lines       45512    45512
  Branches    10546    10546
==========================================
+ Hits        23656    23657       +1
  Misses      17055    17055
+ Partials     4801     4800       -1

Impacted Files
Coverage Δ

arch/posix/core/posix_core.c
91.91% <0%> (+1.01%)
:arrow_up:

Continue to review full report at Codecov.

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