jest --watch fails to determine files to run tests against if there are changes since last commit

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
We have an angular project using jest. Jest uses git to determine file changes and run tests against these files.
Clean project
If the project is "clean" with no change since last commit, then running jest --watch starts properly. Then we can use it normally, it detects changes properly and run expected tests suits.
Dirty project
if the projects has changes on certain files since last commit and we try to run jest --watch then Jest struggles to start and stay forever on the Determining test suites to run... state. Any change after that doesn't change the stuck jest state.
If we revert our changes (nothing to be commited) then retry to launch jest --watch works. So it seems it's a real problem with git changes detection by Jest.
Environment
This behavior is always encountered on windows. And sometimes on mac OS.
What is the expected behavior?
Being able to run jest --watch even if there are modified files since last commit. If the changes files are not detected properly we expect to be able to even load jest and being able to pattern filter on the files we want.
Please provide your exact Jest configuration
module.exports = {
  setupTestFrameworkScriptFile: "<rootDir>/src/setupJest.ts",
  globals: {
    'ts-jest': {
      'tsConfigFile': 'src/tsconfig.spec.json'
    },
    '__TRANSFORM_HTML__': true
  },
  transform: {
    '^.+\\.(ts|js|html)$': '<rootDir>/node_modules/jest-preset-angular/preprocessor.js',
  },
  testMatch: [
    "**/__tests__/**/*.+(ts|js)?(x)",
    "**/+(*.)+(spec).+(ts|js)?(x)"
  ],
  moduleFileExtensions: [
    'ts',
    'js',
    'html'
  ],
  moduleNameMapper: {
    "assets/(.*)": "<rootDir>/src/assets/$1"
  },
  transformIgnorePatterns: [
    'node_modules/(?!@ngrx)'
  ],
  coverageReporters: ['html', 'text-summary', 'text']
};

Run npx envinfo --preset jest in your project directory and paste the
results here
System:
    OS: Windows 10
    CPU: x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  Binaries:
    Yarn: 1.6.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 5.8.0 - C:\Program Files\nodejs\npm.CM

  System:
    OS: macOS High Sierra 10.13.4
    CPU: x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
  Binaries:
    Node: 8.11.1 - /usr/local/bin/node
    Yarn: 1.6.0 - /usr/local/bin/yarn
    npm: 5.6.0 - /usr/local/bin/npm
  npmPackages:
    @types/jest: 22.2.3 => 22.2.3
    jest: 22.4.3 => 22.4.3

I've never encountered this... Are you able to set up a reproduction for it?

I'm having the same issue. It is interesting jest --watch starts to work if I remove custom moduleNameMapper  from jest.config.js:
moduleNameMapper: {
    "@app/(.*)": "<rootDir>/src/app/$1",
    "@sdk/(.*)": "<rootDir>/src/sdk/$1",
    "@mocks/(.*)": "<rootDir>/src/mocks/$1"
  }

I need it.

I also need moduleNameMapper.
Here is a recording of the problem:

I'm unable to reproduce, so if you can put together a minimal repo showing the error (if only just on your amchine), that'd be great!

@SimenB, I have added tracing to jest and was able to find root cause of the issue in my case. Please, see image below. There was an error inside jest-resolve-dependencies and it was "eaten" without any reporting causing jest to stuck.

The problem was related to coverage folder (produced by karma), it contained some garbage but jest was trying to work with it contents. I have added the following to jest.config.js and jest now works OK:
modulePathIgnorePatterns: ['<rootDir>/coverage/'],

jest-resolve-dependencies error handling can be improved to not hide such errors.
Thank you for your work on such great tool anyway.

Great that you were able to find a fix! Are you able to set up a reproduction though, so we at least can fix the swallowed error?

To fix swallowed error I would suggest to throw error inside this.resolve(file, options) from image above and ensure it is correctly reported.

I agree, but we don't swallow it on purpose. A reproduction would help us narrow down where the error is and fix it

Having a similar issue that might be related: I've deleted the entire moduleNameMapper section, and yet, tests continue to pass! Should not happen since I'm using custom module names that clearly do not exist in my node_modules.

Had similar issue. Added try-catch (as @eugene-sea suggested) and found few files referenced to non-existing dependencies, e.g.
// adminCleanup.js (some legacy entry file, excluded from entry points in webpack.config.js)
import finalize from 'vks/vks-base'; // vks-base.js was renamed

I tried to add these files into watchPathIgnorePatterns, but it did not help. Had no choice but rework the code.

I think this was fixed in #6407 available in 23.4.0. Happy to reopen if that's not the case

I am use 23.4.2 and it's not fixed.  The way to fix it for me is to remove the moduleNameMapper config, commit, and run in watch mode, and add back the config, and run watch mode again.

Did you try jest --clearCache? or --noCache

My previous report about fixing it is wrong.  I thought i was fixed, but then I can do --watch one more time, the same problem happened.
Then I did --clearCache, but it didn't fix the problem.  when I did --noCache, I get:
> jest "--noCache"

● Unrecognized CLI Parameter:

  Unrecognized option "noCache".

  CLI Options Documentation:
  https://jestjs.io/docs/en/cli.html

Still looking for a solution...

Oh. Should have read each comment here carefully.  The issue is with the coverage folder.  Apparently the coverage was referring to some old code that was deleted, and jest is still trying to find it.  Deleting the coverage folder fixes the issue for me.

It would be really great if the error showed where was the wrong file found. I had no idea my old coverage folder was the problem.


[Feature Request] Allow capturing of magnetic angle offset via OpenCyphal command

⚡ Feature Request
The magnets mounted to the femur/tibia joints of the hexapod legs are all mounted differently. This means that although the tibia angle of the front/right leg might be mechanically the same as the tibia angle of the back/right leg, the leg controllers will report widely different angles. To overcome this, at startup the control software is driving all hydraulically controlled actuators to a defined position and is then capturing the offset of all sensor values. It then uses this offset to calculate the correct angle offset.
The purpose of this feature is to offload the offset compensation to the leg controller. The robot control software will still drive all joints to a pre-defined location, but instead of capturing the offset itself it will utilize a OpenCyphal service (i.e. 435.ExecuteCommand.1.1.dsdl) pair to instruct the leg controller to capture the current magnetic angle and subsequently use it for offset angle compensation.
Suggest A Solution

Offset angle at firmware startup is zero.
When receiving a CAPTURE_MAGNETIC_OFFSET command the current angle is captured and stored as offset.
Going forward the firmware reports corrected_angle = angle_sensor - angle_offset.

Done via #20.


Label Templates: Hardware variables rework

The Hardware data collected during the host registration is altered before being sent to the Elemental Operator, in order to make it easier to consume.
Anyway, this wrapping process should be improved fixing the format of the data (e.g., ${CPU/Capabilities} is filled as a slice of strings, that fails to be rendered) and allowing to enumerate block and network devices without knowing their device name (which brings to some nonsense variables like ${System Data/Network/{Iface name}/Name}, where the rendered value is equal to what you have to put in the template as the {Iface name}).
This issue tracks:

[ ] fix the format of all the exported variables (output should always be a string)
[ ] add block and network device data retrieval without knowing their name
[ ] ensure all the available variables are documented

Hello, following this!
I would also suggest to make network interfaces mac addresses available as variables if possible.
Some existing existing use cases rely on the "primary" interface mac address to identify a device, basically basing the hostname on that.
We're currently testing elemental as a means to manage remote IoT devices which will run k3s, but so far we are having a hard time identifiying them once they register because unfortunately the OEM is not setting UUID, serial or SKU data in smbios and so all the hardware looks the same to the elemental operator.

Hey @gervaso 👋🏼
actually the MAC is already available also if not documented: you will anyway need to know the interface name to get it.
It would be:
${System Data/Network/{Iface name}/MacAddress}
where "{Iface name}" is the actual named interface. To be explicit, if the NIC on your system is 'eth0', the MAC would be available at:
${System Data/Network/eth0/MacAddress}

Oh, this is a very useful piece of information I've been missing out. I'll put it to good use in a flash!
Thank you.


Contribution: Mailhog NodeJS library

If you want to add this to the README, here's a minimal NodeJS library for the MailHog API (v2):
https://github.com/blueimp/mailhog-node
Thanks for your work, @ian-kent !

added, thanks :+1:

Thanks as well! :)


asb-etcd pod not found

This form is for bug reports and feature requests. Major features will go through a spec process.
Feature:
Bug:
As part of https://github.com/openshift/ansible-service-broker/blob/master/docs/debugging.md, I see two pods created. But in my setup I cannot see asb-etcd pod ?
Is this still valid in oc v3.9.14 ??
$ oc get pods
NAME               READY     STATUS    RESTARTS   AGE
asb-1-wtd6f        1/1       Running   0          6m
asb-etcd-1-j9zgz   1/1       Running   0          6m

# oc version
oc v3.9.14
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://<IP_ADDRESS>:8443
openshift v3.9.14
kubernetes v1.9.1+a0ce1bc657

This all depends on how you deployed the broker. If you are using our latest upstream templates (ie. catasb or run_latest_build) the broker will be deployed configured to use CRDs for saving state.
We probably should look through our docs.

@djzager  yes mostly this looks like a doc. bug. doc. should be updated that etcd pod is applicable only if etcd is used.

/close


Fixing broken documentation links

Description
Some of the documentation links were outdated, goal of this implementation is to replaced them with working links.
Closes https://github.com/finos/symphony-bdk-java/issues/510

Yes @symphony-youri , I'm going to do the same for Python.


panic: runtime error: invalid memory address or nil pointer dereference on Linux x86_64

using release v1.1.3...
s2i build https://github.com/pmorie/simple-ruby.git openshift/ruby-20-centos7 test-ruby-app
I get...
error: Unable to load docker config
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x4ef3a0]

goroutine 1 [running]:
panic(0x7c26e0, 0xc420012160)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/openshift/source-to-image/pkg/docker.GetImageRegistryAuth(0x0, 0x7fff89f4c978, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/pkg/docker/util.go:67 +0x250
main.newCmdBuild.func1(0xc420097200, 0xc4202a41e0, 0x3, 0x3)
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/cmd/s2i/main.go:118 +0x1003
github.com/openshift/source-to-image/vendor/github.com/spf13/cobra.(*Command).execute(0xc420097200, 0xc4202a4150, 0x3, 0x3, 0xc420097200, 0xc4202a4150)
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/vendor/github.com/spf13/cobra/command.go:603 +0x439
github.com/openshift/source-to-image/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc420096d80, 0xc420183eb0, 0xc4202593d0, 0xc420097b00)
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/vendor/github.com/spf13/cobra/command.go:689 +0x367
github.com/openshift/source-to-image/vendor/github.com/spf13/cobra.(*Command).Execute(0xc420096d80, 0xc420183ea8, 0x1)
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/vendor/github.com/spf13/cobra/command.go:648 +0x2b
main.main()
	/home/rsoares/Downloads/gocode/src/github.com/openshift/source-to-image/_output/local/go/src/github.com/openshift/source-to-image/cmd/s2i/main.go:415 +0x660

My env is:
uname -a                                                                                2 ↵
Linux rsoares 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	RedHatEnterpriseWorkstation
Description:	Red Hat Enterprise Linux Workstation release 7.3 (Maipo)
Release:	7.3
Codename:	Maipo

docker version
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:
 OS/Arch:      linux/amd64

I tested with the linux binary s2i and tried to compile manually. Both fails.

can you share your docker config file, obscuring any credentials/tokens?

My docker config has only this:
cat ~/.docker/config.json
{
	"auths": {}
}%

The docker unit on Systemd:
cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry <IP_ADDRESS>/16 --bip=<IP_ADDRESS>/16 -g /docker-storage
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

looks like something doesn't like that you have no auths at all in your docker config.json, as a workaround you can do a docker login to dockerhub (assuming you have a dockerhub account).
(I was able to recreate this locally).

yeah! after login hub.docker.com it worked fine!


Fixed glusterfs-simple-provisioner Makefile, so that it builds on osx.

Make fails on osx with the following error:
cd gluster/glusterfs; \
	make container
GOOS=linux go install -v ./cmd/glusterfs-simple-provisioner
runtime/internal/sys
go install runtime/internal/sys: mkdir /usr/local/go/pkg/linux_amd64: permission denied

This PR updates the Makefile so that the glusterfs-simple-provisioner builds on osx.
I removed the lines containing GOOS=linux go install, which I believe is unnecessary and were failing on osx.

/assign @wongma7 @yuanying


Feat/treasury deposit history

Add GET endpoint in route.ts to start transaction monitoring
Implement useWalletMonitor hook to manage monitoring state
Add TreasuryDepositHistory component for displaying transaction details
Remove DepositHistoryTable component
Update startMonitor function in monitorTransactions.ts to handle errors and export
Update dependencies in package.json and pnpm-lock.yaml for Prisma, node-cron, and other packages

@mo-jaber please review

Hey @0xdevcollins. Looks good.
Could you also include the toaster.tsx issues (since you are most familiar with it)

Hey @0xdevcollins. Looks good.
Could you also include the toaster.tsx issues (since you are most familiar with it)

okay


touch command doesn't work in touch{"f{1..10}")

I noticed that touch doesn't expand its argument:
>>> sh.touch("f{1..10}")

>>> sh.ls()
f{1..10}

Is this a bug?

No.  A shell does shell expansions.  sh just launches processes.

Sure. I understand that but would it be possible to accommodate such use cases with something like:
>>> sh.bash('-c', 'echo f{1..5}')
f1 f2 f3 f4 f5

Of course it would be possible, but I don't have any desire to include bash rules in sh.  If you need to create things programmatically, use python:
for i in xrange(1, 6):
    sh.touch(f + str(i))

Sure, no problem. The reason I'm asking is that I want to know if it is possible to get a useful web terminal with only sh commands without requiring something such as tty.js


Replace dual_net hyperparams with flags

Hm. If the network hparams changed, then it will just fail to run, which is safe. The change to worry about is if we accidentally change a shuffler queue size param or something of that nature.


[question] Configuration file

Is it possible to use a configuration file to pass the options to librespot?
In the old librespot-java it was possible. Also I saw a reference in a 2018 issue to config.toml
Was this option removed?

No, not possible. Some downstream packages like Raspotify might allow that, I don't know.


Rescoring Error: "need at least one array to concatenate make"

Hey,
I am trying to rescore a MaxQuant result and get the following error:
Traceback (most recent call last):
File "oktoberfest/grpc_alignment.py", line 31, in <module> disable_progress_bar = True)
File "/root/.pyenv/versions/3.6.0/src/prosit-grpc/prosit_grpc/predictPROSIT.py", line 133, in predict pred_object.predict(disable_progress_bar)
File "/root/.pyenv/versions/3.6.0/src/prosit-grpc/prosit_grpc/PredObject.py", line 116, in predict disable_progress_bar=disable_progress_bar)
File "/root/.pyenv/versions/3.6.0/src/prosit-grpc/prosit_grpc/PredObject.py", line 106, in send_requests predictions = np.vstack(predictions)
File "<__array_function__ internals>", line 6, in vstack
File "/root/.pyenv/versions/3.6.0/lib/python3.6/site-packages/numpy/core/shape_base.py", line 283, in vstack return _nx.concatenate(arrs, 0)
File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate make: *** [calibration] Error 6

Could you provide us your task ID?
Best,
Ludwig

Sure: A66FCCB2F25B7178399DFF78EAB575E3

Hi,
sorry for the late answer! I checked your job,  you used an ITMS mass analyzer for acquiring your spectra. Since the available Prosit model was trained on FTMS data we only support FTMS data at the moment.
Best,
Ludwig


Get the request body without consuming it before sending to upstream

What is the problem your feature solves, or the need it fulfills?
currently we can't get the request body in any methods without consuming it.
we can use read_request_body() method on the session but it will consume the body causing the upstream get a None for the request body, which is not we wanted.
I think this is a common case for a proxy, for example, to log the request body.
Describe the solution you'd like
I'd like to get the request body in the request_filter or upstream_request_filter phase without consuming it.

I imagine we should have a request_body_filter like response_body_filter to be able to handle this.

Nowadays, is there a momentary solution to read the request body without consuming it?


annouce bits reservations

I propose to reserve bits in word0 of announce packet (we currently have 15 bits free there):

device is brain (programmable) - we would blink the "connected" LED when we see announce from brain on modules?
2 bits for status light: none, mono (no fading), RGB no fading, RGB with fading
DEVICE_ID_IS_SERVICE_CLASS flag supported (maybe it can be always supported)

Is the presence of role manager an indicator that the device is a brain?

Yes, I like all of the option bits.
I was never a huge fan of looking for the highest device id, looking for a bit in an announce packet seems much more achievable and universal.
Did we also want to have ones to indicate that parts of the protocol stack are supported? i.e. STREAM_SUPPORTED
We might also want to have a bit field to indicate rough active power consumption?
Another useful one might be the REDUCED_FUNCTIONALITY flag which indicates to others that the device has limitations, such as an 8 byte receive buffer

Padauk won't be able to detect role manager if it isn't service number 1 (it only can accept up to 8 bytes of payload). So I do think we need a bit. Also there could be a role manager on a ML module, though I guess it's not a brain? Or maybe it is...
As for streams, I think it's a per-service thing. A service either uses streams or it doesn't, no need to advertise that separately for the whole device. I guess you just won't be able to do these services on smallest Padauk (but they are things like TCP, role manager, etc. anyways).
I would skip the power consumption for now, unless we have some understanding of what's needed and have some scenario in mind?
And yes, we definitely want reduced functionality bit. Maybe we can define it as "no multiple packets per frame" and the maximum payload would then be service-dependent (typically 4 bytes, but we can usually easily support 8 since the tx buffer needs 8 byte payload for announce (ctrl + 1 service)).

RoleManager presence was always a bit of a hack.

TODO: need to document flags in spec (from jd-c PR)

Update makecode to use isClient and send blinking pattern on connected.

@mmoskal this is ready on my side.

the documentation went into https://github.com/microsoft/jacdac/blob/main/services/control.md#commands which also fixed packet inspector - so this is done


[PulseAudio] Add support for sink in PulseAudio output

Add variable PULSE_AUDIO_OUTPUT_SINK for pulse output

Available in release 2023-01-17


Bank Card Scanner only works partially

Hello ,
The bank card scanning capabilities only track the long card number disregarding the expiry and cvv.

Hello! sorry for the delay in reply.
You can specify CardScanOptions.requireExpiry=true and then the result will contain expiry. Keep in mind that it will take longer to scan.


Apps may not schedule more than 100 distinct jobs

Description:

I am running this app on android and currently testing on android 8.0 and 9.0 and when I receive many notifications and app is in background i get ( app name ) keeps stopping and when i debug it the error is
Environment

react-native-onesignal 3.2.14
yarn

Steps to Reproduce Issue:

Install the OneSignal SDK using npm into your project
Initialize the SDK in the android device 8.0 or 9.0
Attempt to receive  many push notifications while app is closed or in background

Anything else:
(crash stacktraces, as well as any other information here)
the error i am recieving
java.lang.RuntimeException: Unable to start receiver com.onesignal.GcmBroadcastReceiver: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3194)
at android.app.ActivityThread.-wrap17(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1672)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
at android.os.Parcel.readException(Parcel.java:2012)
at android.os.Parcel.readException(Parcel.java:1950)
at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
at com.onesignal.GcmBroadcastReceiver.startGCMServiceWithJobScheduler(GcmBroadcastReceiver.java:178)
at com.onesignal.GcmBroadcastReceiver.startGCMService(GcmBroadcastReceiver.java:146)
at com.onesignal.GcmBroadcastReceiver.processOrderBroadcast(GcmBroadcastReceiver.java:131)
at com.onesignal.GcmBroadcastReceiver.onReceive(GcmBroadcastReceiver.java:72)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3187)
at android.app.ActivityThread.-wrap17(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1672)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

@omars94 Thanks for reporting. This was recently fixed in https://github.com/OneSignal/OneSignal-Android-SDK/pull/804
Once the OneSignal native Android SDK is released a OneSignal React Native release will follow

Updated, this is now available in the OneSignal-Android-SDK 3.11.2, an update to the React Native SDK will follow later this week.

Issue has been resolved


Pin utfbom and go-homedir to v1.0.0 and remove the explicit dependency on x/crypto master

I ran into some issues today with a build pipeline that has this project as a dependency. Some changes to x/crypto weren't valid with some of my other dependencies, and the explicit pinning to master here causes pain upstream (having to use dep overrides). I don't see any reason why go-autorest needs to always be pinned to master, so I've removed this - dep will use the most recent valid version it can.
While I was at it, I also added specific versions (v1.0.0) for utfbom and go-homedir.
None of these changes actually change the dependencies in any way, as seen with the simple diff on the Gopkg.lock file. This just helps other repos which import this project.
As for checking the boxes that this is an "urgent bug fix" and warrants its own release, that's up to you - I altered the changelog in a separate commit. But given this is dealing with how projects import go-autorest, I think it would be prudent to tag a patch release with these changes.

As part of submitting, please make sure you can make the following assertions:

[x] I've tested my changes, adding unit tests if applicable.
[x] I've added Apache 2.0 Headers to the top of any new source files.
[x] I'm submitting this PR to the dev branch, except in the case of urgent bug fixes warranting their own release.
[x] If I'm targeting master, I've updated CHANGELOG.md to address the changes I'm making.

Sorry for the delay on this, I've rolled your changes into https://github.com/Azure/go-autorest/pull/326.


BUG: sealos cert generate wrong DNS altnames for HA etcd clusters

Sealos Version
v4.3.3 / main
How to reproduce the bug?
Steps to reproduce:

Create a cluster with multiple master nodes.
Run sealos cert on a master node
Log into any other master nodes.
openssl x509 -text -in /etc/kubernetes/pki/etcd/peer.crt -noout | less and we can see that the DNS altnames, specifically the hostname and the IP, are the ones for the node running the command.

What is the expected behavior?
The certificates for etcd are generated correctly with DNS altnames consisting of each node's hostname and IP.
What do you see instead?
It can be seen that the DNS altnames, specifically the hostname and the IP, are the ones for the node running the command.
Operating environment
- Sealos version: v4.3.3 / main
- Docker version:
- Kubernetes version:
- Operating system:
- Runtime environment:
- Cluster size:
- Additional information:

Additional information
If this issue happened, the first etcd service would complain that the other etcd services have wrong DNS altnames in their certificates, resulting in this etcd service restarting frequently. The cluster can be recovered by re-issuing the wrong etcd certificates(peer.crt, server.crt) on each node.
Step to recover the cluster:
(Do the following on each node affected)

Backup the old certificates
Remove the wrong etcd certificates, i.e. peer.crt, server.crt
Create a ClusterConfiguration like this:

# config.yaml
apiVersion: "kubeadm.k8s.io/v1beta3"
kind: ClusterConfiguration
etcd:
    local:
        serverCertSANs:
        - "<your-node-ip>"
        - "<your-node-hostname>"
        peerCertSANs:
        - "<your-node-ip>"
        - "<your-node-hostname>"

Run kubeadm init phase certs etcd-peer --config config.yaml and kubeadm init phase certs etcd-server --config config.yaml to generate new certificates.

cross reference: https://github.com/labring/sealos/issues/3708


CNV-41206: Uncheck Dynamic SSH key injection if not supported

📝 Description
Fixes:
https://issues.redhat.com/browse/CNV-41206
Make the Dynamic SSH key injection field not checked when creating VMs from InstanceTypes and changing volume to boot from to other than RHEL 9 one. Hence create the VM without dynamic SSH key injection as expected.
🎥 Demo
Before:
Dynamic SSH key injection disabled after choosing RHEL 8 volume, but still checked:
https://github.com/kubevirt-ui/kubevirt-plugin/assets/13417815/bfc471ae-35f7-4731-ada8-a46ae516a6cd
After:
Dynamic SSH key injection disabled after choosing RHEL 8 volume, and also not checked - as expected:
https://github.com/kubevirt-ui/kubevirt-plugin/assets/13417815/e73c1ebb-4963-446f-9d83-5ca3079d0349

@avivtur @pcbailey @upalatucci @metalice please review

/lgtm


Multiple routes example

Please provide an example showing the use of multiple routes.

module spaceship

fn handler_one(mut req Request, mut res Response) {
    res.set_body('Welcome to Spaceship 🚀.  Get ready for blast off 2!')
}

fn test_staticfolder() {
	mut sp := new('<IP_ADDRESS>', 8080)

    mut route_one := new_route('/1', ['GET', 'POST'], handler_one)
	mut route_two := new_route('/2', ['GET', 'POST'], handler_two)

    sp.add_route(route_one)
	sp.add_route(route_two)

    sp.listen() or { panic(err) }
}

using this code it worked fine and i couldn't reproduce what you sent me via discord


only a white rectangle instead of the ad

SWF: 489e7fbef3323082fadf1569fdb65b9e617ddec2e05e2730371c9a8fcf1f96cd (Direct Link)
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
browser.startup.homepage_override.buildID<PHONE_NUMBER>0201

Works in the inspector, but not the iframe viewer or extension. Tracking in bug 1136804.


making an executable including SHAP

Thanks a lot for this great library! I was wondering if anyone has had success in making an executable including SHAP? I am using pyinstaller and I am running into an error. Importantly, to be able to use matplotlib with pyinstaller, I use pyinstaller dev version, following:
https://stackoverflow.com/a/67734977
In the local environment, I am able to run a code with SHAP. However, when I use pyinstaller to make an executable from pyinstaller_problem_with_SHAP.py:
import shap

I get an .exe, which after running returns:
Traceback (most recent call last):
  File "pyinstaller_problem_with_SHAP.py", line 2, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "shap\__init__.py", line 15, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "shap\explainers\__init__.py", line 3, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "shap\explainers\_tree.py", line 13, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "shap\utils\_legacy.py", line 4, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "sklearn\cluster\__init__.py", line 6, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "sklearn\cluster\_spectral.py", line 16, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "sklearn\neighbors\__init__.py", line 6, in <module>
  File "sklearn\neighbors\_ball_tree.pyx", line 1, in init sklearn.neighbors._ball_tree
ModuleNotFoundError: No module named 'sklearn.neighbors._partition_nodes'
[24760] Failed to execute script 'pyinstaller_problem_with_SHAP' due to unhandled exception!

I am using Windows, pip 21.3.1, SHAP 0.40.0, matplotlib 3.5.0, scikit-learn 1.0.1.

I have same problem. Did you resolve this problem?

Yes - I have solved it. Load hidden submodules when building the executable:
pyinstaller --hidden-import="sklearn.utils._typedefs" --hidden-import="sklearn.neighbors._partition_nodes" SCRIPT_NAME.py
This is explained here:
https://stackoverflow.com/a/57108887/2339479
If you get errors regarding some other submodules, just add them one by one - when you see the error message mentioning which submodule causes problems.


Bug: Since 1.1.5, conflicting with homepage.

Bug: Since 1.1.5, conflicting with homepage.

The 1.1.7 no problem. Thanks!


AND/OR condition in pact file

I need to implement AND/OR condition in pact file. From DiUS wiki I got below code. When I pasted this code to eclipse,  class "PM" is not able to import. Also I am not able to call "and", "or" in the statement.
I am using pact-jvm-consumer-junit_2.11-3.3.9.jar.
Does below code is from groovy?
How can I get AND/OR implementation in Java ?
DslPart body = new PactDslJsonBody()
.numberValue('valueA', 100)
.and('valueB', 'AB', PM.includesStr('A'), PM.includesStr('B'))
.or('valueC', null, PM.date(), PM.nullValue())

Use version 3.5.9, then you can write equivalent code in Java.


Make Window movable while dialog is shown

Describe the feature
I don't know if this is a bug or a missing feature but the window should be movable while a dialog is shown (currently its only resizable then). Imagine there is a very long progress dialog. We don't want the user to do anything else within the application, but he should be allowed to move the window to another desktop (multi monitor) or out of his way.
There two ways of how this can be implemented:

Hardcoded that click throughs are acceptable but only handled on click and drag
Give each element in the window title a new property which make them clickable in dialogs (then, also the minimize/maximize could remain active. As well as custom buttons)

First way would be the easiest and fastest. Second way avoids the situation where this becomes requested in the future anyway. I leave the choice to you.

@Symbai This is already available with the ShowDialogsOverTitleBar property on the MetroWindow. If you set this to false then you can move the window together with an open dialog.

But it also mean the user can close the window by clicking the X then (which is what I don't want)?

@Symbai This can be handled by the dialog settings and the OwnerCanCloseWithDialog property which can be set for each dialog.
https://github.com/MahApps/MahApps.Metro/blob/698e4d6fcf81016b05405be13bf66a573057ce4f/src/MahApps.Metro/Controls/Dialogs/MetroDialogSettings.cs#L37-L40

Ah okay, then I will close this issue


Any active users here?

In light of our great leader @BurntSushi leaving the project, I've forked the nflgame repo.
Is anyone using this project actively?

I forked nfldb with the idea that I might a) get it off of deprecated python, and then b) play with it eventually.
But I would not describe myself as terribly active with it. I'm not really using nflgame repo at all, yet. It has the same HUGE problem of being only deprecated Python, also

Actively trying to use it. Just found your nflgame fork and now I need to figure out where the most active fork of nfldb is. I'm in the process of trying to figure out how to port this all over to Ruby instead.

I still use nfldb.

actively trying to port to ruby

Oy vey... Good luck!  I wouldn't recommend that as @ochawkeye  as demonstrated, this project is in working order, albiet a bit quirky.  I'm in the middle of prepping for this season so i can't really take on any maintenance questions or the like.
I'm ASSUMING as a new user you are unable to access new seasons data?

I'm attempting to use this, but cannot pull updates.  See my issue.

@derek-adair, I've been fiddling with nfldb off and on for the last year or so. I've got the new season's data working fine(in python). I haven't gotten to the point of updating data in Rails. I'm still trying to port the postgres db into Rails which is a PITA in itself.

@weissleb you may try our fork.

@derek-adair edit your link to remove '-redux' from the end. The package is redux but it's still a fork of nflgame.

Ya i mean i'm unsure of the subtleties of naming a project "redux" it's just something i saw some contributors do.  It's a temporary repository so the name doesn't really matter.

I think he means that the link you pasted to your fork doesn't actually go to your fork.  It's a 404 error.

hah.  Fixed.

damn i keep hitting the close button grr.

Yes, I have returned to update my PostgreSQL nfldb and use nflgame.  @ochawkeye  and others have provided excellent direction and your (@derek-adair) fork and issue tracking is also helpful.  I find @BurntSushi nfldb implementation in PostgreSQL is awesome.  His use of custom data types and domains, triggers and procedures is well beyond my abilities; but an absolute joy to use and try to reverse engineer.  His ER diagrams are very useful and can assist in building your own db.
I think the only stumbling block to using nfldb as is (from the 2016 code) is to account for the JAC-JAX issue, the LA Rams and the LAC Chargers.  That is straight forward INSERT SQL.  As well, as the various threads indicate it is necessary to alter nflgame_init_.py and nfldb\team.py (both team1 and team2) code.
Also, as @ochawkeye  points out, make sure you have a clean install with the required packages.

Is anyone working on a fork of nfldb that is using nflgame-redux from @derek-adair ?

'nfldb' works with @derek-adair's 'nflgame-redux'.

'nfldb' works with @derek-adair's 'nflgame-redux'.

Oh yeah I meant basically someone releasing a nfldb-redux or something that would be installable from a package manager and have all the updates needed to hit the ground running.

I plan on doing this when i get some extra time
Hopefully soon

@derek-adair , @ochawkeye @jaredkwright ,
I think @BurntSushi  nfldb (0.2.17) is a "hit the ground running" package.  Only two lines of code need to be added to the team.py file and you are good to go.  All the challenges of getting a fully functional PostgreSQL nfldb database installed and working with historical integrity stem from the confusion generated for the use of multiple forks of the nflgame library and the confusing/contradictory issues arising from different users using slightly different configurations of nflgame.  In particular, incomplete schedule.json files, outdated/incomplete json.gz files in the gamecenter-json directory, and a code deficiency in update_players.py have caused multiple, intersecting problems.  The direct result is that the issues documentation has become more of a hindrance than a help in getting a proper install of the database.
I work on Windows using PyCharm and DataGrip (or DBVisualizer).  I use PyCharm to create a Python 2.7 conda env and install the BurntSushi  nfldb (0.2.17) and @derek-adair nflgame-redux (1.2.23) libraries into that project.
I use "https://github.com/nickfrerichs/fflproject/issues/29" suggestion and update_players.py file by adding the following two statements after line175:
if name.count(',') == 2:
name = name.strip(', Jr.')

There are other proposed solutions (https://github.com/BurntSushi/nflgame/issues/316).
I verify that the schedule.json file is complete.  (I have seem versions missing one game, (i.e.,<PHONE_NUMBER>, the postponed TB@MIA game.  In which case you can manually insert
[
   "2017111911",
   {
    "away": "TB",
    "day": 19,
    "eid": "2017111911",
    "gamekey": "57241",
    "home": "MIA",
    "meridiem": "PM",
    "month": 11,
    "season_type": "REG",
    "time": "1:00",
    "wday": "Sun",
    "week": 11,
    "year": 2017
   }
  ],

Or, I have seen schedule.json files that have 2018 entries but are missing over 100 games from 2017.  (In this case, the nflgame update-schedule script never correctly updates the schedule.json file.)  The remedy is to look around at the various forks of nflgame until you find a complete file.  The crucial link here is that nfldb uses the nflgame schedule.json file to load/update its tables.  So if the schedule.json file is incomplete, the database will be incomplete.
Then, if you want a historically complete (from 2009) nfldb you MUST avoid two standard practices:

Do NOT use any of the nfldb.sql.zip files in the various repos (even @BurntSushi), because they have incomplete game drive (hence play, play_players, and agg_play) info for gsis_id<PHONE_NUMBER> (missing drive 26) and gsis_id<PHONE_NUMBER>' (missing drives 6 to 23 ).

Do NOT run the nfldb-update script on a nflgame install where the gamecenter-json .json.gz files have not been refreshed since the deprecation of the @ochawkeye library.

So, finally, assuming you use @derek-adair nflgame-redux (1.2.23) and you have corrected the update_players and schedule.json files, then you are ready to install nfldb (0.2.17).

First run the nflgame update-schedule script, simply to confirm that it runs without error.  As of 2018-12-04 it should have 3309 entries, including games yet to be played in 2018 (and including<PHONE_NUMBER>).  If this does not run correctly, your issue is with nflgame and you are not ready to run nfldb-update.

Now run the nflgame update-players script.  It will run (as of 2018-12-04) with one "error" of no consequence to the integrity of nflgame or nfldb.  (This is a well known issue with NFL not providing a gsis_id for a player with no stats).

Loading games for REG 2018 week 14
Downloading team rosters...
33/33 complete. (100.00%)
Done!
Fetching GSIS identifiers for players not in nflgame...
8/8 complete. (100.00%)
Done!

There were some errors during the download. Usually this is a
result of an HTTP request timing out, which means the
resulting "players.json" file is probably missing some data.
An appropriate solution is to re-run the script until there
are no more errors (or when the errors are problems on
NFL.com side.)
-------------------------------------------------------------------------------
Could not get GSIS id at http://www.nfl.com/player/cedwilson/2560936/profile
-------------------------------------------------------------------------------
Could not find gsis_id for {'status': u'RES', 'last_name': u'Wilson', 'weight': 197, 'profile_id': 2560936, 'number': 16, 'height': 74, 'college': u'Bowie State', 'full_name': u'Ced Wilson', 'first_name': u'Ced', 'years_pro': 0, 'birthdate': u'3/10/1995', 'team': 'DAL', 'position': u'WR', 'profile_url': 'http://www.nfl.com/player/cedwilson/2560936/profile'}

You may get additional errors of the type below.  However, again they do not affect the integrity of nfldb or nflgame and they will be resolved as the NFL updates their data in gamecenter and as you run future updates.
-------------------------------------------------------------------------------
Could not get profile URL for (00-0033258, D.Daniels)
-------------------------------------------------------------------------------
Could not get profile URL for (00-0034526, C.Reavis)
-------------------------------------------------------------------------------
Could not get profile URL for (00-0033471, I.Ford)
-------------------------------------------------------------------------------

Now that nflgame is working with no errors and full integrity of the schedule.json file, you are one step away from installing nfldb.  You MUST first ensure that the files in the gamecenter-json directory have a one-to-one correspondence to the files listed in schedule.json (with the exception of<PHONE_NUMBER> (never played) and<PHONE_NUMBER> (posponed and played as<PHONE_NUMBER>) and the yet-to-be played games following the current date.  As of 2018-12-04, there are 3309 entries in a current schedule.json file.  There are 3245 games that the schedule considers "played".  There are 2343 files that are in the gamecenter-json directory).  Either you need a source for a correct list of these 2343 files, or you need to regenerate them as you run nfldb-update.)

If you already have an install of nfldb; DROP that database using pgAdmin 4.3 or later.

If you are installing for the first time, use pgAdmin to create a new user (nfldb) with the password (nfldb).  (If you intend to follow https://github.com/BurntSushi/nfldb/wiki/Windows-Install, you really only need to do steps 4 to 6.  You no longer need step 7 (enable fuzzystrmatch) because of the use of gsis identifiers for all players. You must NOT follow steps 8 thru 10 (preloading the database with anyones nfldb.zip data because there are some missing drive records in these files.)  You must follow steps 11 and 12 and create you config.ini file so that you can run the updates and queries).

With pgAdmin, create a new nfldb with the owner nfldb.  (When you DROP the database, the nfldb user and credentials will NOT have been dropped.  Or you will have created the user in step 2 above).

If you are not certain of the integrity of both your gamecenter-json directory and the files within; then delete all the json.gz files.  The nfldb update process will download all these files from NFL gamecenter (based on your complete schedule.json file).  This update/download is a one time event.  However, you MUST run this when no games are in progress - preferably on a Tuesday or Wednesday night.  Hopefully you can avoid this by having a complete zip file of this directory.

For completeness the team.py dictionary is:

teams1 = [
    ['ARI', 'Arizona', 'Cardinals', 'Arizona Cardinals'],
    ['ATL', 'Atlanta', 'Falcons', 'Atlanta Falcons'],
    ['BAL', 'Baltimore', 'Ravens', 'Baltimore Ravens'],
    ['BUF', 'Buffalo', 'Bills', 'Buffalo Bills'],
    ['CAR', 'Carolina', 'Panthers', 'Carolina Panthers'],
    ['CHI', 'Chicago', 'Bears', 'Chicago Bears'],
    ['CIN', 'Cincinnati', 'Bengals', 'Cincinnati Bengals'],
    ['CLE', 'Cleveland', 'Browns', 'Cleveland Browns'],
    ['DAL', 'Dallas', 'Cowboys', 'Dallas Cowboys'],
    ['DEN', 'Denver', 'Broncos', 'Denver Broncos'],
    ['DET', 'Detroit', 'Lions', 'Detroit Lions'],
    ['GB', 'Green Bay', 'Packers', 'Green Bay Packers', 'G.B.', 'GNB'],
    ['HOU', 'Houston', 'Texans', 'Houston Texans'],
    ['IND', 'Indianapolis', 'Colts', 'Indianapolis Colts'],
    ['JAC', 'Jacksonville', 'Jaguars', 'Jacksonville Jaguars', 'JAX'],
    ['KC', 'Kansas City', 'Chiefs', 'Kansas City Chiefs', 'K.C.', 'KAN'],
    ['MIA', 'Miami', 'Dolphins', 'Miami Dolphins'],
    ['MIN', 'Minnesota', 'Vikings', 'Minnesota Vikings'],
    ['NE', 'New England', 'Patriots', 'New England Patriots', 'N.E.', 'NWE'],
    ['NO', 'New Orleans', 'Saints', 'New Orleans Saints', 'N.O.', 'NOR'],
    ['NYG', 'New York', 'Giants', 'New York Giants', 'N.Y.G.'],
    ['NYJ', 'New York', 'Jets', 'New York Jets', 'N.Y.J.'],
    ['OAK', 'Oakland', 'Raiders', 'Oakland Raiders'],
    ['PHI', 'Philadelphia', 'Eagles', 'Philadelphia Eagles'],
    ['PIT', 'Pittsburgh', 'Steelers', 'Pittsburgh Steelers'],
    ['SD', 'San Diego', 'Chargers', 'San Diego Chargers', 'S.D.', 'SDG'],
    ['SEA', 'Seattle', 'Seahawks', 'Seattle Seahawks'],
    ['SF', 'San Francisco', '49ers', 'San Francisco 49ers', 'S.F.', 'SFO'],
    ['STL', 'St. Louis', 'Rams', 'St. Louis Rams', 'S.T.L.'],
    ['TB', 'Tampa Bay', 'Buccaneers', 'Tampa Bay Buccaneers', 'T.B.', 'TAM'],
    ['TEN', 'Tennessee', 'Titans', 'Tennessee Titans'],
    ['WAS', 'Washington', 'Redskins', 'Washington Redskins', 'WSH'],
    ['UNK', 'UNK', 'UNK'],
]

teams2 = [
    ['JAX', 'Jacksonville', 'Jaguars', 'Jacksonville Jaguars', 'JAC'],
    ['LA', 'Los Angeles', 'Rams', 'Los Angeles Rams', 'L.A.'],
    ['LAC', 'Los Angeles C', 'Chargers', 'Los Angeles Chargers', 'L.A.C'],
]

The only two lines you are changing are the JAX and LAC lines in teams2.  That is all.  That is the only change to @BurntSushi nfldb (0.2.17).  That is why this is a 'hit the road running' package.
When you run nfldb-update script for the first time on an empty PostgreSQL nfldb, it creates a new (version 8) schema (refer to the meta table after your install) and all the tables, indexex, triggers, domains, the agg_play materialized view, etc.
The update takes a while.  If you had to empty your gamecenter-json directory to ensure integrity, then the necessary _gtd.json files will, in accordance with schedule.json file contents, be downloaded from "http://www.nfl.com/liveupdate/game-center" and then batch loaded into the database.  If your .gz files are okay (or you do not need a complete nfldb database), then the upgrade will load whatever is in your gamecenter-json directory.  If your schedule.json file is missing a file, but it exists in your gamecenter directory; it will NOT be loaded.  The schedule.json file drives the process, but the absence of files in the gamecenter directory can affect the outcome.
A completer process results in output (truncated in the middle section) as follows:
-------------------------------------------------------------------------------
STARTING NFLDB UPDATE AT 2018-12-04 16:19:35.662000
Connecting to nfldb...
MIGRATING DATABASE... PLEASE WAIT

THIS WILL ONLY HAPPEN ONCE.

This is currently adding a play aggregation table (a materialized view) derived
from the `play` and `play_player` tables. Depending on your machine, this
should take less than two minutes (this includes aggregating the data and
adding indexes).

This aggregation table will automatically update itself when data is added or
changed.

Aggregation complete. Adding indexes...
Indexing complete. Adding triggers...
done.
Setting timezone to UTC... done.
Updating player JSON database... (last update was 0001-01-01 00:00:00+00:00)
Loading games for REG 2018 week 13
Downloading team rosters...
33/33 complete. (100.00%)
Done!
Fetching GSIS identifiers for players not in nflgame...
1/1 complete. (100.00%)
Done!

There were some errors during the download. Usually this is a
result of an HTTP request timing out, which means the
resulting "players.json" file is probably missing some data.
An appropriate solution is to re-run the script until there
are no more errors (or when the errors are problems on
NFL.com side.)
-------------------------------------------------------------------------------
Could not get GSIS id at http://www.nfl.com/player/cedwilson/2560936/profile
-------------------------------------------------------------------------------
Could not find gsis_id for {'status': u'RES', 'last_name': u'Wilson', 'weight': 197, 'profile_id': 2560936, 'number': 16, 'height': 74, 'college': u'Bowie State', 'full_name': u'Ced Wilson', 'first_name': u'Ced', 'years_pro': 0, 'birthdate': u'3/10/1995', 'team': 'DAL', 'position': u'WR', 'profile_url': 'http://www.nfl.com/player/cedwilson/2560936/profile'}
done.
Locking player table...
Updating 7520 players... done.
Locking write access to tables... done.
Updating season phase, year and week... done.
Adding schedule data for 3309 games... done.
Bulk inserting data for 3245 games...
        Sending batch of data to database.
        Sending batch of data to database.
        Sending batch of data to database.
        Sending batch of data to database.
        Sending batch of data to database.
        ....
        Sending batch of data to database.
        Sending batch of data to database.
done.
Updating schedule JSON database...
Last updated: 2018-12-04 16:23:42.871000
done.
Updating schedule for (Regular, 2018, 13)
done.
Closing database connection... done.
FINISHED NFLDB UPDATE AT 2018-12-04 17:09:14.053000
-------------------------------------------------------------------------------

C:\Users\whale\Anaconda2\envs\NFL-Game-Conda>

You now have a clean, hit the road running nfldb.

@MargareeMan Thank you for this great write-up!

@MargareeMan  - let me just say.... wow.  one of the most helpful comments i've read in a very long time.  Thank you.  It belongs in a wiki somewhere and illustrates perfectly how one may leverage these projects.
Do you have any suggestions on how these problems can be fixed?  It seems like fork and;

Remove the nfldb.sql.zip from the repo
replace nflgame w/ nflgame-redux

Also, Please note that I intend on removing the dependency on http://www.nfl.com/liveupdate/game-center - There is a much more complete stream of data, that seems to be free (just not advertised).  This may or may not impact nfldb and this very issue.

Thank you for your very generous compliment.  But, if I have added to this project, it is only because of the efforts of more competent contributors such as yourself and @ochawkeye  (and, of course, the solid foundation that inherited from @BurntSushi ).
I cannot advise you on how to proceed with updating the current marriage between nfldb-nflgame.  And, a marriage it is.  The vows were last renewed on September 8th, 2016.  Since then, there have been some small ups and down; but they are still together.  It is, frankly, a good marriage based on a strong and sophisticated foundation.  Nonetheless, it is fragile.  And, although the architecture invites some flexibility, the faint of heart need not apply.
I think subsequent development direction really depends on the audience, the functionally desired, and the "legal" stance the developer takes toward the source(s) of data consumed.  I am not a Python programmer (in fact I am not a programmer at all).  And, I have no interest in Fantasy football.  I am a simple hobbyist that is thankful that the NFL passively "permits" hobbyists to acquire data through their public-facing endpoints.  Personally, I consider Andrew Gallant's nfldb/nflgame impressive (functioning) implementation as a good model architecture for linking a SQL database to data feeds.
It remains tied to NFL proprietary data that we, as hobbyists, are "permitted" to use, individually, at the pleasure of the NFL.  Therefore, any alteration you want to make to the fork, I think, needs to carefully consider what -- if any -- data you provide along with the application code.

wow...so you are just really good at installing software???

@MargareeMan Thanks for that magnificent writeup, alongside @derek-adair and @ochawkeye for their contributions.  Hoping to help once I get more familiar with the codebase and python--I've got a project I want to finish by labor day and hoping to continue on it during the season using nflgame/db.

hello all,
we have made an Azure version of nfldb. 3 lines of code gets you an updating database on SQL Server.. for a few dollars a month
https://github.com/ml-systems/nfldb
let us know what you think

@Dubl  - how disappointing to not open source your work.

They did. It's MIT licensed.

@derek-adair Yes it’s open source. All the code is there, it just utilizes Azure resources (storage, db, etc) which costs a nominal amount to run (after the free trial)
If you wanted to, you could just run the python script to pull from the api and convert to csv, then load that to your db. We just wrapped it up so a newcomer doesn’t need to learn and install python and postgres. Just run a few lines of code, download a free copy of ssms, and start querying your db.
We’ll do a more thorough writeup on how it works.

Whoops I misread the project's intent.  It looked like a pre-baked image that you were charging for.
Very cool.

I need glasses D: lol

@Dubl :  I apologize beforehand for my level of ignorance.  But I am not clear on what needs to be created by the end-user and what the scripts are creating.  Also, I am not clear on what the myfunctionapp parameter is?  As well, it is not clear to me how the 4th argument in the last line of code ($SQLPassword) passes the Username dbadmin to Sqlcmd.
This is what I understand:

The user needs a Azure account.  I have that.
I have a 'Resource group' and a 'Server name'  (Azure terminology).
I have a P@ssw0rd
I have a storage account name

However, I do not see how the fourth argument ($args[3]) picks up the username where you note:  (P@ssw0rd (your password to connect.   When I did this I had to create a 'Server admin login' name (Azure terminology).  I did not use 'dbadmin' (or 'admin') as the 'Server admin login' name.  I do not see any argument that permits the user to use anything other than the hardcoded  'dbadmin' for the '-Username' parameter. So, is it necessary that the database username be 'dbadmin' (as found in 'DeployNFLDB.ps1')?
As well, I am totally unclear as to what to use for the myfunctionapp parameter.
Is the az group create line in DeployNFLDB.ps1 creating a new Resource group?  Surely not.  But the az group deployment create line is creating a NFLDBDeployment in the existing Resource group.
So what is the FunctionApp_name=$FunctionAppName that I am passing to az group deployment create?
Thanks in advance for clarifying this?

“Is the az group create line in DeployNFLDB.ps1 creating a new Resource group? Surely not.”
In fact, yes, that’s exactly what it’s doing!
Amazingly the code is able to create:
-A resource group to house all your resources in
-all your resources, which include a sql server instance and db, and file storage, and connections, and a “function app” which is just a way to bolt on some arbitrary python in the middle of it.
-“logic apps” which are little workflows to run processes (like, query the internet, take the json you get, and run it through a python function, and take that csv output and put it into a db) (this is exactly what the ‘gamedaydata_pfunction_schedule’ app does.
And yes ‘dbadmin’ is a hardcoded db user name.
So... if you are tired of it, or want to start over, just delete the resource group from the portal, and you’re free to start over or to be done.
The ‘functionapp’ argument is just a name to give the function app. (The bolt-in python).
Thanks so much for the questions. Happy to explain/write up more

Thank you @Dubl .  I ran the three commands but the deployment failed.  The error was "The function '/subscriptions/.../.../.../providers/Microsoft.Web/sites/.../functions/PShredder' could not be found."
The database server and nfldb database were created.
The GameDayData_PFunction_Schedule2 logic app was not created.
The LoadNFLSchedule logic app was created and is visible as a resource in the Portal.  I am able to login to nfldb via SSMS and 2019 schedule data are in are in the NFLDB.Schedule and MasterNFL.Schedule tables  (321 games).
There is a SetupSQLDB logic app.  I assume this setups the nfld (which is already done) and I have not run that app.
Do you have any idea why the  GameDayData_PFunction_Schedule2 logic app was not created.

Folks, this is the nfldb issue tracker. I don't have a problem with dropping a link to a project, but please have a bit courtesy and take discussions kf other projects to their respective issue trackers.

@BurntSushi @Dubl and @derek-adair .  Can you enlighten me a little on the relationships among the MIT license, the use of the NFL json api and the storage and use of the data retrieved from the api?  It appears to me that the data is property of the NFL.  I assume the URI for the jason API is "legally" equivalent to any other public URI/URL and that the process of downloading the json data extracted from the API is analogous to visually scanning (or programmatically scraping) a web page and it's links.  The manipulation and persistent storage of the data following the extraction is 'legal' as long as the individual user doing this does not duplicate/reproduce/use-for-profit this data.  The source code that enables an individual to extract, manipulate and store the data is 'open source'.  But the MIT license provides no liability and therefore does not indemnify the user of the code from any legal transgressions resulting from the use of the code.
I do not know if what I have said above is correct or even makes sense.  So when I add into the mix a pay-for-use service like Azure, which is hosting an application that pulls (what is likely proprietary) data from the NFl, I get a queasy feeling.  But, I suppose this is unwarranted, in so much as the Azure account is simply a cloud storage location that is restricted to my personal use (as is my desktop disk drive) and therefore, I am not profiting from or reproducing the data for third-party use/presentation.  I am paying for the storage account and not the code functionality that runs in the account resource group.

Sorry @BurntSushi .  My last post was coincidental with your admonishment.  I also apologize for mixing the Azure discussion into this thread.  My bad.

Can you enlighten me a little on the relationships among the MIT license, the use of the NFL json api and the storage and use of the data retrieved from the api?

No. I'm not a lawyer. So you should go talk to one.
This topic has been discussed many times. Please consider searching the nflgame and nfldb issue trackers.
Failing all of that, use common sense.

I'm pretty green when it comes to complex installations, but I followed @MargareeMan's instructions on Mac OS 10.14.6 Mojave and I was able to get everything working in a couple hours. It's so cool! I did have to overcome a few issues installing psycopg2 to a conda environment in python 2.7, but I was able to get it up and running with a few stack overflow hints. https://stackoverflow.com/questions/16407995/psycopg2-image-not-found
Once I was able to run the update script, everything worked perfect. It took about 2 hours to fully update. Thanks so much for all the help in this thread! I'm off to start exploring stats.

Congrats, @msmorey that's better than I did on the Mac.  I do not know your competence with SQL; but I struggle with JOINS.  So I hope I do not embarrass myself (or you) by passing along a query I did last week while watching the BAL-NYJ
SELECT *
FROM player
WHERE team = 'BAL' AND last_name LIKE 'Brown' ;
SELECT g.week AS "wk",
pg.time,
pg.description,
pp.receiving_rec AS "rec",
pp.receiving_yds AS "yds",
pp.receiving_yac_yds AS "yac",
pp.receiving_tds AS "tds",
p.full_name AS "name",
pp.gsis_id AS "gid",
pp.play_id AS "pid"
FROM play pg
INNER JOIN game g ON pg.gsis_id = g.gsis_id
INNER JOIN play_player pp ON pg.gsis_id = pp.gsis_id AND pg.play_id = pp.play_id
INNER JOIN player p on pp.player_id = p.player_id
WHERE g.season_type = 'Regular' AND g.season_year = 2019 AND pp.player_id = '00-0035662'
ORDER BY g.week DESC;
I know this pales in comparison ti what @BurntSushi does; but I put it here in case the multiple JOIN is a useful example.

I've forked nfldb and begun a python3 conversion.  Currently digesting the entire project, but running python 2to3 and swapping in nflgame-redux>2.0.2 has it at least running.
Any help would be greatly appreciated.


Using YOLOv2 get_boxes for optimization

Hi,
I am trying to generate adversarial example for YOLOv2. I want to minimize the score of a target object until it falls below the detection threshold. But the output layer does not provide the score directly. Rather, it is calculated by the get_boxes function. Is there any way to add this function to the final layer? Any ideas how can I minimize the score?
Thanks.


Add Logging

The simulation should log key events while it's running, but should not spam the terminal output when we have large volumes of payments executing

I know there are various logging libraries available in rust - I don't have strong feelings about it so open to suggestions.

Closed by #21.


Results from serial and parallel calculation are too different.

Hello everyone,
I am currently working on testing the implementation of body force using an 8-m tall column structure (refer to Figure 1 or 2).
The bottom surface is fixed and the side walls can only move in the vertical direction. The top surface is free of constraints. I used 10 m/sec2 of gravitational acceleration and 2800 kg/m3 of density. To get static deformation, I applied damping from total force as much as -1* 0.8 * sign (velocity_i) * abs(force _i).
After some time, the static solution exhibits smooth displacement, density, and stress (refer to Figure 1). Additionally, I have verified that all solutions agree well with the analytical solution.
However, a problem has arisen during parallel calculations (with 2 cores). Specifically, a strange discontinuity appears in the middle of the domain (refer to Figure 2). The middle discontinuity corresponds to the interface determined by Metis.
Have any of you faced this problem before, or do you have any ideas? Please leave any comments on this post.
Thank you very much.
Best regards,
Sungho

Figure 1. Results from the serial calculation (the number for cores = 1). (left panel) displacement, (middle panel) density, (right panel) vertical stress.

Figure 2. Results from the parallel calculation (the number for cores = 2). (left panel) displacement, (middle panel) density, (right panel) vertical stress.

Of course we've faced it a million times. A good approach to find parallel bugs is to isolate the inconsistency to a small problem and reproduce it on 2 tasks (as you have done, but you can probably go even smaller). Then you can print some numbers and see which elements get wrong contributions in parallel, etc.

Thank you for your comment. I'm playing with 2 elements now. I have no idea where the bug happens.
Do you have any further comments?

Thank you @vladotomov! I think my problem arises from shared nodes resulting from parallel calculations. I added source terms equal to the number of degrees of freedom. In parallel mode, I believe the source term is being used twice. Therefore, I attempted to reduce the number of source terms by half for shared nodes. Do you have any suggestions on how to identify the shared nodes between processors?

If you want to add a source vector to the vector of DOFs, you should do this operation on the true-dof level. The true-dofs are unique (not duplicated). If this is not clear, see https://mfem.org/pri-dual-vec/#true-degree-of-freedom-vectors.

Thank you @vladotomov
I have identified the problem that was causing issues in my calculations. I was attempting to obtain the static deformation responsible for the body force using dynamic calculations. In order to do this, I applied damping to dampen out the dynamic stress. I calculated the magnitude of the total force and took the opposite sign of the velocity. As you can see, the results from the serial calculation were great, but a problem occurred in parallel mode.
To investigate, I turned off the damping and conducted another simulation in both serial and parallel modes. The solutions were identical. Based on these observations, I concluded that my problem arises from shared nodes associated with damping algolithm resulting from parallel calculations.
I checked the force vector at the interface node in serial mode and at shared nodes in parallel mode, respectively. I found that the amount of force checked in serial was partitioned into shared nodes in the parallel mode. The problem occurs when the force has a different sign at shared nodes, even if their sum is the same as the magnitude of the serial one.
If I apply damping in this situation, the situation becomes abs(a) + abs(b) ≠ abs(a+b). This means that one node can be amplified while another can be damped.
Therefore, I am looking for ways to synchronize the values of each shared node. Do you have any suggestions?

@sungho91
The force being partitioned sounds correct, but at what point of the calculation do you take absolute values? Do you do it on each task and then add them? I don't understand why this operation is needed.

@vladotomov
Regarding my observation about the sum of partitioned forces at different MPI tasks being the same as the value of the serial one, this must be the principle of conservation of forces. In an isolated system, the total amount of force remains constant, so the sum of forces acting on each partitioned section must be equal to the force acting on the system as a whole.
Regarding the different signs at share nodes, I don't exactly know it. it just seems like forces at share nodes may cancel each other out, resulting in the same direction as serial one.
If forces are not partitioned at share nodes but shared, this problem might be resolved but I don't know how to control that. I take the damping equation from FLAC (Fast Lagrangian Analysis of Continua), but  I have to think about another damping algorithm applicable to MPI.

@vladotomov
I can say damping vector is computed at each DOF of H1 space. I am working on implementing solid mechanics into Laghos, which is a miniapp of MFEM, in order to develop a geodynamic solver. Like Laghos, my modified code assembles an external force vector after numerical integration, which is stored in the RHS vector. Then, I add the assembled body force vector to the RHS vector to obtain the total force vector. Before solving the linear system, I calculate the damping portion using the total force vector and the previous velocity vector from its grid function.

@sungho91
Good, I happen to have some familiarity with Laghos. Looking at SolveVelocity, try to compute the damping portion using the vector B instead of rhs. The B vector is on the true DOFs, i.e., it has your RHS vector without MPI duplication. It is structured similarly to rhs - first it has all x components, then all y components, etc. But it has different size. Then you add the damping to B, before the cg.Mult(B, X) call.
You can compare the B vector with your serial RHS, they should have the same entries.

@vladotomov
This suggestion is very helpful. I will try using the B vector instead of the rhs vector. However, to dampen the total force out, I need to use the opposite sign of the current or previous velocity. Since grid function is different size with true degrees of freedom (DOFs), is there a way to obtain the true DOFs of velocity?

@vladotomov
Thank you so much. I resolved the problem. I got true DOFs from gridfunction using SetTrueVector() and GetTrueVector().
Also, I checked the results from serial and parallel calculation are identical.


Added ownership to the namespace and removed runAsUser.

Owning the cert-manager namespace so it's removed when the CR of CertManager is removed.
Also removed runAsUser since the range kept changing
  Warning  FailedCreate  7s (x13 over 28s)  replicaset-controller  Error creating: pods "cert-manager-controller-bbfb69bb5-" is forbidden: unable to validate against any security context constraint: [spec.containers[0].securityContext.securityContext.runAsUser: Invalid value:<PHONE_NUMBER>: must be in the ranges: [1000570000,<PHONE_NUMBER>] spec.containers[0].securityContext.securityContext.runAsUser: Invalid value:<PHONE_NUMBER>: must be in the ranges: [1000570000,<PHONE_NUMBER>]]

One question - comment above indicates removal of cert-manager namespace - are we not changing to install into common services namespace

@tthorpe2 The removal the cert-manager namespace for the operand (cert-manager-controller) unless you want us to install our operand in the common services namespace too. Cert-manager (operand) has always been in its own namespace.


Add tox

So, this PR tests python3.6 in travis and now I guess we could bump a new version given #241 is necessary to run on python3.6.

Is it necessary to run the "flake" build on python 2 and 3? Perhaps we only need the "flake" build on python 3. That would eliminate one of the builds.

I don't think it is. Django for example only uses flake on python3. django/tox.ini
I can change it to tox also.

I guess just this needs to be deleted from travis.yml:
   include:
     - python: 2.7
       env: CI_TARGET=flake

LGTM. Ready?

we could bump a new version given #241 is necessary to run on python3.6.

:+1: I will release a version after this PR.

:shipit:


Branch cca/posn tag

#47 #46

There's an issue where the CCA and CCA Position tags are reading the data from Tag instead, @Saha9616 could you take a look at it? I think that might be the cause of the failing tests.

Thanks for the hard work, but it seems that CCAs and CCA Positions are decoupled and treated independently. For example, if I am a leading wizard of Computer Muffin Cooks and a fellow worker of Mental Supporters for NUS Cats, how would this design represent this two relationships?


Check non-terminating images job fails after some time of run

Which area this feature is related to?
/kind bug

Which area this bug is related to?

/area ci
/area registry
/area test-automation
What versions of software are you using?
Go project
Operating System and version:
Go Pkg Version:
Node.js project

Operating System and version:
Node.js version:
Yarn version:
Project.json:
Web browser

Operating System and version:
Browser name and version:
Bug Summary
Describe the bug:
The post-merge check for non-terminating images fails for unknown reason after ~33min of running.
More detailed, this occurred after the merge of https://github.com/devfile/registry/pull/183 where we have updated five images (fixed their image tag):

stacks/java-quarkus/devfile.yaml
stacks/java-springboot/2.0.0/devfile.yaml
stacks/java-springboot/1.2.0/devfile.yaml
stacks/java-maven/devfile.yaml
stacks/java-vertx/devfile.yaml

For all the of the above images the test passes.

To Reproduce:
An example of this issue can bee seen here:

Attempt 1
Attempt 2

Expected behavior
As test passes for all devfiles they had updates for their images, the job should be successful or should have a more clear error trace.

Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable
The full log is here: https://github.com/devfile/registry/actions/runs/5278822721/jobs/9549582352
Testing /home/runner/work/registry/registry/stacks/java-websphereliberty-gradle/devfile.yaml
  COMMAND: minikube ssh docker pull icr.io/appcafe/websphere-liberty-devfile-stack:<IP_ADDRESS>-gradle
Error: Process completed with exit code 1.

Additional context

Any workaround?

Suggestion on how to fix the bug

Target date: Jun 21

Workflow is still failing after merging the pr. Looking into why it still continues to fail

Was failing due to there sometimes being a conflict when removing a docker image:
COMMAND: "minikube ssh docker image rm registry.access.redhat.com/ubi8/nodejs-18:1-47.1684740189"
Error response from daemon: conflict: unable to remove repository reference "registry.access.redhat.com/ubi8/nodejs-18:1-47.1684740189" (must force) - container 2e45242f9811 is using its referenced image f77092719a71

Using the --force flag fixes this problem, successful run here: https://github.com/devfile/registry/actions/runs/5349207551


Compiling TMKit in a Docker container requires root privileges on host machine

This "issue" appears Ubuntu 16.04 and 18.04. The specific error I'm encountering occurs when running configure to install amino (I realize this is the issue tracker for TMKit and not amino, but the KavrakiLab/amino repo doesn't have the ability to raise issues). The following text contains the "issue":
[...]
configure: Use GLPK:          no
configure: Use CGAL:
configure: Build Demos:       yes
configure: URDF Demos:
## ----------- ##
## END SUMMARY ##
## ----------- ##
[maxima start]
cd ./src/mac && maxima --very-quiet -b euler77.mac
personality failure 1
make: *** [src/mac/euler.f] Error 255
Makefile:4460: recipe for target 'src/mac/euler.f' failed

personality is a specific syscall. To allow the syscall to go through, I reload dockerd using this seccomp policy and then run docker build ..
This method works, but reloading dockerd requires root privileges. Being able to compile amino without root in Docker would be ideal.  I've tried using using configure's --without-maxima flag, but that didn't help.

Maxima is used to generate some source files.  As a workaround, I suggest to generate a distribution tarball (make dist) outside of docker.  This tarball will contain the generated sources.  Then, within docker, maxima will not be needed.

Attempting this gives an error.
stephen@ubuntu:~/amino/amino$ make dist
make  dist-gzip am__post_remove_distdir='@:'
make[1]: Entering directory '/home/stephen/amino/amino'
make[1]: *** No rule to make target 'euler.c', needed by 'distdir'.  Stop.
make[1]: Leaving directory '/home/stephen/amino/amino'
Makefile:4039: recipe for target 'dist' failed
make: *** [dist] Error 2

(Previously reply didn't get posted...)
You do need maxima in to generate the sources (euler.c) for the distribution tarball.


python310Packages.ansible: 7.2.0 -> 8.0.0

Description of changes
8.0.0 changelog: https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst
7.x.0 changelog (since there were several releases since 7.2.0): https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v7.rst

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-darwin 1

12 packages failed to build:

python310Packages.ansible-kernel
python310Packages.ansible-kernel.dist
python310Packages.ansible-runner
python310Packages.ansible-runner.dist
python310Packages.pytest-ansible
python310Packages.pytest-ansible.dist
python311Packages.ansible-kernel
python311Packages.ansible-kernel.dist
python311Packages.ansible-runner
python311Packages.ansible-runner.dist
python311Packages.pytest-ansible
python311Packages.pytest-ansible.dist

22 packages built:

ansible (python310Packages.ansible-core)
ansible-later
ansible-later.dist
ansible-lint
ansible-lint.dist
ansible.dist (python310Packages.ansible-core.dist)
ansible_2_13
ansible_2_13.dist
ansible_2_14
ansible_2_14.dist
kargo
kargo.dist
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-compat.dist
python310Packages.ansible.dist
python311Packages.ansible
python311Packages.ansible-compat
python311Packages.ansible-compat.dist
python311Packages.ansible-core
python311Packages.ansible-core.dist
python311Packages.ansible.dist

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

12 packages failed to build:

python310Packages.ansible-kernel
python310Packages.ansible-kernel.dist
python310Packages.ansible-runner
python310Packages.ansible-runner.dist
python310Packages.pytest-ansible
python310Packages.pytest-ansible.dist
python311Packages.ansible-kernel
python311Packages.ansible-kernel.dist
python311Packages.ansible-runner
python311Packages.ansible-runner.dist
python311Packages.pytest-ansible
python311Packages.pytest-ansible.dist

22 packages built:

ansible (ansible_2_15 ,python310Packages.ansible-core)
ansible-later
ansible-later.dist
ansible-lint
ansible-lint.dist
ansible.dist (ansible_2_15.dist ,python310Packages.ansible-core.dist)
ansible_2_13
ansible_2_13.dist
ansible_2_14
ansible_2_14.dist
kargo
kargo.dist
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-compat.dist
python310Packages.ansible.dist
python311Packages.ansible
python311Packages.ansible-compat
python311Packages.ansible-compat.dist
python311Packages.ansible-core
python311Packages.ansible-core.dist
python311Packages.ansible.dist

34 packages built:
ansible ansible-later ansible-later.dist ansible-lint ansible-lint.dist ansible.dist ansible_2_13 ansible_2_13.dist ansible_2_14 ansible_2_14.dist kargo kargo.dist python310Packages.ansible python310Packages.ansible-compat python310Packages.ansible-compat.dist python310Packages.ansible-kernel python310Packages.ansible-kernel.dist python310Packages.ansible-runner python310Packages.ansible-runner.dist python310Packages.ansible.dist python310Packages.pytest-ansible python310Packages.pytest-ansible.dist python311Packages.ansible python311Packages.ansible-compat python311Packages.ansible-compat.dist python311Packages.ansible-core python311Packages.ansible-core.dist python311Packages.ansible-kernel python311Packages.ansible-kernel.dist python311Packages.ansible-runner python311Packages.ansible-runner.dist python311Packages.ansible.dist python311Packages.pytest-ansible python311Packages.pytest-ansible.dist
on x86_64-linux Can you show one kind of error ?

Indeed, there is no new regression.

for ansible-runner:
test/unit/config/test_doc.py:120: AssertionError
1m=========================== short test summary info ============================
FAILED test/unit/config/test_ansible_cfg.py::test_prepare_config_command_with_containerization[docker] - AssertionError: assert ['docker', 'r...project', ...] == ['docker', 'r...pr...
FAILED test/unit/config/test_ansible_cfg.py::test_prepare_config_command_with_containerization[podman] - AssertionError: assert ['podman', 'r...project', ...] == ['podman', 'r...pr...
FAILED test/unit/config/test_command.py::test_prepare_run_command_with_containerization[docker] - AssertionError: assert ['docker', 'r...workdir', ...] == ['docker', 'r...wo...
FAILED test/unit/config/test_command.py::test_prepare_run_command_with_containerization[podman] - AssertionError: assert ['podman', 'r...workdir', ...] == ['podman', 'r...wo...
FAILED test/unit/config/test_doc.py::test_prepare_plugin_docs_command_with_containerization[docker] - AssertionError: assert ['docker', 'r...project', ...] == ['docker', 'r...pr...
FAILED test/unit/config/test_doc.py::test_prepare_plugin_list_command_with_containerization[podman] - AssertionError: assert ['podman', 'r...project', ...] == ['podman', 'r...pr...
FAILED test/unit/config/test_doc.py::test_prepare_plugin_list_command_with_containerization[docker] - AssertionError: assert ['docker', 'r...project', ...] == ['docker', 'r...pr...
FAILED test/unit/config/test_inventory.py::test_prepare_inventory_command_with_containerization[podman] - AssertionError: assert ['podman', 'r...project', ...] == ['podman', 'r...pr...
FAILED test/unit/config/test_inventory.py::test_prepare_inventory_command_with_containerization[docker] - AssertionError: assert ['docker', 'r...project', ...] == ['docker', 'r...pr...
FAILED test/unit/config/test_doc.py::test_prepare_plugin_docs_command_with_containerization[podman] - AssertionError: assert ['podman', 'r...project', ...] == ['podman', 'r...pr...
31m======================= 10 failed, 1880 passed in 14.34s =======================

I checked source code of these tests and it looks like docker for darwin doesn't have CLI options that are used in tests, hence it fails to run docker/podman. ansible-kernel depends on ansible-runner so i didn't even start building after dependency failure.
Speaking about pytest-ansible, I didn't dig it cause python is not my strongest language so far, but it feels like pytest connects to localhost and runs some ansible tasks, and since darwin has no sshd enabled by default, it fails these tests.
1m=========================== short test summary info ============================
FAILED tests/test_adhoc.py::test_contacted_with_params - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
FAILED tests/test_adhoc.py::test_contacted_with_params_and_inventory_marker - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
FAILED tests/test_adhoc.py::test_contacted_with_params_and_host_pattern_marker - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
FAILED tests/test_adhoc.py::test_contacted_with_params_and_inventory_host_pattern_marker - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
FAILED tests/test_fixtures.py::test_ansible_facts - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
FAILED tests/test_params.py::test_param_override_with_marker - assert <ExitCode.TESTS_FAILED: 1> == <ExitCode.OK: 0>
ERROR tests/test_adhoc_result.py::test_len - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_keys - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_items - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_values - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_contains[another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_contains[localhost] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_contains[yet_another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_contains[none] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_contains[all] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_contains[*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_contains[local*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getitem[another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getitem[localhost] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getitem[yet_another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getitem[none] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getitem[all] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getitem[*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getitem[local*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getattr[another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getattr[localhost] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_getattr[yet_another_host] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getattr[none] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getattr[all] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getattr[*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
ERROR tests/test_adhoc_result.py::test_not_getattr[local*] - pytest_ansible.errors.AnsibleConnectionFailure: Host unreachable in the inv...
31m= 6 failed, 117 passed, 15 skipped, 3 deselected, 44 warnings, 25 errors in 34.36s =

I checked history and it looks like these three packages were broken for darwin for a while and there were no issues opened about it, so i decided to PR regardless of these failures.


Signalling upgrade integration or e2e tests

With the addition of #2832, we should add tests that check the functionality of the system at a broader level. This should involve some check that ensures more than one instance upgrades at the same time.

I think we can close this. There are integration tests in the upgrade module and upgrade tests in the e2e package


Occasionally fetching the schema fails and causes the bot to crash.

Here's what happens:
[Happy Bot 2013-07-23 17:10:06] ERROR: Unhandled exceptions in bot Happy Bot callback thread:
 System.NullReferenceException: Object reference not set to an instance of an object
  at SteamTrade.Schema.FetchSchema (System.String apiKey) [0x00000] in <filename unknown>:0
  at SteamBot.Bot.<HandleSteamMessage>b__77 (SteamKit2.LoginKeyCallback callback) [0x00000] in <filename unknown>:0
  at SteamKit2.CallbackMsg.Handle[LoginKeyCallback] (System.Action`1 handler) [0x00000] in <filename unknown>:0
  at SteamBot.Bot.HandleSteamMessage (SteamKit2.CallbackMsg msg) [0x00000] in <filename unknown>:0
  at SteamBot.Bot.BackgroundWorkerOnDoWork (System.Object sender, System.ComponentModel.DoWorkEventArgs doWorkEventArgs) [0x00000] in <filename unknown>:0
  at System.ComponentModel.BackgroundWorker.OnDoWork (System.ComponentModel.DoWorkEventArgs e) [0x00000] in <filename unknown>:0
  at System.ComponentModel.BackgroundWorker.ProcessWorker (System.Object argument, System.ComponentModel.AsyncOperation async, System.Threading.SendOrPostCallback callback) [0x00000] in <filename unknown>:0

Is there any way to avoid this? Perhaps by throwing a try-catch around it? That would probably work as an interim method, but perhaps there's a more elegant solution.

You could make it so that the Schema retrieves the last cache whenever it encounters a WebException, by changing Schema.FetchSchema() and Schema.GetSchemaString(). That way, it will only crash if there is no schema file cached when the schema server is down.
public static Schema FetchSchema(string apiKey, string schemaLang = null)
{
	var url = SchemaApiUrlBase + apiKey;
	if (schemaLang != null)
		url += "&language=" + schemaLang;

	// just let one thread/proc do the initial check/possible update.
	bool wasCreated;
	EventWaitHandle mre = new EventWaitHandle(false,
		EventResetMode.ManualReset, SchemaMutexName, out wasCreated);

	// the thread that create the wait handle will be the one to
	// write the cache file. The others will wait patiently.
	if (!wasCreated)
	{
		bool signaled = mre.WaitOne(10000);

		if (!signaled)
		{
			return null;
		}
	}

	try
	{
		using (HttpWebResponse response = (new SteamWeb()).Request(url, "GET"))
		{
			DateTime schemaLastModified = response.LastModified;

			string result = GetSchemaString(response, schemaLastModified);

			// were done here. let others read.
			mre.Set();

			SchemaResult schemaResult = JsonConvert.DeserializeObject<SchemaResult>(result);
			return schemaResult.result ?? null;
		}
	}
	catch (WebException e)
	{
		Console.ForegroundColor = ConsoleColor.Red;
		Console.WriteLine("[ERROR] Failed to download schema ({0}). Retrieving from file cache.",
			e.Message);
		Console.ForegroundColor = ConsoleColor.White;

		string result = GetSchemaString(null, DateTime.Now);
		mre.Set();

		SchemaResult schemaResult = JsonConvert.DeserializeObject<SchemaResult>(result);
		return schemaResult.result ?? null;
	}
}

// Gets the schema from the web or from the cached file.
private static string GetSchemaString(HttpWebResponse response, DateTime schemaLastModified)
{
	string result;
	bool mustUpdateCache = !File.Exists(cachefile) ||
		schemaLastModified > File.GetCreationTime(cachefile);

	if (mustUpdateCache && response != null)
	{
		using(var reader = new StreamReader(response.GetResponseStream()))
		{
			result = reader.ReadToEnd();

			File.WriteAllText(cachefile, result);
			File.SetCreationTime(cachefile, schemaLastModified);
		}
	}
	else
	{
		// read previously cached file.
		using(TextReader reader = new StreamReader(cachefile))
		{
			result = reader.ReadToEnd();
		}
	}

	return result;
}

I can't submit a PR as my fork of this repository is just for personal use. Could somebody test the changes above to see if they work on their own?


Allow recipients to request a message to be released from quarantine (PermissionToRequestRelease) permission.

In this article https://learn.microsoft.com/microsoft-365/security/office-365-security/quarantine-quarantine-notifications - Allow recipients to request a message to be released from quarantine (PermissionToRequestRelease) permission. When the custom policy is created to send notification to recipients when blocked by spam and quarantined in the sender tenant does the notification to release go to the one internal or external recipients as well?  As there is no mention of that in specific about the recipients.

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

ID: 5e5aabbd-c872-1c37-db92-f2c6a60b3dfc
Version Independent ID: 5e5aabbd-c872-1c37-db92-f2c6a60b3dfc
Content: Quarantine notifications (end-user spam notifications) in Microsoft 365
Content Source: microsoft-365/security/office-365-security/quarantine-quarantine-notifications.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@lajos09, quarantine and quarantine notifications are related to recipients in the Microsoft 365 tenant with no consideration for external recipients. But not all external recipients are created equal; I suspect that external recipients that are represented as mail contacts or mail users in the Microsoft 365 tenant would receive quarantine notifications.

@lajos09, you should open a support ticket about this.


FAKE BUMP: proof

proof https://github.com/openshift/library-go/pull/357 works

proof green, closing


Avoid deprecated message by using a new strategy

See https://github.com/doctrine/DoctrineBundle/pull/1059

Coverage remained the same at 97.661% when pulling fb60d7a8a6eec16f1ad6d91030a740ccdb2a4564 on fix/doctrine-underscore-strategy into e6a843748167c80076f355f31b0b8961400ab5a6 on master.


Create skill-jingles

My apologies.  My first time really using Github.  I moved the file.

This has been failing CI for nearly a month, please open a new PR if you will have time to revisit this.


ensure at least one batch before merging

retry of
https://github.com/twitter/summingbird/pull/612
the check of "at least one batch is covered by timespan" only applies to merging.

working on the tests here: https://github.com/tsdeng/summingbird/pull

Hi, @johnynek
Thanks for the feedback, addressed your comment, could you take a look again?
Thanks!


use stderr for outputting progress

things like the following should be output to stderr in my opinion, so the output of my own script can be redirected.
Loading models...
Part-of-speech models loading...
Person models loading...
Number models loading...
Tense models loading...
Mood models loading...
Voice models loading...
Gender models loading...
Case models loading...
Degree models loading...
Pre-processing text...
Text and punctuation split into 17752 individual tokens.
Angel's looking at each word by itself...
Reconsidering tags...
Studying each word in light of its context...

This is something I'm unfamiliar with. I'll check it out and likely include it in the next release.


Development Environment

Establish development environment for VGA (Similar to pMuTT)

Dev environment and version control now set up; use the 'development' branch for this and merge back into master when ready


Tag releases

Could you tag your new release so that we can see what has been updated in the new version?
Like this releases.

@06wj Nice catch. I'll do it in the future! 👍
And, I'm going to keep this bug open for a while as a reminder.

I think it's safe to close this now.


Frontend: make API URL configurable

Currently, the API URL is not configurable, since the frontend is built as a static site, and the API URL ends up embedded in it. However, for different deployments, this should be configurable; a local installation will likely use localhost as the host, and a Docker-based installation will use the service name of the backend.
Find a way to allow us to configure this in the Frontend without harcoding the URL and rebuilding it.
The solution likely requires us to use Nuxt with a dynamic server, instead of building it statically. Note however that his may pose problems starting it from the MLTE CLI in Python, and would also require the user to have node.js set up in their computer, which is a pain. Some option in which by default it is built statically with a link to localhost, and when deploying in containers either the link is changed or the dynamic version can be run, could work, but there is no clear, efficient way to do this.

Addressed in #502


Process finished with exit code 1

Because google_fonts >=2.0.0-nullsafety.0 depends on http ^0.13.0 and news depends on http ^0.12.1, google_fonts >=2.0.0-nullsafety.0 is forbidden.
So, because news depends on google_fonts ^2.2.0, version solving failed.
pub get failed (1; So, because news depends on google_fonts ^2.2.0, version solving failed.)
Process finished with exit code 1

@pradeep14598 please provide your pubspec.yaml file(s).

My output in vscode:
Because learning_english_app depends on google_fonts >=2.3.1 which requires Flutter SDK version >=2.10.0-0, version solving failed.
pub get failed (1; Because learning_english_app depends on google_fonts >=2.3.1 which requires Flutter SDK version >=2.10.0-0, version solving failed.)
exit code 1"
How to install package? help me

Please run flutter doctor -v. If you're not running Flutter 2.10, you probably need to upgrade with flutter upgrade


Please add the ability to make the 'Switch Kana' key skip half-size hiragana

This is a feature which I personally never use and it adds a large number of button presses to my usage of this program every day. I know this is nonstandard, but it'd be incredibly useful.

Hi JB0x0003,
Would you tell us more information of this request?
We would like to know steps to reproduce your expected behavior with some examples?
Thank you,