feat: support partial implementation

First of all, this is fantastic. 👏 🚀
I started messing around with this when it was the first iteration (before the rename), and I could have sworn that the first cut supported implementing a jsii interface as a TS Partial - make every property optional. I can't seem to get that same behavior with this new version. Have I just officially lost it, or did that behavior get dropped in the transition?
Here's an example of what I'm doing right now:
new ProjenStruct(project, { name: "TokenAuthorizerProps" })
  .mixin(Struct.fromFqn("aws-cdk-lib.aws_apigateway.TokenAuthorizerProps"))
  .withoutDeprecated();

And I'd like that produced interface to have all mixed-in properties as optional.

Never mind, I guess the update[All] interface is the way to accomplish that. 😄

First of all, this is fantastic. 👏 🚀

Thank you kindly!

I started messing around with this when it was the first iteration (before the rename), and I could have sworn that the first cut supported implementing a jsii interface as a TS Partial - make every property optional.

Honestly can't remember myself. The first version was very much an experiment. 😅

What do you think of providing a way to mark all mixed-in props as optional?

Yeah I'm down for these kind of helpers. withoutDeprecated() is similar, you could totally do this using omit or filter, but it's just easier. Send a PR and I'll get it merged.

Cool! PR incoming shortly. Reopening so I can tie back to this issue.


Fix typo in comment

What problem is this PR intended to solve?
Fix a typo in a comment

:white_check_mark: Build nokogiri 1.0.763 completed (commit https://github.com/sparklemotion/nokogiri/commit/8ed5e52acc by @TomA-R)

Thank you for your contribution!


Possible usage of uninitialised pointer in send_forward_tsn()

/tmp/buildd/libusrsctp-1.0.0~td100/usrsctplib/netinet/sctp_output.c: In function 'send_forward_tsn':
/tmp/buildd/libusrsctp-1.0.0~td100/usrsctplib/netinet/sctp_output.c:10975:21: error: 'strseq_m' may be used uninitialized in this function [-Werror=maybe-uninitialized]
strseq_m->flags = htons(PR_SCTP_UNORDERED_FLAG);
^
/tmp/buildd/libusrsctp-1.0.0~td100/usrsctplib/netinet/sctp_output.c:10970:21: error: 'strseq' may be used uninitialized in this function [-Werror=maybe-uninitialized]
strseq->sequence = htons((uint16_t)at->rec.data.stream_seq);

This is probably a false positive, since the initialisation depends on the setting of "old". May be this could fix the warning, and make sure that an invalid pointer is not mistakenly used:
if (old) {
strseq = (struct sctp_strseq *)fwdtsn;
strseq_m = NULL;
} else {
strseq = NULL;
strseq_m = (struct sctp_strseq_mid *)fwdtsn;
}

Isn't this https://github.com/sctplab/usrsctp/issues/83?

This is likely a duplicate of #83.

Should be fixed by https://github.com/sctplab/usrsctp/commit/11e84cca0268816963c8d0909eab9030a19d5b5b


python312Packages.inform: 1.31 -> 1.32

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.inform is: Print and logging utilities
meta.homepage for python312Packages.inform is: https://inform.readthedocs.io
meta.changelog for python312Packages.inform is: https://github.com/KenKundert/inform/blob/v1.32/doc/releases.rst
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.32 with grep in /nix/store/k8qqlpjhx4xnp1592q8nzx4gk8pkayl9-python3.12-inform-1.32
found 1.32 in filename of file in /nix/store/k8qqlpjhx4xnp1592q8nzx4gk8pkayl9-python3.12-inform-1.32

Rebuild report (if merged into master) (click to expand)

16 total rebuild path(s)

16 package rebuild(s)

First fifty rebuilds by attrpath

emborg
python311Packages.emborg
python311Packages.inform
python311Packages.nestedtext
python311Packages.parametrize-from-file
python311Packages.quantiphy
python311Packages.quantiphy-eval
python311Packages.shlib
python312Packages.emborg
python312Packages.inform
python312Packages.nestedtext
python312Packages.parametrize-from-file
python312Packages.quantiphy
python312Packages.quantiphy-eval
python312Packages.shlib

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/k8qqlpjhx4xnp1592q8nzx4gk8pkayl9-python3.12-inform-1.32 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.inform https://github.com/r-ryantm/nixpkgs/archive/198e6f212ed49974f8eed1d9e36caf9bcee1f629.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/198e6f212ed49974f8eed1d9e36caf9bcee1f629#python312Packages.inform

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/k8qqlpjhx4xnp1592q8nzx4gk8pkayl9-python3.12-inform-1.32
ls -la /nix/store/k8qqlpjhx4xnp1592q8nzx4gk8pkayl9-python3.12-inform-1.32/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 28 packages built:

emborg (python312Packages.emborg)
emborg.dist (python312Packages.emborg.dist)
python311Packages.emborg
python311Packages.emborg.dist
python311Packages.inform
python311Packages.inform.dist
python311Packages.nestedtext
python311Packages.nestedtext.dist
python311Packages.parametrize-from-file
python311Packages.parametrize-from-file.dist
python311Packages.quantiphy
python311Packages.quantiphy-eval
python311Packages.quantiphy-eval.dist
python311Packages.quantiphy.dist
python311Packages.shlib
python311Packages.shlib.dist
python312Packages.inform
python312Packages.inform.dist
python312Packages.nestedtext
python312Packages.nestedtext.dist
python312Packages.parametrize-from-file
python312Packages.parametrize-from-file.dist
python312Packages.quantiphy
python312Packages.quantiphy-eval
python312Packages.quantiphy-eval.dist
python312Packages.quantiphy.dist
python312Packages.shlib
python312Packages.shlib.dist

Maintainer pings
cc @jeremyschlatter for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Result of nixpkgs-review pr 358489 run on aarch64-darwin 1

28 packages built:

emborg (python312Packages.emborg)
emborg.dist (python312Packages.emborg.dist)
python311Packages.emborg
python311Packages.emborg.dist
python311Packages.inform
python311Packages.inform.dist
python311Packages.nestedtext
python311Packages.nestedtext.dist
python311Packages.parametrize-from-file
python311Packages.parametrize-from-file.dist
python311Packages.quantiphy
python311Packages.quantiphy-eval
python311Packages.quantiphy-eval.dist
python311Packages.quantiphy.dist
python311Packages.shlib
python311Packages.shlib.dist
python312Packages.inform
python312Packages.inform.dist
python312Packages.nestedtext
python312Packages.nestedtext.dist
python312Packages.parametrize-from-file
python312Packages.parametrize-from-file.dist
python312Packages.quantiphy
python312Packages.quantiphy-eval
python312Packages.quantiphy-eval.dist
python312Packages.quantiphy.dist
python312Packages.shlib
python312Packages.shlib.dist


The current user does not have CAP_BPF to load bpf programs

Describe the bug
I am getting below error while trying the capture the TLS
1|panther:/data/local/tmp # uname -a
Linux localhost 5.10.198-android13-4-00050-g12f3388846c3-ab11920634 #1 SMP PREEMPT Mon Jun 3 20:51:42 UTC 2024 aarch64 Toybox
panther:/data/local/tmp # whoami
root
panther:/data/local/tmp # ./ecapture --version
eCapture version:	androidgki_arm64:v0.9.1:6.5.0-1025-azure
panther:/data/local/tmp # ./ecapture tls
Error: the current user does not have CAP_BPF to load bpf programs. Please run as root or use sudo or add the --privileged=true flag for Docker.
NAME:
	tls - Used to capture TLS/SSL text content without the need for a CA certificate. (Supports OpenSSL 1.0.x/1.1.x/3.x or newer).

**Android **

Device: [Pixel 7]
Env: [run ecapture -v to get the eCapture version, or run the make env command for complete information]
OS: Android13
Arch: Linux localhost 5.10.198-android13-4-00050-g12f3388846c3-ab11920634 #1 SMP PREEMPT Mon Jun 3 20:51:42 UTC 2024 aarch64 Toybox
Kernel Version: 5.10.198

Could you check CONFIG_BPF by grep BPF /boot/config-$(uname -r)?

is there /boot for android?
I got the same issue, too. Here's for /proc/config.gz
/data/local/tmp # zcat /proc/config.gz | grep BPF
CONFIG_CGROUP_BPF=y
CONFIG_BPF=y
# CONFIG_BPF_LSM is not set
CONFIG_BPF_SYSCALL=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
# CONFIG_BPF_PRELOAD is not set
CONFIG_NETFILTER_XT_MATCH_BPF=y
# CONFIG_BPFILTER is not set
CONFIG_NET_CLS_BPF=y
CONFIG_NET_ACT_BPF=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_STREAM_PARSER is not set
CONFIG_HAVE_EBPF_JIT=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_BPF_EVENTS=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set

The message is provided by detectBpfCap().
https://github.com/gojue/ecapture/blob/b01cb6019cca38bf1573ba637e12629006c4a396/cli/cmd/env_detection.go#L49-L70
Can you figure out the reason why BPF syscall returns -EPERM?
A possible approach is to use retsnoop by retsnoop -e '*sys_bpf' -a 'bpf_prog_*' -a 'bpf_check*' -T.

tags v0.8.10  does not have this BPF permission detection function. @Shapa7276 Can you test it with this version?

@cfc4n  it worked :)

The message is provided by detectBpfCap().
https://github.com/gojue/ecapture/blob/b01cb6019cca38bf1573ba637e12629006c4a396/cli/cmd/env_detection.go#L49-L70
Can you figure out the reason why BPF syscall returns -EPERM?
A possible approach is to use retsnoop by retsnoop -e '*sys_bpf' -a 'bpf_prog_*' -a 'bpf_check*' -T.

I don't think there will be CONFIG_DEBUG_INFO_BTF enabled android kernels... , any other way to check?

check memlock with cmd ulimit -l, exec ulimit -l unlimited and retry
I also encountered the same problem. After modifying the code, I got the specific error information and modify  memlock to solve it. By the way, older ecapture  versions seem to be less prone to this problem, if the recent modification increased ecapture memory  costs?
run ecapture
# ./bin/ecapture tls
Error: CAP_BPF：failed to create bpf program: load program: operation not permitted (MEMLOCK may be too low, consider rlimit.RemoveMemlock)
NAME:
	tls - Used to capture TLS/SSL text content without the need for a CA certificate. (Supports OpenSSL 1.0.x/1.1.x/3.x or newer).

USAGE:

code
func detectBpfCap() error {
	// BPF 权限检测
        ... ...
	if err != nil {
		if errors.Is(err, unix.EPERM) {
			return fmt.Errorf("CAP_BPF：failed to create bpf program: %v", err)
			//return fmt.Errorf("the current user does not have CAP_BPF to load bpf programs. Please run as root or use sudo or add the --privileged=true flag for Docker.")
		}

		return fmt.Errorf("failed to create bpf program: %v", err)
	}

@chilli13 Thank you, bro.
Could you test the PR #707 to check whether it's OK to detect CAP_BPF?

the recent modification increased ecapture memory costs?

Nope. It's to check CAP_BPF early in order to tell user the permission limit asap.

Error: CAP_BPF：failed to create bpf program: load program: operation not permitted (MEMLOCK may be too low, consider rlimit.RemoveMemlock)
@Asphaltt  We need to detect whether the user is root before calling the detectBpfCap function. Of course, it is best to exclude the help version flags.


passing as arg allows for better testing

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.69%. Comparing base (193fd97) to head (23ba5f4).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              main      #21      +/-   ##
===========================================
- Coverage   100.00%   99.69%   -0.31%
===========================================
  Files            5        5
  Lines          331      330       -1
===========================================
- Hits           331      329       -2
- Misses           0        1       +1

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


Down arrow key in the Editor pane is not working.

After 1 or 2 down arrow keystrokes, the pointer on the editor pane is been disabled.

Related to #555


Integration Test: Gossip Consistency

Create a new test which deploys a network with a series of block producers and monitors the flow of gossip traffic to ensure that block gossips are consistent. This should be implemented in a way that can be easily reused in other tests in the future as well. If possible, try to come up with a network state data structure for doing this which does not leak memory over time.
Bonus: send payments and assert that they are also consistent (perhaps even extend to snark work submitted by the coordinator).
Implementing this will meet the acceptance feature requirement for gossip consistency checks.

Does consistency mean "check that after some interval all nodes have seen the same data"?

https://github.com/MinaProtocol/mina/pull/7884

@nholland94 to try to land this this week once CI is fixed

actively working on debugging this test.

completion of this issue blocked by and dependent on #8600

this is done, just waiting for PR review and merge


Adding Python Program

I want t add python Program

Good work @ADITYA-003! Congratulations on making your first open-source contribution. Keep learning and contributing!


php: 7.2.29 -> 7.2.31, 7.3.16 -> 7.3.19, 7.4.6 -> 7.4.7

Motivation for this change
Point releases contain several security updates and bugfixes.
Changelog: https://www.php.net/ChangeLog-7.php#7.4.7
Re #90939, #90924, #90921
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build php72 php73 php74

hmm, so the aarch64-issue doesn't exist on 20.03 where we don't have the refactorings? Seems like a packaging bug to me then. Will take a look at this.

I assume I found the culprit: php/php-src@93a9b56
Let's hope that this commit applies to 7.2 and 7.3 and we can merge.

@GrahamcOfBorg build php72 php73 php74

Darwin fails like this:
checking for xml2-config path... /usr/bin/xml2-config
/usr/bin/xml2-config: line 3: xcrun: command not found
/usr/bin/xml2-config: line 3: xcrun: command not found
/usr/bin/xml2-config: line 3: xcrun: command not found

This is definetely a packaging-bug on our side. However we should really get those updates to master IMHO. Will merge for now. Unless someone's faster, I can fix this issue later.

Darwin fixed in #91511


Update starting-a-project.md

Translation Bangla BN

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

translating to bangla


[Relay]fix heterogenous annotation bug

This PR fixes a bug in heterogeneous annotation that it mistakenly steps into the fused op.
@yzhliu @jroesch @kazum @imorinaga please review, thanks.

Thank you for your quick fix and effort.
I have not understand the behivior of ExprVisitor yet, but other code looks goods to me.
The bug reported in https://discuss.tvm.ai/t/how-to-use-heterogeneous-execution/1681 is resolved on my environment. Thanks!
> nvprof --print-gpu-summary python heterogeneous.py
==39167== NVPROF is profiling process 39167, command: python heterogeneous.py
==39167== Profiling application: python heterogeneous.py
==39167== Profiling result:
            Type  Time(%)      Time     Calls       Avg       Min       Max  Name
 GPU activities:   29.82%  3.6160us         2  1.8080us  1.4720us  2.1440us  [CUDA memcpy HtoD]
                   29.55%  3.5840us         2  1.7920us  1.6000us  1.9840us  [CUDA memcpy DtoH]
                   28.76%  3.4880us         1  3.4880us  3.4880us  3.4880us  fused_sqrt_kernel0
                   11.87%  1.4400us         1  1.4400us  1.4400us  1.4400us  fused_exp_kernel0

@imorinaga Thanks for pointing out. I fixed it.

Thanks @zhiics @kazum @imorinaga , this is now merged


Refactored FrameworkCompatibilityService for use in NuGet.Jobs

We want to reuse the FrameworkCompatibilityService in the NuGet.Jobs repo to get packages' computed frameworks in the Search index-builder jobs. To make this code easier to reuse, I made it a static class. I also updated all its existing references and tests.
Part of https://github.com/NuGet/Engineering/issues/4979

To make this code easier to reuse

Can you please explain this part? How exactly does it make it easier? Isn't using as it's almost the same as this, except for some dependency injection and constructor parameters?

To make this code easier to reuse

Can you please explain this part? How exactly does it make it easier? Isn't using as it's almost the same as this, except for some dependency injection and constructor parameters?

@erdembayar You're probably right that we could do it that way too. I don't have much context on how to add dependency injection here, so that was part of my motivation for doing it this way.
However, I also didn't see any reason why this service couldn't just be static. All its other members were already static, and this class doesn't need to store any state.


Bumps in fortress : ign-gazebo6

See https://github.com/ignition-tooling/release-tools/issues/428

No unexpected failures :heavy_check_mark:


how to conver ckpt to tflite?

Thank you for sharing your code.
I just started learning Tensorflow.
I Trying to conver .ckpt to .tflit.
How can I know the input_arrays_names and input_shape? I know the output is: yolov3/yolov3_head/feature_map_1,yolov3/yolov3_head/feature_map_2,yolov3/yolov3_head/feature_map_3.
AND can this model run in Edge TPU?
sorry for pool English! thx!

https://lutzroeder.github.io/netron/
Maybe you can try this.


Prevent loss of WIP changes by accidentally closing modals

When a user has interacted with a modal they may have some work in progress information in the fields. Clicking outside the modal closes it, losing that work in progress information.
Suggested behaviour
Once fields have been edited in a modal, disable the convenience behaviour, and require an explicit action. That is: do not close upon clicking outside, but still allow closing the modal by clicking the 🗙 icon or pressing the keyboard Esc key.
The underlying bootstrap-modal library has a straightforward implementation of this behaviour by setting data-backdrop="static" on the modal element. See bootstrap-modal.js and Bootstrap modal docs. I have confirmed this functionality works within Wagtail by modifying the modal in the browser console this.options.backdrop = "static"; before closing.
Also considered
Alternatively change the behaviour to add a confirmation step before closing, either upon clicking outside, or even when hitting the 🗙 icon or pressing Esc. This may be too disruptive.
Additional context
This is a suggestion from a user, which I am relaying. I am open to discussion of whether this is a real UX improvement.
#5338 seems related.

An idea, with our Stimulus dialog code, we could add a change listener. If any change event bubbles from inside we know outside click should not close the modal.
We could add a class change also, allowing us to unhide some label near the bottom of the modal.
It wouldn't be 'smart' - as in know when the user has changed fields back to their previous state.
This behaviour could be further enhanced long term with a confirmation modal/dialog before closing.
We can implement the same behaviour in the bootstrap modals, but we probably should look at having one modal implementation when possible.
There is an argument for not using outside click at all for modals we know may have forms in them. Or not using outside click at all (by default), opting in for it in small cases where the modal is known to be info only.

@lb- yes I was imagining something dumb, such as disabling the convenience close behaviour as soon as any field is modified, even if the changes are later undone.
Thanks for the context regarding Stimulus vs Bootstrap implementations. I'm aware there is refactoring work happening somewhere, but not of the details.

@thibaudcolas - would love some of your input here.
Some options for a way forward.

Just change all modals to stop outside clicks
Stop outside clicks if we get a change event
Add a simple browser confirmation alert before closing (we can enhance this to a second modal in the future maybe)
Add a message that appears when you try to close when it looks like you've had a change, this message will advise you to manually close or something similar
Add some way for our models to be optionally set to static, and then change all modals that have forms to use this property.

I'm happy to do a PR as I find it super frustrating when modals close this way haha. However, I just want to get some other input before I proceed.

It seems to me like adding a confirmation step defeats the purpose of the "click backdrop to close" behavior, and dynamically changing this behavior based on user interaction is only going to lead to confusion.
So I’d be in favour of either leaving things as-is, or removing "click outside to close" for all modals that have an explicit backdrop and close button. @benenright what do you think?


Some examples freeze after launch on macos.

cargo run --example ui

ui works on my mac, when I resize the window I can see it re-rendering.

I switch to stable rust. The cpu is not running crazy in this time. The examples will be better if they respond to user interaction.

The ui example works well for me too. I do agree I was initially confused by the ui example as it doesn't show any interactivity. I think it's mainly meant to showcase the rendering aspects of bevy_ui.

I'm closing this, as it seems to be expected behaviour.


Change license of build.go to Apache-2

Apache-2 has been used by all modules in the project.
Related: https://github.com/cilium/pwru/pull/190

@Asphaltt Could you ACK this PR as well?

ACK


The transitions hooks are not working

I am using version 1.0.0-rc.1.
I am registered a transition hook in my run block, I confirmed the hook was added but it never fires.
 .run(($transitions, authService) => {
        const match = {
            to: (state) => state.data && state.data.role !== USER_ROLES.guest
        };

        const callback = (transition) => {
            const $state = transition.router.stateService;
            return authService.getUser().then(() => {
                const user = authService.currentUser();
                if (isEmpty(user)) {
                    return $state.target('landing');
                }
                if (!canAccessState(user, transition.targetState())) {
                    //user can't access the requested state,
                    return $state.target('wall');
                } else {
                    return Promise.resolve('allow');
                }
            });
        };
        $transitions.onBefore(match, callback);
    })

Am I doing something wrong?

Did you fix it? What was the resolution?


chore: Update scala-library from 2.12.12 to 2.12.17

Updates org.scala-lang:scala-library from 2.12.12 to 2.12.17.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang", artifactId = "scala-library" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

@cosmin33 would it be fine for you if we'd bump Scala 2.12.12 to 2.12.17?

@jachro I suppose it doesn't change anything in usage, so I don't see why not


Expose last sync resource version on reflector

I have a use case where I reflect N object types (Namespace / Policy / RoleBindings) into N stores.
I then build an additional in-memory store that is the product of knowing who can LIST which Namespace objects based on the N stores at some regular synch interval.
In order to optimize this code path, I want to know the last resource version synced with each of the N stores in order to avoid iterating over each store to compare if any individual resource changed.  If I know the reflector has not synced from a different resource version from when I last looked to update my ACL cache based on the N stores, then I know there was no underlying state change I need to process to update the in-memory cache.
This is the outcome of some discussions we had at the last meet-up.  It keeps the meaning of resource version opaque to clients, and let's me avoid a lot of churn iterating stores to check if there was a meaningful change.
/cc @smarterclayton @lavalamp @erictune @deads2k

Yeah I'm sorry I did not get a chance to think about joining different reflectors to use the same lock-- I think that would be a better solution for you.
What if you had all the reflectors dump changes into the same FIFO? We might have to make a few changes to get that to work, but that could be interesting?

@lavalamp - I don't think I need to join different reflectors on the same lock.
For dumping changes into the same FIFO, I am not sure that is any better for my initial needs.
Let me think on the thread-safety comments and their implications and make an update.

So I am not sure I have an actual race-issue here, but maybe this helps seeing it be used:
https://github.com/derekwaynecarr/origin/commit/d46445d5c1778a37421f10d33145b29602fed8bb
I have a control loop that runs at period N and is the only writer to the cache data.
At every period N, it checks if the set of reflectors it's managing has a different resource version than it's last check.  If it's not, it just exits quickly.
https://github.com/derekwaynecarr/origin/commit/d46445d5c1778a37421f10d33145b29602fed8bb#diff-0d8878b72403e0a83d38084836c09804R278
If there was a change since the read on resource version, it would basically result in my cache not being updated until the next period interval which is perfectly fine for my use case.
Internally, the reflector appears to also follow a single writer model so as long as it sets the resource version after a successful update to the store I don't see the issue.  It looks like the resync period force exits any existing watch and just results in a new list which results in me now updating the lastSyncResourceVersion, so there aren't multiple threads of execution in the reflector updating the store from what I can gather...

OK, so I looked at how you want to use it. And there is a race, but it's not a big deal for what you're doing because the worst thing that happens is that you do a little extra work on your next sync iteration.
Basically the problem is that resourceVersion isn't synchronized with access to the store, so you never know if it corresponds with the thing you just processed or with something a bit more recent than that. I think I can live with this as long as you add a comment documenting it. :)
But I have a larger problem with this, which is that you're relying on resourceVersion to be globally unique; this is an implementation detail. If we sharded etcd, that would no longer be true. I suggest appending namespace + name + resourceVersion all together to future-proof this.

Wouldn't the cache store have to be shard aware?

On Mar 31, 2015, at 8:41 PM, Daniel Smith<EMAIL_ADDRESS>wrote:
OK, so I looked at how you want to use it. And there is a race, but it's not a big deal for what you're doing because the worst thing that happens is that you do a little extra work on your next sync iteration.
Basically the problem is that resourceVersion isn't synchronized with access to the store, so you never know if it corresponds with the thing you just processed or with something a bit more recent than that. I think I can live with this as long as you add a comment documenting it. :)
But I have a larger problem with this, which is that you're relying on resourceVersion to be globally unique; this is an implementation detail. If we sharded etcd, that would no longer be true. I suggest appending namespace + name + resourceVersion all together to future-proof this.
—
Reply to this email directly or view it on GitHub.

I will add a comment.
I depend on resource version being unique to a watch func result.  I am not following if your last comment implies resource version will not be unique if you watch across namespaces.  I understand they may not be unique across resource types (which is fine with how watch func works now since it watches a single resource type)

OK, I forgot we only store one type of object in our Store so far-- I think we'll change that eventually but until then, I will be satisfied with an expanded comment. Thanks for bearing with me :)

Updated with a comment to note that the lastSyncResourceVersion value is not thread-safe and not synchronized with access to the store.  Consumer beware.

LGTM


multi vector search use case

I observed recently we started supporting multi vector search and epsilon search.
Can you please add some pointers or some documentation on what are the use cases ?
Is epsilon search trying to support the use case where we want to do some kind of range query search for ex : get the topK similar items with constraint that max distance of query to items < epsilon ?
I looked at the code for multi vector search but it was not clear to me what is the use case , it seems like we add repeated labels wtih the data in the space interface which could be different than external labels , can you please elaborate on what use case and query type this support ?
From what i understand it just takes additional label in space interface which could be same for different embeddings , we try to assign each embedding a unique label but internally they could map to same labels and rest of the behaviour is pretty much the same ?

Is epsilon search trying to support the use case where we want to do some kind of range query search for ex : get the topK similar items with constraint that max distance of query to items < epsilon ?

Correct. It is implemented in the C++. A code example is here https://github.com/nmslib/hnswlib/blob/master/examples/cpp/example_epsilon_search.cpp

From what i understand it just takes additional label in space interface which could be same for different embeddings , we try to assign each embedding a unique label but internally they could map to same labels and rest of the behaviour is pretty much the same ?

Yes. The main application is when one is searching for K documents, represented as multiple embeddings. As the output there should be K documents, not K embeddings, the new stop condition fixes this problem.


Support cmd.exe and powershell.exe

As of now, this crate supports POSIX escape sequences and quoting in order to perform splits. It would be great to extend this crate with a way to specify an alternative shell when splitting in order to support other shells/platforms. Maybe have a generic trait that does the splitting that can have new implementations?

Escape syntax for cmd.exe
Escape syntax for powershell.exe

My use case is that I have a server that can accept commands to run, and I need to split the arguments. The server can run on windows or unix platforms. So, when I receive a string like C:\ProgramFiles\MyProgram\my-program.exe command "some text string", the current split using shell_words::split breaks the pathing as the \ is treated as an escape and I get ["C:ProgramFilesMyProgrammy-program.exe", "command", "some text string"] where the \ is gone.
I'm able to detect my platform and even shell that I will use, so having some way to perform a shell-specific split like
shell_words::split_for(
    shell_words::Powershell,
    r#"C:\ProgramFiles\MyProgram\my-program.exe command "some text string""#
)

I just wrote https://github.com/chipsenkbeil/winsplit-rs to solve this for windows,  so closing this out as out of scope for this crate.


Make description more clearly

Hi Docker support team,
I've been learning this chapter: language/python/run-containers.md
I was quite confused, didn't know that I need to open a new terminal before using the curl command.
Because we need to use the curl command when the container is running. If we press Ctrl+C then use the curl command, it's not the expectation, right?
Thanks & Best regards,
Anh Tran

Thanks @longqua69 for the feedback. Yes, a second terminal is the best way to do it. I'll take a look how we can improve that part.

@StefanScherer
Thanks for your contact. I created a PR for this

Awesome, thank you that you already created a PR for this! I'll review later.
Yes, if you see something in the other tutorial, please contribute. ❤


Wallet is crashing while connecting to local node. EraIndex: invalid index 4

Just checking...

[X] This is a cardano-wallet bug.
[X] I am using the latest cardano-wallet release.
[X] I am using the correct cardano-node version for that release of cardano-wallet.

Version
2021-08-11 (git revision: 9cc1b563cd2363b1fd878ac5fe6aff874b36a1b8)
Platform
Linux 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Installation method
IOHK Docker image
Network configuration
mainnet
Context
No response
Description
We recently updated the docker images to latest versions:
image: inputoutput/cardano-wallet:latest
image: inputoutput/cardano-node:latest

The node is sync'd but the wallet is failing to connect to the node throwing an exception.
[cardano-wallet.main:Info:4] [2021-08-23 13:32:13.96 UTC] Running as v2021-08-11 (git revision: 9cc1b563cd2363b1fd878ac5fe6aff874b36a1b8) on x86_64-linux
[cardano-wallet.main:Info:4] [2021-08-23 13:32:13.97 UTC] Command line: /bin/cardano-wallet serve --node-socket /ipc/node.socket --database /wallet-db --listen-address <IP_ADDRESS> --mainnet
[cardano-wallet.main:Debug:4] [2021-08-23 13:32:13.97 UTC] ServeArgs {_hostPreference = Host "<IP_ADDRESS>", _listen = ListenOnPort 8090, _tlsConfig = Nothing, _nodeSocket = CardanoNodeConn "/ipc/node.socket", _networkConfiguration = MainnetConfig, _database = Just "/wallet-db", _syncTolerance = SyncTolerance 300s, _enableShutdownHandler = False, _poolMetadataSourceOpt = Nothing, _tokenMetadataSourceOpt = Nothing, _logging = LoggingOptions {loggingMinSeverity = Debug, loggingTracers = Tracers {applicationTracer = Const (Just Info), apiServerTracer = Const (Just Info), tokenMetadataTracer = Const (Just Info), walletEngineTracer = Const (Just Info), walletDbTracer = Const (Just Info), poolsEngineTracer = Const (Just Info), poolsDbTracer = Const (Just Info), ntpClientTracer = Const (Just Info), networkTracer = Const (Just Info)}, loggingTracersDoc = Nothing}}
[cardano-wallet.main:Info:4] [2021-08-23 13:32:13.98 UTC] Wallet databases: Using directory: /wallet-db
[cardano-wallet.application:Info:4] [2021-08-23 13:32:13.98 UTC] Wallet backend server starting. Using /ipc/node.socket.
[cardano-wallet.application:Info:4] [2021-08-23 13:32:13.98 UTC] Node is Haskell Node on mainnet.
[cardano-wallet.token-metadata:Notice:4] [2021-08-23 13:32:14.04 UTC] No token metadata server is configured.
[cardano-wallet.wallet-db:Info:4] [2021-08-23 13:32:14.05 UTC] Found existing wallet: xxxx
[cardano-wallet.wallet-db:Info:24] [2021-08-23 13:32:14.06 UTC] Starting connection pool for /wallet-db/rnd.xxxx.sqlite
[cardano-wallet.token-metadata:Notice:4] [2021-08-23 13:32:14.17 UTC] No token metadata server is configured.
[cardano-wallet.token-metadata:Notice:4] [2021-08-23 13:32:14.17 UTC] No token metadata server is configured.
[cardano-wallet.token-metadata:Notice:4] [2021-08-23 13:32:14.17 UTC] No token metadata server is configured.
[cardano-wallet.pools-db:Info:4] [2021-08-23 13:32:14.17 UTC] Starting connection pool for /wallet-db/stake-pools.sqlite
[cardano-wallet.wallet-engine:Info:36] [2021-08-23 13:32:14.17 UTC] 55b40651: Chain following starting. Requesting intersection using 11 checkpoints, the latest being 55c06e88<-[d641dfdb-38156809#6149627]
[cardano-wallet.main:Info:4] [2021-08-23 13:32:14.45 UTC] Wallet backend server listening on http://<IP_ADDRESS>:8090/
[cardano-wallet.pools-engine:Info:57] [2021-08-23 13:32:14.50 UTC] Chain following starting. Requesting intersection using 2160 checkpoints, the latest being 55c06e88<-[d641dfdb-38156809#6149627]
[cardano-wallet.network:Warning:13] [2021-08-23 13:32:15.08 UTC] Connection lost with the node.
[cardano-wallet.network:Notice:13] [2021-08-23 13:32:15.33 UTC] Couldn't connect to node (x2). Retrying in a bit...
[cardano-wallet.api-server:Info:80] [2021-08-23 13:32:15.45 UTC] [RequestId 0] [GET] /v2/network/information
[cardano-wallet.pools-db:Info:4] [2021-08-23 13:32:15.76 UTC] Stopping database connection pool /wallet-db/stake-pools.sqlite
[cardano-wallet.pools-db:Info:4] [2021-08-23 13:32:15.76 UTC] Closing single database connection (/wallet-db/stake-pools.sqlite)
[cardano-wallet.main:Debug:4] [2021-08-23 13:32:15.76 UTC] Logging shutdown.
cardano-wallet: ExceptionInLinkedThread (ThreadId 11) (BlockedIndefinitely {blockedIndefinitelyCallStack = [("wrapBlockedIndefinitely",SrcLoc {srcLocPackage = "io-classes-<IP_ADDRESS>-8vqCa9RxYeSIAHkGOEppTU", srcLocModule = "Control.Monad.Class.MonadSTM", srcLocFile = "src/Control/Monad/Class/MonadSTM.hs", srcLocStartLine = 296, srcLocStartCol = 16, srcLocEndLine = 296, srcLocEndCol = 39}),("atomically",SrcLoc {srcLocPackage = "cardano-wallet-core-2021.8.11-9CfWGxilOndlEXObu7PRN", srcLocModule = "Ouroboros.Network.Client.Wallet", srcLocFile = "src/Ouroboros/Network/Client/Wallet.hs", srcLocStartLine = 628, srcLocStartCol = 5, srcLocEndLine = 628, srcLocEndCol = 32})], blockedIndefinitelyException = thread blocked indefinitely in an STM transaction})

The Cardano node log shows this error:
[1279f053:cardano.node.LocalErrorPolicy:Error:661] [2021-08-23 13:32:14.08 UTC] IP LocalAddress "" ErrorPolicyUnhandledApplicationException DecoderFailure (LocalStateQuery HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) ('[] *))))) Query (HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) ('[] *))))))) ClientAgency TokAcquired) (DeserialiseFailure 7 "EraIndex: invalid index 4")

I think this is a node issue as latest tag does not point to latest version. (https://hub.docker.com/r/inputoutput/cardano-node/tags?page=1&ordering=last_updated&name=latest)
In the meantime for mainnet I think it is safest to use last official releases of node and wallet:
https://github.com/input-output-hk/cardano-wallet/releases/tag/v2021-06-11
https://github.com/input-output-hk/cardano-node/releases/tag/1.27.0
image: inputoutput/cardano-wallet:2021.6.11
image: inputoutput/cardano-node:1.27.0

When updating the image:inputoutput/cardano-wallet:latest using docker-compose pull command, v2021-08-11 (git revision: 9cc1b563cd2363b1fd878ac5fe6aff874b36a1b8) was installed as you can see from the logs.
I updated the docker-compose.yml file to use the images you mentioned and the wallet is working again, thanks.
An update for the upcoming fork is coming soon? I suppose cardano-wallet:2021.6.11 won't work after the fork?

An update for the upcoming fork is coming soon? I suppose cardano-wallet:2021.6.11 won't work after the fork?

Yes, 2021.6.11 will not work after hard-fork and there will be official cardano-node and cardano-wallet releases published prior to hardfork. v2021-08-11 is a pre-release that is intended mainly for testing on alonzo-purple testnet. To retain normal operations on mainnet pls use recent official releases for the time being. Sorry for inconvenience.


JBPM perspectives id renaming

@cristianonicolai  can you take a look?

@cristianonicolai now this commits depends on https://github.com/droolsjbpm/kie-wb-common/issues/688 too because of the renaming of the PerspectiveIds


Lefttop position cache can be removed.

Since hit test no longer depends on it.

Add a flag to indicate whether the cache is valid. If not, calculate it and return.
View in Slack


Loss did not drop when training the blender dataset

Hi,
I am using your provide Colab code to training my won data.
At first, I used the LLFF to extract the camera poses of images. Your code can output a wonderful result!
Then, I was trying to use blender to generate the ground true poses as transforms.json. I separated my dataset to  train set (200 images) and val set (100 images) with transforms_train.json and transforms_val.json. However, this time your colab code cannot work.  At this time, I was thinking maybe I generate wrong transforms.json file. However, when I test with mic dataset from nerf_synthetic, it still cannot work.
Your colab code only has 360 inward-facing scene and Forward facing scene.
As you said you managed to train on all provided blender scenes , could you tell me where I got wrong?
Many thanks!

Some blender scenes struggle to converge from the beginning because of the issue https://github.com/bmild/nerf/issues/29
You can try cropping the image, or use softplus activation like the comments in that issue.
Personally I succeeded in training these scenes with these modifications.
I will pin this issue because so many people have asked the same question...

Thank you! That is really helpful!
Could you provide your training settings for the blender scenes with a lot of whitespace such as mic?

In my experiments, I managed to train with many trials until I get lucky initializations that converges, i.e. if the initialization is bad and the loss doesn't decrease, I just stop and train it again and again. Since I only wanted to test my code, I only trained on a few scenes, not all of them.
More systematic ways are like I mentioned above, use cropping or softplus activation. Softplus is very quick to try, so I'd recommend that you do this first. If you find it helpful, I'm happy to modify my code to softplus. There was an issue #51 mentioning this, but he didn't share his results finally, so the current code still uses relu.

@kwea123 Yes, softplus makes it stable during training. However,  several scenes, like drums, mic, and ficus still cannot convergence. I think the reason might be the small area of the foreground. Could you validate the observation? Thank you!


Update DEMO.md

adding .json extension to the filename to be created on this setup.

Thanks @tiagoh for the clarification of the .json file this improves the documentation clarity for everyone and we appreciate your support. ⭐⭐⭐


Pre-trained model (Source model)?

How can i obtain the pre-trained model (source model) from my own dataset?

How can i obtain the pre-trained model (source model) from my own dataset?

Maybe you should train the model on your own dataset first?

Hi jxthyatt,
Thank you for reaching out! If you want to obtain a pre-trained model using your own dataset, you can just train and save a model using your own code.
To use the pre-trained model to perform open-world test-time training with this repository, you can load the saved weights into the same architecture. Create an instance of the model and load the weights using functions like load_state_dict.
Best regards,
Yushu Li


Remove dependencies on 'meta'

Flutter re-exports everything from meta that we actually use, and all plugins by definition require Flutter, so there's no need to use meta instead of Flutter to access common annotations (e.g., immutable, visibleForTesting).
This removes all use of meta, as well as dependencies on the package, from all plugins.
Fixes https://github.com/flutter/flutter/issues/95658
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

We actually do have a test for this in the flutter/flutter repo, FWIW. It just reads every Dart file and checks for the banned imports.
test-exempt: code refactor with no semantic change

We actually do have a test for this in the flutter/flutter repo, FWIW. It just reads every Dart file and checks for the banned imports.

I had considered this, but presumably there could be cases where we'd want to use something from meta that Flutter doesn't happen to re-export, so an outright ban didn't seem like the right behavior. (I guess in theory we could make it a complicated check that only allowed import 'meta/meta.dart' show <things not in a list of banned items>...)

We could also just require that anything we want to use has to be re-exported from foundation. But I don't feel strongly about this either way.

I wish this could be done with:
meta:
  sdk: flutter

That way we don't have to remember the random place from which the framework reexports the meta pkg :/

That way we don't have to remember the random place from which the framework reexports the meta pkg :/

It's not really that random, it's the foundation package of the core framework. :-)


RLOS - Cannot execute tool if using 400 Grads for Horizontal FOV

If you use 400 grads (360 degrees) the tool returns an error informing the user to check input parameters

can no longer reproduce after build 1615 in pro or arcmap. think previous bug fix that @csmoore did fixed this one as well. [df]


subscribeToPlayerState() for one event seems overkill

Is your feature request related to a problem? Please describe.
Correct me if I'm wrong but given the current dart api is more of a pull/poll-based one atm, I think you should use getPlayerState() instead of subscribeToPlayerState() on the kotlin side.
see https://developer.spotify.com/documentation/android/guides/making-remote-calls/
cause I think it 'leaks' a subscription for future events, when we only need one response, am I right ?
Describe the solution you'd like
Use getPlayerState ;-)
Describe alternatives you've considered
Susbcribing once kotlin side with subscribeToPlayerState, and pushing updates to dart

something like https://github.com/benoitjadinon/spotify-playback-flutter/commit/e759a5475bbc84a9896d1804b989a040bd0152c3

@benoitjadinon Thanks, Benoit. I think you are correct about this part

cause I think it 'leaks' a subscription for future events, when we only need one response, am I right ?

The plan is to implement some kind of dart push on change.
I will have a look!

wanted to PR it myself, but I keep delaying my Kotlin class ;-)


Flyway migration scripts for creating the schema

You can also assign me this one.

Completed https://github.com/sivaprasadreddy/spring-blog/commit/0716115c99148c2c99d11e95cd7aadbd2ecc32b8


Problems with output Point Cloud of the C++API with RGB texture(LIdar Camera L515) #L515 #C++ label:L515

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentation?
Is your question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open a new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ L515}

Firmware Version
(<IP_ADDRESS>)

Operating System & Version
{Win (8.1/10)

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
{ legacy / 2.44 }

Language
{C++/python }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>
the reason to start this problem is the ply file exported from RSviewer and save_to_ply.py both came out as the same form
1elements with 9 properties, but each line only contains 3 elements, so a bit confusing to load the data in python or CPP.
Hi, I have been working on export my ply file with CPP API for about a week; I expect to export the ply file with RGB, meshed point cloud data and normals like in RealsenseViewer.
I have looked through many helpful issues in the community already ( such as #8656, #6979 and #2832)
Based on their help, I can export the point cloud with the colourized depth and mesh it like this:

And I tried to play around with rs2::save_to_ply, but I am not sure how to do that. Can anyone take a look at my code and gives me some help?

1>-----
my idea is to use
rs2::save_to_ply exporter(fname,pc);  // because save_to_ply can provide set_options then using
exporter.process(colorized)                // this will help me process the saving procedure
But I can only put colourized depth frames in the exporter.process() method, I am not sure why I cannot put the colour frame inside.
2>--------
I also tried to use points.export_to_ply(fname, colour) directly to export the file. However, this will help me export the data with RGB texture, but it didn't provide me options to select mesh or normals.
Also, this method only saves the points in binary form, it will be really helpful if anyone can provide me with a way to export in ASCII form.

Thank you for all the help @MartyG-RealSense @RealSenseSupport

also I m confused whether the XYZ coordinates are pixel coordinates or 3D coordinates in the Camera frame

Hi @Ziling169BENZHI   Did you manage to find a solution for the problem in this case, please?

Hi @Ziling169BENZHI Did you manage to find a solution for the problem in this case, please?

Hi MartyG-RealSense, sorry I still have the same problem with
rs2:: save_to_ply exporter("",pc);
On the other side, for points.export_to_ply("",color); I figured out the problem is the binary data type reader, do you have any idea, how can I change the format to " format ascii 1.0" ??

Hi @Ziling169BENZHI Did you manage to find a solution for the problem in this case, please?

Also, I am trying to change the minimum range from default to 0, however, I am bit confused about how to implement the sensor control example from SDK2.0 on point cloud example, Can you give me some hints?
Thanks a lot.

When using save_to_ply, setting OPTION_PLY_BINARY to a value of '0' should result in the ply being exported in ASCII format.
https://github.com/IntelRealSense/librealsense/pull/4906
An example of a C++ script for doing so is here:
https://github.com/IntelRealSense/librealsense/issues/6677#issuecomment-650277811
If you wish to shorten minimum range on L515, the link below suggests loading a Visual Preset (json) camera configuration such as Short Range.
https://github.com/IntelRealSense/librealsense/issues/7731
I also located a Python script example for setting the L515's minimum distance to '0'.
https://github.com/IntelRealSense/librealsense/issues/8244#issuecomment-779127501

When using save_to_ply, setting OPTION_PLY_BINARY to a value of '0' should result in the ply being exported in ASCII format.
#4906
An example of a C++ script for doing so is here:
#6677 (comment)
If you wish to shorten minimum range on L515, the link below suggests loading a Visual Preset (json) camera configuration such as Short Range.
#7731
I also located a Python script example for setting the L515's minimum distance to '0' using code.
#8244 (comment)

Hi Marty,
I am sorry I guess I didn't explain my question more clearly.
So First I tried with
rs2::save_to_ply exporter("mesh_face.ply", pc);
exporter.set_option(rs2::save_to_ply::OPTION_PLY_MESH, 1.f);
exporter.set_option(rs2::save_to_ply::OPTION_PLY_NORMALS, 1.f);
exporter.set_option(rs2::save_to_ply::OPTION_PLY_BINARY, 0.f);
//exporter.invoke(depth);
exporter.export_to_ply(points, color);
However, this exporter doesn't have exporter.export_to_ply() function:

Since I already know there exist two method to export the point cloud to ply file. To change the binary option, I would like to know how to implement this option with method of points.export_to_ply("anotherface.ply", color);
Best
Ziling

https://github.com/IntelRealSense/librealsense/issues/6677#issuecomment-648079238 states that ASCII (non-binary) ply export is not possible using export_to_ply and that save_to_ply should be used instead to do so.
The case https://github.com/IntelRealSense/librealsense/issues/6979 that you have already seen had the same kind of problem as the error that you highlighted above.
https://github.com/IntelRealSense/librealsense/issues/6979#issuecomment-668147554
The RealSense user who created https://github.com/IntelRealSense/librealsense/issues/6979 shared a Python script in a later case that exported the ply with binary = false using the save_to_ply instruction.  The script did not export color though.
https://github.com/IntelRealSense/librealsense/issues/7747#issuecomment-725346152
I have mentioned in past cases that discussed export of ply with color that history has shown that exporting a point cloud in Python that includes color information (which the title of this case suggests that you are seeking) is problematic to achieve.
The link below has a Python script that used export_to_ply to export a color ply that lacked normals.  And as mentioned earlier, export_to_ply does not have ASCII export.
https://github.com/IntelRealSense/librealsense/issues/6194#issuecomment-608371293
I recalled that there was also a case in the link below where a RealSense user created a script for export a color ply with export_to_ply for the purposes of accessing it as ASCII.
https://community.intel.com/t5/Items-with-no-label/Capturing-data-from-realsense-D435-exporting-coloured-depth-to/td-p/692227
auto depth = frames.get_depth_frame();
points = pc.calculate(depth);
auto color = frames.get_color_frame();
pc.map_to(color);

...
const string st ="filename.ply";
points.export_to_ply(st.c_str(), color);

My understanding of that case is that once the RealSense user exported the color ply then they opened the ply file in the open-source MeshLab software package and exported the mesh as ASCII.
https://www.meshlab.net/

Hi @Ziling169BENZHI  Do you require further assistance with this case, please?  Thanks!

Hi @Ziling169BENZHI Do you require further assistance with this case, please? Thanks!

Hi, Marty Thank you very much, unfortunately, I still need some assistance, I am trying to load the Json file into my code, I am using the method from #6739 and #4046.
Currently, I felt bit confuse about how this works:
auto advanced_mode_dev = serializable_device(this->p->get_active_profile().get_device());
std::ifstream t(myFile);
std::string preset_json((std::istreambuf_iterator(t)), std::istreambuf_iterator());
if (auto advanced_mode_dev = p->get_active_profile().get_device().as<serializable_device>();)
{
advanced_mode_dev.load_json(preset_json);
....
}
Besides that, I am wondering how to set the mode to Short Range Set in C++?

Setting up the loading of a camera configuration json can be a little awkward.  Let's focus on trying to set up the Short Range preset first.  Fortunately the code for doing so is simpler than for custom made presets.  Intel provide a guide for doing so in C++ in the link below.
https://www.intel.com/content/www/us/en/support/articles/000028416/emerging-technologies/intel-realsense-technology.html
If the second of the two methods in that guide is used:
auto sensor = profile.get_device().first<rs2::depth_sensor>();
sensor.set_option(rs2_option::RS2_OPTION_VISUAL_PRESET, rs2_rs400_visual_preset::RS2_RS400_VISUAL_PRESET_HIGH_ACCURACY);

To define the L515 Short Range preset, please try changing this instruction:
rs2_rs400_visual_preset::RS2_RS400_VISUAL_PRESET_HIGH_ACCURACY
To this:
rs2_l500_visual_preset::RS2_L500_VISUAL_PRESET_SHORT_RANGE

Setting up the loading of a camera configuration json can be a little awkward. Let's focus on trying to set up the Short Range preset first. Fortunately the code for doing so is simpler than for custom made presets. Intel provide a guide for doing so in C++ in the link below.
https://www.intel.com/content/www/us/en/support/articles/000028416/emerging-technologies/intel-realsense-technology.html
If the second of the two methods in that guide is used:
auto sensor = profile.get_device().firstrs2::depth_sensor();
sensor.set_option(rs2_option::RS2_OPTION_VISUAL_PRESET,
rs2_rs400_visual_preset::RS2_RS400_VISUAL_PRESET_HIGH_ACCURACY);
To define the L515 Short Range preset, please try changing this instruction:
rs2_rs400_visual_preset::RS2_RS400_VISUAL_PRESET_HIGH_ACCURACY
To this:
rs2_l500_visual_preset::RS2_L500_VISUAL_PRESET_SHORT_RANGE

thank you so much, Marty I am able to change the Short-range set. I also have some questions about setting the resolution of the L515, do you have any recommended issue I can use?

The code for setting the resolution for L515 in C++ will be the same as with other RealSense cameras, except for selecting resolutions that are supported by L515.  You can set up cfg configuration instructions just before the pipe start line of the script, and then place 'cfg' in the brackets of the pipe start instruction so that the script knows to use that custom configuration instead of the L515's default stream configuration.
Here's a simple example of such code that is taken from an L515 case for defining depth and color streams:
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_DEPTH, 1024, 768, RS2_FORMAT_Z16, 30);
cfg.enable_stream(RS2_STREAM_COLOR, 1920, 1080, RS2_FORMAT_RGB8, 30);
rs2::pipeline pipe;
pipe.start(cfg);

Case closed due to no further comments received.

Hi @Ziling169BENZHI Do you require further assistance with this case, please? Thanks!

Sorry I got sick for few weeks. Thank you for all the help.

No problem at all, @Ziling169BENZHI - you are very welcome!


Selector links overrides explicit links in compose file

Rancher Version: 0.63.1
Docker Version: 1.10.1
OS: boot2docker
Steps to Reproduce: rancher-compose up -d
Using this docker-compose.yml file:
a:
  image: ubuntu
  tty: true
  stdin_open: true
  command:
    - cat
  labels:
    io.rancher.service.selector.link: foo
  links:
    - b
b:
  image: ubuntu
  tty: true
  stdin_open: true
  command:
    - cat
c:
  image: ubuntu
  tty: true
  stdin_open: true
  command:
    - cat
  labels:
    foo: bar

Results:
b:
  labels:
    io.rancher.service.hash: 74a27fb8a287886a4cd9591acb03f3da5268fe80
  command:
  - cat
  tty: true
  image: ubuntu
  stdin_open: true
c:
  labels:
    io.rancher.service.hash: bc5fdcc87fb79a2fc5ccb7ab991d960c0fc93b2b
    foo: bar
  command:
  - cat
  tty: true
  image: ubuntu
  stdin_open: true
a:
  labels:
    io.rancher.service.selector.link: foo
    io.rancher.service.hash: 1b520b790c03bb0c80481d99a52a776964911844
  command:
  - cat
  tty: true
  image: ubuntu
  links:
  - c:c
  stdin_open: true

Expected:
b:
  labels:
    io.rancher.service.hash: 74a27fb8a287886a4cd9591acb03f3da5268fe80
  command:
  - cat
  tty: true
  image: ubuntu
  stdin_open: true
c:
  labels:
    io.rancher.service.hash: bc5fdcc87fb79a2fc5ccb7ab991d960c0fc93b2b
    foo: bar
  command:
  - cat
  tty: true
  image: ubuntu
  stdin_open: true
a:
  labels:
    io.rancher.service.selector.link: foo
    io.rancher.service.hash: 1b520b790c03bb0c80481d99a52a776964911844
  command:
  - cat
  tty: true
  image: ubuntu
  links:
  - c:c
  - b:b
  stdin_open: true

I.e. I miss the link to the b service. I discovered this issue using external_links, but seeing as the issue also applies to links, I've only made a reproducible test for that scenario, but please also consider the use for external_links.

Aside, it would be nice to be able to provide labels for service aliases and external services, too... That could've proved a feasible workaround for this issue for us.
Also noting that adding the link post-deploy, it sticks even after any upgrades done later.

@kaos
The main issue here - we don't distinguish between the links created explicitly vs links created by selectors picks. We would have to fix that.

Aside, it would be nice to be able to provide labels for service aliases and external services, too... That could've proved a feasible workaround for this issue for us.

We already support it via API (labels should be passed to the externalService/dnsService.launchConfig field, similar to the regular service).

Also noting that adding the link post-deploy, it sticks even after any upgrades done later.

Could you explain it in more details? Like service was created, it had/didn't have links, then upgrade was run, etc.. Trying to understand what the issue is here.

We already support it via API (labels should be passed to the externalService/dnsService.launchConfig field, similar to the regular service).

Ah, well of course ;)

Could you explain it in more details? Like service was created, it had/didn't have links, then upgrade was run, etc.. Trying to understand what the issue is here.

The main point being, that any existing links are retained. So if I add the selector labels in an upgrade, any previous links are left intact, and vice versa (i.e. I have selector labels, then later add links explicitly will keep both sets of links, both the newly added, and those resulting from the selectors).
So it seems it is perhaps the rancher-composer-executor or someone that doesn't keep track of both links and selector labels at the same time, like an either/or scenario.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


fix: button default

:tada: This PR is included in version 2.3.1 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


tor version outdated

Hi,
if I run your image tor says:
Please upgrade! This version of Tor (<IP_ADDRESS>) is not recommended

It matches the latest (stable) version by parsing the ReleaseNotes. It should be matching the correct version automatically when rebuilding.


Improve AWS trusted advisor checks refreshing

This PR improves the logic put in place for the vulcan-aws-trusted-advisor when some of its checks are enqueued for processing so we should wait up until the defined refresh TO option polling their status to verify if they are refreshed.
Also for this purpose it modifies the default refresh timeout from 5 to 60 seconds.

Hi @ka3de, one question, if I understood correctly, this PR is improving the process of waiting for all Trusted Advisor checks to be refreshed before start collecting results.
However, it seems that if we reach the timeout of 60 seconds, then the program will proceed anyway, even if there are checks that were not refreshed yet.
Is this the intended behaviour?

Hi @filewalkwithme, yes it's the intended behavior. The idea is to not block the check execution or wait forever to let the checks refresh, we just want to set a better upper bound than before and wait up until that time for the checks to be refreshed, if they are not refreshed during that period of time, then we proceed with the execution whatever the sate is.

Hi @ka3de, one question, if I understood correctly, this PR is improving the process of waiting for all Trusted Advisor checks to be refreshed before start collecting results.
However, it seems that if we reach the timeout of 60 seconds, then the program will proceed anyway, even if there are checks that were not refreshed yet.
Is this the intended behaviour?

Hi @filewalkwithme, yes it's the intended behavior. The idea is to not block the check execution or wait forever to let the checks refresh, we just want to set a better upper bound than before and wait up until that time for the checks to be refreshed, if they are not refreshed during that period of time, then we proceed with the execution whatever the sate is.


NetworkError when attempting to fetch resource.

I am unable to move past this.

Hey, can you please do the following

Post your terminal output here
Post output from your Chrome Developer Tools console

Thanks

Can you git pull on master and try starting the project with the new instructions?
We added a way to start the app via Docker to solve a lot of dependency and connection issues people had.
You essentially just need to do the two steps:
1. Add env var
Create .env file by copying the .env.example
cp .env.example .env

and fill in the following variable:

OPENAI_API_KEY - your OpenAI key

2. Start the app
npm start

Then open the page on http://localhost:3000/.

It shows this error:
ws://<IP_ADDRESS>:3000/_next/webpack-hmr
NS_ERROR_CONNECTION_REFUSED
http://localhost:54321/auth/v1/token?grant_type=password
CORS failed

Do you have any firewalls that might be blocking the WebSocket connection? Something is interfering with listening at the websocket.

I'm looking into a possible general fix 👌.

Hey @4A49, there is a new update on master - we are now proxying all requests so a lot of network issues should be now resolved. Check it out!

Closing this issue as it should be resolved on the main branch. @4A49 please let us know to reopen this or create a new issue if the problems persist.


unsupport Ruby 2.6.0 or newer

I want to use opencv to do something, but my ruby version is 2.6.0, how to use opencv with 2.6 or newer

@ryanfb

Sorry, but this repo/gem is long-dead. Take a look at the more updated ruby-opencv instead: https://github.com/ruby-opencv/ruby-opencv/


Revisit observational dataset dictionary creation

I was able to specify the obs. dictionary by hardwiring to my own modified pcmdi_metrics_driver.py
It would be good if a variable could be set rather than changing the driver code, but that is a small point.
Is there a tool to generate the obs. dictionary by specifying a observational path/tree, for now I am hand editing the file?
Regards,
Mark.

@markcollier as noted in #251 you can specify a custom dictionary of observations, and append these..
@markcollier there is an option in the most updated version to use a custom observational dictionary - which appends files/directory tree to the existing observational data it's discussed at #232 and https://github.com/PCMDI/pcmdi_metrics/pull/244/files
We currently use the script https://github.com/PCMDI/pcmdi_metrics/blob/master/src/python/pcmdi/scripts/build_obs_meta_dictionary.py to build the existing obs dictionary. We're planning on updating these in time, and will optimise the creation of the dictionary when this occurs.
I will need to append an example to the parameter file - https://github.com/PCMDI/pcmdi_metrics/blob/master/doc/parameter_files/input_parameter_file_all_options.py - to make this clear to a user

This revisit will be done in conjunction with #317


How to suppress  the deprecation warning in rb_check_safe_object

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Describe the bug
We get thousands of this warning when deploying our services and they are making our deployment logs much harder to maintain.
"C:/opt/td-agent/lib/ruby/gems/2.7.0/gems/windows-api-0.4.4/lib/windows/api.rb:333: warning: rb_check_safe_obj will be removed in Ruby 3.0"

To Reproduce
Just start fluentd either as a service or from cli
Expected behavior
we would like to know what we can do suppress these warnings.
Your Environment

Fluentd or td-agent version: fluentd 1.17.1
Operating system: windows 10 professional (Microsoft Windows [Version 10.0.20201.1000]) and on multiple windows 2019 servers (Microsoft Windows [Version 10.0.17763.1397])
Kernel version: n/a

If you hit the problem with older fluentd version, try latest version first.
Your Configuration
Any configuration.
<!-- Write your **ALL** error log here -->

Additional context
none

ruby runtime generates its deprecation warning.
You can disable this message by passing -W:no-deprecated parameter via RUBYOPT environment variable.
The root cause is windows-api/win32-api gems use deprecated ruby function. Open an issue on these repositories instead of this repository.


Add new auth fields for redirect

Problem solved

Can open the redirect in a separate window. This is specifically useful for electron applications to enable them to auth in the browser in order to have access to users' stored passwords + passkey functionality.
Enables wallets to sign-in via redirect at a specific url. This can be used by electron applications to redirect back into the app after authenticating in the browser
Electron applications can finish the auth flow by setting the field window.location.search in their app with the window.location.search from the redirect page

PR-Codex overview
This PR enhances authentication in web and electron applications by adding new redirect-related fields.
Detailed summary

Added redirectUrl and redirectExternally fields to support redirection after authentication in various components
Updated types to include new auth fields for handling redirects
Modified login logic in oauth.ts to handle redirection externally if specified

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@WyattMufson could you run pnpm changeset from root to add a changeset please?

@WyattMufson could you run pnpm changeset from root to add a changeset please?

Done

Great, thanks @WyattMufson. I'll test this this afternoon and we should be able to get it in if no regressions show up.

Excellent, thanks @gregfromstl


Update Omni Core API documentation

Update the RPC API documentation of Omni Core.
The documentation is directly taken from the RPC help messages.

Preview: e2931b4a424d49f755ec908d70a84daff10812f1/src/omnicore/doc/rpc-api.md
I'm not sure how to include the results.
The old documentation had a bit more of text. I'd very welcome similar additions, but it should be added to the help messages and the documentation.

This is fantastic, I was going to do this manually - did you use an automated process for this?

did you use an automated process for this

No. :(
Copy, paste, and text replace mostly.


Multiple Modules of the same type?

If in your examples you had 2 Metropolis modules would the idea be that you'd say "Metropolis 1" and "Metropolis 2"?
Or would it be better to have a section that describes a modules characteristics (or a library for other users to build upon) to say to "Module1" is a type of Metropolis with these characteristics that are different than the "default" settings; and "Module2" is also a type of Metropolis with these values that are different from "default"?

My suggestion is to use the first option and append a number to module name (so Metropolis 1 and Metropolis 2).
You could then describe the different parameters for the 2 modules like:

Metropolis 1: INTEXT = c_InT | BPM = 140 | SWING = 50 | do = 4 |
Metropolis 2 = INTEXT = c_EXT | do = 1 | di = 2


Bound to wrong IPAddress

Hello,
_Socket.Bind(new IPEndPoint(IPAddress.Any, _LocalPort) can bind sometimes to a wrong network address (on my computer, I have several network cards and sometimes, it choose the wrong local IP address). In the documentation of Socket.Bind method, you can see : "using IPAddress.Any as the address parameter, and the underlying service provider will assign the most appropriate network address".
So I replaced by _Socket.Bind(new IPEndPoint(Dns.GetHostAddresses(Dns.GetHostName()).Where(address => address.AddressFamily == AddressFamily.InterNetwork).First(), _LocalPort)); because the first IPAddress is the good one for me but the good solution would be to create an UdpSocket for each local IP address.
Cordially,
Stéphane.

Interesting. I wonder how the system decides which is the 'most appropriate' adapter/address to choose?
I will have to mull this issue over. I don't believe, off hand, that connecting to every IP address/adapter in the system would be a good idea. Other adapters may be for WAN networks, VPN connections or bridges to other local but hostile networks (DMZ machines). It might be that you explicitly don't want to search or publish on some networks, or even that you want to search/publish different devices on each network. Even in the case of ipv4/6 (if we supported 6), there might be reasons you might want to limit scope to one or other(?).
I think the best answer would be for the client using the library to decide what they want to do on each adapter/address and create a locator and/or publisher object for each one. Either that or be able to pass an enumerable of addresses/adapters to listen on. That is more convenient if you want to do the same thing on multiple addresses, but not so useful when you want to do different things for each. The current design doesn't allow the client to specify the address or adapter in any case.
At the moment the logic and code for the address (use of .Any) is typically in the UdpSocket class for each platform, and that is created by the platform specific socket factory class. To make it easier for people to use the library, the platform specific versions of the locator/publisher have default constructors that create a default communications server instance, which in turn creates a default socket factory instance. I'm not sure adding the new arguments to the constructor of the factory & socket is a satisfactory design. Adding them to the higher level constructors and passing them down may be the best solution, but feels like poor encapsulation.
I will think on this and see if I can decide on a good solution. Advice is welcome.
Thanks.

Interesting. The documentation for IPAddress.Any (https://msdn.microsoft.com/en-us/library/vstudio/system.net.ipaddress.any(v=vs.100).aspx) suggests that it should already be listening on ALL interfaces (which makes sense given the name). I assume this is not what you're experiencing? Which platform are you running on (I presume .Net 4 Framework)?.

This explains how the 'most apppropriate' address is chosen on various versions of Windows;
http://blogs.technet.com/b/networking/archive/2009/04/25/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx
Are you having problems with the locator or publisher choosing the wrong address (I assume publisher), and what is the symptom? The evidence here suggests that 'listening' on IPAddress.Any should listen on all addresses anyway, and outgoing packets will always have the 'best' source IP assigned, and use route table to get message to where it needs to go, regardless of what address is passed to bind. That makes it seem like there should be no issue with the way the code currently is.
Also, what OS are you using?

I'm using Windows 8.1 and I have problems with the locator. If I let IPAddress.Any, none device is found but if I indicate the good IPAddress manually, it works (other network cards are for VirtualBox or VMWare). If you look at the Ssdp class in http://opentools.homeip.net/dev-tools-for-upnp, they do a foreach on all local IP addresses.
When you do a Bind, IPAddress.Any don't listen on all addresses, but only on the 'most appropriate' which is not the most appropriate for me :-)

I would love to see this fixed, but do not have time at present to do it myself. If anyone wants to contribute, feel free. This is likely a difficult issue to solve though. Here are some thoughts;
First, we need to understand the problem. I suspect the server is listening on all interfaces (based on https://msdn.microsoft.com/en-us/library/vstudio/system.net.ipaddress.any(v=vs.100).aspx) but the client is sending on an interface that doesn't support multicast, or doesn't route correctly or whatever. That's only a guess though. Fixing this issue starts with understanding the details. The behaviour is specifically mentioned as varying on different versions of Windows (and then there's iOS and Android to consider). The two MS articles linked previously in this thread also disagree with each other (though my assumption is one refers to client behaviour and the other to servers). Without understanding this in detail, we're likely to do the wrong thing, I think.
Secondly we need to consider how this should work from a consumer's point of view. I feel not all consumers will want to use all interfaces, so if we're going to support this we should provide a mechanism for specifying which addresses/adapters etc. to use. At this point our options are either to accept some kind of IEnumerable of addresses to support, or to force the consumer to create a separate server/client for each address. I actually favour the later. It keeps the library code simpler internally, I suspect it is easier for clients to reason about (if more work to implement) and it eliminates some other problems with the object model that occur with the other design. I could be wrong however. In any case, we need to decide what to accept (an address, an adapter, a subnet?) and then whether we can use a type already common across platforms (.Net, UWP, WinRT, Xamarin.iOS, Xamarin.Android etc) or whether we need to wrap those types in some kind of common interface etc.
Finally, if we do implement multiple addresses inside a single server/locator then we need to update the object model (we probably should anyway). The SSDP specification says the address of a service returned to a client must match the address the client request was received on. That means we really should have multiple addresses for each published device, and we'll need to use the right one for each request and when broadcasting notifications. This would be a breaking interface change and will require a new major release. So we need multiple service addresses, and a way to tie those back to the addresses/adapters being listened to by the server. An alternative might be to have a single relative address for the device and return an absolute uri based on a root using the device address and port. That still might not support every use case though.

I have a Problem with multiple Interfaces as well. I have no common host name that is accessible from all networks the same way, so I need a possibility to define the description document for each Interface. I think the easiest way to implement this would be to offer an IP Address in the constructor, and use IPAddress.any as the default value. this would not break existing code and still allow consumers of the library a more finegrained Control.

Hi,
Thanks for the feedback, I appreciate it :smile:
Just to clarify, you are suggesting;

Pass IP (optionally), and if neccesary use it to find the adapter.
A separate Publisher/Locator instance for each interface the library consumer wants to publish/listen on? (as opposed to multiple addresses in one object instance).

Yes. There are other things to manage as well, especially if the publisher is running as a service. IP addresses and network Interfaces can change while the Server is running. So having this possibility would be a good start.

It should now be possible to specify an IP address on the constructor to the socket factory.  So something like this;
var locator = new Rssdp.SsdpDeviceLocator(new Rssdp.Infrastructure.SsdpCommunicationsServer(new Rssdp.SocketFactory("<IP_ADDRESS>")));

Creating a publisher is similar. This should bind the sockets created to the address (and associated adapter) specified. By default, or if null/empty string is passed for the IP, the system continues to use IPAddress.Any.


Rewrite Envelop plugins as Yoga plugins if they'd be better with Yoga hooks

Automatic/Manual Persisted Queries plugin

~~https://github.com/dotansimha/graphql-yoga/pull/1137~~

Response Cache (on top of the existing Envelop plugin)

~~https://github.com/dotansimha/graphql-yoga/pull/1359~~

Rewrite rate-limiter plugin by using the approach here;

https://github.com/Urigo/graphql-mesh/blob/master/packages/plugins/rate-limit/src/index.ts#L29
Consider allowing async visitors because cache's get/set methods are async

Consider rewriting tracing and monitoring plugins in platform agnostic way instead of using Node.js packages

Sentry (pre-configured only put your key and that is it ™) #1488
Prometheus

https://app.crisp.chat/website/af9adec5-ddfa-4db9-a4a3-25769daf2fc2/inbox/session_0193251d-5676-49c1-83a0-dfdfab3ee19c/
https://app.crisp.chat/website/af9adec5-ddfa-4db9-a4a3-25769daf2fc2/inbox/session_88821587-54b0-4853-b522-e7f5dc7bc65a/

#1377
https://github.com/dotansimha/graphql-yoga/pull/1741

Does anyone have a solution for Sentry integration? The envelop plugin is not working anymore.

Could you create a new issue by following our issue template? Thanks!


[slider] Range Slider tab order is not a11y compliant

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Currently if you drag the first range slider thumb past the second range finder thumb the tab order is updated.  Hitting tab at the point jumps you out of the slider.
Expected Behavior 🤔
Per this w3 site the best practice for accessibility is as follows:
https://www.w3.org/TR/wai-aria-practices-1.2/#slidertwothumb
"The tab order remains constant regardless of thumb value and visual position within the slider. For example, if the value of a thumb changes such that it moves past one of the other thumbs, the tab order does not change."
Steps to Reproduce 🕹
https://material-ui.com/components/slider/#range-slider
Steps:

Drag the first thumb past the second thumb.
Press the tab key on your keyboard

@jgephart This is expected, the focus is kept on the active thumb.

Good deal, we were thinking it might be as designed.  Thank you for the quick reply, Olivier!

Sidebar: am I able to add the "accessibility" tag next time?  I wasn't seeing where to apply that.

@jgephart Labels can only be added by maintainers

Thanks!


(game-service) Implement Game Service in game-service project

For the game operated properly, I should implement a service object processing business logic related to game operation of an instance of game. A game service object should do the following:

[ ] Initialize an instance of game
[ ] Process each step of a sequence of game
[ ] Listen to the event of skill activation and gather the activated skills
[ ] At the end of "NIGHT", return the result of the night (who has been killed, who should get notification, etc.)
[ ] Process vote
[ ] Detect if the game has been finished at the end of each step
[ ] After finish of game, generate a result of the game (who has won, who is who)

Closed because of too many tasks


Some readme cleanup

been meaning to clean this page up a bit. here's a start.

Link to issue this resolves

What I did: Edited the top-level readme

How I did it: Voodoo magic

How to verify it: Read it

One line description for the changelog: Awesome changes

One moving picture involving robots (not mandatory but encouraged): next time.

@sachin-pikle @michael-w-williams nothing of significance really, just a bunch of cleanup.


chore: relax pool maintain future

Closes https://github.com/paradigmxyz/reth/issues/13225
cc @mattsse

pending ci


Array can return items in the wrong order

Since bindAsArray() uses the value callback and then we loop through the keys of the object to add them to the array, there is no guarantee of the order of the elements in the array? This is not correct. We should either (1) make use of the DataSnapshot.forEach() method to properly iterate over the snapshot in order or (2) make use of the child_added, child_removed, and child_changed events instead of the value event. I think (1) makes sense in the short term and (2) makes the most sense in the long term. We should be able to get some performance benefits by doing (2) since then we won't be recreating so many records over and over every time an item is added to the array.

The fix from @morgante worked for me when used together with bindAsObject. Nice work!

This is now fixed! I will get a 0.2.0 release out in the next day or two which includes this change.


[csrng] Err_test_cg implementation

Coverage implementation needs to be finished
Err_test_cg implementation

estimate 8
remaining 2022-11-10 4

Summarizing the discussion just held:
It's hard to get coverage with backdoor accesses because sampling happens in scoreboard on TL interface, but backdoor accesses don't go through TL interface. Sampling on alert or in vseq could be an alternative.
Impl of CG currently ready, sampling WIP.


Update to CF v8.1.0: job and index data missing in loggregator metrics

Hi Loggregator Team,
we have just evaluated the update from cf-deployment v7.9.0 to v8.1.0 and we've noticed that some loggregator metrics are incomplete. We haven't found the exact root cause, but it's most likely related to the changes introduced in loggregator-release v105.1: https://github.com/cloudfoundry/loggregator-release/releases/tag/v105.1
We are using a firehose nozzle to process all events. In CF v7.9.0 we see for example:
DEBUG 2019-05-02 11:29:40 counter_processor.go:15:Process CounterProcessor.Process: origin:"gorouter" eventType:CounterEvent timestamp:1556796580870895345 deployment:"cf" job:"router" index:"75d4a99a-7d2a-46c7-96b2-5fbf03bc193b" ip:"<IP_ADDRESS>" tags:<key:"source_id" value:"gorouter" > counterEvent:<name:"responses.xxx" delta:0 total:8 >
DEBUG 2019-05-02 11:29:42 counter_processor.go:15:Process CounterProcessor.Process: origin:"loggregator.metron" eventType:CounterEvent timestamp:1556796582249425497 deployment:"cf" job:"nats" index:"b93b69d3-6116-4630-b6c7-2c6740ce0151" ip:"<IP_ADDRESS>" tags:<key:"direction" value:"egress" > tags:<key:"metric_version" value:"2.0" > tags:<key:"source_id" value:"metron" > counterEvent:<name:"dropped" delta:0 total:60 >

After the update to CF v8.1.0 we see:
DEBUG 2019-05-02 11:17:35 counter_processor.go:15:Process CounterProcessor.Process: origin:"gorouter" eventType:CounterEvent timestamp:1556795854963439469 deployment:"" job:"" index:"" ip:"" tags:<key:"source_id" value:"gorouter" > counterEvent:<name:"backend_exhausted_conns" delta:0 total:0 >
DEBUG 2019-05-02 11:31:29 counter_processor.go:15:Process CounterProcessor.Process: origin:"policy-server" eventType:CounterEvent timestamp:1556796689328565213 deployment:"" job:"" index:"" ip:"" tags:<key:"source_id" value:"policy-server" > counterEvent:<name:"UptimeRequestCount" delta:1 total:1524 >
DEBUG 2019-05-02 11:17:35 counter_processor.go:15:Process CounterProcessor.Process: origin:"loggregator.metron" eventType:CounterEvent timestamp:1556795855406614256 deployment:"cf" job:"cc-worker" index:"26af209c-b94f-4b18-b1b3-e20a72451eb1" ip:"<IP_ADDRESS>" tags:<key:"direction" value:"egress" > tags:<key:"metric_version" value:"2.0" > tags:<key:"source_id" value:"metron" > counterEvent:<name:"dropped" delta:0 total:9 >

In the "gorouter" and "policy-server" events the fields "job" and "index" are empty. Other event sources, like "loggregator.metron", are not affected. We have not seen any significant changes in the gorouter components, so we suspect one of the loggregator components.
The events above were observed with a nozzle using the loggregator v1 API. We see the same problem with the v2 API:
DEBUG 2019-05-02 12:35:00 processor.go:14:ProcessEnvelope CounterProcessor.Process: timestamp:1556800499963550599 source_id:"gorouter" tags:<key:"__v1_type" value:"CounterEvent" > tags:<key:"deployment" value:"" > tags:<key:"index" value:"" > tags:<key:"ip" value:"" > tags:<key:"job" value:"" > tags:<key:"origin" value:"gorouter" > counter:<name:"responses.3xx" total:419 >

Can you please check? Thanks for your assistance!

Hi @jochenehret! This was actually a bug in loggregator-agent that was fixed in version 3.11 (https://github.com/cloudfoundry/loggregator-agent-release/releases/tag/v3.11).
However, it's considered a breaking change in cf-deployment due to changing over from expvar forwarder to Prometheus. It won't get included until v9

Hi @heycait ,
thanks for your fast response. An update to loggregator-agent v3.11 fixed the missing tags.
However, we now have the problem that the "loggregator.metron" metrics are missing, like this one:
origin:"loggregator.metron" eventType:CounterEvent timestamp:1556873327970778067 deployment:"cf" job:"diego-cell" index:"e0753b0f-d805-45c3-a857-0852df484b82" ip:"<IP_ADDRESS>" tags:<key:"metric_version" value:"2.0" > tags:<key:"source_id" value:"metron" > counterEvent:<name:"egress" delta:0 total:1647015

We use these to calculate the total sum of messages over all agents. Has this metric been renamed or been removed?

Loggregator agent is the new name for metron. So these are the metrics that we mentioned you'd lose when upgrading to loggregator-agent-release 3.11 on cf-d below v9.
Actually, there's another workaround as the original problem was the loss of tags from UDP forwarder. Instead of upgrading loggregator-agent-release to 3.11, stay on version 3.9. You can re-enable UDP on the loggregator_agent addon and remove the loggr-udp-forwarder job from api,router, and tcp-router in an ops-file like the one below.
- type: remove
  path: /instance_groups/name=api/jobs/name=loggr-udp-forwarder

- type: remove
  path: /instance_groups/name=router/jobs/name=loggr-udp-forwarder

- type: remove
  path: /instance_groups/name=tcp-router/jobs/name=loggr-udp-forwarder

- type: replace
  path: /addons/name=loggregator_agent/jobs/name=loggregator_agent/properties/disable_udp
  value: false

Thanks @heycait for the clarification and the proposed fix!


github-status: function to list open pull requests

allow to list open PRs to be able to rebuild even succeeded PR tests in jenkins

:+1:


remove forestry

Description: What does this implement/fix? Explain your changes.

Reference: Issue or Pull Request (PR)

[x] Towards #120

Reminders

[x] Did you review the CONTRIBUTING GUIDE?
[x] Did you reference an issue or another pull request?

Any other comments?
None

Thank you @SangamSwadiK


Reverse UUID

Hi @danakt - I understand that this module always returns the same UUID for a particular input string.
I had a quick question - is it possible to reverse the generated UUID to get back the original string?
Much thanks,
Mahendra

No. In accordance with the RFC-4122 standard, uuid generation uses cryptographic hash functions (md5 and sha-1) that are preimage resistance


clippy should be a dev-dependency

clippy probably should be a dev-dependency. There’s no reason to pull in clippy for every build of clap even if optionally, if clap is not build for development purposes.

Never mind, I guess.

I've also considered trying to use something like cargo-clippy instead of listing as an optional dep. But this way has the added benefit of running Lint's as part of the Travis setup and blocking a merge if it finds something.


Bumped go version to 1.19.5 and golang.org/x/net in 0.44.x line

Signed-off-by: kumari tanushree<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?

Additional Notes for your reviewer:
Review Checklist:

[ ] Follows the developer guidelines
[ ] Relevant tests are added or updated
[ ] Relevant docs in this repo added or updated
[ ] Relevant carvel.dev docs added or updated in a separate PR and there's
a link to that PR
[ ] Code is at least as readable and maintainable as it was before this
change

Additional documentation e.g., Proposal, usage docs, etc.:

Duplicate PR, https://github.com/carvel-dev/kapp-controller/pull/1084


Fix lint errors

Not sure why these wasn't catched by Travis.

What rule? I'm not seeing it locally here either. Are you on latest XO?

It failed on https://eslint.org/docs/rules/no-constant-condition for me.

Yes, but the default for the checkLoops rule option is false, and we don't set it to true.

Yup, I was on an older version of XO, so this can be dismissed :).