Ansible operator modifying dictionary key retrieved from OpenShift

Bug Report
What did you do?
Created an ansible operator that watches a custom resource. Deployed the operator to  OpenShift. Created debug logging to observe the behavior. The watched custom resource is:
apiVersion: foo.com/v1alpha1
kind: ClientApp
metadata:
  name: test-client-app
spec:
  appBindings:
    - name: strimzi-app-binding
      type: strimzi-kafka
      md5sum: ""
    - name: unused
      type: unused
      md5sum: ""

The CRD is:
---
apiVersion: apiextensions.k8s.io.v1beta1
kind: CustomResourceDefinition
metadata:
  name: clientapps.foo.com
spec:
  group: foo.com
  version: v1alpha1
  names:
    kind: ClientApp
    listKind: ClientAppList
    plural: clientapps
    singular: clientapp
    shortNames:
    - cliapp
  scope: Namespaced
  versions:
    - name: v1alpha1
      served: true
      storage: true
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      properties:
        spec:
          type: object
          properties:
            appBindings:
              description: test
              type: array
              items:
                type: object
                properties:
                  name:
                    description: test
                    type: string
                  type:
                    description: test
                    type: string
                  md5sum:
                    description: test
                    type: string

Here are the relevant ansible operator files:
Dockerfile:
FROM docker.io/operator-framework/ansible-operator:v0.6.0
# this docker file includes OpenJDK 1.8.0_141
COPY jre /java
ENV PATH="${PATH}:/java:/java/bin
COPY roles/ ${HOME}/roles
COPY watches.yaml ${HOME}/watches.yaml
COPY *playbook.yml ${HOME}/

The docker build:
docker build -t client-app-operator:v1 .
docker tag client-app-operator:v1 <our registry>/foo/client-app-operator:v1
docker push <our registry>/foo/client-app-operator:v1

watches.yaml:
---
- version: v1alpha1
  group: foo.com
  kind: ClientApp
  playbook: /opt/ansible/client-app-operator-playbook.yml

client-app-operator-playbook.yml:
---
- hosts: <IP_ADDRESS>
  gather_facts: false
  roles: /opt/ansible/roles/ClientAppOperatorRole

roles/ClientAppOperatorRole/tasks/main.yaml:
(simplified)
---
- name: Strimzi Kafka
  include_tasks: strimzi-kafka.yml

roles/ClientAppOperatorRole/tasks/strimzi-kafka.yml:
---
- name: Get the watched CR
  k8s:
    resource_definition:
      "{{ lookup(
           'k8s', kind='ClientApp',
           namespace='<your namespace here>',
           api_version='foo.com/v1alpha1'
           resource_name='test-client-app')
      }}"
    register: client_app

- name: get the app bindings
  set_fact:
    app_bindings: "{{ client_app.result.spec.appBindings }}"

- name: trace the app bindings
  debug:
    msg: "app_bindings = {{ app_bindings }}"

There are no other files defined in the role...
RBAC stuff (all cloned from memcached):
service account yaml:
apiVersion: v1
kind: ServiceAccount
metadata:
  name: client-app-operator

role yaml:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: client-app-operator-role
rules:
  apiGroups:
  - ""
  resources:
  - pods
  - pods/attach
  - pods/log
  - services
  - endpoints
  - persistentcolumeclaims
  - events
  - configmaps
  - namespaces
  - secrets
  verbs:
  - '*'
  apiGroups:
  - apps
  resources:
  - deployments
  - deployments/scale
  - deployments/status
  - daemonsets
  - replicasets
  - statefulsets
  verbs:
  - '*'
  apiGroups:
  - foo.com
  resources:
  - clientapps
  - clientapps/status
  verbs:
  - '*'

role binding yaml:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: client-app-operator
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: client-app-operator-role
subjects:
-kind: ServiceAccount
  name: client-app-operator
  namespace: <your namespace here>

operator yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: client-app-operator
spec:
  replicas: 1
  selector:
    matchLabels:
	  name: client-app-operator
  template:
    metadata:
	  labels:
	    name: client-app-operator
    spec:
	  serviceAccountName: client-app-operator
	  containers:
	    - name: client-app-operator
		  image: <our registry>/foo/client-app-operator:v1
		  imagePullPolicy: Always
		  env:
		    - name: WATCH_NAMESPACE
			  valueFrom:
			    fieldRef:
				  fieldPath: metadata.namespace
		    - name: POD_NAME
			  valueFrom:
			    fieldRef:
				  fieldPath: metadata.name
		    - name: OPERATOR_NAME
			  value: "client-app-operator"

I build the Docker image, push it to our internal registry, and deploy all the descriptors. Again - all this is cloned from memcached Ansible operator. The pod comes up fine.
What did you expect to see?
I expected to see the app bindings trace taske in the role appear in the logs with each item in the list represented as it appears in the custom resource definition.
What did you see instead? Under which circumstances?
Here's what the log shows for the "trace the app bindings" task:
ok: [localhost] => {
  "msg": "app_bindings = [{u'md_5_sum': u'', u'type': u'strimzi-kafka', u'name': u'strimzi-app-binding'}, {u'md_5_sum': u'', u'type': u'unused', u'name': u'unused'}]"
}

Notice that the "md5sum" dictionary key gets changed into "md_5_sum". This is a problem because later in the yaml, I need to access/update that dictionary value and the playbook is failing.
What's really confusing is - if I follow these steps:

rsh into the pod
copy the entire /opt/ansible directory to /tmp/foo
Change the playbook to reference the role in the new location
from tmp/foo: ansible-playbook client-app-operator-playbook.yml

It works perfectly! It's only when the exact same ansible artifacts are run within the context of the operator that this odd behavior manifests. Note - I've had to hand-type everything here so - my apoligies for any typos. I've tried testing locally and everything is fine. This only manifests when the operator runs my playbook.
Environment
operator-sdk version: v0.6.0
ansible 2.7.0
python 2.7.5
Java 1.8.0_141
OpenShift v3.11.59
kubernetes v1.11.0+d4cacc0

cc @jmrodri @shawn-hurley if you can help out ^

I ran into the same behavior, it feels broken but might be a thing you need because of ansible.
It is well documented:  https://github.com/operator-framework/operator-sdk/blob/master/doc/ansible/dev/developer_guide.md#extra-vars-sent-to-ansible
It looks like you can use: _foo_com_clientapp.spec.appBindings

@aceeric sorry for the massive delay getting back to you, did the above allow you to workaround this issue?

I'm running into the same issue currently, this does not make it clear to me why this happens.
This is what is created as a CRD:
metadata:
  name: example
spec:
  backup:
    abc11def: anothertest
    enabled: true
    pg1_repo_path: test
    s3_bucket: example

And this is how backup ends up in the ansible run:
{
        "abc_11_def": "anothertest",
        "enabled": true,
        "pg_1__repo_path": "test",
        "s_3__bucket": "example"
}

It seems that any set of digits is surrounded by underscores when converted into variables.

I am closing this one. However, please feel free to re-open if you see that the same issue scenario still happen.


[core] Re-enable webseeding

Addresses https://github.com/mono/monotorrent/issues/149

@samhocevar One of the issues is that I don't know of any torrents which have web seeds. The only way I can test is to load up a ubuntu torrent and then hardcode in the url for the equivalent http download for that file. If you have real world samples, just load them up and see if it works!


Revert slack.yml to unblock open PRs

I don't have the time to figure out a fix for the moment, this might be the fastest way

And the tests are back!


Fedora package dependency to libX11-xcb is missing from RPM

VSCode Version: 1.6.12-1.fc33
OS Version: Fedora 33 Silverblue (vscode installed in Toolbox container)

Steps to Reproduce:

install vscode in fedora toolbox following the instructions: https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions
run code and see "error while loading shared libraries: libX11-xcb.so.1"

Does this issue occur when all extensions are disabled?: irrelevant
Installing libX11-xcb package helps, so it is likely a missing dependency on the RPM package.

@deepak1556 Might you perhaps know if this is a new dependency?
@tigert What VS Code version is this?

@joaomoreno not a new one https://source.chromium.org/chromium/chromium/src/+/master:chrome/installer/linux/rpm/dist_package_provides.json, looks like this has been reported a while back and was never added https://github.com/microsoft/vscode/issues/17142#issuecomment-562790162 .
I would like to work with you next milestone to check and cleanup missing deps for snap (https://github.com/microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Asnap), deb (https://github.com/microsoft/vscode/issues/13089), rpm (https://github.com/microsoft/vscode/issues/17142)

Oh wow. Closing as a dupe of https://github.com/microsoft/vscode/issues/17142


Youtube Hashtag Support

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running youtube-dl version 2021.03.02
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

youtube-dl should be able to handle Youtube hashtag pages such as https://www.youtube.com/hashtag/rice . I can not find any information on converting these types of pages into proper playlists or even mix playlists to make this trivially doable.
Ideally I want to be able to grab a list of or download all videos with the hashtag, but also useful would be grabbing the top-n results displayed on the page (or in the batches that youtube loads as you scroll down).
This is the current output (no recognition of the list of videos):
PS C:\Users\7UR7L3> youtube-dl -v https://www.youtube.com/hashtag/rice
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/hashtag/rice']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2021.03.02
[debug] Python version 3.8.2 (CPython) - Windows-10-10.0.19041-SP0
[debug] exe versions: ffmpeg 4.2.2, ffprobe 4.2.2
[debug] Proxy map: {}
[youtube:tab] hashtag: Downloading webpage
[download] Downloading playlist: None
[youtube:tab] playlist None: Downloading 0 videos
[download] Finished downloading playlist: None

+1, this seems like an addition thats worth it.

Wonderful! Thanks @remitamine!


Revert "Keep using the deprecated createClassName method for now."

@hmusum This will most likely fail in the configserver, but hopefully with a log message now.
This reverts commit<PHONE_NUMBER>20d1f3803a160b589644685e9684e9.

I suspected that was the case 😉


how to edit a bvh file？

I would like to copy some frames from one BVH file to replace another BVH file and save a new BVH file, how to code?
Thanks in advance!!

this is also a feature I'd like to see. I have a very unclever way of doing this at the moment but it doesn't take advantage of this package. Since you're presumably using the same skeleton/hierarchy you can copy the headers, calculate where you want to cut the frames, and read lines through the file until you get there as a bit of a hacky way to go about it.


Missing project files

The repo is missing .sln and .csproj files, required for building the project.
Looking at the .gitignore, it seems like you're using a "whitelist" system rather than the usual "blacklist" approach.

Hi @LordDeatHunter, yes we have excluded all project files from the repo. As far as I'm aware, you should be able to clone the repo and add to a project / solution yourself.

Oh yes, that's a good point. We'll try and add in the project files over the next week or so. No real reason for excluding them. We were all using MonoGame on different platforms, and with different editors, so we just made an early decision to exclude everything but the code files.

I highly recommend looking into premade MonoGame gitignores. There's some good ones out there that cover a lot of the unique IDE + OS files.


Handle edge case: root expansion overflows key type

In response to https://github.com/microsoft/ALEX/issues/1

This pull request also addresses https://github.com/microsoft/ALEX/issues/3.


(Breaking) Improvements and Fixes

This PR introduces breaking improvements and fixes. Once merged and released, dependent call-sites will need careful refactoring.

👀


CSS word-break neccessary

you need to add "word-break: break-word;"  property in a list to avoid text overflow

This thing is very annoying. can I fix css by myself?

You can add your own css overrides in AdminJS assets config

This should be included as a default css style of TableCell in<EMAIL_ADDRESS>


[bug] fresh install of gdrive incorrectly deletes and modifies files on first push

I just installed gdrive on Kubuntu Trusty 14.04 LTS.
On my first drive push command, the resolve shows a long long list of files that are going to be deleted, modified or added. The added files have the same path and filename as files that are going to be deleted.
To give you an impression:
Deletion count 457 dest: 481.68MB
Modification count 24 src: 7.29MB dest: 5.89MB
Addition count 15 src: 568.87KB

The files that are going to be deleted don't exist on my local filesystem.
Probably they were not downloaded to my filesystem during the first pull.
On the question Proceed with the changes? [Y/n] I obviously typed 'n' ;-)
Then I tried a drive pull, just to see what happens. This is what I got:
drive pull
Resolving...
md5Checksum: `20141105_150111.mp4` (452.74MB)
might take time to checksum.
These 1 file(s) would be overwritten. Use -ignore-conflict to override this behaviour
/A/A/a.ott
conflicts have prevented a pull operation

Note: I changed the filename in this post to /A/A/a.ott.
The file /A/A/a.ott is one of the files that was on the deletion list of the drive push command.
If there is any more information you need to fix this bug, please let me know.
Can anybody tell me how I can solve this problem? So I can start using gdrive as it is supposed to work :-)
P.S. Grive is also still installed on my system. I don't think this should cause the problem, but I just want to provide all the information that might be important.

Hello there @barteend! Thank you for reporting this and welcome to drive.
So whenever you try to pull content from a directory that isn't available on one remote, the goal is to mirror the source on the destination. This entails deleting content that doesn't exist locally or modifying or adding. I'd advise you if you haven't already to take a look at the README.md file as you'll see how to use drive to avoid such situations, namely you might have clashing filenames within the same directory (your file system cannot handle this). Also you can skip expensive checksum-ing by using flag --ignore-checksum, as well as pulling specific files and folders instead of the whole thing.
Any other program on your system should not cause any problem.
Thank you for providing as much information.
Please let me know if this makes sense.

Am marking this as works as intended. Please don't hesitate to let me know if there is any problem.

Thank you for your fast reply @odeke-em ! :-) :+1:
I've read the complete README.md
I understand that when I do a pull, then content (files and directories) that don't exist locally will be deleted remote.
The problem (bug) is that I did not delete any files locally. On the first pull some files were not downloaded to my local Google Drive mirror. On the first pull all the files (that don't have clashing filenames) should be downloaded, so something goes wrong.
I understand that when a file and a directory have the same name, then my filesystem cannot handle that. But it's not the case that the files that were not downloaded have the same path name as a directory.
I find it scary to skip the checksum-ing by using flag --ignore-checksum. I don't want to have to corrupt (lose) my content...

Pulling specific files and folders instead of the whole thing.

is a workaround that works for now.
But I would like to be able to do a full sync (push / pull), instead of always manually keeping everything exactly in sync.
Do you know what might have caused the problem that not all content was download to my local mirror on the first pull?
Do you have a solution for this problem?
Do you need any more information?

I tried to fix the problem by reinstalling drive....  ....but now the init doesn't work anymore.
What I did was:

Uninstall drive
Renamed my gdrive directory
Restart my computer (just to be on the safe side)
Install drive
Go to https://drive.google.com -> Settings -> Manage apps, and disconnected Google Drive (removed the permissions of the old gdrive installation)
In the console of my local computer:

cd ~/Boo
mkdir gdrive
unbuffer drive init ~/Boo/gdrive 2>&1 | tee -a console-output.txt

When I got on the point 'Paste the authorization code: ', I pasted the authorization code. After 5 minutes of waiting still nothing happened.
I pressed Ctrl+C and tried again.
Same thing...
So now I can't even initialize drive. So can't even use the workaround of "pulling specific files and folders instead of the whole thing" anymore.... :-(
If you know what I can do to use gdrive normally, please let me know

Hey @barteend I can't reply much right now but will do so when I get back home in about 8 hours.
Instead of the unbuffer drive init ~/Boo/gdrive 2>&1 | tee -a console-output.txt how about you just run
drive init ~/Boo/gdrive? This could just be due to the fact that you disabled input buffering using unbuffer yet Stdin is buffered.

Thank you @odeke-em !!!! :-) :+1:
Leaving the unbuffer command away did the trick :-)
Now I'm running a 'drive pull 2>&1 | tee -a console-output.txt'. I hope it will download al my content this time...

Oh, using drive pull 2>&1 | tee -a console-output.txt is not such a good idea....
The file grows very fast, because every change in the progress bar is stored:
0 /<PHONE_NUMBER> [-----------------------------------------------------------------------------------------] 0.00 %
19789 /<PHONE_NUMBER> [>--------------------------------------------------------------------------] 0.00 % 108h53m29s
54773 /<PHONE_NUMBER> [>----------------------------------------------------------------------------] 0.00 % 59h0m57s
915019 /<PHONE_NUMBER> [>----------------------------------------------------------------------------] 0.01 % 5h53m7s

I just post it so that other users who read this know that they might want to look for another way to get all the output from dive commands. I.e. increase the scrollback size of their console.

After the drive pull command completed I immediately executed another drive pull command, just to check if drive would find any missing files that weren't downloaded the first time.
I would expect that drive would download nothing, because everything should be downloaded on the first drive pull command.
Unfortunately the second execution of the drive pull command found a lot of files to add and even files to modify   ...and also files to delete. The files that were listed to be deleted are also listed to be added.
A short summary:
Addition count 432 src: 437.36MB
Modification count 31 src: 471.82KB dest: 85.67MB
Deletion count 15 dest: 564.87KB

I've checked for some of the files if they've got a clashing file name. For the files that I've checked this is not the case. Since it are hundreds of files and folders, I can't check them all manually.
Does drive provide a command which shows me all the conflicting filenames in Google Drive?
I can replicate the bug of my first time install of drive....
Do you know what might have caused the problem that not all content was download to my local mirror on the first pull?
Do you have a solution for this problem?
Do you need any more information?

Some additional info:
(Of course) a drive push command also shows a long list of changes. Here's the summary:
Deletion count 423 dest: 438.81MB
Modification count 22 src: 474.77KB dest: 471.82KB
Addition count 16 src: 2.00MB

Thank you for that. Soon, I'll add in a change that helps track clashing names then you won't have to go through this kind of trouble of debugging for days, this is the first time someone has reported this and I'd really like to make your experience with drive as pleasant as possible. My apologies if this is tripping you out. However, I'd encourage you maybe to do things directory centric e.g cd this_directory, drive pull that_directory that_other_directory otherwise there is way too much noise to try to narrow down what the issue is.
Please let me know if this makes sense.

Hi @odeke-em
I appreciate that you really like to make everyone's experience with drive as pleasant as possible. With your very fast replies and good suggestions, you give me a pleasant experience even though drive doesn't work the way I want it to work :-) :+1:
Could you post a message in this thread as soon as the clashing names list functionality is released? Then I know when I can check if I've got clashing filenames.
Personally I don't think my problem is a clashing filenames problem. Because a lot of files that I've checked don't have clashing file names....
Do you have any other idea what might have caused the problem that I've described?
P.S. the  cd this_directory, drive pull that_directory that_other_directory makes sense and works as a temporary workaround.

Hello @barteend,
Thanks for understanding. For sure I will post a message informing you.
See the reason why I recommended cd this_directory, drive pull that_directory that_other_directory is not necessarily as a work around but there is a lot of uncertainty from your earlier pulls and pushes, I can't tell what completed what didn't. Posting the byte counts doesn't help, plus your logging method might have made you lose a bunch of error warnings that's why I recommended doing it in incremental small parts as well as using the vanilla commands drive .... If however you would like for me to fully debug this, a manifest screenshot or console output would be great as lately you'll see a lot of this diagnosis was guess work since it seemed to be that drive was functioning as expected. Also you didn't mention what version of drive you were using drive version. If the output is sensitive, feel free to email it to me :)
Thank you.

Let's wait for the new version with clashing filenames listing functionality before starting to fully debug this... That might save us valuable time.
Thanks again!

Sounds like a plan, you can track its progress here https://github.com/odeke-em/drive/pull/166. It is mostly done. I was hoping to finish it tonight but I have an event this evening. However, I'll try to jump on it when I get back.

Please get the latest, clashing file detection now in.

I've got Kubuntu Trusty 14.04 LTS. So I've got to wait till the new version of drive is available as a Kubuntu 14.04 package....


Add the new Eastern US region to GCE

cc @Fryguy @chessbyte
Question, do we actually need hostname in the region if it doesn't resolve to anything?

@miq-bot add-label enhancement, providers/google


Add scripts for performance testing

The following scripts were added:

benchmark - Benchmark time, memory, cpu, network in/out for any script
upload-file - Uploads a single file with s3transfer
download-file - Downloads a single file with s3transfer
benchmark-upload - Benchmarks the upload of a single file with s3transfer
benchmark-download - Benchmarks the download of a single file with s3transfer

On a side note, I would much rather have my other PR's looked at than this one and have this one deprioritized. I figured that since I have these performance scripts that I have been using for a while now that I would push them up for other people to use because I have found them really handy.
cc @jamesls @JordonPhillips

Looks good, had some high level comments:

I prefer having all the requirements in the top level directory, so you can see which requirements you may need to install.  What about moving this to a top level requirements-perf.txt or possibly a more general requirements-dev.txt?  The latter file could also include requirements-test.txt.

Adding a utils module in the perf script requires the user needs to ensure that module is importable, so you either need to mess around with your python path or you need to run it from that directory.  Do you imagine we'd add a lot more utility functions?  It would be nice if all the scripts were self contained.

I am fine with the general comments as well. Seems reasonable.

Flipping to incorporating feedback for now.

@jamesls @JordonPhillips I think I addressed everything and I did some testing on the difference between 0.1 and 1 intervals for CPU usage (there was a noticeable change in CPU performance so I updated the default). Let me know what you think.

:shipit: Looks good.  I had an overarching stylistic comment that some of the code comments are distracting, so just something to watch out for going forward.

I updated based on @jamesls comments.
@JordonPhillips let me know if you have any more feedback.

⛵


add file output to cli plotting

Addresses #22
Adding the ability to write files using the asli_plot cli command. Adding the -y --year parameter to trigger either a.plot_region_all() or a.plot_region_year()

There's a couple of design decisions to discuss:

Importing plt in asli.py just to call plt.savefig() (to quickly make this work). Would it be better to define a separate function in plot.py and from .plot import ...
Passing additional arguments plt.savefig() can take (e.g. dpi, bbox_inches, see matplotlib docs). Is there an elegant way to do this or would it be a case of writing out additional _get_cli_plot_args() arguments?


[security] incomplete pkce code verification process

Hi there,
This example repo appears to have a security flaw.
During the login process, you call set_pkce_challenge during the initial oauth call, however during exchange_code, you do not call set_pkce_verifier. This means that a strict oauth server can not proceed to validate the pkce values which means the token retrieval will fail.
https://docs.rs/oauth2/4.0.0/oauth2/struct.CodeTokenRequest.html#method.set_pkce_verifier

Additionally, can you please confirm if your example site still works on gitlab? If so, then we need to inform gitlab that they may not be verifying pkce correctly.


Optional disable file saving when run_pyscf

Can we add an option to not save data in run_pyscf?
Saving data is prohibited in my cluster (error message attached) and is not necessary I guess?
  File "/usr/local/lib/python3.6/dist-packages/openfermionpyscf/_run_pyscf.py", line 206, in run_pyscf
    pyscf_molecular_data.save()
  File "/usr/local/lib/python3.6/dist-packages/openfermion/hamiltonians/_molecular_data.py", line 642, in save
    "{}.hdf5".format(self.filename))
OSError: [Errno 18] Invalid cross-device link: 'f73a457b-1fec-42ee-a484-ed2325f89cf0.hdf5' -> '/usr/local/lib/python3.6/dist-packages/openfermion/data/H2_sto-3g_singlet.hdf5'

Related code: run_pyscf

Any update for this?


switching to quay.io/datashim-io

Signed-off-by: Srikumar Venugopal<EMAIL_ADDRESS>closes #183
closes #180

Updated the Docker image repositories to quay.io/datashim-io


Reimplementation using Async/Await and Rust 2018 edition

Hello Datrs team!
I'm trying to learn Rust. As an exercise I'm trying to port existing libraries from scratch.
I'm quite interested in Hypercore so I decided to give some of its dependencies a try.
I know you have already implemented many of the dependencies
but still I wanted to try to start afresh, trying to be as rust-idiomatic as possible.
I wanted to share this implementation, knowing that it breaks existing API because:

I want to know your opinion
I would love to start collaborating with the Rust and Datrs community
I think this implementation includes some nice ideas missing in the existing one

Feel free to reject it if it doesn't match datrs philosophy in any way.
If you decide this reimplementation is worth the effort, I will open some PRs adapting any project using atomic-batcher to adapt it to the new API.

Closing while I learn more about asynchronous programming in Rust.
My code needs major changes to be able to run in parallel.
Any feedback is very welcome, though.


Fix mismatch between Color.h and Color.from_hsv()

In master, Color.get_h() returns a hue in the range [0, 1], but Color.from_hsv() understands hue to be in the range [0, 360] (i.e. in degrees).
This means that Color.from_hsv(c.h, c.s, c.v) != c, which is not good.
This PR proposes to change Color.get_h() to return in the range [0, 360] (i.e. in degrees) to fix this.
Alternatively we could change Color.from_hsv to expect a [0, 1] hue. This is less common IMHO.

While I was at this, I found that Color::from_hsv does not fmod its hue properly to [0, 360]. Also fixed in this PR.

This will break compatibility with 3.0, so I think it would be best to fix Color.from_hsv() to behave as h, s and v do currently, even if it's less common.

@akien-mga Changed Color.from_hsv() accordingly.


More Interfaces in JDA

[X] I have checked for similar issues.
[X] I have updated to the [latest JDA version][download].
[X] I have checked the branches or the maintainers' PRs for upcoming features.

Feature Request
More interfaces for similar Methods eg. the Slash Command System has the same return values in Guild and JDA. The methods are exactly same named. In the whole JDA more interfaces would be better for .
Example Use-Case
Use case is better polymorphism in applications using this api. e.g If you want to register a Slash command you need a reflections or another code construction to execute the same method in different types. And it does nearly the same. So a interface like ISlashCommandCreation with methods upsertCommand, updateCommands, editCommandById, deleteCommandById, retrieveCommandById and retrieveCommands in it would be good.

These method you mentioned returns the same objects, i'd say it's not really useful to break OOP (and the how JDA classes are made) just to make a slash command interface
For example I have a nullable Guild, which would determine if the application commands would go in a Guild or in the global context: var updateAction = guild == null ? jda.updateCommands() : guild.updateCommands()
Quite simple imo, I have not felt a need for a unified interface in that sector

All the command endpoints are different between these two interfaces and can change in different ways in the future. Making a shared interface for this would quickly become unmaintainable if guild commands would allow different configuration than global commands.
I don't think you need reflection or any special logic to handle this either, if you implement your abstraction to accept the RestAction types or a factory, you don't need to worry about what type the command came from. Even if you implemented it by calling the methods on either Guild or JDA, you can simply use instanceof and cast to the right interface.
The argument for "similar method names should be abstracted" doesn't make much sense when you have a hundred different method configurations, and you would end up with interfaces like IGetName, IGetUser, IGetChannel, etc. which have a single method.
Do you have a more specific use-case? Example use-cases are something we ask for in the issue template for feature requests, I'm not sure why you removed that section of the template.

MessageActions for example WebhookMessageUpdateAction and MessageAction have both same named methods
sure you can do sth like this:
	private RestAction<?> addActionButtons(RestAction<Message> action) {
		List<ActionRow> rows = this.getActionRows();
		return action instanceof MessageAction messageAction
						? messageAction.setActionRows(rows )
						: action instanceof WebhookMessageUpdateAction<?> messageUpdateAction
						? messageUpdateAction.setActionRows(rows)
						: null;
	}

but sth this would keep javas type safety and make it more readable:
	private RestAction<MessageActionable> addButtons(RestAction<MessageActionable> action) {
		List<ActionRow> rows = this.getActionRows();
		return action.setActionRows(rows);
	}

It is part of JDA 5 to work on this problem, see this image:

and the convo: https://canary.discord.com/channels/125227483518861312/869965829024915466/870462812651134995

You can already do this with the MessageBuilder:
public void addButtons(MessageBuilder builder) {
  builder.setActionRows(this.getActionRows());
}

And the same applies to commands with CommandData.

can you give me a link to that point in changelog? O.o

We are going to bridge the gap for the various ways to deal with messages. However, we're not looking to add interfaces for every possible intersection of features. There is a point where it is too much. Intersection interfaces are only useful if people are going to use them enough to justify the reduction in clarity and increase in maintenance cost.
If you have specific usecases where you'd like to see an intersection interface added, feel free to open another issue with a specific usecase written out.


Add Radarr MoviesSearch to post_command

Is there an existing issue for this?

[X] I have searched the existing issues

Expected feature
Ability to request Radarr search for a movie via API the same as clicking the "Search Movie" button in the UI.
Opening issue because PRs require an issue.
Possible Solutions
Edit models/radarr.py to allow calling moviesSearch
Context / Reason
Ability to search for movies from API.
Code of Conduct

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

There should probably also be a test in test_radarr.py

There should probably also be a test in test_radarr.py

Added to PR.


Ensure webhook is started

This ensures webhook is started when controller-manage deployment becomes ready.

/test unit

The error looks strange. might be an consistent issue caused by some dependency bump ?
   [FAILED] Unexpected error:
      <*meta.NoKindMatchError | 0xc000121300>:
      no matches for kind "IngressController" in version "operator.openshift.io/v1"
      {
          GroupKind: {
              Group: "operator.openshift.io",
              Kind: "IngressController",
          },
          SearchedVersions: ["v1"],
      }
  occurred

The error looks strange. might be an consistent issue caused by some dependency bump ?
   [FAILED] Unexpected error:
      <*meta.NoKindMatchError | 0xc000121300>:
      no matches for kind "IngressController" in version "operator.openshift.io/v1"
      {
          GroupKind: {
              Group: "operator.openshift.io",
              Kind: "IngressController",
          },
          SearchedVersions: ["v1"],
      }
  occurred

Seems to be passing now?

The error looks strange. might be an consistent issue caused by some dependency bump ?
   [FAILED] Unexpected error:
      <*meta.NoKindMatchError | 0xc000121300>:
      no matches for kind "IngressController" in version "operator.openshift.io/v1"
      {
          GroupKind: {
              Group: "operator.openshift.io",
              Kind: "IngressController",
          },
          SearchedVersions: ["v1"],
      }
  occurred

Seems to be passing now?

Yes. I'm unsure how that could happen. I suspect the cluster was unstable and some openshift specific CRs were not registered there. We may need to register the schema explicitly as it comes from openshift, so that we can run the tests in vanilla k8s.

The error looks strange. might be an consistent issue caused by some dependency bump ?
   [FAILED] Unexpected error:
      <*meta.NoKindMatchError | 0xc000121300>:
      no matches for kind "IngressController" in version "operator.openshift.io/v1"
      {
          GroupKind: {
              Group: "operator.openshift.io",
              Kind: "IngressController",
          },
          SearchedVersions: ["v1"],
      }
  occurred

Seems to be passing now?

Yes. The job passed so I think we are ok to merge this.
I'm unsure how that could happen. I suspect the cluster was unstable and some openshift specific CRs were not registered there. We may need to register the schema explicitly as it comes from openshift, so that we can run the tests in vanilla k8s.

The IngressController for EnvTest is completely fake, it should be registered/created before tests run.
https://github.com/openstack-k8s-operators/ironic-operator/blob/main/tests/functional/suite_test.go#L199
/lgtm


Exception of type System.OutOfMemoryException

We have built a few dialogs in Composer 1.3.1 version and hosted them in Azure and it's randomly throwing System.OutOfMemoryException
Strack trace:
at Microsoft.Bot.Builder.Dialogs.Declarative.Resources.ResourceExplorer.LoadTypeAsync[T](Resource resource, CancellationToken cancellationToken)     at Microsoft.Bot.Builder.Dialogs.Declarative.Resources.ResourceExplorer.LoadType[T](Resource resource)     at AIP.BotEngine.Classes.AdaptiveDialogProcessor.LoadRootDialogAsync(ResourceExplorer resourceExplorer) in D:\CCoreRepo\RajeshK\CCoreV4\AIP.BotEngine\AIP.BotEngine\Classes\AdaptiveDialogProcessor.cs:line 123     at AIP.BotEngine.Classes.AdaptiveDialogProcessor.ProcessAdaptiveDialogs(ITurnContext turnContext, ICacheManager cacheManager, UserBE userBE, ConversationState conversationState, UserState userState, ResourceExplorer resourceExplorer, CancellationToken cancellationToken) in D:\CCoreRepo\RajeshK\CCoreV4\AIP.BotEngine\AIP.BotEngine\Classes\AdaptiveDialogProcessor.cs:line 112
If this is a known issue Is this issue still exist in the latest version?

Hi @srinaath, do you know if this has been addressed in composer 2.1?

Hi @KoradaRajesh ,
I searched our past issues for the term "System.OutOfMemoryException" and couldn't find any results, so I don't believe this was a known issue, but @srinaath feel free to chime in if I'm wrong.
For now I would recommend using Composer 2.x to to create a replica of the dialogs responsible for throwing the errors, and publish them to Azure and see if the problem goes away.

Thanks @tonyanziano. Agreed, this is not a known issue.
@KoradaRajesh Just to clarify the bot you have runs locally fine on Composer and when deployed to Azure, running the deployed bot throws the error? Also, does the error get generated starting the bot up or when you trigger a particular dialog? Are you getting an exception when you deploy a bot built from one of the default templates?
With 1.3.1 we had used a different runtime package. In 2.0 we had made tons of improvements to the way we leverage the runtime. We have a migration step built into Composer to migrate your bot assets to the new runtime. Do go ahead and give it a try.

@KoradaRajesh Do you have some steps or sample dialogs we could use to reproduce this issue?

Closing due to inactivity.


Propagate aws provider default tags to cluster_primary_security_group resource

Is your request related to a new offering from AWS?
Is this functionality available in the AWS provider for Terraform? See CHANGELOG.md, too.

No 🛑: please wait to file a request until the functionality is avaialble in the AWS provider
Yes ✅: please list the AWS provider version which introduced this functionality

Is your request related to a problem? Please describe.

Have all resources created by a module have aws provider default tags for cost attribution, monitoring/alerting etc.
Describe the solution you'd like.

Add data "aws_default_tags" "current" {} and merge the tags in https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/main.tf#L111
Describe alternatives you've considered.

configuring cluster_tags var - unwanted side-effect is recurring changes (tags vs tags_all) in plans for other resources which already get default tags from aws provider
forking EKS module and making custom change

Additional context

we had that and removed it. if you want to add tags to the security group created by EKS, you can use the cluster_tags variable.
Also, security groups do not cost money nor show up in  monitoring/alerting


in_list: doesn't work well with symbols

An example here: http://plnkr.co/edit/Rwupj91yWAbfgsgIebsb
Try to validate your blood type. "A" passes validation while, "A+" fails. Along with other text that have symbols. The feature seems to truncate symbols.

I was using \b in my RegExp, which is Word Boundaries. This unfortunately means that only words are excepted, which excludes special characters and that explains why the A was valid while the A+ was invalid.
I also found out that I don't actually need to use word boundaries, I can simply use it directly in my RegExp ^(word1|word2|A\+)$, as long as the string is also escaped.
I will push the fix in the next revision, sometime this week. Thanks for the feedback
You live in Singapore? It's nice there, been there twice, wouldn't mind to live there, better than Canadian winter hehe

This was fixed in last release v1.4.17

@ghiscoding I see, thanks for the really fast fix.
Yea, I live in Singapore! Canadian winter is just freezing cold, but It's gets pretty hot down here. For me, I would definitely like to go to a colder country! haha
I guess the grass is always greener on the other side eh. Cheers!

Haha you're right, I don't mind the warm weather but I actually find that the humidity is a bit too high in Singapore. Canadian summer is nice, if only it could be all year haha.
Thanks for the feedback, enjoy the package and tell your friends ;)
I'll let you know next time I go back to SG, hotel is near NUS university on Bencoolen street.


Add Job Splitting Information Methods for Better User Experience

This PR aims to solve issue #1247 als the changes are similar to PR #1248
Summary:
This pull request aims to enhance the user experience by providing clearer insights into the structure of experiments and their distribution across backends. It introduces two new public methods, _max_circuits() and job_info(backend), while also refactoring the existing _run_jobs() method for better code organization and reuse of logic.
Proposed Changes:
Add _max_circuits() Method:
This method will calculate the maximum number of circuits that can be included in a single job. This method will encapsulate the logic previously present in the  _run_jobs() method to determine the maximum circuits per job.
Add job_info(backend) Method:
This method will utilize the _max_circuits() method to provide users with information about the experiment's configuration for a specific backend. If the backend argument is provided, the method will return the number of circuits and the number of jobs the experiment will be split into on that backend. If the backend argument is not provided, the method will rely on the backend already specified in the experiment.
Refactor _run_jobs() Method:
The existing _run_jobs() method will be refactored to make use of the _max_circuits() method. This change will enhance code readability and maintainability by segregating the logic related to job distribution from the actual job execution logic.
Testing
Added test_max_circuits for testing of _max_circuits() and test_job_info for testing of job_info(backend) these tests ensure that methods functioning correctly

Hi @coruscating
this PR is for issue #1247, which you assigned me, I could not push into PR #1248 and got confused about what to do so I created this PR please review it.


Added M1 compatibility

Added apple silicon universal support as mentioned here https://github.com/electron-userland/electron-builder/issues/5689 to fix #220

Looking forward to seeing this getting merged or fixed:)

Check this comment for the M1 version

Closing this PR as there another PR tracking the M1 release


Note Not Editable After Conversion

I just created an old note, and used the tool to convert the single ID (Opportunity). It worked perfectly, but I just realized that I can now no longer edit the Enhanced Note. Did I miss something?

Hi @juicyroots, Enhanced Notes use a different sharing model than Classic Notes. My first guess is that perhaps the note that got converted is owned by a user other than you? Or, make sure you are in Lightning Experience then try to edit the converted note.

Hi @juicyroots,
Enhanced Notes default behavior is to grant only view access. In Lighting Experience, by design the Enhanced Notes do not support multiple users editing the same record so they do not expose a way to grant edit access.
One workaround is to use either Data Loader or an Apex trigger to modify the ContentDocumentLink records and set the ContentDocumentLink.ShareType field value to C (collaborator).
The other workaround is to switch to Classic, view the note record detail page, click on Note Sharing Settings and assign users or groups to have collaborator access.


hi i want to use webnn for noise supression in my application. could someone guide me how to start and any sample code or anything helpfull

Hi @Honry
is the dataset on which this model is trained public ?
could you please provide me the link to dataset

Hi @vishaldhull09, yes, it's public, you can get dataset of NSNet2 from https://github.com/microsoft/DNS-Challenge.

Hi @vishaldhull09 , we have implemented a real-time sample of noise suppression (RNNoise) based on mediacapture-transform API. This sample successfully constructed a pipeline to suppress the noise of the audio data collected by the microphone and send it to the speaker or earphone of the device.
I think this example will solve your question and we will close this issue. If you have any questions, please feel free to contact us.

Thanks @miaobin! I will close this issue.


How Does LLaMA3 Merge Multiple Short Texts During the Pretraining Process?

LLaMA3 supports an 8K token context length. When continuously pretraining with proprietary data, the majority of the text data is significantly shorter than 8K tokens, resulting in a substantial amount of padding. To enhance training efficiency and effectiveness, it is necessary to merge multiple short texts into a longer text, with the length remaining below 8K tokens. However, the question arises: how should these short texts be combined into a single training sequence? Should they be separated by delimiters, or should an approach involving masking be used during the pretraining process?
Regarding the use of delimiters, as seen in GPT2 during its pretraining phase, multiple short texts were combined into a longer text using the [SEP] token. However, LLaMA3’s tokenizer does not define a [SEP] token or a similar one. It includes two stop tokens: <|end_of_text|> and <|eot_id|>, where the former acts like an EOS token, and the latter serves as an end token for each turn in a dialogue. Should<|end_of_text|> or <|eot_id|> be used as the delimiter during training, or should a new delimiter be custom-defined?
As for the masking approach, it is inspired by a method described in the LLaMA3 official blog, which states, "We trained the models on sequences of 8,192 tokens using a mask to ensure self-attention does not cross document boundaries." Does this imply that LLaMA3 does not use explicitly defined short text delimiters to merge multiple texts, but instead combines them using <|end_of_text|> and <|end_of_text|>, then masks other short texts during the pretraining to facilitate model training?

Why was this closed? It sounds like you are asking about how the causal mask was modified to allow multiple padded sequences to be concatenated by the EOS token. If they were using native flash attention - which they presumably were, why you would not :) then the API allows you to handle this case directly.

Hey all, you can find more details in our technical report here please re-open the issue if you have any questions.
Thanks!


-LogPath parameter does not exist

-LogPath c:\temp\myerror.log

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

ID: d5b38ef2-6154-f01c-a30c-172072000e27
Version Independent ID: 8adc343a-3f0b-34d6-ad25-076b81b9cbcc
Content: Publish-NAVApp (Microsoft.Dynamics.Nav.Apps.Management)
Content Source: businesscentral-ps-15/Microsoft.Dynamics.Nav.Apps.Management/Publish-NAVApp.md

Thanks for the feedback! The article has been fixed and an update will be published soon.


SVG outputs are rendered as strings in LaTeX

Describe the problem
If the output of an command is of type image/svg+xml it is included as string output in LaTeX file
Link to your repository or website
No response
Steps to reproduce

Create notebook with code cell like this

import chess
import chess.svg

board = chess.Board()
board.push(chess.Move.from_uci("d2d4"))
chess.svg.board(board, size=350)

Generate Output
Try to create pdf

The version of Python you're using
No response
Your operating system
No response
Versions of your packages
No response
Additional context
This will probably be fixed by fixing #178

Thank you very much
This works nicely

Since #380, this is easy to configure for with https://www.sphinx-doc.org/en/master/usage/extensions/imgconverter.html:
extensions =  ["sphinx.ext.imgconverter"]
nb_mime_priority_overrides = [
     # builder name, mime type, priority
	("latex", "image/svg+xml", 15)
]

sphinx.ext.imgconverter is not enabled by default though, so latex should also not be.
Also, as noted in the link, there are alternative options for SVG -> latex conversion, like https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter
this could/should be added to the documentation

For the _config.yml (jupyter-book) this would be:
sphinx:
  config:
    nb_mime_priority_overrides:
        - - latex
          - "image/svg+xml"
          - 15

And it seems that the higher the number (15) the higher the priority will be.

Indeed, it is detailed here: https://myst-nb.readthedocs.io/en/latest/render/format_code_cells.html#outputs-mime-priority

I'm trying to render SVGs in pdflatex output from jupyter book and after spending many hours on it I still can't seem to find a solution. I tried putting the following inside _config.yml but it does not seem to have an effect:
sphinx:
  config:
    nb_render_priority:
      latex:
        - "application/pdf"
        - "image/svg+xml"
        - "image/png"
        - "image/jpeg"
        - "text/latex"
        - "text/markdown"
        - "text/plain"

Next I tried adding the following
sphinx:
  config:
    nb_mime_priority_overrides:
        - - latex
          - "image/svg+xml"
          - 15

which does insert svg as rasters, but the resolution is so low that it is unusable. Is there any way to pass a dpi argument to the imagemagick converter in the yaml config file?
I also tried using https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter but I don't understand how to write my config file for jupyter book to enable this extension, any tips would be helpful (I tried adding the cairo convert under "extra extensions", but my svgs still odn't show up. (I can't use inkscape or resvg)).
I attach the notebook file I have been trying to render
svg-test.ipynb.txt

Can confirm, I also get empty output in my pdf where svgs should be...


Help wanted! Question about the bird Question-Schema Linking

Looking at the source code, it seems that I only see Spider using RAT SQL to calculate q-s linking code, but I do not see bird using RAT SQL to calculate q-s linking code.In the exposed code, bird is more like a few shot without q-s linking:

I would like to ask whether the result on the list uses RAT to calculate q-s linking? Thank you.

Sorry to interrupt, I made a small mistake and overlooked that line. The problem has been fixed.


Add comprehensive example

Add a comprehensive example. Can target the rust beta so async/await can be used.

Closed by #24


(actions): fix goreleaser/release issues

Description
Fixes some release action image building issues. These issues were found attempting to fix the goreleaser failure running on the main branch due to not having a tag.
Unfortunately there is not a way to fix the tag issue aside from pushing a tag so the plan as of now is to push a v0.0.1 tag once these fixes are merged and then it should work after that.

Since the real fix is to push a tag I think that should cut an actual release. I'm going to plan on refining the actual goreleaser release config to actually do a release.
/hold

/hold cancel

Holding on the need to add ldflags to build targets

I think Anik's PR addresses this. IMO, let's keep this focused on having an actual working goreleaser setup. Any extras like this can be done in small PRs later.

/lgtm
/approve

/hold cancel


work in background

Now if you start uploading and minimize application OS can kill it and upload fails. Is it possible to make it work in background? Like in some torrent clients where you can minimize (and even swipe app from minimized) and it still downloads.

That is out of the scope of this library. Though I have used a persistent progress storage and background_fetch to get that kind of background uploading effect you are talking about.


Remove XACML, UMA and Workflow features from IPK

Proposed changes in this pull request

Remove identity-entitlement and policy-editor
Remove uma
Remove Workflow

When should this PR be merged

This change is done for IPK. Should be merged to the relevant branch once the it structure is in place

Will be merged with https://github.com/wso2/product-is/pull/14940


patch installer just crashes instantly after giving off a sound for a slipt-second.

Title says it all. This doesn't seem to be an issue with the script itself.
But idk where else I should go to seek help.
here's the script log anyway, maybe some of you guys find anything useful.
~/Downloads/Polyversal-v2_1_3$ ./polyversal install chn ~/Downloads/CHNSteamPatch-v1.0.2-Setup
polyversal  INFO - Machine info: Linux 6.11.0-202.fsync.fc40.x86_64 x86_64 GNU/Linux PRETTY_NAME="Nobara Linux 40 (KDE Plasma)"
polyversal  INFO - Hardware: Shenzhen Meigao Electronic Equipment Co.,Ltd HPPAC | AMD Ryzen 7 8840U w/ Radeon 780M Graphics | Advanced Micro Devices, Inc. [AMD/ATI] Phoenix3 (rev 01)
polyversal  INFO - Starting Polyversal Patcher on Sa 5. Okt 01:09:31 CEST 2024 ...
polyversal  INFO - system install of protontricks not found
polyversal  INFO - proceeding with flatpak ...
Looking for updates…
polyversal  INFO - polyversal is up-to-date

Nothing to do.
polyversal  INFO - flatpak protontricks either updated successfully or was already up-to-date
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
steam-runtime-launcher-service[58]: W: The --socket option is deprecated. Prefer to use --session or --bus-name.
polyversal  INFO - using game directory '/home/miku/.local/share/Steam/steamapps/common/CHAOS;HEAD NOAH'
polyversal  INFO - patching CHAOS;HEAD NOAH using app ID 1961950, expecting patch EXE name 'CHNSteamPatch-Installer.exe' ...
polyversal  INFO - using custom SteamGrid images ...
polyversal  INFO - patching CHAOS;HEAD NOAH ...
polyversal  INFO - running command: `flatpak run com.github.Matoking.protontricks -c 'cd "/home/miku/Downloads/CHNSteamPatch-v1.0.2-Setup" &&  wine CHNSteamPatch-Installer.exe' 1961950`
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
steam-runtime-launcher-service[58]: W: The --socket option is deprecated. Prefer to use --session or --bus-name.
steam-runtime-launch-client[60]: W: The --socket option is deprecated. Prefer to use the session bus.
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0114:fixme:oleacc:find_class_data unhandled window class: L"#32769"
0114:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented.
0114:fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024
0114:fixme:uiautomation:msaa_fragment_get_FragmentRoot<PHONE_NUMBER>8F1FB8,<PHONE_NUMBER>21FA90: stub!
0024:fixme:win:RegisterPowerSettingNotification (0001006C,{02731015-4510-4526-99e6-e5a17ebd1aea},0): stub
0120:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented.
0120:fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024
0120:fixme:uiautomation:msaa_fragment_get_FragmentRoot<PHONE_NUMBER>92B8F8,<PHONE_NUMBER>B2FAB0: stub!
QMetaObject::connectSlotsByName: No matching signal for on_muteButton_clicked()
0120:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented.
0120:fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024
0120:fixme:uiautomation:msaa_fragment_get_FragmentRoot<PHONE_NUMBER>92B978,<PHONE_NUMBER>B2FAB0: stub!
0024:fixme:pulse:AudioClient_GetSharedModeEnginePeriod (0025BE58)->(005EEDA0, 005EED8C, 005EED70, 005EED7C, 005EED78)
libGL error: MESA-LOADER: failed to open radeonsi: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: wrong ELF class: ELFCLASS64 (search paths /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri/swrast_dri.so: wrong ELF class: ELFCLASS64 (search paths /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri)
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  4448
  Current serial number in output stream:  4447
polyversal ERROR - patch installation exited with nonzero status
polyversal  INFO - copying custom SteamGrid images ...
polyversal  INFO - SteamGrid images installed successfully
polyversal  INFO - Success! Completed without any script-breaking issues. Enjoy the game.

Running protontricks with debug logs on reveals this opengl error once the patch installer is launched:
libGL error: MESA-LOADER: failed to open radeonsi: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: wrong ELF class: ELFCLASS64 (search paths /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri/swrast_dri.so: wrong ELF class: ELFCLASS64 (search paths /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/dri)
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  4448
  Current serial number in output stream:  4447

unfortunately I am not smart enough to figure out what exactly causes mesa to not be able to load my graphics driver here.


removed the second appbar

fixed issue #34

PR approved but it is always a good practice to add a screenshot of the changes you have made no matter how big or small the issue may be.

Oh, Surely I'll keep that in mind.


Additionally, look for exe path in "App Paths"

Summary of the new feature / enhancement
PATH is not ideal, it has length limitation while App Paths is not, it would be nice if powershell can look for exe path in App Paths so winget for example can add exe paths to App Paths instead of PATH directly to avoid overflowing it.
https://learn.microsoft.com/en-us/windows/win32/shell/app-registration
Proposed technical implementation details (optional)
No response

The registry-based App Path mechanism is for GUI shell applications, whereas terminal-based shells are only expected to honor $env:PATH
However, PowerShell indirectly supports discovering and launching such applications via Start-Process, e.g. Start-Process excel.
(The use of Start-Process implies loss of stream integration, but such GUI applications rarely attach to the caller's console in order to produce stdout/stderr output.)
From what I can tell, the max. length of $env:PATH is 4095 characters since W7.
(Notably, setx.exe has a 1024-char. limit, but it shouldn't be used to update $env:PATH anyway - see the bottom section of this SO answer).

If you installed all your personal apps using MSIX or MSIXBUNDLE then they would all appear as symbolic links in %LOCALAPPDATA%\Microsoft\WindowsApps, eg
This directory is normally part of your PATH. Even winget.exe is there...
PS> Get-Command winget.exe

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     winget.exe                                         <IP_ADDRESS>    C:\Users\bythesea\AppData\Local\Microsoft\WindowsApps\winget.exe

Command line apps can be installed using MSIX, but they are private to a user. Global applications should still (IMHO) be installed using MSI into %ProgramFiles%.


Fix bug of different-scale option about indentation

This PR purposed to fix bug of --different-scale option caused by wrong indentation.
Used data: data/ex8.dat
# Example Data Set 8 with Categories of different scale
@ People,Income
2007,100,500000
2008,450.23,760000
2009,255,1000000
2010,340,800000
2011,160,600400
2012,200,950000
2014,488,700000

When I plotted 2 categories data (that is above one) having different-scale, the output is as follows:

However, I think the ideal output is to have two normalized plots by category.
So, when I was reading source code of termgraph, I found a wrong indentation in block treating different-scale.
The output after fixing indentation is as follows:

Nice fix :+1:
Thank you for the contribution


Feature Request: Get and Return Consent Type

There is a check in the Google API to get the Consent Type via getConsentType()
It would be good to expose getConsentType() as a general method in the plugin so we can determine whether to show non-personalised ads or not.
Futhermore, in  onConsentFormDismissedListener the listener returns a message via the onConsentFormObtained  method channel.
It currently always returns a null argument, but it could return what the Consent Type was.

Yeah, I got some time tomorrow for a commit. Refactoring the listener stuff seems like a good idea.

I did some research on getConsentType(), as it somehow only returns UNKNOWN when implemented, and found this thread: https://www.reddit.com/r/adops/comments/ifh6n9/anybody_using_google_funding_choices_for_gdpr_cmp

To address your concern, this behavior is expected - window.googlefc.getConsentStatus() will always return window.googlefc.ConsentStatusEnum.UNKNOWN if you're using the IAB TCF v2 framework. This status is only applicable if you're using the simplified Google GDPR consent framework. We are in the process of updating the developers' docs to clear up this point.

To my knowledge the UMP SDK should already handle whether to show non/personalized ads? Really hoping for the Google Team to update their documentation.

Appreciate you looking into this.
That Reddit comment was interesting yet strangely disappointing, but hey, it's Google  ¯_(ツ)_/¯
I've been using the Admob flutter plugin and noted that they have an option to specify 'non personalised ads' which I thought this feature might enable. Why did I want this? Well the Admob console shows the error below which made me think I needed to control the personalised vs non-personalised ads based on consent.
No consent for Purpose 1 for EEA countries and the UK.

Creating a thread on their forums at https://groups.google.com/g/google-admob-ads-sdk would be a good idea, but their communication, again, has been pretty sparse regarding the UMP SDK...


Fail on hot reload

Hi,
Which version are you using?
1.0.1
Are you using storybook-router with a react based project or a vue one?
React
Please describe the problem:
I get the dreadly You should not use <Link> outside a <Router> on hot reload. It does work however if I manually refresh the page. So the decorator seems to be incorrectly applied.
Please explain how to reproduce the issue or (better) provide an example to do it.
config.js
import { configure } from "@storybook/react";
import "./decorators";

const req = require.context("../src", true, /stor(ies|y)\.js$/);

function loadStories() {
  req.keys().forEach(filename => req(filename));
}

configure(loadStories, module);

decorators.js
import React from "react";
import { addDecorator } from "@storybook/react";
import StoryRouter from "storybook-react-router";
import "semantic-ui-css/semantic.min.css";

// add
addDecorator(StoryRouter());

Unfortunately I cannot reproduce the issue from your code. In my setup (and in the provided examples), everything works fine.
Can you please provide an example repo where I can see the issue?

I'll try to repro indeed. The app is a create-react-app based app, this bug might be related to my context.

Any news on this? Please close it if the issue is not related to this package 😄

Sorry I could not repro yet, I am on a project and did not have time sorry. I must check my code to confirm whether the bug is on my side or not but for the moment it sound related either to storybook or to this precise package (otherwise my code would never work, here the bug appears only after a hot reload).

As there isn't any progress on this I'm going to close the issue. Feel free to reopen it in case of any news


Fields collide with package names

Hi, I've noticed a bug that prevents resolving references to types/packages.
Example in class flow.FlowDelegate
private final flow.Flow flow;

private static flow.History selectHistory(android.content.Intent intent, flow.History saved, flow.History defaultHistory, flow.StateParceler parceler2) {
    if (intent.hasExtra(HISTORY_KEY)) {
        return flow.History/*error here*/.from(intent.getParcelableExtra(HISTORY_KEY), parceler2);

I get an error for expression flow.History Cannot make a static reference to the non-static field flow
APK: https://drive.google.com/file/d/1VutiAXM19oi8sdfjB0u2lveD8Uz-uCQP/view?usp=sharing
May you please introduce a feature that prevents collides among field and package names? Thanks!

This happens when User Imports Statements is disabled.
I am not sure if we should check if there is a static reference used in the class before deciding to rename a field.

Another hint, #648 would hide this particular test case.

@asashour
I like different approach to simply store all packages and class names (globally or from current scope), and rename fields (e.g. change flow to flow1) when it potentially collides with something

@asashour
More over it's not about static/not static methods, the same happens also with non-static methods, example is in the same class
    public void onNewIntent(android.content.Intent intent) {
        flow.Preconditions/*error*/.checkArgument(intent != null, "intent may not be null", new java.lang.Object[0]);
        if (intent.hasExtra(HISTORY_KEY)) {
            this.flow.setHistory(flow.History.from(intent.getParcelableExtra(HISTORY_KEY), this.parceler), flow.Flow.Direction.REPLACE);
        }
    }

Error is Preconditions cannot be resolved or is not a field

@asashour
I like different approach to simply store all packages and class names (globally or from current scope), and rename fields (e.g. change flow to flow1) when it potentially collides with something

Yes, that would be the way, to store all used variables in scope.

More over it's not about static/not static methods, the same happens also with non-static methods, example is in the same class

I have to say, these are all static methods (Predonditions.checkArgument, History.from) or fields (Flow.Direction.REPLACE), but there is no instance methods.

I made field renaming if it collides with any root package. It is a little overkill through :)
@sergey-wowwow can you check this change?

@skylot
Thanks! But I see that local variables still collide with root packages, example is in the same class
    public static flow.FlowDelegate onCreate(flow.FlowDelegate.NonConfigurationInstance nonConfigurationInstance, android.content.Intent intent, android.os.Bundle savedInstanceState, flow.StateParceler parceler2, flow.History defaultHistory, flow.Flow.Dispatcher dispatcher2) {
        boolean z;
        flow.Flow flow; // local variable
        if (parceler2 != null) {
            z = true;
        } else {
            z = false;
        }
        flow.Preconditions.checkArgument(z, "parceler may not be null", new java.lang.Object[0]);
        if (nonConfigurationInstance != null) {
            flow = nonConfigurationInstance.f590flow;
        } else {
            flow.History savedHistory = null;
            if (savedInstanceState != null && savedInstanceState.containsKey(HISTORY_KEY)) {
                // flow.History.from -- collide
                savedHistory = flow.History.from(savedInstanceState.getParcelable(HISTORY_KEY), parceler2);
            }
            flow = new flow.Flow(selectHistory(intent, savedHistory, defaultHistory, parceler2));
        }
        flow.setDispatcher(dispatcher2);
        return new flow.FlowDelegate(flow, dispatcher2, parceler2);
    }

Oh, I see. I totally forgot about local variables :(
Thanks!

Commit to avoid local variables collision added :)

@skylot
Thanks, everything is fixed!


arc: it's not reliable to use exc_nest_count to check nest interrupt

Describe the bug
using exc_nest_count to decide whether is nest int is not reliable.  a better option is to use IRQ_ACT
To Reproduce
A case is:  a high priority int preempts a low priority int before rirq_enter/firq_enter, then in _rirq_exit/_firq_exit, it will see exc_nest_cout is 0, this will lead to possible thread switch, but a low priority int is still pending.
Expected behavior
For the above case, when the high pri int exits, it should return to low pri int,  should not do a thread switch

@ruuddw @vonhust are you working on a fix for this?


Add Data Field for JSON

Please add a Data field for JSON data. Without it, POST does not work with most APIs because you can't add that data as headers.

Data field as a text area where the user can configure a text (probably JSON) that is transmitted as body with the request?


feat(prettier): split ArrayExpression to single file

Current dependencies on/for this PR:

main

PR #1359   👈

This stack of pull requests is managed by Graphite.


[Menubar] Adjustable Height

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
A setting to adjust the height of Menubar.  The height today is like 24 I think? I would like somewhere between 32-48. Buttons and such should of course be centered in the height as well.
The setting would have minimum and maximum checks so it can't be set too small or too big.
Describe alternatives you've considered
None.
Additional context
This is of course low priority.

Ideally this will be handled by themes, but at the moment we need to do some back end work for that to become possible.


Memory usage for multi-label classification problem

Hi,
I am trying to train using 1M training examples with 8600 labels per example on a g2.2xlarge (15 GB of system memory). The code crashes with and out-of-memory error (std::bad_alloc) when creating the mx.io.ImageRecordIter for the training data. I am initializing the mx.io.ImageRecordIter with both the recordio and image list files as follows:
train = mx.io.ImageRecordIter(
path_imgrec        = "/data/train.rec",
path_imglist       = "/data/train.lst",
label_width        = 8600,
...
)

Does MXNet store the training labels in memory, or if not, how do the CPU memory requirements scale with number of labels and number of training examples? (My code works ok with 100k training examples.)
Thanks,
G.

@tqchen We should tune down the default prefetching buffer size

@piiswrong I should have noted that I have already changed the number of prefetched minibatches from 4 -> 2 on this line: https://github.com/dmlc/mxnet/blob/master/src/io/iter_image_recordio.cc#L325 and recompiled.

@piiswrong @tqchen It seems when passing path_imglist, all of the labels will be loaded once (according to ImageLabelMap in ImageRecordIter). In this case, for PO's problem (with 8600 labels), the RAM consumption is gonna be huge, if PO is using millions of training examples.

I'm getting similar issues with a EC2 instance, using prefetch_buffer=1.

@martinbel , my experience is that the labels are loaded at once into RAM (I've got >100GB labels to load..). I'm actually using g2.8xlarge which only has 60GB RAM.

@EasonD3 You mean, your training set has 100GB of images? I'm not sure what you mean by "labels". I've converted the images to the .rec files as shown in the docs. The .rec files (compresed) are small and fit in my RAM, the raw images wouldn't for the instance I was using. I'm getting the same in my own computer, I need to kill it after 5 seconds.

@martinbel , sorry about the confusion. My problem is very similar to the one stated in the original post, where each image is associated with hundreds of thousands of labels/classes (i.e., multi-label problem). If you feed path_imglist with the labels of all images in ImageRecordIter, all of the labels will be loaded for one time into RAM before the training starts. So in my case, the label file is too huge to load them directly in ImageRecordIter

@EasonD3 In my case the label's file isn't huge, but I get the same error. I guess something isn't working well with the mx.io.ImageRecordIter. I don't have so much data, but it crashes. I also don't see how a labels file can get to have 100 GB, that's insane!

#4299 Maybe, i have the same problem.

Same problem.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Shall we change eventenvelope to be compliant with CloudEvents?

What are the schemas that are affected by the issue
eventenvelope
What are examples of products that are impacted by the issue
Adobe I/O Events
The issue: CloudEvents
In the last year, the XDM committee worked on and agreed upon a schema for events[1], which we decided to base on activity streams[2]. This seemed like a good approach at the time, as it is a W3C recommendation, and it matched to a good extent what we needed with minor adaptations.
Since then, a new open standard has begun to gather considerable momentum, Cloud Events[3], sponsored by the Cloud Native Computing Foundation[4] under the Serverless Working Group[5], and with many, many important contributors[6], including Google, Microsoft (see for example [7]), Amazon, etc.
Adobe I/O Events went live at Summit in March of this year using XDM-based events. We are wondering at this juncture what we should do about this new turn of events (pun intended :)
One possibility is that we offer our customers the choice to consume I/O Events in either format: XDM and/or CloudEvents. Microsoft’s Event Grid, for example, supports its own proprietary event schema, as well as CloudEvents [8].
A different option is to acknowledge that we may have backed the wrong horse by choosing activity streams earlier, and rectify it now, before it is too late.
I’m opening this issue in github in order to gather the opinions of the members of the XDM committee, before making a formal recommendation, or posting a PR with actual changes. I have already heard from a few members endorsing the idea of switching our standard to CloudEvents, and would like to hear further feedback from others.
[1] https://github.com/adobe/xdm/blob/master/schemas/common/eventenvelope.schema.json
[2] https://www.w3.org/TR/activitystreams-core/
[3] https://github.com/cloudevents/spec
[4] https://www.cncf.io/
[5] https://github.com/cncf/wg-serverless
[6] https://github.com/cloudevents/spec/blob/master/community/contributors.md
[7] https://azure.microsoft.com/en-us/blog/announcing-first-class-support-for-cloudevents-on-azure/
[8] https://docs.microsoft.com/en-us/azure/event-grid/cloudevents-schema

My big concern here is that activity streams are an open standard from a well defined SDO, while CloudEvents are a proprietary spec from an unknown industry consortium.  I would prefer to see us continue to invest in open standards.

I think the CNCF is a reputable enough consortium with wide industry support and definitely not unknown.
CloudEvents seems like a 100% match to our use case, opposed to Activity Streams with only partial (albeit large) match.
In the end, what counts for me is ease of consumption of our APIs, so if the Adobe I/O Events team sees not just a benefit in adopting CloudEvents, but making it the default, I don't see why the XDM team should keep pushing for something that does not have the same level of adoption.

I'm currently leaning towards offering our customers the choice to consume I/O Events in either format: XDM and/or CloudEvents.

I assume with XDM/Activity Streams being the default.
My concern would be that XDM/Activity Streams are being perceived as "Adobe's proprietary event format", just like I'd perceive Azure's default as "Microsoft's proprietary event format".

It's entirely up to us how we present it in the I/O Console. We can make it appear any way we want :)

In the console, and in the documentation, and in marketing collateral, and in the user's perception ;)

Interesting. The guy representing Amazon at CloudEvents (Arun Gupta) sent the following email to the group:
"As discussed during the last WG meeting, Amazon would like to hear from customers that would like CloudEvents to be supported with AWS Lambda. We’d like to learn why this matters to you, what problem it is solving for you, any timelines for the implementation of this, and how you’d like this format to be supported."

https://github.com/cloudevents/spec/pull/231

I saw your reference was added to cloudevents spec, but it seems to have been deleted in the master. Is there any news on this topic?  Was there a decision made if XDM will be compliant with CloudEvents or if this topic will be resolved otherwise?

@bertoltmeier https://github.com/cloudevents/spec/blob/master/primer.md has a link to Adobe I/O Events format and documentation

Thanks for the link. I also saw the Microsoft, SAP and Adobe launched an Open Data Initiative. Does this has impact on XDM and CloudEvents? Do you know?


Cannot verify password (WireGuard UI) not working

Cannot verify password (WireGuard UI) not working
Using binary file Install method on below Ubuntu VM
root@ns1:/opt/wireguard-ui/db/users# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy
===========================================
root@ns1:/opt/wireguard-ui/db/users# ls -l
total 4
-rw-r--r-- 1 root root 152 Dec 30 18:11 admin.json
===========================================
root@ns1:/opt/wireguard-ui/db/users# cat admin.json
{
"username": "admin",
"password": "admin",
"password_hash": "$2y$14$FUQ3eH09sDyuShguU0/Hd.v4fLWuqiTJlmgutjbpit/GenDvZ8iS.",
"admin": true
}
password_hash created by: https://bcrypt.online/ with cost factor 14
==========================================

==========================================
This is a fresh install based on defaults.  Any idea on what HASH value it seeks by default or suggestions to resolve?

You must do base64 encoding of the hashed password from https://bcrypt.online before saving it to the password_hash field.

Confirmed.
Used https://www.base64encode.org for base64 encoding and it worked.


Changes to partial files do not bust cached bundle

Currently, including a .scss file with a partial file will compile correctly but will not re-compile with changes only to the partial.  So the following will only recompile when changes to site.scss are made but not to _partial.scss which it is referencing:
pipeline.AddScssBundle("~/css/site.css",
    "css/site.scss");

A workaround is to include the partial in the bundle list:
pipeline.AddScssBundle("~/css/site.css",
    "css/_partial.scss",
    "css/site.scss");

This does bust the cache when changes to the partial are made and causes the full site.scss to recompile as well, but results in both files being served in the bundle and duplicate css appearing.
Less than ideal solution:
Manually include the partials, as in the workaround, and use them only for purposes of cache-busting but do not duplicate them in the bundle.
More ideal solution:
Automatically include partials for purposes of cache-busting and do not duplicate them in the bundle. We can find the partials quite easily by generating the source map during conversion, but after that it would be a matter of associating them appropriately and evaluating when they've been changed or not.
I'm not familiar enough with the code to know whether this would require major architectural changes or not, but it seems like this should be the long term solution.

This workaround works okay, except you can't use variables from _partial.scss in site.scss defeating the purpose of the entire project if I have to put everything in one class or mirror variables across files.
Sure, I can modify the main file every time I change something in a partial file but that's a huge pain in the ass and a good way to get me pulling my hair out when I forget about it and can't figure out why a div's style won't update.

It appears that setting enableCaching to false does not add any additional header information. Only when enableCaching is set to true, does it inject headers to support caching the output.
I was successful compiling multiple source files and having it reload after a change to any of them by controlling the cache mechanism on my own, which I often do anyway, using either tag helpers or NWebsec.
I applied the asp-append-version tag helper to my stylesheet reference in HTML layout.
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />

And then included the bundle files as follows:
services.AddWebOptimizer(pipeline =>
{
     pipeline.AddScssBundle("/css/site.css", "/Styles/*.scss").UseContentRoot();
});

Changing any of the partial files and doing a refresh of the page renders a new CSS file.

I missed this at first in the documentation.  If you import the WebOptimization.Core TagHelpers, then CSS links are automatically versioned.  The addition of the asp-append-version tag is irrelevant.
Include this in your _ViewImports.cshtml file.
@addTagHelper *, WebOptimizer.Core

@jbeanky Do you have your partials in the /Styles/ folder?  If so, they are probably being bundled into site.css and therefor are being referenced twice.  In this case I've found that they will indeed cause the cache be busted, but that's only because the partials are being explicitly included (in a glob in your case).

Is there any update to resolve this issue?

I've found an alternative workaround to this, which is basically to use custom WebOptimizer bundling logic instead of SCSS' own @import functionality.
Pros:

Cache busting works when modifying any of the SCSS files.
None of the files are double-inserted.

Cons:

Will not work with enableTagHelperBundling=false in your WebOptimizer settings, because that causes each file in the bundle to be sent separately to the browser, so essentially the imports won't happen.
You can't use @import in your SCSS and have to define your imports when configuring WebOptimizer, so you can't change which files import which other files without redeploying the web app (at least, not unless you define all your SCSS file relationships in the appsettings.json and parse and implement them with your own logic on startup; then you could get away with modifying appsettings.json and just restarting the app).

services.AddWebOptimizer(pipeline =>
{
	pipeline
		.AddBundle("/scss-bundle.css", "text/css; charset=UTF-8",
			"/scss/base-file.scss",
			"/scss/partials/_partial-1.scss",
			"/scss/partials/_partial-2.scss")
		.AdjustRelativePaths()
		.Concatenate()
		.CompileScss()
		.InlineImages()
		.FingerprintUrls()
		.MinifyCss();
}

The main trick is just adding the files in the order you want them appended to your base SCSS file, and then calling .Concatenate() before calling .CompileScss().  Also, if you currently do an @import in the middle of an SCSS file, you'll need to break that file into two files, one for the content before the @import and one for the content after.  Then define your bundle with them in that order: the 'before import' file, the file to import, then the 'after import' file.
This obviously isn't ideal, but after a quick look at the WebOptimizer code I didn't see an obvious first-class fix for the problem, and this works well enough for my scenario (basically just setting different SCSS variable values for different clients in a multi-tenant application).
To mitigate debugging headaches caused by not being able to disable bundling in dev, in my actual implementation for this, I check IHostingEnvironment.IsDevelopment() and only append the .MinifyCss() call on my bundles when the app is not running in dev.  That way, while the files are bundled, they're at least readable when I'm trying to debug stuff.  (If you want to do that, keep in mind that you can't inject an IHostingEnvironment object into Startup.ConfigureServices() directly; you have to inject it into the Startup constructor and store a reference to it on the Startup class object, then reference that.)

I guess this issue cannot be resolved unless the Core project is updated as well.
WebOptimizer.Core/Taghelpers/BaseTagHelper.cs contains this method:
protected void AddToCache(string cacheKey, string value, IFileProvider fileProvider, params string[] files)
        {
            var cacheOptions = new MemoryCacheEntryOptions();

            foreach (string file in files)
            {
                cacheOptions.AddExpirationToken(fileProvider.Watch(file));
            }

            Cache.Set(cacheKey, value, cacheOptions);
        }

Because this method files parameter is only the entry scss this results in the only file watched is the "css/site.scss"-file.
The only part of this WebOptimizer.Sass project aware of the containing scss files is the compiler (which is a separate library). However the Compiler.cs could call ConvertToCss using GenerateSourceMap = true (which it is not). Then the sourcemap could be used to retrieve the underlying files and push the list of files all the way down to the AddToCache method (I haven't figured that part out, but maybe someone here could).


findDOMNode is deprecated in StrictMode

Bug Report
Steps
import React, { StrictMode } from 'react'
import { Button } from 'semantic-ui-react'

const ButtonExampleButton = () =>
  <StrictMode>
    <Button as="a" href="https://google.com">
      Click Here
    </Button>
  </StrictMode>

export default ButtonExampleButton

Expected Result
No warnings
Actual Result
Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of RefFindNode which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node
in a (created by Button)
in RefFindNode (created by Ref)
in Ref (created by Button)
in Button (at example.js:6)
in StrictMode (at example.js:5)
in ButtonExampleButton
Version
0.88.0
Testcase
https://codesandbox.io/s/semantic-ui-react-1qmyh

see https://github.com/Semantic-Org/Semantic-UI-React/issues/2732#issuecomment-479928712

10x


AutoRecovery failed replicate ledger which in open state, because, it would read lac from failed bookie.

As title, When bookie is lost, the ledger which state is open cannot replicated because of reading lac from failed bookie.
it would failed read lac from failed bookie, because it cannot be connected.
How bookkeeper auto recovery deal with open ledger in failed bookie ?
I don't know if it's a bug or not.
The error log:
12:29:57.072 [main-EventThread] INFO  org.apache.bookkeeper.client.DefaultBookieAddressResolver - Cannot resolve x.x.x.x:3181, bookie is unknown org.apache.bookkeeper.client.BKException$BKBookieHandleNotAvailableException: Bookie handle is not available
12:29:57.072 [main-EventThread] ERROR org.apache.bookkeeper.proto.PerChannelBookieClient - Cannot connect to x.x.x.x:3181 as endpoint resolution failed (probably bookie is down) err org.apache.bookkeeper.proto.BookieAddressResolver$BookieIdNotResolvedException: Cannot resolve bookieId x.x.x.x:3181, bookie does not exist or it is not running
12:29:57.078 [BookKeeperClientWorker-OrderedExecutor-29-0] INFO  org.apache.bookkeeper.client.PendingReadLacOp - While readLac ledger: 96789 did not hear success responses from all of ensemble
12:29:57.078 [ReplicationWorker] INFO  org.apache.bookkeeper.replication.ReplicationWorker - BKReadException while rereplicating ledger 96789. Enough Bookies might not have available So, no harm to continue

@gaozhangmin I think I am seeing something similar and I am using Pulsar 2.7.2 on Kubernetes.
Which version are you seeing this on?

@gaozhangmin I think I am seeing something similar and I am using Pulsar 2.7.2 on Kubernetes.
Which version are you seeing this on?

I think bookkeeper version matters,  I am using bookkeeper-4.14.1

reason: http://mail-archives.apache.org/mod_mbox/bookkeeper-dev/202109.mbox/browser

@gaozhangmin @Vanlightly Thanks for posting that update - I had no idea that an Ack Quorum of 1 could cause a problem like that.


Allow espressif/esp-idf-ci-action action

Hi @jnthas,
I'd like to use the esp-idf-ci-action action for integration tests when new PRs come in for the project.
If you'd like to allow this to work, please use the following steps:
(1) Go to the Repo "Settings" page
(2) Click Actions -> General
(3) Select "Allow jnthas, and select non-jnthas, actions and reusable workflows"
(4) Add this entry for "Allow specified actions and reusable workflows": espressif/esp-idf-ci-action@*
Thanks!

Done!

@jnthas thanks! Oh, it looks like actions/checkout@* needs to also be added: https://github.com/jnthas/clockwise/actions/runs/5236901026
Thanks!

Updated! Can you test again?

Looks good - https://github.com/jnthas/clockwise/actions/runs/5236994454/jobs/9454888208 - thanks!


lavague-test can only run all or one specified site with --site option - feature request to be able to specify X number of sites

It is a bit limiting to be able to only run one specified site with --site OR all sites in sites.
I would like to see either a --n_tests argument which allows you to say, let's run 5 tests for example. This could be particularly useful if we add many tests into sites as people may or may not want to run all the tests.
While you can specify one site with --site, you can't specify multiple, so it's a bit limiting.

--site argument can be repeated so you can test multiple sites:
lavague-test -s examples -s hugginface.co -s reddit.com

Having an additional --n_tests to automatically pick sites is feasible too if you think it's relevant. In this case would you expect lavague-test to pick n websites randomly or just the first n in natural order to make it more deterministic?

Ah, yes! I forgot to repeat the -s - I think it could still be interesting to have a --n_tests as the number of site examples grows to avoid having to write out X number of tests.
Good question - I think the deterministic approach is preferable for comparisons.


Remove deprecation of sceenshot in qt_viewer

Description

Because QtViewer is still part of public API, then screenshot functions should not be deprecated.
Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Thanks @Czaki, as discussed on zulip, I'm ok with this.  It would be nice if we could figure out a way to discourage napari users from using viewer.window.qt_viewer.screenshot.  Can you think of a way?  Perhaps, check if QtViewer has a parent that is an instance of a napari Window?

But qt_wierer is already deprecated?
https://github.com/napari/napari/blob/7323d8af95ddff3581aa2ecad4104a383616d36f/napari/_qt/qt_main_window.py#L551-L561 so why the additional warning is needed?

ah good point!  ok ok, i think we're fine here then.  @sofroniewn?


proposal: take PATO back to basics

After some discussion, we have decided the 'absence', 'presence' and 'number' terms are not so bad.
We might like to restore some of George's original labels

count -> amount (better for "abnormal level" terms)
FOO in organism -> increased/decreased amount

Sometimes simple is best!
Please indicate +1/-1 here

Note the above commit is on a branch - if we merge this into master then this issue will be closed