blockchain_test to check intermidiate post state

shouldn we have
blockchain_test(
        genesis_environment=Environment(),
        pre=pre,
        post=[post1, post2, post3],
        blocks=[Block(txs=[tx_set_pointer_storage, tx_set_sender_storage, tx_reset_code])],
    )

so we validate post state of each block in chain test, not just the final one?

Yup, great idea. We should absolutely add this.


Automated cherry pick of #2736: fix: for backward compatility, only check account id consistency for non-empty account id

Cherry pick of #2736 on release/2.12.
#2736: fix: for backward compatility, only check account id consistency for non-empty account id

/approve
/lgtm


Change loading spinner to use map viewport.

Just a little improvement to the load-events example. Because the map viewport is already positioned relative to the map wrapper implementing code should not need to change the positioning of their wrapper. This makes it easier to implement the loading spinner from this example.
The position: relative; is required so that the spinner displays in the center of the map. Otherwise if the map wrapper is not position: relative; then the spinner will always be in the middle of the browser window, not necessarily the center of the map.
Although this does work, I'm curious, are there any downsides to using the map viewport for this?

@paul121 - Though I'm not sure this is explicitly documented anywhere, the idea is that the application "owns" the target element and that the library "owns" the viewport element.  So the library does things like add inline styles or class names to the viewport element.  Since the library creates and destroys the viewport element, the application doesn't really have any guarantees about its stability.  The library doesn't add any inline style or class names to the target element.  It is the responsibility of the application to do that.
I think the example is currently consistent with the responsibilities above.  There may be other examples that contradict what I've said above, but if not, it might be best to keep the example the way it is.  Others may have other opinions.

the idea is that the application "owns" the target element and that the library "owns" the viewport element.

Thanks @tschaub, that makes sense. Maybe irrelevant to the examples then, but the motivating use-case for me is our farmOS-map library that is a wrapper around openlayers. Looking at how to include a loading spinner as a default feature of the farmOS-map library where the wrapper is not required to have the position applied.
Maybe this isn't recommended for examples but will work fine for us

I agree with @tschaub here. I don't know what the reason was to make getViewport() part of the API in #1941. I think the other few examples that use getViewport() could be changed to use getTargetElement() instead.

Thanks all. I'll close this :-)


feat(CharacterCount): Add new component CharacterCount

Summary

Add CharacterCount based on uwds spec . See also discussion in #169
Still working on a few things:

double check behavior for no-javascript
write a test that textRef prop behaves as expected.  Having some trouble testing this  (specifically creating a ref that our current typescript definitions like).  Realized this is first time we are testing the ref prop on a input so our types could be wrong.
maybe add back Label to component - right now the component is just the input + message.

Related Issues or PRs

closes #169
How To Test
Check Forms/ Character Count in Storybook

write a test that textRef prop behaves as expected.  Having some trouble testing this  (specifically creating a ref that our current typescript definitions like).  Realized this is first time we are testing the ref prop on a input so our types could be wrong.

Is this testing what you had in mind?
    it('supports inputRef', () => {
      const tRef = React.createRef<HTMLTextAreaElement>()
      const { queryByTestId } = render(
        <CharacterCount
          id="character-count"
          name="character-count"
          maxLength={10}
          isTextArea
          inputRef={tRef}
        />
      )
      expect(queryByTestId('textarea')).toBe(tRef.current)
    })

write a test that textRef prop behaves as expected.  Having some trouble testing this  (specifically creating a ref that our current typescript definitions like).  Realized this is first time we are testing the ref prop on a input so our types could be wrong.

Is this testing what you had in mind?
    it('supports inputRef', () => {
      const tRef = React.createRef<HTMLTextAreaElement>()
      const { queryByTestId } = render(
        <CharacterCount
          id="character-count"
          name="character-count"
          maxLength={10}
          isTextArea
          inputRef={tRef}
        />
      )
      expect(queryByTestId('textarea')).toBe(tRef.current)
    })

@ahobson Yes, something like that. Was using useRef.  However, either way I can't get those tests actually passing - get typescript errors. In the case of this test `Type '{ id: string; name: string; defaultValue: string; maxLength: number; ref: RefObject; }' is not assignable to type 'ClassAttributes'. Let's pair on this.


Move synthetic data to mth5

With synthetic data in mth5 a lot of the tests in aurora (that are actually testing mth5) can be moved there.
This will take some time.
Ideally, during this moving process, we could update how the metadata are provided to make the mth5.
Currently, an adhoc scheme is used.  This factoring provides a chance to clean up how the metadata are specified.

One approach to this may be to create json versions of the mt_metadata needed to define the synthetic mth5 objects, and archive these in the repo.  The mth5 file could then be constructed via explicit calls to initalize station, run and channel objects with metadata defined by these jsons?
another approach would just initialize the mt_metadata obejcts.

Start by defining instances of a Survey, Station, Run, and 5 Channel metadata objects mt_metadata.timeseries.
Populate these with default values, and update any needed attrs.
use test_channel_ts.py as a template

self.channel_metadata = metadata.Electric(component="ex", sample_rate=1)
self.channel_metadata.time_period.start = "2020-01-01T00:00:00+00:00"
self.channel_metadata.time_period.end = "2020-01-01T00:00:59+00:00"
    self.channel_metadata2 = metadata.Electric(
        component="ex", sample_rate=1
    )
    self.channel_metadata2.time_period.start = "2020-01-01T00:01:10"
    self.channel_metadata2.time_period.end = "2020-01-01T00:02:09"

    self.combined_start = "2020-01-01T00:00:00+00:00"
    self.combined_end = "2020-01-01T00:02:09+00:00"

    self.ex1 = timeseries.ChannelTS(
        channel_type="electric",
        data=np.linspace(0, 59, 60),
        channel_metadata=self.channel_metadata,
        survey_metadata=self.survey_metadata,
        station_metadata=self.station_metadata,
        run_metadata=self.run_metadata,
    )
    self.ex2 = timeseries.ChannelTS(
        channel_type="electric",
        data=np.linspace(70, 69 + 60, 60),
        channel_metadata=self.channel_metadata2,
    )
  ```

Also Initialized mt_metadata objects could take the place of the SyntheticRun, and SyntheticStation classes

TODO: Before complete, merge new better docs from fix_issue_337 branch of aurora into mth5

Synthetic data are now in mth5 and aurora imports them.


linter: Add suspicious-semicolon rule

Inspired by clang-tidy's similar check.
Things to note:

verilog/tools/lint/testdata/forbid_consecutive_null_statement.sv has been modified so it doesn't fail under this rule too.

I don't think this will flag any code that isn't wrong except the typical
while(myCoolFunction());

which I don't think is a particular common idiom in [System]Verilog. It can be fixed with an empty begin end. I could also make the check more specific (require that there isn't a function or task call inside the while condition (?)).
Maybe this could be enabled by default?

Codecov Report
Patch coverage: 95.00% and no project coverage change.

Comparison is base (470e0b9) 92.85% compared to head (fccb08b) 92.85%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2016   +/-   ##
=======================================
  Coverage   92.85%   92.85%
=======================================
  Files         357      358    +1
  Lines       26399    26419   +20
=======================================
+ Hits        24512    24531   +19
- Misses       1887     1888    +1

Files Changed
Coverage Δ

common/analysis/linter_test_utils.h
97.87% <ø> (ø)

...log/analysis/checkers/suspicious_semicolon_rule.cc
95.00% <95.00%> (ø)

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

What do you think about enabling by default?

I think considering it by default sounds like a good idea, but I like to separate out the feature itself (default off) and then a separate pull request that only switches the default. That allows for a nicer rollout experience.


Do not work behind proxy

Expected behavior
Can login to docker hub with Kitematic
Actual behavior
Get error

connect ENETUNREACH 104.xx.xx.xx:443

Information about the Issue
I used the Docker for Mac Version 1.12.0-rc4-beta19 (build: 10258)  (not the toolbox or docker-machine), and I configured the Proxy in Docker GUI. I can pull image in command-line with docker pull xxxx, but I cannot pull anything with Kitematic.
Steps to reproduce the behavior

Make sure the mac only can visit website behind proxy
Open Kitematic and try to login or search any images.

@deanwong getting kitematic to read the proxy settings is a bit tricky.
What you can do however is make sure to make your proxy settings globale, by following:
https://github.com/docker/kitematic/wiki/Common-Proxy-Issues-&-Fixes#make-the-proxy-settings-sticky
Then start Kitematic from the command line.


Demo cannot be run on Safari

Everytime I get the Unhandled Promise Rejection: TypeError: Conversion from 'BigInt' to 'number' is not allowed. error due to print I believe.

We use 0.10.2 WASI polyfill in Safari, but I don't think anything changed there with regards to BigInt in the recent versions, need to verify it though.

PR submitted to the WASI polyfill code as https://github.com/wasmerio/wasmer-js/pull/231.


Ctrl + C is not updating the clipboard.

I select with shift + arrows some words, I press Ctrl + C, I can see the Copied. message in the status bar, but the clipboard (primay or clipboard) is not updated. Same with Ctrl + X : Cut. is shown, the selection is deleted, but the clipbord is not updated.
I am using Ubuntu 18.04.5 LTS with XFCE 4.12.
I have these settings :
LANG=en_US.UTF-8
LANGUAGE=en_US:

> setxkbmap -query
rules:      evdev
model:      pc105
layout:     us
variant:    altgr-intl

Also, I am using xterm:
TERM=xterm
XTERM_LOCALE=en_US.UTF-8
XTERM_SHELL=/bin/zsh
XTERM_VERSION='XTerm(330)'

@calandoa
I am using copypasta lib for accessing OS clipboard. As of now it only supports wayland and x11 clipboards (see: https://docs.rs/copypasta/0.7.1/copypasta/). I am not much of a deep systems person so pardon me if I am wrong but maybe it is because xfce under the hood, doesn't use x11 or wayland clipboard and instead has its own implementation? Can you conform? Thanks.

XFCE use the standard X11 clipboard system. Unfortunately XFCE is the only manager I have on my system so I cannot try with another one. I also tried with gnome-terminal and I get the same problem.

Seems like a missing library. I am using copypasta for clipboard access, this lib is a fork of rust-clipboard which requires the xorg-dev lib to be installed.
Please check the links below for further.
[WARNING]: Steps mentioned in the links below, might break your OS. So please proceed with caution.
https://github.com/ahmednooor/lino/tree/main#build
copypasta
rust-clipboard prerequisites
I have also created a separate branch with the name issue-6 in which I have commented out accessing the OS clipboard manager. Please clone and run that and share the findings.
Thanks.

So I installed xorg-dev, I checked out issue-6, I built and ran with cargo run... and I can copy and paste stuff internally. So the culprit seem to be the library again.

Thank you. Try to build and run the main branch as well and see if installing xorg-dev fixed it or not.

Well, thanks to you for your work!
After installing xorg-dev and switching back to main, the copy/paste is working fine at the system level.
But afterwards, I tried to desinstall xorg-dev, clean, reboot and rebuild all to be sure... and it is still working!
I searched a bit and finally the difference is just building lino from the source (git clone) is working, but installing it directly with cargo install breaks the copy/paste. I did not investigate further, so maybe this is finally cargo the culprit.


linuxPackages: unbreak new kernels on 32-bit platforms

Description of changes
Disable BTF on 5.15+ for 32-bit platforms.
Related: https://github.com/NixOS/nixpkgs/pull/177401

Things done

Built on platform(s)

[ ] x86_64-linux
[X] i686-linux
[ ] aarch64-linux
[X] armv7l-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

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

[X] Fits CONTRIBUTING.md.

@ofborg build pkgsi686Linux.linux_5_10 pkgsi686Linux.linux_5_15 pkgsi686Linux.linux_5_17 pkgsi686Linux.linux_5_18

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/armv7l-ebpf-issues-for-kernels-5-10/17996/7

That sounds like a pahole bug, was it reported upstream?
I don't have the resources to reproduce this now but it probably needs some follow up rather than just disabling...

That sounds like a pahole bug, was it reported upstream?
I don't have the resources to reproduce this now but it probably needs some follow up rather than just disabling...

I'm not a kernel specialist, but that's probably involves some kind of mailing list? I'm simply want my systems to be not stuck on 5.10 and since it's disabled on other distributions, it seems that no one cares about this feature on 32-bit kernels.

misuzu wrote on Fri, Jul 08, 2022 at 11:26:54PM -0700:

I'm not a kernel specialist, but that's probably involves some kind of
mailing list? I'm simply want my systems to be not stuck on 5.10 and
since it's disabled on other distributions, it seems that no one cares
about this feature on 32-bit kernels.

Yes, just send a mail to @.*** and probably
@.*** in cc asking if it's a known bug and if someone is
working on it.
I'm not asking you to fix it, just reporting the problem with a little
bit of information (e.g. in what environment it happens) goes a long
way; the developpers probably just haven't used a 32bit machine in a
while...
I guess I can send the mail if you don't want to, but it's a bit odd if
it comes from someone who can't reproduce it -- from the looks of what's
said on discourse it doesn't happen with cross build and need a native
environment so I'd need to setup a 32bit VM or something first...

Heh, GitHub redacted the addresses.

geez, thanks for the reply I wouldn't have noticed. It looks like it works when I edit it and is only filtered if it comes from mail?
Anyway, if it didn't work: dwarves and bpf at vger.kernel.org

from the looks of what's said on discourse it doesn't happen with cross build and need a native environment so I'd need to setup a 32bit VM or something first...

Doing nix-build . -A pkgsi686Linux.linux_5_15 on x86_64 machine is enough to trigger this issue.

Hydra does it the same way, with x86_64 builders.  Then we have VM tests as well where a 32-bit kernel would be used, but this happens before during a regular build.

I've triggered a build and I think I really need to mount something on /tmp... I've lost all remote access at some point during the build after growing the tmpfs and hoping it'd fit :/
Well, if it's reproducable as "cross" build (ARCH=i386) I'll get around to it eventually and can send the mail; thanks.

insert mandatory grmbling about linux build taking way too long because too many options are compiled in, and the usual difficulties to reproduce something manually after checking it fails in nix-build
with that out of the way, it looks like a bug in our build of pahole 32bit builds.
/tmp/linux-5.15.52/build$ LLVM_OBJCOPY="objcopy" /nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23/bin/pahole/bin/pahole -J --btf_base vmlinux arch/x86/crypto/aesni-intel.ko
bash: /nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23/bin/pahole/bin/pahole: Not a directory

$ nix-store -qR /nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23/bin/pahole
/nix/store/7z2mlf9jqp7fpbb3wib75xdlgfi3bgy4-libunistring-1.0
/nix/store/nkvwq9wn2qv8gz2zxfdprdxdm4nfg93x-libidn2-2.3.2
/nix/store/pp1yzf2flqnjm02jnjcgxhx015bhmi9j-glibc-2.34-210
/nix/store/1y304j4nrcg4azbcfgsinjk5sbfyn807-libelf-0.8.13
/nix/store/4v7kprliykhgfm6r2y2amdr14qxpmlam-bzip2-<IP_ADDRESS>.2
/nix/store/6xx7safscsa8bmam6xawxngjh3fb9zk5-bash-5.1-p16
/nix/store/gxmvhzsi0nm17nlmpnvn7k3ycx6bbsgz-gcc-10.4.0-lib
/nix/store/n68dgb3rk2k51h22fmlf6jl3w61fax7w-zstd-1.5.2
/nix/store/p77ikss2xc161g0ahpixrq07nlg14ivs-zlib-1.2.12
/nix/store/wnxn3hjs1qa9nzvv06yc1j8ammjv3i0d-xz-5.2.5
/nix/store/gcm65k6iiw7yfbx53gpwqbajgcsv74bj-elfutils-0.187
/nix/store/nv146a9jbpqfxfch9g093pkcmhms1fl5-libbpf-0.7.0
/nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23

$ file /nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23/bin/pahole
/nix/store/8fcywp2fd8zsx65b5kp94z0392drbgdy-pahole-1.23/bin/pahole: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /nix/store/pp1yzf2flqnjm02jnjcgxhx015bhmi9j-glibc-2.34-210/lib/ld-linux.so.2, for GNU/Linux 2.6.32, not stripped

with 64 bit version in same source tree it works:
/tmp/linux-5.15.52/build$ LLVM_OBJCOPY="objcopy" /nix/store/h6kzgddq80l5pkwgpi5x7hwwk73gyd1w-pahole-1.23//bin/pahole -J --btf_base vmlinux arch/x86/crypto/aesni-intel.ko
<no output, OK>

$ nix-store -qR /nix/store/h6kzgddq80l5pkwgpi5x7hwwk73gyd1w-pahole-1.23/
/nix/store/gi4zwjfcyqqwzzj6d76a1adfdzlrscjc-libunistring-1.0
/nix/store/fsxbvxgyycq9qh5bzkij573mj75hq7wp-libidn2-2.3.2
/nix/store/k56d9sk88pvrqhvwpa6msdf8gpwnimf6-glibc-2.34-210
/nix/store/34qw97f3h3rn5mrmq7l051g7ykyclg6x-libelf-0.8.13
/nix/store/3j18grljsyy4nxc078g00sy4cx6cf16g-bash-5.1-p16
/nix/store/hcdak2r7n3g850iw1hmhiasi0nzchdw8-zlib-1.2.12
/nix/store/6cq8w5jnib2pc9mcjb0ik59zyj1ysbz7-libbpf-0.7.0
/nix/store/bym6162f9mf4qqsr7k9d73526ar176x4-gcc-11.3.0-lib
/nix/store/p6vws9zzv997asjmrnyc33v9xiw5pjyr-xz-5.2.5
/nix/store/qh3ggnnzs34i3xmcvxbf3zr1504mmlbw-zstd-1.5.2
/nix/store/v014j9fmgn14jb7clkqy0a6n61nxapdw-bzip2-<IP_ADDRESS>.2
/nix/store/n4rvn2x09wkad3cjmikdk85g3ybd4pvq-elfutils-0.187
/nix/store/h6kzgddq80l5pkwgpi5x7hwwk73gyd1w-pahole-1.23

$ file /nix/store/h6kzgddq80l5pkwgpi5x7hwwk73gyd1w-pahole-1.23/bin/pahole
/nix/store/h6kzgddq80l5pkwgpi5x7hwwk73gyd1w-pahole-1.23/bin/pahole: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/k56d9sk88pvrqhvwpa6msdf8gpwnimf6-glibc-2.34-210/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped

the interesting part is that 32bit version of pahole works with 64bit binaries, it's only 32bit+32bit that seems broken?
Anyway, I've sent a mail to dwarves@, the thread is visible here<EMAIL_ADDRESS>

Geh. What a waste of time.
So this got fixed when I changed libbpf to build from libelf to elfutils back in #175467 last month -- which just got merged a couple of days ago (thanks @vcunat!). And I was testing on nixpkgs right before that merge...
Nothing to see, move along... I've opened #181031 to revert this but I don't really care about it ultimately as I don't use any 32bit system, happy to let this be forgotten. I mean, I'd love to see if there are more regressions on this, but if I'm not getting notified of these failures that's just making more work for everyone.

So the issue was in underlying libelf version, is that right? cc @acmel, seems like the issue was resolved

Yes, I tested just changing from libelf to elfutils with libbpf 0.7.0 and that seemed to fix it for me as well; so I'd say it's a libelf bug.
my understanding is that libelf is a more generic (older, no longer maintained -- libelf 0.8.13 hasn't had any update since 2009!!!) implementation, and elfutils is somewhat linux-specific and came as a drop-in replacement (with elfutils-libelf) implementing extra features.
I had to change it for libbpf because it started using these extra features, but it looks like elfutils isn't as linux-specific as I thought so it might be worth trying to slowly deprecate libelf if we can get replacements running... At the very least I'm pretty sure using libelf for libbpf was an honest mistake, kernel builds usually require elfutils so I'd expect nobody in bpf-land expected libelf to be used.

Ah, didn't realize who I was talking to, sorry: to clarify, I can confirm only changing the libelf provider from libelf to elfutils fixed it, keeping the libbpf/pahole versions identical.
@vcunat btw that repology page shows libelf isn't packaged on debian >= 9 (they're at 11 or 12? so dropped ~6 years ago) nor any rhel/fedora, stable suse or alpine > 3.9 release (wet-finger 3 years ago). That'd tend to say it's probably possible to get around without it :)


Fix AppVeyor config

It tries to test against both babel@6 and babel@7, we only need to test against latter.

@Andarist hi, I can try and help out with this. Will create a PR soon.


Chore/update cli

The latest cli package has support for YAML/TOML files as alternate input sources:
https://github.com/urfave/cli#values-from-alternate-input-sources-yaml-toml-and-others
It's also changed it's name from codegangsta to urfave/cli - This PR also replaces all occurrences of codegangsta
I was just about to raise an issue to support some sort of config file instead of environment variables - this update should ease that.

Hey @Stretch96. Yeah, we've been wanting to move away from CLI flags to a config file format for a while. This looks like it might be the easiest way to transition towards that.
I'll take a closer look at this later today and give it a whirl. Thanks for the PR!

Cool cool 👍
I'm hoping to add a PR for TOML/YAML support soon too.

Played with this today. Nothing broke :). Thanks for the PR @Stretch96!


Module version in package.json

/cc @inikulin @AlexanderMoskovkin
For the installation testcafe as github dependency, we need have as well filled "version" field.

lgtm

lgtm


IPython not working with Rye .venv

Steps to Reproduce
It seems IPython doesn't work with a .venv made by rye sync:
> rye sync
Reusing already existing virtualenv
Generating production lockfile: /path/to/repo/requirements.lock
Generating dev lockfile: /path/to/repo/requirements-dev.lock
Installing dependencies
Resolved 65 packages in 540ms
   Built pqapi @ file:///path/to/repo
Prepared 1 package in 526ms
Uninstalled 1 package in 0.53ms
Installed 1 package in 1ms
 - pqapi==6.3.1.dev10+g13987e0.d20240720 (from file:///path/to/repo)
 + pqapi==6.3.1.dev10+g13987e0.d20240720 (from file:///path/to/repo)
Done!
>  source .venv/bin/activate
> which python
/path/to/repo/.venv/bin/python
> pip list
Package           Version
----------------- -------
asttokens         2.4.1
decorator         5.1.1
executing         2.0.1
ipython           8.26.0
jedi              0.19.1
matplotlib-inline 0.1.7
parso             0.8.4
pexpect           4.9.0
pip               24.0
prompt_toolkit    3.0.47
ptyprocess        0.7.0
pure-eval         0.2.2
Pygments          2.18.0
six               1.16.0
stack-data        0.6.3
traitlets         5.14.3
wcwidth           0.2.13
>  ipython
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'IPython'
> python -m ipython
/path/to/repo/.venv/bin/python: No module named ipython

Expected Result
IPython to work in a Rye .venv
Actual Result

ipython
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'IPython'

Version Info
rye 0.36.0
commit: 0.36.0 (2024-07-07)
platform: macos (aarch64)
self-python<EMAIL_ADDRESS>symlink support: true
uv enabled: true
Stacktrace
No response

What's the complete steps to reproduce here? (From rye init, rye add etc). Is IPython installed in the current rye project or not (I suppose it's not?)

Yeah here is a full repro:
> rye init project
> cd project
> rye lock
> source .venv/bin/activate
> pip install ipython
> ipython
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'IPython'

I realized the issue is that rye-made .venv's don't seem to work with pip:
> which python
/Users/user/code/project/.venv/bin/python
> which pip
pip: aliased to noglob pip3
 > which pip3
/Users/user/.pyenv/shims/pip3

Do you know why pip is not properly aliased to the .venv when it's activated?

They don't include a user-exposed pip at all. It's part of Rye's philosophy: https://rye.astral.sh/philosophy/.

Oh I see, sorry for the false report here. Good to know and appreciate the response!

Thanks @bluss , appreciate the follow up. Actually if you have a second, I am curious about this:

Ipython has a feature where it can interface with venvs it's not installed in

I just set up something like:

pyenv global 3.12.4, with ipython installed
rye local with Python 3.12.4, no ipython installed/added, rye's .venv activated

Do you know how to trigger that IPython feature such that it falls back onto what's installed in system Python?

The recipe is like this
Activate the venv that has the libraries you want to import (the 2).
Run ipython using the python where it's installed. That's /path/to/ipython/environment/bin/ipython  (/path/to/ipython/environment/bin/python -m IPython should also be an alternative)

Ah I follow and thank you. So in my case then what I'd do is:
source .venv/bin/activate
/Users/user/.pyenv/shims/python -m IPython

Case closed, cheers!


Add a using method

Right now one can open a file, work it with and have it automatically closed by using the block version of new or open:
File.open("some.txt") do |file|
  puts file.gets_to_end
end

We can also do something similar with TCPSocket, TCPServer, and the new Gzip::Reader, Gzip::Writer, Flate::Reader, etc.
The problem is that every type that wants to provide this behaviour has to define an overload for new or open that repeats this yield obj ensure obj.close logic.
Some languages have a standard way to deal with this. For example C# has using, which will automatically invoke Dispose() at the end of it:
using (Font font1 = new Font("Arial", 10.0f))
{
    byte charset = font1.GdiCharSet;
}

Java introduced a form of try to do the same thing:
try (BufferedReader br =
               new BufferedReader(new FileReader(path))) {
    return br.readLine();
}

In Kotlin it seems they have a use extension method:
OutputStreamWriter(r.getOutputStream()).use {
    // by `it` value you can get your OutputStreamWriter
    it.write('a')
}

Python also seems to have something similar, a with statement.
I'm thinking maybe we should introduce something like that.
Pros:

types having a close method don't need to add, or remember to add, constructors that accept a block and close it at the end
having a standard way to do things make things more obvious and consistent

Cons:

it's just a bit longer to type
if we go full with it, we'd have to also remove File.open(...) { ... } variants, so that only using is possible, which makes it less Ruby-like (but this is probably not very important)

The implementation is trivial (it won't work in 0.20.5 because of a parser bug that is fixed in master, you can add parentheses to make it work right now):
def using(obj)
  yield obj ensure obj.close
end

using File.open(__FILE__) do |file|
  puts file.gets_to_end
end

(fix for 0.20.5:)
using(File.open(__FILE__)) do |file|
  puts file.gets_to_end
end

So the questions are:

Should we introduce something like that?
Should the API be that? (using? Or use another name? Or make it a an instance method like in Kotlin?)
Should we also remove the current methods from File, TCPSocket, etc.?

Seems like blocks kind of already do this for us...maybe a macro that can convert a different method into an autoclose one, to help DRY up code?

sounds awful, sorry :-/

I really don't see the benefit. Quite the opposite.

It's another thin to learn, and something not obvious.
Instead of a few repetitions of class method definitions, we now have to use and repeat using whenever we want to use this.
As @rdp pointed out, a macro that expands to a self.open method would better address the repetition.

i think this is better:
File.open(__FILE__).ensure(&.close) { |file| puts file.gets_to_end }

The only advantage I can see would be being able to open multiple closable resources at the same time without increasing indentation, but even then it's a minor benefit:
using(File.open(foo), File.open(bar)) do |foo_file, bar_file|
  # ...
end

Or, to be cleaner:
using(foo = File.open("foo"),
      bar = File.open("bar")) do
  # ...
end

Although they look a bit ugly because they need brackets to pass a block.
If we accept that the only use is for using multiple things without indentation, it could be a method on Tuple, like:
{File.open("foo"), File.open("bar")}.use do |foo, bar|
  # ...
end

Thank you all for the feedback! :-)
One of my worries was to have to repeat methods named new and open that accept a block. I thought Ruby worked that way (with File) but it seems it only works with open (well, it works with new too but you get an ugly warning). We are doing the same in Crystal but I sometimes find it a bit weird to read:
# `open` here feels a bit strange, it's not like we
# are opening a file, we are just creating a gzip
# writer and later having it autoclose
Gzip::Writer.open(io) do |gzip|
  # ...
end

But maybe it's a minor thing.
We could introduce a module to avoid repetition:
module OpenEnsureClose
  def open(*args, **nargs)
    obj = new(*args, **nargs)
    yield obj ensure obj.close
  end
end

class File
  extend OpenEnsureClose
end

We could probably leave it for a future discussion as, from a user perspective, it doesn't change things much (it actually makes it a bit harder to find the method in the docs because you have to go through an extended module).
@RX14 The idea of opening multiple things at once is nice, I think Python supports that. However in some cases you want to open the second object relative to the first one. For example if you want to read a tar.gz file you'd create a Gzip::Reader and then a Tar::Reader with that gzip reader, but it's impossible to do with a tuple.
I'm closing this issue then, thank you again for your feedback :-)

I'm still hoping that refinements will be reconsidered at some point, and that using will be available for that.

i don't think refinements have proven to be useful even in ruby land.
no one seems to use them (yet?).

Maybe
Gzip::Writer.using(io) do |gzip|
or
Gzip::Writer.with(io) do |gzip|
?? Just pondering :)

Or choose something more readable for cases where a generic open doesn't really apply. For example:
Gzip.read(io) { |z| ... }
Gzip.write(io) { |z| ... }


[FR] Adding a fuel attribute

I'm displaying some E10 and SP95 stations in the same table and it would be convenient to have a fuel type attribute I could display in a column.
I could split the friendly_name: string and take the last word but not all cards will allow that and creating template sensors just for this seems like a big hassle compared to managing it with an attribute

I'll add more context because with most cards, you would need to add entities one by one and it would be easy to specify the name of the fuel. But I'm using custom:flex-table-card which allows to include all of them at once:
entities:
  include:
    - sensor.station_*E10
    - sensor.station_*SP95
    - sensor.station_*SP98

Then I sort them by price and display only the top 5. So I don't know what entities are or aren't shown

can you test the same PR  https://github.com/Aohzan/hass-prixcarburant/pull/71

done in 3.8.0


Logout does not work when manually visiting logout route url

Describe the bug
Logout does nto work if you manually navigate to the logout URL /logOut
To Reproduce
Steps to reproduce the behavior:

Login to Datahu
In your browser type https://demo.datahubproject.io/logOut - Browser redirects you back to homepage

In your browser type https://demo.datahubproject.io/logOut/ - Returns a 404

Expected behavior
I expect the user to be logged out when visiting the logout url.
Desktop (please complete the following information):

OS: OSX Monterrey 12.4
Browser: Chrome
Version: Version 104.0.5112.101

Thanks for raising, and for the PR!

So I'm a bit concerned because hitting the /logOut endpoint does in fact do something on the server. It will hit the end_session endpoint for the IdP, which should revoke any Idp-minted browser state (cookies).

See CentralLogoutController.java - https://github.com/datahub-project/datahub/blob/master/datahub-frontend/app/controllers/CentralLogoutController.java#L40

Confirmed that we still need this call to localhost:9002/logOut!


manifest.json

I think it's need to add manifest.json for ability to add site to the homescreen. But the question is where to put icons and manifest. And how to modify _config.yml :tired_face:
Also I think #4fc08d is good for theme_color

(where to put icons) and manifest

The manifest.json can be placed to src/.

where to put icons

The icon is located in themes/vue/source/images.

And how to modify _config.yml

It is unnecessary to modify _config.yml. If you mean referencing the manifest.json, you can revise themes/vue/layout/layout.ejs.

@JLHwung Thanks for reply. I'll try this today and if all is OK send PR

Omg, I forgot one import thing. This requires https. And Service Workers too (#771).
In my opinion the lack of https on the official website is a real problem.
https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/

@gogamwar Hm, I'm not sure I see what you mean by "not by default". When I try to visit the site without SSL, I'm correctly redirected.

@chrisvfritz It's really strange. On my Chrome for Android and Firefox on Ubuntu it's correctly redirect me too. But on Chrome on Ubuntu/Windows and Edge when I write vuejs.org and press enter:
Request URL:http://vuejs.org/
Request Method:GET
Status Code:200 OK
Remote Address:<IP_ADDRESS>:80

I can open site with SSL only by manually typing https://...

That is weird. I believe we're using HSTS for SSL, which should be supported by all the browsers you listed. 😕

Okay, now it's working on Chrome for Ubuntu but still does not work in Edge 38.13393.0.0 and Chrome 56.0.2924.87 for Windows. Maybe the problem is due to the browser but I don't see Strict-Transport-Security. :weary:
Headers from Chrome

Response headers
HTTP/1.1 200 OK
Date: Sun, 19 Feb 2017 17:03:23 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Last-Modified: Sun, 19 Feb 2017 05:45:40 GMT
Access-Control-Allow-Origin: *
Expires: Sun, 19 Feb 2017 17:13:23 GMT
Cache-Control: max-age=600
Content-Encoding: gzip
X-GitHub-Request-Id: 3F08:1EBAE:722A982:91ED79F:58A9CFDB
X-Content-Type-Options: nosniff
Server: cloudflare-nginx
CF-RAY: 333b4aba155b4f2c-DME

Request headers

GET / HTTP/1.1
Host: vuejs.org
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: __cfduid=...; _gat=1; _ga=...

I've reached out to a few colleagues with more expertise here. Hopefully we'll get a lead soon!


sw_engine common: Added neon version of rasterRGBA32 API.

Changes:

Added 'neon' vector option in build system
Introduced neon version of rasterRGBA32 API, which improves speed of the function on ARM cpu's around ~35% (measured on 800x800 array of uint32_t)

@mihashco did you test on real device?

@mihashco did you test on the real device?

yes, I tested this function and checked its result on arm. Also thorVG with this funciton was tested on ARM.


WANT TO SEE HOT PICS WITH ME? 💋 💋 💋

WANT TO SEE HOT PICS WITH ME? 💋 💋 💋
👇 👇 👇
https://is.gd/ms4xm3

Github issues spam, that's a first...


Safer way to confirm directory deletion

We need a new config:

Safer directory deletion (boolean, false default)

If it's false, then it will delete regular (current behaviour)

It it's true, then it will prompt the user to confirm the directory name they're deleting, similar to how GItHub wants to the user to confirm the repo name before it gets deleted.

This came from K3S

Hello, I'll start working on this if noone else has done so yet


Fix Twitter handles in Example project

Changes in this pull request
I was exploring the example project when I noticed that two Twitter handles were wrong.
This will probably be the most useless PR ever in IGListKit, but it's good that you guys get the correct acknowledgment for your hard work! 🤓
Pull request checklist

[x] All tests pass. Demo project builds and runs.
[x] I added tests, an experiment, or detailed why my change isn't tested.
[x] I have reviewed the contributing guide

Omg, sorry @jessesquires and @ryanolsonk 😂

lol


Error with Multiple workers on Windows

We build a project with Sanic and vue.js on Windows. When we try to run the app with more than 1 worker we have the following error:
AttributeError: Can’t pickle local object ‘register.._handler’
However, when we comment the following line out, sanic starts with multiple workers but of course doesn’t serve the static files:
app.static(‘static’, ‘…/…/dist/static’)
Isn’t sanic able to run with multiple workers and serve static files on Windows? We tried it on Mac where it works.
main.py:

app = Sanic()
app.static('/static', './dist/static')
@app.route('/')
async def index(request):
    template = open(os.getcwd() + '/dist/index.html')
    return html(template.read())

run.py

if __name__ ==  "__main__":
    app.run(host='<IP_ADDRESS>', port=5000, workers=2)

Environment
windows 10
python 3.6.6
Vue: 3.5.0

Windows support is "experimental" and on a best-effort basis; I'm going to leave this open for now but it may ultimately get closed as windows isn't a primary testing target for us, so we can't guarantee everything works.

FYI an alternative for windows is testing within the Windows Subsystem for Linux (WSL), this environment works very well for me when i need to use Windows in my work.

I encountered the same error on Windows 10. Cant use more than one worker. I get the same error but on all routes, not just static ones.


Are you allowed to post Heckendorn's Matrix class?

Just being pedantic as I casually browse through random other people's githubs. I was thinking about posting my solutions to the course as well from a few years ago.
Are we allowed to redistribute Heckendorn's matrix class? I see that you have it distributed under matv2/mat.*
Edit:
RIP - I noticed you reproduced your own with similar functionality.

Going to be safe and say "no, you can't".
Yeah, as you noticed, I wrote my own matrix library...don't use it, it's terrible and buggy.


feat: Get logger configuration from file

Load logger configuration from conf/log_config.json  instead of using hardcoded one

Closed due to code quality


[stable/sealed-secrets] Upgrade Sealed Secret controller to v0.8

What this PR does / why we need it:
Upgrade Sealed Secret controller to v0.8
Checklist

[x] DCO signed
[x] Chart Version bumped

/assign stefanprodan

/ok-to-test

/lgtm


Support "with" binding similar to knockout

In Durandal 2.0 it was possible to expose a view model as a property of a parent view model by using knockout's 'with' binding and state its view.  To aid in portability of existing Durandal apps and to support the particular use case this type of composing is needed.  In the example below "dateRangeVM" is the view model property.  By using the compose binding, a custom view could be specified.

There may be a better way to accomplish this in Aurelia with custom elements and behaviors.  The outer view model would need to still have access to the inner view model to query state and values.

We are working on this now :)

@EisenbergEffect - Not completely working as expected.  I still need to debug more but here is a reference in case anyone else looking at this wants to see if something sticks out.
https://github.com/PWKad/templating-resources/blob/7056305227bc5a81b2335f49467bb0d590cd636b/src/with.js

Create the view in the constructor and add it to the view slot immediately. Then, just call bind on it whenever the value changes. See how that works out.

@PWKad How's it going on this?

Right now the problem is the binding is only triggered by changes to the parent.  I am trying to research the best way to hook in to all of the properties without explicitly managing the observers.  Ex -

${childProp}

Gets properly bound but not the first time through.  But if we do this -
parentProp.childProp = 'red' it does not trigger the binding to update.  This does -
parentProp = { childProp = 'blue' }
I will push out a repo demonstrating this for reference.

You shouldn't be hooking into all the properties. This sounds like a bug in the binding system. I need a PR for this so I can test this and see if we have an issue and figure out a resolution. Thanks!

Would the completion of this feature allow me to do something like this:
custom-element.html
<template>
	${this.name}
</template>

custom-element.js
export class CustomElement {
	constructor(name) {
		this.name = name;
	}
}

app.html
<template>
	<require from="./custom-element"></require>

	<custom-element with="myCustomElement"></custom-element>
</template>

app.js
import { CustomElement } from 'custom-element';
export class App {
	// called at any point in the page lifecycle, as early as view-model construction and as late as in response to user input
	someMethod() {
		this.myCustomElement = new CustomElement("John");
	}
	someOtherMethod() {
		if (this.myCustomElement)
			// expect that this updates the name rendered in the browser
			this.myCustomElement.name = "Jane";
	}
}

The expected behavior here is that the <custom-element> element in app.html would be a placeholder until such time as this.myCustomElement was set.
I'm not exactly sure how the lifecycle events would play out (bind and activate on CustomElement), but the critical piece is that CustomElement gets its bindings setup so the call to someOtherMethod (which results in setting name on the custom element) would result in the page being properly updated with the Jane.
If this issue doesn't address this concern, I'll create a new issue for it... but this sounds very similar.

The current with binding does not expose a $parent in the binding context, which is a very hard limitation.
A common use case is to bind forms: <form with.bind="entity"><input value.bind="name" />. In this use case you frequently need to bind to handlers (click on buttons) or other properties (dropdown values). In KO this was usually achieved with a $parent.clickHandler (or $root) reference.
I've looked into patching the with binding, but this is not trivial. Since the binding context is the entity, exposing a $parent property means modifying the entity itself. This is bad and can have tons of unexpected consequences (e.g. if the user code iterates over Object.keys).
It seems to me that the only clean solution is that Aurelia should be able to bind to "ambient" properties (whatever that may mean: globals, parent context, specific objects). So that bindings such as with can expose $parent (and maybe others) without modifying the context itself.
I am not sure if this is worthy of a generic ambient scope or just a hard-coded $parent chain that is always available.

@jods4 The with binding was an experimental feature that is untested and has a broken implementation in some respects.  I would not suggest using it in your app at the moment.

I see.
I hope you'll manage to turn it into an official feature, because it simplifies several use cases a lot.

I was thinking about the $parent issue, which is a bit tricky.
The best solution -- and it would open up other scenarios -- would be for Aurelia bindings to support "ambient" properties / functions that are tied to the context but not directly on it.
But without that, there's another trick we could pull off. $parent could be added as a non-enumerable property. That way we modify the object in a hard to notice way. It could still break though:

if user code already depends on its own $parent property.
if user code uses Object.getOwnPropertyNames(). This is not common, though. Generic code that goes over properties (e.g. serialization) usually uses for..in or Object.keys().

I think that would be acceptable, maybe with a warning in the doc. In cases when those condition are unacceptable then with shouldn't be used (it's always possible to do without it after all).

We have the with behavior now. We were going to deprecate it but instead we have a way to fix it for the next release :)

(We are adding a secondary binding context to the binding/templating engine called an overrideContext which can be an alternate source of properties that are available to bind to.)

@EisenbergEffect That's my "ambient" scope ;)
How does it work? Is it checked first or after the "normal" context? What's the behaviour with respect to undefined properties at binding time?
It's very nice to have an officially supported with binding, that's really handy for forms.
The overrideContext will enable interesting new features I think!
Thanks.

@jdanyow is working on it this evening. We're planning to get it in for the beta. If you have any thoughts on how it should work, please leave those here so he can process those as part of his implementation.

@jdanyow @EisenbergEffect I did not really think about it but I feel like there might be non-trivial choices there.
Probably you don't want a "probe" for each expression everytime, so I guess you'll want to resolve which context to use at binding time. I guess we could say: if a global reference exists on overrideContext we use it, otherwise we expect it to be found on the normal context as usual. This would:

require a single test at binding time (or even parsing time if the override context object is already available?)
support observing undefined properties in the context.

I think the assumption that the overrideContext shape is fixed is reasonable. Certainly more so than the context itself.
Drawback is that we might shadow a context property. But people can code around that. Especially if by convention you prefix overrideContext properties with say a $ which is usually understood as a reserved prefix.
Taking this idea to the extreme: decide at parsing time that anything starting with $ is on overrideContext?

I can't seem to find docs on with.bind, do they exist?


ClearOnSelect and Multiple props can’t be both set to false.

I don't quite understand why this warning happened
here is my code
<b-form-group :validator="$v.form.one_time_reward" class="col-3" label="One Time Reward">
    <vue-multiselect
            v-model="form.one_time_reward"
            id="searchReward"
            placeholder="Type to search"
            :options="rewards"
            :searchable="true"
            :loading="isLoading"
            :internal-search="false"
            :clear-on-select="false"
            :options-limit="300"
            :limit="3"
            :limit-text="limitText"
            :show-no-results="false"
            :hide-selected="true"
            @search-change="asyncFindReward"
            label="value"
            track-by="value"
            :allow-empty="false"
    >
    </vue-multiselect>
</b-form-group>

I have added the async search function

nvm found the problem


fixed docs highlighting and refctored a bit

please wait before merging this

I was using as instead of js because it has better highlighting for JSX. It probably makes sense to only use it when we are using JSX, though, which isn't that often.

jsx is better in those places where we use jsx it highlights okay now, fixing the PR

@ianobermiller check the highlighting now

I had no idea GitHub added jsx highlighting support. That's awesome!

Looks much better, that is awesome. Since I assume jsx is a superset of JS, can we just always use jsx? That makes it easier to remember.

yeah absolutely, I will fix it and squash the commits

@ianobermiller what about those issue hyperlinks?

Let's either only link the #123 part, or put a space between the # and issue.

:+1: cool, thanks

@ianobermiller all done now


Fixed and modified url parameters

Fixed some parameters like 'sts', 'ratebypass' and 'sig'.

Tried this patch in my project and it fixed the API issue.
Thanks @EddieJeong !


Modify middleware order and add backchannel injection sample

Background
We want to enable custom middleware to modify existing behavior of saga. For example,

Add email to every DIRECT_LINE/POST_ACTIVITY
Automatically downscale photos

In order to enable this work, we need to tweak the middleware order. Moving custom middleware up will enable more scenarios, and should not disable any existing scenarios (because it is already at the bottom of the stack).
The sample would modify Redux action using custom middleware, and fed into saga for further processing (i.e. send it out).
CHANGELOG.md
Changed

Core: Saga will run after custom middleware, in #1331

Custom middleware run before saga to allow user to modify default behavior

Fixed

Build: Webpack watch mode now emit non-minified code for shorter dev RTT, in #1331

Samples

Backchannel: Inject custom data into every POST_ACTIVITY, in #1331

Pull Request Test Coverage Report for Build 471

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

Totals

Change from base Build 468:
0.0%

Covered Lines:
711

Relevant Lines:
1366

💛  - Coveralls

Adding @corinagum for code review.


sap.viz.ui5.controls not working

OpenUI5 version:
1.36.9
Browser/version (+device/version):
Chrome 58
Hi,
We are trying to add a line chart to our app following https://sapui5.hana.ondemand.com/explored.html#/sample/sap.viz.sample.Line/preview. But it can't be shown, and no errors occur. I'm wondering if it's because the UI5 version we are using is too old. If it is and can we download sap.viz.ui5.controls package to add to our app resource?
Also we are using sap.suite.ui.commons, is it not supported by UI5 version 1.36.9? Can we download the package?
Thanks

Hello @yyyfdee,
What kind of error do you get?
Can you give us an isolated case in witch the error occurece, so we an investigate.
We are no longer supporting the UI5 version 1.36.
You can not add diffrent libraries form diffrent versions.
Best Regards,
Gery

Hi yyyfdee,
the sap.viz controls are not part of OpenUI5 (only in SAPUI5), so 1.) we cannot provide support here and 2.) this might be the reason why they do not work, when you try using them with OpenUI5.
Regards
Andreas

Since there is no response from the author for more than 4 weeks I'm closing the ticket.


opustags: 1.4.0 -> 1.5.1, mark broken darwin

Motivation for this change
Closes #103484
Fails on darwin with
�[1m/tmp/nix-build-opustags-1.5.0.drv-0/source/src/system.cc:182:13: �[0m�[0;1;31merror: �[0m�[1mno member named 'st_mtim' in 'stat'�[0m
        mtime = st.st_mtim; // more precise than st_mtime
�[0;1;32m                ~~ ^
�[0m1 error generated.

Things done

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

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

[ ] 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.


Print pod events when pod waiting fails

so the user has an idea of what went wrong (e.g. Dockerhub rate limiting)
You can test it by setting this to 1: https://github.com/SUSE/carrier/blob/main/cli/cmd/install.go#L14
Fixes #53

Looks ok beyond the typo nits.
Question is, how can we test this, i.e. force a failure, to see that we get sensible information ?

Check the description of the PR. You can set the DefaultTimeout to 1 second which will make it fails almost certainly on some Pod. You should then be able to see the events (e.g. Downloading Image or something like that).

Looks ok beyond the typo nits.
Question is, how can we test this, i.e. force a failure, to see that we get sensible information ?

Check the description of the PR. You can set the DefaultTimeout to 1 second which will make it fails almost certainly on some Pod. You should then be able to see the events (e.g. Downloading Image or something like that).


Report

Hi, can you plz provide me the report of this project or relevant material, its highly appreciated

Thank you for your attention. There is currently no relevant report on this simulation. The reference for the AUV model and path follwing method is provided in README. Simulink 3D animation can refer to the official Matlab documentation.
You can explore for yourself, the architecture of this simulation is clear.

Thank you for your reply, okay i will explore it
On Sat, May 20, 2023, 12:32 PM chuanstudyup @.***>
wrote:

Thank you for your attention. There is currently no relevant report on
this simulation. The reference for the AUV model and path follwing method
is provided in README. Simulink 3D animation can refer to the official
Matlab documentation.
You can explore for yourself, the architecture of this simulation is clear.
—
Reply to this email directly, view it on GitHub
https://github.com/chuanstudyup/AUV-Path-Following-Simulation/issues/2#issuecomment-1555794856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7BM5AU2ZC2R25HLNXDCRI3XHBXQRANCNFSM6AAAAAAYIP2L6A
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Run old hierarchical linear model on India data

We should compare disease data generated by running the old Hierarchical Linear Model (HLM) on our new India data, to test whether there is something wrong with our new India disease data.
We have already compared the old model on French data on both the latest version of HealthGPS in main and version <IP_ADDRESS> (see #280), and found that disease results are similar, suggesting that nothing has changed in the disease mechanism of the latest HealthGPS. Therefore, if the experiment described in this issue produces the unexpected disease behaviour described in #277, we can be somewhat confident that the issue is in India disease data.

[ ] find missing data, if any, needed to run this (e.g. do we need sodium params for the new diseases?)
[ ] create an India equivalent of the ./healthgps/example/France.Config.json config
[ ] simulate and plot disease results for diseases

1. Health-GPS v<IP_ADDRESS> on Indian data
India.DataFile.csv
Issues: SES is missing; different scale of PA; different scale of sodium (easy to rescale); year is missing.
India.FactorsMean.Female.csv & India.FactorsMean.Male.csv
Issues: different scale of sodium (easy to rescale).
JSON files
Issue: India.HLM.json and India.EBHLM.json are missing.
@jamesturner246 Can we just use the same parameters in France.HLM.json and France.EBHLM.json files for India simulation?
Notes: It should be safe to add parameters of sodium later since new diseases are also attributed to BMI.
2. New Health-GPS on French data
Issues:  No weight available in French data, only BMI; no data of new diseases.

For the JSON files, I believe they are generated from the dataset using the tools at https://github.com/imperialCHEPI/healthgps-tools. They require Windows to run. Maybe we can have a look at regenerating those for the India data tomorrow.
Is the SES data easy to acquire?

Both using main branch (new version)
French inputs and Indian disease data

Indian inputs (but French parameters in HLM and EBHLM) and Indian disease data

Nice work! This is a good start. :+1:
Now we can alter the existing intervention a bit in the main config file to have e.g. an instantaneous reduction in sodium, and see if we get the same unexpected results for diseases we get with the new model. Looking forward to seeing this.

Main branch - HLM model
French inputs - Indian disease - "food-labelling" intervention

Findings

Significant reductions in BMI and obesity
Comparing data:

Ischemic heart diseases: consistent lower prevalence under intervention, range: 7.8e-07-4.6e-04
Ischemic stroke: consistent lower prevalence under intervention, range: 3.1e-06-1.0e-04
Asthma: consistent lower prevalence under intervention, range: 4.2e-05-7.1e-04
Diabetes: consistent lower prevalence under intervention, range: 3.4e-05-2.4e-03
Intracerebral hemorrhage: mostly lower prevalence under intervention, except in 2023, 2024, 2026, range of reduction: 2.1e-06-5.8e-05
Subarachnoid hemorrhage: mostly lower prevalence under intervention, except in 2023, range of reduction: 5.1e-07-1.2e-05
Stomach cancer: mostly lower prevalence under intervention, except in 2028, 2042, range of reduction: 5.3e-07-1.1e-05
Notes: consistent higher sodium consumption under intervention

Cancer results are more unstable

Nice work! This is a good start. 👍
Now we can alter the existing intervention a bit in the main config file to have e.g. an instantaneous reduction in sodium, and see if we get the same unexpected results for diseases we get with the new model.

The interventions in old HLM are on BMI/energy. A reduction in sodium is hard in this old version of Health-GPS.

Humm.. Doesn't it work if you change the "impacts" in the "interventions" section of the main config?
Like in the "simple" intervention, you have:
 129                     "impacts": [
 130                         {
 131                             "risk_factor": "BMI",
 132                             "impact_value": -1.0,
 133                             "from_age": 0,
 134                             "to_age": null
 135                         }
 136                     ]

but replace "BMI" with Sodium, or add it to the impacts list?
                     "impacts": [
                         {
                             "risk_factor": "BMI",
                             "impact_value": -1.0,
                             "from_age": 0,
                             "to_age": null
                         },
                         {
                             "risk_factor": "Sodium",
                             ...
                     ]

For example?

Main branch - HLM model
Indian inputs - Indian disease - "food-labelling" intervention - 50 simulations

Comparing data

Ischemic heart diseases: consistent increase under intervention, range: -2.736e-04, -1.701e-05
Ischemic stroke: mostly increase under intervention
Asthma: consistent reduction under intervention, range: 2.037e-05, 2.677e-04
Diabetes: consistent reduction under intervention, range: 6.398e-06, 8.155e-04
Intracerebral hemorrhage: consistent increase under intervention, range of reduction: -5.900e-06, -7.212e-05
Subarachnoid hemorrhage: mostly increase under intervention
Stomach cancer: mostly reduction under intervention, except in 8 years

Notes: consistent reduction in bmi; reduction in sodium in 2037-2047


WooCommerce: don't downgrade HTTPS to HTTP

Resolves #112.

No idea why this was, i was following some PHP woocommerce guide. Thanks for fixing!

No idea why this was, i was following some PHP woocommerce guide. Thanks for fixing!

Probably for some localhost / LAN testing without TLS certs?


complete the state machine in chapter 5

Where is the code to complete the state machine in chapter 5 ? How can I get the relevant code ？please

Here is the github link for chapter 5 https://github.com/PacktPublishing/ROS-Robotics-Projects-SecondEdition/tree/master/chapter_5_ws/src

Here is the github link for chapter 5 https://github.com/PacktPublishing/ROS-Robotics-Projects-SecondEdition/tree/master/chapter_5_ws/src

But there is no code for the state machine completion sir.

In the tutorial of the end of chapter 5 it said Error: package 'teleop_twist_keyboard' not found. May you please add the files?
Moreover, Do you recommend to use ROS2?  For me ROS2 is hard to setup enviornment such as moveit(I am using Ubuntu 20.04(noetic)). I see many lib are not maintained in ROS1.

The state machine in chapter 4 also lacks clear instructions.
I created my own version with battery simulation, so the robot will head back to the charging area when the battery is low.
https://github.com/liver121888/ROS-Robotics-Projects-SecondEdition/tree/master/chapter_4_ws/src/smach_example

Here is the github link for chapter 5 https://github.com/PacktPublishing/ROS-Robotics-Projects-SecondEdition/tree/master/chapter_5_ws/src

But there is no code for the state machine completion sir.
Is there a code for automatic delivery through the application at the end of Chapter 5?


Upgraded the version of Actions being used

Hi @fknives , the warnings you are currently seeing #18  in GitHub actions is because we are using a very old version of those actions and they have been depreciated.
In this commit, I have upgraded the versions of those actions to their current stable release and have also tested it. Please review it and merge it if it solves the issue.
Thanks
Fixes #18

Hi, yes thank you it is indeed the culprit. I haven't got around to it yet, so thank you for making a PR


Force output after each suite and test

So output to *test-dribble* appears immediately.
Works fine in SLIME.

Thanks, merged.


[WIP] Show list of Orchestration Templates

PV Ticket https://www.pivotaltracker.com/story/show/137903115

@miq-bot add_label enhancement
@miq-bot add_label euwe/no

This is a very early WIP for orchestration templates.  Just starting to add commits since many files are involved.

@chalettu screenshot please?

@chalettu looking good.  A few quick changes:

For the type, please use a font awesome icons (Microsoft, amazon, etc).
for the "Draft", please use an icon indicating draft or not.

Checkboxes, do they perform an action? (are they used) if not ought to be :hocho:

They will in a follow up PR when I implement the list actions.
On Thu, Feb 16, 2017 at 9:03 AM, Allen Wight<EMAIL_ADDRESS>wrote:

Checkboxes, do they perform an action? (are they used) if not ought to be
🔪
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ManageIQ/manageiq-ui-service/pull/517#issuecomment-280373314,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOElcLaYp63_SUtKdJGRn5gRSp0wTtnks5rdHNegaJpZM4MCBkR
.

--
Chris Hale
Senior Software Engineer
<EMAIL_ADDRESS>512-585-7286
https://bluejeans.com/chhale

Updated screen shot

@miq-bot remove_label wip

@jjlangholtz We could probably move to try and encapsulate this feature into it's own module but at this point, every other feature within the app doesn't break out into a module of its own.  Do we want to go ahead and set the precedent now for that or just not bother until we move to Angular 2.  I tend to favor trying to make new code look as much like all other existing things that are similar.

@chalettu Agreed that making the code look the most like existing code is the best approach. However, in this case I am actively working on a couple of PRs that will be breaking each area out into a feature module. Should have some examples shortly.

@chalettu can you please address the travis and code climate issues?


Clean up: pipette usage

MINOR changes:

improved instructions
establish alphabetical order
renamed coordinatePoint to spatialLocation to avoid potential confusions with other properties around coordinates
renamed electrode to device to move this to requirement list on concept and reduce list of property names
removed category because it is now inherited from concept
renamed measuredHoldingPotential to holdingPotential for consistency reasons (none of the other potential have the addition "measured" in their property name, but they are also measured/calculated; if those are simplified, this one should be too)

MAJOR changes:

extends concept schema for device usage

SPECIAL ATTENTION:

removed additionalInformation which is inherited from concept as metadataLocation
removed lookupLabel which is inherited from concept
replaced linked schemas for anatomicalLocation by a new category called anatomicalLocation (Note: Category not added to the schemas yet, but the following schemas will receive this category:

sands/CustomAnatomicalEntity
sands/ParcellationEntity
sands/ParcellationEntityVersion
controlledTerms/Organ
controlledTerms/OrganismSubstance
controlledTerms/UBERONParcellation
controlledTerms/SubcellularEntity)

This should only merged after the consent schema have been added to core (pull request #454)


Change theme's site.data.language usage for multiple languages

Settings in _data/name.yml will end up in variable site.data.name (see here) - thus _data/language_de.yml did not actually do anything (site.data.language_de was not used).
This change puts multiple languages in _data/language.yml, and uses site.data.language.something[page.language] whenever a language is needed. Most places I've altered are not active in the current page, I've done it nonetheless.
A visible change will be the alt-text of the "social media" icons on both sites (de/en). Currently, the English-page alt-text is German.

Thanks for fixing this! I forgot about that.


CORS middleware not getting executed

Hi,
We have a middleware called 'cors' registered in $routeMiddleware. Whenever there is an API request like the GET it does go into middleware.
Apart from that if we try to send POST,  PUT request it doesn't goes to the middleware and instead throws an error:
XMLHttpRequest cannot load xxxx. Response to the preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.
Related: #13103

@jayeshanandani how do you handle preflight requests?

@themsaid
Below is the Middleware code written inside a new file called Cors.php
`<?php
namespace App\Http\Middleware;
use Closure;
class Cors
{
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Accept, Authorization, X-Requested-With, Application');
return $next($request);
}
}
`
and then inside Kernel.php in variable named: protected $routeMiddleware
'cors' => \App\Http\Middleware\Cors::class
and in routes we have something like this:
Route::group(['prefix' => 'v1/api','middleware'=>=> ['cors']], function()

This middleware will cover simple requests only, you need to handle pre-flight requests which send an OPTIONS request to the route to check if the actual request will be accepted.
I suggest you use this package: https://github.com/barryvdh/laravel-cors, it's well written and tested, it also handles pre-flight requests for you.

@themsaid
Any reason why same code used to work in Laravel 5.1 and it's not working in 5.2?

I'm not actually sure, but I don't think it's possible to catch OPTIONS requests out of the box inside a route group.

AMD please just don't call 'header()', but modify the headers on the response object.

@barryvdh
<?php
namespace App\Http\Middleware;

use Closure;

use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Http\Response;

class CORS implements Middleware {

 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
      $response = $next($request);
	   $response->headers->set('Access-Control-Allow-Origin' , '*');
	   $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE');
	   $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application');

	return $response;
 }
}

I believe you believed something like this.

Feel free to discuss on the forums.

See also #19938

I have followed this but still getting this error.
 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

Add this to your index.php file
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

@therealmjk Please don't give out hack solution, it just a bad advise for everyone.
Calling header() directly would mess up the Request/Response process which is handled via Symfony Http Foundation. Create a proper middleware to add CORS support on your app.

I use laravel 5.5, my CORS middleware, same error but find out my solution. I hope it is useful for someone.
namespace App\Http\Middleware;
use Closure;
class Cors
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE');
        $response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers'));
        $response->header('Access-Control-Allow-Origin', '*');
        return $response;
    }
}

Solution 1. Init Cors middleware on global HTTP middleware in Kernel.php
Solution 2. Still init api group middleware $middlewareGroups['api'], must add more options request in route routes/api.php. (for me)
Route::options('{any?}', function (){
    return response('',200);
})->where('any', '.*');

Guk luk!

@salipro4ever  still surprised as to how your solution worked like a charm here.
You just saved my day!!

$response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE');
isn't true.
I use
$allowMethods = $response->headers->get('Allow'); // thanks, Laravel
if ($allowMethods) {
    $response->header('Access-Control-Allow-Methods', $allowMethods);
}

for correct definitions of allowed methods in header.
It's working if class Cors enabled in Kernel::$middleware.
Also,
$response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers'));
$response->header('Access-Control-Allow-Origin', '*');

isn't safe. Be careful.

@jayeshanandani Middleware works already. You just need to create that route ;)

Old and closed but shows up in google search.
There are Red Herring scenarios that can cause a CORS Access Control error to display and not have anything to with CORS configuration:
The following can indirectly cause the error:

A PHP error in a Middleware class.
return $next($request); not being fired in middleware class method handle.
Route::middleware in web or api router configs reference a middleware that no longer exists or is miss spelt.
Same as above point but middleware specified in a Controller with $this->middleware();

Any of these can prevent a Cors middleware from ever being fired because the app exits too early and never sets the headers and thus results in a CORS error instead of a 500 Server Header error.

Create a middleware class, in this case lets assume the class name CorsMiddleware, with a handle method
as described by @salipro4ever above.
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE');
        $response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers'));
        $response->header('Access-Control-Allow-Origin', '*');
        return $response;
    }

Registering the middleware ONLY in the global $middleware array of your Kernel.php will be enough to resolve all your CORS middleware issues. i.e
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        ...
        \App\Http\Middleware\CorsMiddleware::class,
    ];

Hope this helps someone. Cheers.

Even if it works, putting your middleware directly into $middleware instead of $routeMiddleware will expose all endpoints with the new CORS policy. This is an absolute no-go for me. The better solution is only always allow OPTION calls to go through and still redirect other HTTP methods through the $routeMiddleware.
So, build two middlewares:
Cors.php
 <?php

namespace App\Http\Middleware;

use Closure;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request)
          ->header('Access-Control-Allow-Origin', '*')
          ->header('Access-Control-Allow-Methods', '*')
          ->header('Access-Control-Allow-Headers', '*');
    }
}

OptionsCors.php
<?php

namespace App\Http\Middleware;

use Closure;

class OptionsCors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
      if($request->isMethod('OPTIONS')) {
        return $next($request)
          ->header('Access-Control-Allow-Origin', '*')
          ->header('Access-Control-Allow-Methods', '*')
          ->header('Access-Control-Allow-Headers', '*');
      }
      return $next($request);
    }
}

app/Http/Kernel.php
<?php
namespace App\Http
{
    class Kernel extends \Illuminate\Foundation\Http\Kernel
    {
        protected $middleware = [
            // ...
            'App\Http\Middleware\OptionsCors',
        ];
        protected $middlewareGroups = [
            'web' => [
                 // ...
            ],
            'api' => [
                'App\Http\Middleware\UseApiGuard',
                'throttle:60,1',
                'bindings'
            ]
        ];
        protected $routeMiddleware = [
            // ...
            'cors' => 'App\Http\Middleware\Cors',
        ];
    }

}

Now in your routes you have full control about what endpoints will be exposed with your tightened CORS policy:
Route::namespace('Api')->middleware(['cors'])->group(function () {

	Route::get('api/im_open', 'TestController@ping');

});
Route::namespace('Api')->group(function () {

	Route::get('api/im_closed', 'TestController@ping');

});

return $next($request)
          ->header('Access-Control-Allow-Origin', '*')
          ->header('Access-Control-Allow-Methods', '*')
          ->header('Access-Control-Allow-Headers', '*');

isn't safe and is not for production.

return $next($request)
          ->header('Access-Control-Allow-Origin', '*')
          ->header('Access-Control-Allow-Methods', '*')
          ->header('Access-Control-Allow-Headers', '*');

isn't safe and is not for production.


🖐 Could anyone please explain 128MBs limitation in buildkit.MaxFileContentsSize?

What happened? What did you expect to happen?
Recently, I was trying to automate Docker builds and was experimenting with different Dagger features.
Trying to assign the whole built image to a variable led to an unexpected error. For example:
image = await client.container().build(
    context=workspace, dockerfile=dockerfile_basename
)
value = await image.as_tarball()
printable = await value.contents()
print(printable)

results in such error:
ERROR:root:Unexpected dagger error
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/dagger/client/_core.py", line 139, in execute
    result = await self.conn.session.execute(query)
  File "/usr/local/lib/python3.10/dist-packages/dagger/client/_session.py", line 129, in execute
    return await (await self.get_session()).execute(query)
  File "/usr/local/lib/python3.10/dist-packages/gql/client.py", line 1639, in execute
    raise TransportQueryError(
gql.transport.exceptions.TransportQueryError: {'message': 'file size 219969536 exceeds limit 134217728', 'path': ['container', 'build', 'asTarball', 'contents']}

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/generate.py", line 44, in dbt_image
    a = await val.contents()
  File "<@beartype(dagger.client.gen.File.contents) at 0x7f6191977b50>", line 10, in contents
  File "/usr/local/lib/python3.10/dist-packages/dagger/client/gen.py", line 2713, in contents
    return await _ctx.execute(str)
  File "/usr/local/lib/python3.10/dist-packages/dagger/client/_core.py", line 164, in execute
    raise error from e
dagger.QueryError: file size 219969536 exceeds limit 134217728

After researching a bit, I found that https://github.com/dagger/dagger/blob/main/engine/buildkit/ref.go#L45 contains a constant limit of 128MBs, but I don't understand why it is set to such a low value. Is it a buildkit hard-capped limit or just an arbitrarily set value that could be changed without affecting the underlying file processing logic? I'd be grateful if anyone could explain this. Thanks in advance.

The issue is that this would probably result in an absolutely massive graphql request - I think now since https://github.com/dagger/dagger/pull/6772 is merged, this could technically work (and maybe we could lift the restriction)? But also, I think I'd discourage passing raw file contents over base64, a better approach would be to Export the file to disk, and read it from there.
@vito @sipsma is there any reason we couldn't lift this limit? Or maybe it's worth keeping, since Contents is less efficient than exporting/reading.

@jedevc @vito thank you for your response, now I understand that this limitation makes a bit more sense.


iOS support

Hi,
I see that development on iOS app has started. Is there any way howto how I can compile it myself or join testflight? :) Looking forward to it!

I see it has been released - https://twitter.com/bolt_card/status/1679000977792221184?s=46&t=-kmUGcoZn3aKcMsCifxpzA
Closing now, thanks for reply :))


List of recent editors + screen reader should not read input box placeholder

More details here https://github.com/microsoft/vscode/issues/94360#issuecomment-610136168
fyi @bpasero

@jvesouza insiders with this fix should be out end of week. So try it out around that time and let us know if the issue got fixed. Thanks!

@isidorn  I just installed code-insiders version 1.45.0, commit 2225d77536d12fea2eda04930f431a5eb0930bba, and the problem still exists.
When I press ctrl+tab orca reads type the name of an editor to open it.

I just tried this out and orca does not read "type the name of an editor to open it". For me the following is read "edt active".
@jvesouza do you see the same with latest?
Anyways since this is probably a potential workaround I will leave this issue open and pushiing it out of the April milestone.

@isidorn
Orca announces the following:
'Type the name of an editor to open it.'
'editable combo box'
'edt active '
'opens menu'

I tried this again with latest VS Code insider and I could not reproduce. However what I hit was the following:

VS Code insiders, orca, have some files open in VS Code
Ctrl + P, type edt
The list of active editors is shown. Use up / down to navigate between them

Orca properly reads aria label of each editor, however it always reads the aria label of the first editor in the list as well.
@joanmarie can you maybe look into this, since it seems to work just fine with NVDA?

@jvesouza: Are you pressing and releasing both Ctrl+Tab repeatedly?  If you always press and release both Ctrl and Tab, then focus keeps switching between the editable combo box and the editor.  But if you keep Ctrl held down and press and release only Tab, focus remains in the list and, for me, Orca doesn't repeat all the verbosity you describe.
@isidorn: I cannot reproduce what you describe. What version of Orca are you using?

@joanmarie  I hold down the control key while pressing and release the tab key.
Would it help if I sent an orca debug file?

@jvesouza Sure.

So looking at your debug.out from Orca, it seems to confirm what I was asking. Here's what I see:
You press Ctrl+Tab and Orca announces "Type the name of an editor to open it. Editable combo box. edt active. opens menu." The reason why is:

"Type the name of an editor to open it" is the accessible name of the combo box which just gained focus. That comes from VSCode.
"Editable combo box" is the role. The role comes from VSCode/Chromium. Orca adds on "editable" so you know you can type in it.
"edt active" is the displayed value of the combo box/input.
"opens menu" is because the aria-haspopup has a value of "menu"edt active

According to your debug.out, as you continue to press and release only Tab, Orca does not say "Type the name of an editor to open it." However, I do see Orca say that again a couple of times. What happened is that you released Ctrl. That caused focus to go back to the editor. So when you pressed Ctrl+Tab again, focus left the editor and you were put back into the combo box.
So.... What is the bug to be fixed here?
Mind you, I do see some chattiness that it might make sense to eliminate (e.g. when you move into the listbox from the combobox, and also the repetition of the results count). But I don't understand what is being reported here. Please clarify. Thanks!

The problem is when I press ctrl + tab just once. In this case, orca does not advertise the editor I'm switching to.
Assuming that I am editing 3 open files, file1, file2 and file3, and that I am editing file1.
If I press ctrl + tab, release the tab key and keep the ctrl key pressed, orca does not announce the name of the next editor to be focused on.
If I have a lot of editors open and the desired editor is the next to the list, this can make the process of finding the desired file in the list of editors a little bit slower as I need to press the  ctrl + tab a few times until I hear the editor's name wanted.
I'm sorry if the explanation is not clear, my English is not very good.

Oh.... Hmmm. When you press and release Ctrl+Tab, the stuff I described in my previous comment is still taking place. Let me see if I can detect that condition in Orca and filter out some of the associated noise. Then I'll go from there. Thanks for the clarification. And you're English is great -- and way better than my non-existent Portuguese. :grin:

@isidorn: Clearing the cache accessibility state of the combobox which claims focus (i.e. in order to see if it already gave up focus) is not solving the problem. Is there any way you could add a slight delay so that quickly pressing and releasing both ctrl and tab does not cause the quick pick list to temporarily gain focus?

@joanmarie sorry I forgot to update. I just updated to latest Orca version and now I am on 3.37.91pre. With that version I can still reproduce what I mentioned above
@chmarti for the quick pick focus question in the last comment.
@joanmarie I believe the focus is all the time in the quick pick input, and that the list always has "fake focus" via activedescendant. Do you see focus jumping around when you do the Ctrl+Tab sequence?

@isidorn When the value of aria-activedescendant changes, user agents typically emit accessible focus-change events to cause the screen reader to present the new location.
Can you please tell me specifically what Orca is repeating each time you press and release tab (not just the first time), with control held down?

@joanmarie I am not holding down control. My steps are the following:

VS Code insiders, orca, have some files open in VS Code
Ctrl + P, type edt  - note that there is a space at the end!
The list of active editors is shown. Use up / down to navigate between them

Let's say the first file in the list is first.txt, second is second.txt etc... As I move focus down the list and the focus item is for example fifth.txt. Orca reads the following:
first.txt Editor Group One, fifth.txt Editor Group One
So for some items it appends the aria label of the first item in the list (even though it is not focused)

@isidorn You are right, it is using aria-activedescendant. The focus shouldn't go to the list unless the user navigates to it using Tab.


ci: add more golangci-lint rules

I'm giving you a new challenge
I think you can do it!

Hi @ccoVeille 👋 I will have a look at all the golangci-lint rules in the new year. I want to understand if there's a reason why I shouldn't enable all at once. But that'll take some time, and I don't want to rush it :)
Thanks for the PR, I'll look a it in a couple of weeks 🙏

Sure, no problems. Enjoy ! Take care.


Create a new notebook doesn't set the kernel spec information in document metadata

Hello,
Using filebrowser sample app, when I create a new notebook, the created document doesn't contains selected kernel spec in metadata :
{
 "cells": [],
 "metadata": {},
 "nbformat": 4,
 "nbformat_minor": 0
}

I think the kernel spec should be set based on the selected kernel in the menu, so that the document can be opened without problem using the sample app in jupyter-js-notebook.
Thanks

Thanks for the report @tediyuwono, I'm migrating this to https://github.com/jupyter/jupyter-js-notebook/issues/109


libvirt: update scripts for libvirt

check golang version, the installed golang version must >= the value from versions.yaml
update two default values in install_operator.sh

Did a rough testing, it looks good:
root@c37646v1:~# export installed_go_version=1.18.10
root@c37646v1:~# ret=$(printf '%s\n' "$REQUIRED_GO_VERSION" "$installed_go_version" | sort -V | head -1)
root@c37646v1:~# echo $ret

root@c37646v1:~# export REQUIRED_GO_VERSION=1.20.12
root@c37646v1:~#
root@c37646v1:~#
root@c37646v1:~# ret=$(printf '%s\n' "$REQUIRED_GO_VERSION" "$installed_go_version" | sort -V | head -1)
root@c37646v1:~# echo $ret
1.18.10
root@c37646v1:~# export installed_go_version=1.20.12
root@c37646v1:~# ret=$(printf '%s\n' "$REQUIRED_GO_VERSION" "$installed_go_version" | sort -V | head -1)
root@c37646v1:~# echo $ret
1.20.12
root@c37646v1:~# export installed_go_version=1.20.13
root@c37646v1:~# ret=$(printf '%s\n' "$REQUIRED_GO_VERSION" "$installed_go_version" | sort -V | head -1)
root@c37646v1:~# echo $ret
1.20.12
root@c37646v1:~# export installed_go_version=1.21.10
root@c37646v1:~# ret=$(printf '%s\n' "$REQUIRED_GO_VERSION" "$installed_go_version" | sort -V | head -1)
root@c37646v1:~# echo $ret
1.20.12

Another thing I remembered but might be wrong, @lysliu tried to build caa against golang 1.21.x but failed. @liudalibj

Another thing I remembered but might be wrong, @lysliu tried to build caa against golang 1.21.x but failed. @liudalibj
It's different issue, I didn't change the go version in go.mod for caa.
Here the config_libvirt.sh is used to config libvirt dev/test env, I tried in my dev machine,

I install golang 1.21.2
run make test-e2e for libvirt
The e2e test are passed with good result with the installed golang 1.21.2


chore(main): release 0.3.1

:robot: I have created a release beep boop
0.3.1 (2022-09-06)
Bug Fixes

admin: add log stream replicas to result of ListStorageNodes (9bce94c), closes #106

This PR was generated with Release Please. See documentation.

This change is

Codecov Report

Merging #113 (6fe811f) into main (a356076) will increase coverage by 0.09%.
The diff coverage is n/a.

:exclamation: Current head 6fe811f differs from pull request most recent head 74ae4b0. Consider uploading reports for the commit 74ae4b0 to get more accurate results

@@            Coverage Diff             @@
##             main     #113      +/-   ##
==========================================
+ Coverage   63.17%   63.26%   +0.09%
==========================================
  Files         124      124
  Lines       16784    16784
==========================================
+ Hits        10603    10619      +16
+ Misses       5634     5627       -7
+ Partials      547      538       -9

Impacted Files
Coverage Δ

pkg/mrc/mrconnector/mr_connector.go
73.28% <0.00%> (-2.68%)
:arrow_down:

internal/metarepos/report_collector.go
77.59% <0.00%> (+0.40%)
:arrow_up:

internal/metarepos/raft_metadata_repository.go
72.19% <0.00%> (+0.52%)
:arrow_up:

internal/metarepos/storage.go
81.51% <0.00%> (+0.85%)
:arrow_up:

internal/storagenode/logstream/committer.go
82.91% <0.00%> (+1.06%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:robot: Release is at https://github.com/kakao/varlog/releases/tag/v0.3.1 :sunflower:


Add example card to main layout

Summary of changes
This will help new contributors see an "example card"
Related Issue
How to test (for features) / reproduce (for bugs)
Screenshots

Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[X] New feature (non-breaking change that adds functionality)
[ ] Documentation (explains but does not affect functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Notes

please consider including a gif that reflects your feelings about this PR

looks good @jischr


feat(database): Add Epoch and Snapshot tables

closes #544

I was going to comment that the snapshot table doesn't test fail cases, but reading the models, it doesn't have one.
We need to make some changes. We accept same app address and input? If yes, we need to change how we get snapshots. If no, we need to add an unique constraint to this columns.

Changes the report, outuputand snapshot constraints to enforce unique index per applications


Merge Snappy/branch jj <IP_ADDRESS> into Master

What changes were proposed in this pull request?

Bump up the versions Store 1.5.4, Spark 2.0.3-3 and Jobserver 0.6.3-3
[SNAP-1398] Update janino version to latest 3.0.x
Change to a new version naming policy.

How was this patch tested?

Pre-chekin yet to run

(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Other PRs

SnappyData : https://github.com/SnappyDataInc/snappydata/pull/598
Spark-jobServer : https://github.com/SnappyDataInc/spark-jobserver/pull/11
Store: https://github.com/SnappyDataInc/snappy-store/pull/185
AQP: https://github.com/SnappyDataInc/snappy-aqp/pull/146

@snappy-sachin
As Amogh mentioned in the spark-jobserver PR, all changes in this one too are already on master so close this one.

All changes on this branch are on snappy/branch-2.0 so closing.


not specified how to connect ot user-assigned managed identity

It's not specified how to connect ot user-assigned managed identity. As the process is different.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 023e532d-35be-b17f-2928-f2710dd27f90
Version Independent ID: 056b3221-b5f6-8ad7-76e8-6a39b5fac0d2
Content: Use managed identities on an Azure VM for sign-inV - Microsoft Entra
Content Source: articles/active-directory/managed-identities-azure-resources/how-to-use-vm-sign-in.md
Service: active-directory
Sub-service: msi
GitHub Login: @barclayn
Microsoft Alias: barclayn

@arsovski-ahnl
Thanks for your feedback! We will investigate and update as appropriate.

@arsovski-ahnl
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum
Thank you for your time and patience throughout this issue.


[feat] Configurable Proxy For The Http API

Describe the problem
I would appriciate if the HttpOptions would include a proxy property like the browser fetch api. Alternatively one could define a proxy for the tauri client.
Describe the solution you'd like
Implement a new property for HttpOptions for tauris fetch api. So the rust backend would use this proxy for the http-call.
Alternatives considered
mplement a new property for ClientOptions. So the rust backend would use this proxy for every http-call.
Additional context
Currently there is no easy way to configure a proxy for the http api calls inside tauri. Sometimes a configurable proxy is mendetory within enterprise rulesets.

Thanks for the request! We're already tracking it here: https://github.com/tauri-apps/tauri/issues/6467


[path_provider] Revert Android Channel Name

Temporarily revert Android channel name to use path_provider
https://github.com/flutter/flutter/issues/95706
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.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[ ] 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.

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

https://github.com/flutter/plugins/pull/4637 will fix this correctly (the version here would break 2.8+)