Use Java 21 (LTS) for integration tests

Type of change
Select the type of your PR

Enhancement / new feature

Description
Please describe your pull request
Additional Context
Why are you making this pull request?
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[ ] Write tests
[ ] Make sure all tests pass
[ ] Review performance test results. Ensure that any degradations to performance numbers are understood and justified.
[ ] Make sure all Sonar-Lint warnings are addressed or are justifiably ignored.
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] For user facing changes, update CHANGELOG.md (remember to include changes affecting the API of the test artefacts too).

Noticed this error whilst using JDK 21.   We'll probably need a bytebuddy upgrade (if available)
Caused by: java.lang.IllegalArgumentException: Java 21 (65) is not supported by the current version of Byte Buddy which officially supports Java 20 (64) - update Byte Buddy or set net.bytebuddy.experimental as a VM property
at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:96)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:4011)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2224)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4050)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3734)
at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:402)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:610)
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:225)
at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:281)

It is assertj that is pulling in the older byte-buddy which is incompatible with JDK 21.  They've already bumped main to a version without the problem.  We just await a assertj release that includes it.  For now I added a dependencyManagement override.
https://github.com/assertj/assertj/blob/9ec51b86f725206227966f339bc7952056fa6099/assertj-core/pom.xml#L31

The build now works:
Installed distributions
  Trying to resolve the latest version from remote
  Resolved latest version as 21.0.0+35.0.LTS
  Trying to download...
  Downloading Java 21.0.0+35.0.LTS (Temurin-Hotspot) from https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21%2B35/OpenJDK21U-jdk_x64_linux_hotspot_21_35.tar.gz ...
 ...
  Creating toolchains.xml for JDK version 21 from temurin

But we need to update the sonar build too

But we need to update the sonar build too

The PR is updating .github/workflows/sonar.yml to 21, so it will be right.
The sonar check is failing on the PR  because the workflow is using the action from main (not the PR).  I guess  this was intent - because the workflow handles secrets.
We can just merge without the sonar check, or I can split the PR and update the sonar workflow flow, let that be merged then this PR should pass.


Coinbase.com sensor platform

Description:
Add component and sensor platform for Coinbase.com sensors.  This will allow a user to monitor the wallet balances in their coinbase account by supplying an api key and api secret.
Example entry for configuration.yaml (if applicable):
coinbase:
  api_key: "xyzqwertyasdf"
  api_secret: "poiuytrewqlkjhgfdsamnbvcxz"
  exchange_rate_currencies:
    - BTC
    - ETH
    - LTC

Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#4168
Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

@MartinHjelmare Thanks for your review & comments!  I implemented the requested changes but I'm getting a JSON encoder error when the logbook/recorder is enabled.  I'm not sure how to fix this.
2017-12-31 10:05:41 ERROR (Recorder) [homeassistant.components.recorder.util] Error executing  query: Object of type 'CoinbaseData' is not JSON serializable
Exception in thread Recorder:
Traceback (most recent call last):
  File "/home/nolan/dev/home-assistant/homeassistant/remote.py", line 126, in default
    return json.JSONEncoder.default(self, o)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'CoinbaseData' is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/nolan/dev/home-assistant/homeassistant/remote.py", line 132, in default
    for child_obj in o]
TypeError: 'CoinbaseData' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/nolan/dev/home-assistant/homeassistant/components/recorder/__init__.py", line 3 22, in run
    dbevent = Events.from_event(event)
  File "/home/nolan/dev/home-assistant/homeassistant/components/recorder/models.py", line 39,  in from_event
    event_data=json.dumps(event.data, cls=JSONEncoder),
  File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/home/nolan/dev/home-assistant/homeassistant/remote.py", line 135, in default
    return json.JSONEncoder.default(self, o)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'CoinbaseData' is not JSON serializable

That implies that a complex object, ie CoinbaseData is passed over the event bus. Which of my suggestions might have caused that? Maybe it's easier if you push the changes, so we can have a look together?


Please help me with circuit connection

I have bought the rc car and following is remote circuit of the car.Can you please help me with it that where to connect wires.
Please help it's urgent

#164  this issue will help you with that. Good luck

It helped. Thank you @VishalWrench


New Prompt within GraphQL Generation Docs

Within https://github.com/awslabs/aws-amplify-unicorntrivia-workshop/blob/master/documentation/admin_panel_doc.md
There's an additional prompt when setting up Admin Panel in regards to max statement depth

@axptwig This should be the root issue. Can you update the screenshots. Thanks!

issue is no longer up to date


implemented list word functionality, updated access on all get calls

Implemented a list word function so users can see words that are already defined.
Updated Functions to use Function access level instead of anonymous.

thank you kind sir!


[TRACKER] Vulkan Mobile backend-specific issues

This issue tracks issues specific to the Vulkan Mobile backend (such as bugs and undocumented missing features), regardless of the host platform.
See also https://github.com/godotengine/godot/issues/39033, which is specific to Android-only issues.
Bugs

[x] https://github.com/godotengine/godot/issues/55253
[ ] https://github.com/godotengine/godot/issues/55867
[ ] https://github.com/godotengine/godot/issues/55868
[ ] https://github.com/godotengine/godot/issues/55870
[ ] https://github.com/godotengine/godot/issues/55878
[ ] https://github.com/godotengine/godot/issues/55879
[ ] https://github.com/godotengine/godot/issues/55881
[ ] https://github.com/godotengine/godot/issues/55882
[ ] https://github.com/godotengine/godot/issues/55892
[ ] https://github.com/godotengine/godot/issues/55900
[ ] https://github.com/godotengine/godot/issues/55901
[ ] https://github.com/godotengine/godot/issues/56555

Documentation

[ ] https://github.com/godotengine/godot/issues/55880

Enhancements

[ ] https://github.com/godotengine/godot/issues/53731

Lights don't render on Mobile in github artifacts, tho work fine (with forced lambert shading) on Remi's Pre-Alphas

Lights don't render on Mobile in github artifacts, tho work fine (with forced lambert shading) on Remi's Pre-Alphas

Directional and point lights seem to render fine on my end (check the issues with screenshots I created today).

Here I've made an issue https://github.com/godotengine/godot/issues/55892 with the current Nightly Build. I suspect GPU architectural issues if people on newer GPUs don't have this issue.

Should this [and #39033] be with Milestone 4.0? Or perhaps 4.1.

Should this [and #39033] be with Milestone 4.0? Or perhaps 4.1.

I added milestone 4.0. However, I can't promise that all Vulkan mobile rendering bugs will be fixed for 4.0 – some of those will have to wait for 4.1.


Malformed version error for Redix 6.x update diff only

I can deploy version 6 of Redis on Elasticache without issue, but updates fail on the pulumi diff ( even though there were no changes to elasticache).
Error
error: diffing urn:pulumi:development::my-service::aws:elasticache/cluster:Cluster::redis-development: Malformed version: 6.x
Config
new aws.elasticache.Cluster(`redis-${stack}`, {
  engine: 'redis',
  engineVersion: '6.x',
  nodeType: 'cache.m4.large',
  numCacheNodes: 1,
  subnetGroupName: redisSubnetGroup.id,
  securityGroupIds: [redisSecurityGroup.id],
  port: 6379
})

Supporting info https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/supported-engine-versions.html

Thanks for pointing this out. It looks like this is a validation issue with the upstream dependency and tracked in https://github.com/terraform-providers/terraform-provider-aws/issues/15625

Good morning. Issue https://github.com/hashicorp/terraform-provider-aws/issues/15625 has been closed. When can we expect this to be resolved?

Folks, I am sorry I didn't close this out earlier - this has been released in our software and should be working now


Build for net7.0

Hello, I have a net7 library project and I can't add the library...
I have downloaded the source code and I have modified this line:
<TargetFrameworks>net7.0;net7.0-android;net7.0-ios16.1< /TargetFrameworks>,
at this moment it has let me add its library to my library...
if possible, can you enable it in the next version?...
Thanks

Sorry, man. I can't get the project built for a half a year

have you tried?
sudo dotnet workload restore
or
sudo dotnet workload install macos
I generated version <IP_ADDRESS>
CardsView.Maui.<IP_ADDRESS>-dev.zip
dotnet pack PanCardView/PanCardView.csproj -o Nugets -c Debug --include-source /p:Version=<IP_ADDRESS>-dev

@mgarcialo no, it doesn't help
Honestly, I am so frustrated with all these constant maui build problems...

/usr/local/share/dotnet/sdk/6.0.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5) : error NETSDK1147: To build this project, the following workloads must be installed: maui-ios

Why is it trying to find .NET v6 if I have v7 installed... oh man, I don't think I have time to fight with that...

/usr/local/share/dotnet/sdk/6.0.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5) : error NETSDK1147: To build this project, the following workloads must be installed: maui-ios

Why is it trying to find .NET v6 if I have v7 installed... oh man, I don't think I have time to fight with that...

I compile everything already in net 7

@AndreiMisiukevich i came here to see if this was an alternative for the buggy carouselview in MAUI. I use .NET7 also for my MAUI project and i am familiair with your error. I always have this error after i update my workloads (dotnet workload update) in dotnet.  After the installation is complete, restart visual studio. After that i can compile it again. I hope it helps you to.

v0.0.4


make copyright assignment more explicit

@WalterBright please rebase or close, thanks.

Might be worth looking into:
https://www.clahub.com/

I rebased it and change the assignment to the D Language Foundation.

Auto-merge toggled on

I still can't actually "assign my copyright" to anybody.

That's not my understanding of copyrights. Copyrights are property and can be sold, transferred, etc.


deprecated filtering settings

the settings of the "deprecated filtering" should have a global server setting
Expected Behavior
Be able to set a global server setting to disable the deprecated filtering
Current Behavior
currently the settings needs to be in many places to completely bypass de deprecated filtering

in checks
in client config for the keepalive event
in all manual tcp socket events

Your Environment

Sensu version used: 0.26.3

This is not a Sensu Core issue, but a sensu-plugin library one https://github.com/sensu-plugins/sensu-plugin
The deprecated filtering messages are only a temporary measure to notify users of impending changes. I for one am not against the idea of adding a "global" sensu-plugin configuration setting.
@xblitz I have created a sensu-plugin issue https://github.com/sensu-plugins/sensu-plugin/issues/166
Closing this one.

This feature has been added in sensu-plugin 1.4.5, now available on rubygems.org


Allow comma-separated arguments for --extra

Usually the form is --extra ONE --extra TWO --extra THREE. With this change, --extra ONE,TWO --extra THREE will be parsed to achieve the same result.
Contributor checklist

[x] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[x] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[x] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Fixes: #1430

Thanks, @AndydeCleyre!


Datadog instrumentation: Errors in threads do not bubble up to top level traces

I have some traces which contain errors, but the trace itself is marked as ok in Datadog even though these errors are not being rescued. This means that we can't monitor error rates using APM.

Can you pinpoint where this happens? Processing errors are always rescued by Racecar, but errors in the fetcher thread should be dealt with intelligently, or the process be killed.

Sorry, this is happening in the process_batch method.

Hmm, here's the culprit:
https://github.com/zendesk/racecar/blob/163497d3e7ac3f71a0af7372501db9cd9c6f3568/lib/racecar/runner.rb#L196-L206
I remember the blocks being shuffled around for some other reason. Can you check out the history? The problem is that instrument happens outside of the with_pause block. I think we should be able to swap those, but there might be a reason for why it's like it is right now. Intuitively, we would want to treat each attempt as a span methinks.


Change verbiage and link around CLA

Per legal review, the verbiage and link about the CLA should be changed.  Happy to discuss in company Slack/email if more details needed.

What about #110 ?

🤷 Whichever.  Feel free to delete/close this one then since the other already has some additional thought behind it.  Sorry I didn't check first!

What about #110 ?

🤷 Whichever. Feel free to delete/close this one then since the other already has some additional thought behind it. Sorry I didn't check first!

No worries. Feel free to add feedback in @mateuszrzeszutek PR.


Add new playbook "Send-UnhealthyAzureArcResourceAlert"

Required items, please complete
Change(s):

Add new playbook "Send-UnhealthyAzureArcResourceAlert"

Reason for Change(s):

Contributing new playbook

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Yes

@microsoft-github-policy-service agree

Thank you @mlaraibkhan for committing the changes. Will be investigating this commits.
You can expect an update till 25 Jul 2023


Getting "OSError: [WinError 6] The handle is invalid" after epoch ends in Tensorflow

I'm running a U-net model in Tensorflow with GPU enhancement. After the 2nd or 3rd epoch, I get several error messages stating: "OSError: [WinError 6] The handle is invalid." I did not have this issue come up when I ran it with CPU only.
I'm using an Anaconda environment created with conda-forge. These are the package/software versions I'm using:
Python: 3.10.6, Tensorflow: 2.10.0, cudatoolkit 11.2, cudnn 8.1.0
Here is a sampling of the error message:
  (1) UNKNOWN:  OSError: [WinError 6] The handle is invalid
Traceback (most recent call last):

  File "C:\Users\Administrator\anaconda3\envs\spyder-gpu7\lib\site-packages\tensorflow\python\ops\script_ops.py", line 269, in __call__
    return func(device, token, args)

  File "C:\Users\Administrator\anaconda3\envs\spyder-gpu7\lib\site-packages\tensorflow\python\ops\script_ops.py", line 147, in __call__
    outputs = self._call(device, args)

  File "C:\Users\Administrator\anaconda3\envs\spyder-gpu7\lib\site-packages\tensorflow\python\ops\script_ops.py", line 154, in _call
    ret = self._func(*args)

  File "C:\Users\Administrator\anaconda3\envs\spyder-gpu7\lib\site-packages\tensorflow\python\autograph\impl\api.py", line 642, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Administrator\AppData\Local\Temp\2\ipykernel_904\876533028.py", line 3, in extract_mask
    mask = tf.keras.utils.img_to_array(Image.open(mask_path))

  File "C:\Users\Administrator\anaconda3\envs\spyder-gpu7\lib\site-packages\PIL\Image.py", line 3092, in open
    fp = builtins.open(filename, "rb")

OSError: [WinError 6] The handle is invalid

	 [[{{node EagerPyFunc}}]]
	 [[IteratorGetNext]]
0 successful operations.
0 derived errors ignored. [Op:__inference_test_function_77188]

Restarting kernel...

Does anyone know why this is happening, or what I can do to fix it?

@Robert173
Can you please fill the issue template. Also please provide a code snippet to reproduce the issue reported here.
Thank you !


It doesn't work with local files.

It just doesn't download anything when used with local html files.

Facing the same issue

Hey all - you'll want to use the chrome extension for capturing local files
Please feel free to reopen this if that does not work for you

@steve8708 I'm using the chrome extension and have the same issue. For local html files opened in the browser the chrome extension simply says "Done" and doesn't download a figma .json file

Same here.
I tested this as I wanted to easily screencap a HTML mail from Outlook.
However it wasn't related to the special format (*.mht) or that I was relying on Edge.
It was just related to the fact, that the extension can't be used with local files;
possibly a security safeguard that applies to everyone?
I worked around it by using a local http server (I opted for https://www.uwamp.com/ )

@steve8708 Normal GitHub users can't reopen this issue BTW; we could only repost it ;-)

ah! thanks @valioDOTch, reopenning

yeah for anyone interested - in the interim before we find a fix here, a local HTTP server should really help. I often use http-server for this
so if your file is something like site/page.html
assuming you have nodejs installed, you can just run
npx http-server ./site

and then that'll host your local file(s) on http://localhost:8080/page.html and then you can use the chrome extension against that URL
hope this helps!


Ingredients cannot be edited

Ingredient name (and other potential fields) cannot currently be edited.

This includes adding/deleting tags to/from ingredients

Ref #207


fix: add training-operator aggregation ClusterRoles

Adds Aggregation ClusterRoles for training-operators so the default-editor can get access to manage the various *Jobs the training-operator offers. This fixes #108 in main, thus latest/edge, a follow up PR will be sent to fix the issue in the 1.7/stable channel.
Part of #108
TODO:

[x] Add an integration test case for covering the scenario described in #108

@phoevos I have addressed all your comments, I believe. Ready for another round.

Thanks @DnPlas! I still think that this is super weird but I won't block on it😋
I'll approve as soon as the CI completes!


Bug: GitOps with Github : Failed to load

📜 Description
When trying to setup github for GitOps, getting this error

(refer the recorded video)
👟 Reproduction steps
Not sure if this is my cluster issue or devtron v0.6.17 , if you are willing to troubleshoot this , i am happy to jump on a gmeet call and show you this issue , which is coming everytime on my cluster
👍 Expected behavior
Github should be configured for GitOps
👎 Actual Behavior
Error while adding github under gitops
☸ Kubernetes version
v1.26.3
Cloud provider

Digital Ocean

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#4067

c86388f7-db85-4c9f-a411-43bb1a47291e.webm

I met the same problem with Devtron Version 0.6.24.

I met the same problem with Devtron Version 0.6.24.
Hi @celiawa,
To figure out the issue, we will need some more information.

Can you help us with the commands you used to install and update Devtron?

Can you return the output of the following commands so that we can be sure that Argocd was installed properly?
kubectl get po -n devtrocd

For a speedier resolution, you can reach out to our support community at https://discord.devtron.ai and message in #setup-and-installation channel?


Add Task/AsyncOption defaultValue and defaultWith

Proposed Changes
Add a few Task/AsyncOption functions that exist in the Option module.
Types of changes
What types of changes does your code introduce to FsToolkit.ErrorHandling?
Put an x in the boxes that apply and remove ones that don't apply

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

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] Build and tests pass locally
[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Looks great. Mind giving these doc comments too?

Done!


How to evaluate on scanobjectnn with model trained on ModelNet40?

Hello Mikaela,
When I trained my classification model on ModelNet40, how to evaluate on your dataset with 11 common classes? It seems that your evaluate_scenennobjects.py is for models trained on your dataset.

Hi,
I have just added the script for that. Please see the file "evaluate_real_trained_on_synthetic.py". You can see the class mapping file in "mapping2.py".
Documentation of the code will be coming soon. Thanks!

Thanks, just can't wait to learn more about your dataset.


VPC Gateway loses connectivity as soon as an EIP gets attached to it

Kube-OVN Version
v1.12.18
Kubernetes Version
Client Version: v1.28.10
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.10
Operation-system/Kernel Version
Ubuntu 22.04.4 LTS
6.5.0-1023-azure
kubespray cluster deployed to an Azure VM.
Description
Dear community,
We would like to add multi-tenancy capability to our kubespray Kubernetes cluster deployed to Azure using VPC Gateways. Deployment of the gateways seems to work as expected, until an EIP gets created and assigned to the Gateway. Starting from this point in time, the Gateway loses all its connectivity.
Could you please help us to find and fix the issue?
Thanks in advance for your support!
Steps To Reproduce

Create the following resources:

---
apiVersion: v1
kind: Namespace
metadata:
  name: test-ovn
---
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
  name: test-ovn-vpc
spec:
  namespaces:
  - test-ovn
  staticRoutes:
  - cidr: <IP_ADDRESS>/0
    nextHopIP: <IP_ADDRESS>
    policy: policyDst
---
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
  name: test-ovn-internal-subnet
spec:
  vpc: test-ovn-vpc
  cidrBlock: <IP_ADDRESS>/16
  protocol: IPv4
  namespaces:
    - test-ovn
---
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
  name: ovn-vpc-external-network
spec:
  protocol: IPv4
  provider: ovn-vpc-external-network.kube-system
  cidrBlock: <IP_ADDRESS>/24  # Azure subnet
  gateway: <IP_ADDRESS>  # IP address of the Azure gateway in the subnet
  excludeIps:
  - <IP_ADDRESS>..<IP_ADDRESS>
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ovn-vpc-external-network
  namespace: kube-system
spec:
  config: '{
      "cniVersion": "0.3.1",
      "type": "ipvlan",
      "master": "eth0",
      "ipam": {
        "type": "kube-ovn",
        "server_socket": "/run/openvswitch/kube-ovn-daemon.sock",
        "provider": "ovn-vpc-external-network.kube-system"
      }
    }'
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: ovn-vpc-nat-config
  namespace: kube-system
data:
  image: docker.io/kubeovn/vpc-nat-gateway:v1.12.18
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: ovn-vpc-nat-gw-config
  namespace: kube-system
data:
  enable-vpc-nat-gw: 'true'
---
kind: VpcNatGateway
apiVersion: kubeovn.io/v1
metadata:
  name: test-ovn-gw
spec:
  vpc: test-ovn-vpc
  subnet: test-ovn-internal-subnet
  lanIp: <IP_ADDRESS>
  selector:
    - "kubernetes.io/os: linux"
  externalSubnets:
    - ovn-vpc-external-network

Gateway Pod gets created, with two interfaces, as expected:

vpc-nat-gw-test-ovn-gw-0:/kube-ovn# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo
       valid_lft forever preferred_lft forever
2: net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 00:22:48:87:55:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global net1
       valid_lft forever preferred_lft forever
    inet6 fe80::22:4800:187:55e8/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
275: eth0@if276: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default
    link/ether 96:36:c5:38:1c:32 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9436:c5ff:fe38:1c32/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

Gateway Pod can reach other VMs in the VNet:

vpc-nat-gw-test-ovn-gw-0:/kube-ovn# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=1.17 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=1.31 ms
From <IP_ADDRESS>: icmp_seq=2 Redirect Host(New nexthop: <IP_ADDRESS>)
From <IP_ADDRESS>: icmp_seq=3 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=1.07 ms
From <IP_ADDRESS>: icmp_seq=4 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=1.18 ms
From <IP_ADDRESS>: icmp_seq=5 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=5 ttl=64 time=1.19 ms
From <IP_ADDRESS>: icmp_seq=6 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=6 ttl=64 time=1.64 ms
64 bytes from <IP_ADDRESS>: icmp_seq=7 ttl=64 time=1.78 ms
From <IP_ADDRESS>: icmp_seq=8 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=8 ttl=64 time=1.15 ms
64 bytes from <IP_ADDRESS>: icmp_seq=9 ttl=64 time=1.41 ms
64 bytes from <IP_ADDRESS>: icmp_seq=10 ttl=64 time=1.22 ms
From <IP_ADDRESS>: icmp_seq=11 Redirect Host(New nexthop: <IP_ADDRESS>)
64 bytes from <IP_ADDRESS>: icmp_seq=11 ttl=64 time=1.11 ms
64 bytes from <IP_ADDRESS>: icmp_seq=12 ttl=64 time=1.60 ms
64 bytes from <IP_ADDRESS>: icmp_seq=13 ttl=64 time=1.13 ms
64 bytes from <IP_ADDRESS>: icmp_seq=14 ttl=64 time=1.77 ms
64 bytes from <IP_ADDRESS>: icmp_seq=15 ttl=64 time=1.59 ms
64 bytes from <IP_ADDRESS>: icmp_seq=16 ttl=64 time=1.31 ms

Create an EIP and assign it to the the Gateway:

---
kind: IptablesEIP
apiVersion: kubeovn.io/v1
metadata:
  name: test-ovn-outgoing-ip
spec:
  natGwDp: test-ovn-gw
  externalSubnet: ovn-vpc-external-network

As soon as the EIP gets created and assigned to the the Gateway, all the traffic gets dropped:

vpc-nat-gw-test-ovn-gw-0:/kube-ovn# ping <IP_ADDRESS>
From <IP_ADDRESS> icmp_seq=4054 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4054 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4054 Destination Host Unreachable

Current Behavior
As soon as an EIP gets created and assigned to the the Gateway, all the traffic gets dropped.
Expected Behavior
EIP gets and assigned to the the Gateway. Traffic continues to flow as previously. EIP can be used to create SNAT rules.

Could you provide ip addresses, routes and iptables rules of the vpc nat gateway pod (after adding EIP) ?
ip addr show
ip route show
ip neigh show
iptables -t nat -S

Of course, please find the requested information, from inside the gateway, after having added the EIP:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo
       valid_lft forever preferred_lft forever
2: net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 00:22:48:87:55:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global net1
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/24 scope global secondary net1
       valid_lft forever preferred_lft forever
    inet6 fe80::22:4800:187:55e8/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
275: eth0@if276: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default
    link/ether 96:36:c5:38:1c:32 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9436:c5ff:fe38:1c32/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

# ip route show
default via <IP_ADDRESS> dev net1
<IP_ADDRESS>/24 dev net1 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/12 via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/16 dev eth0 proto kernel scope link src <IP_ADDRESS>

# ip neigh show
<IP_ADDRESS> dev net1 FAILED

# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N DNAT_FILTER
-N EXCLUSIVE_DNAT
-N EXCLUSIVE_SNAT
-N SHARED_DNAT
-N SHARED_SNAT
-N SNAT_FILTER
-A PREROUTING -j DNAT_FILTER
-A POSTROUTING -j SNAT_FILTER
-A DNAT_FILTER -j EXCLUSIVE_DNAT
-A DNAT_FILTER -j SHARED_DNAT
-A SNAT_FILTER -j EXCLUSIVE_SNAT
-A SNAT_FILTER -j SHARED_SNAT

ip neigh show

<IP_ADDRESS> dev net1 FAILED
Here is the problem.
Could you please exec the following commands in the vpc nat gateway pod?
arping -c1 <IP_ADDRESS>
arping -c1 <IP_ADDRESS> -s <IP_ADDRESS>
arping -c1 <IP_ADDRESS> -s <IP_ADDRESS>

Here is the output of the arping commands:
# arping -c1 <IP_ADDRESS>
ARPING <IP_ADDRESS> from <IP_ADDRESS> net1
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

# arping -c1 -s <IP_ADDRESS> <IP_ADDRESS>
ARPING <IP_ADDRESS> from <IP_ADDRESS> net1
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

# arping -c1 -s <IP_ADDRESS> <IP_ADDRESS>
ARPING <IP_ADDRESS> from <IP_ADDRESS> net1
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

It's weird. Could you please repeat the commands before having the eip?

Of course, here the output, from inside the gateway Pod, before creating the EIP:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo
       valid_lft forever preferred_lft forever
2: net1@if2: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 00:22:48:87:55:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global net1
       valid_lft forever preferred_lft forever
    inet6 fe80::22:4800:187:55e8/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
277: eth0@if278: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default
    link/ether 96:36:c5:38:1c:32 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9436:c5ff:fe38:1c32/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

# ip route show
default via <IP_ADDRESS> dev net1
<IP_ADDRESS>/24 dev net1 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/12 via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/16 dev eth0 proto kernel scope link src <IP_ADDRESS>
vpc-nat-gw-clearml-swisscom1-gw-0:/kube-ovn#
vpc-nat-gw-clearml-swisscom1-gw-0:/kube-ovn# ip neigh show
vpc-nat-gw-clearml-swisscom1-gw-0:/kube-ovn#
vpc-nat-gw-clearml-swisscom1-gw-0:/kube-ovn# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N DNAT_FILTER
-N EXCLUSIVE_DNAT
-N EXCLUSIVE_SNAT
-N SHARED_DNAT
-N SHARED_SNAT
-N SNAT_FILTER
-A PREROUTING -j DNAT_FILTER
-A POSTROUTING -j SNAT_FILTER
-A DNAT_FILTER -j EXCLUSIVE_DNAT
-A DNAT_FILTER -j SHARED_DNAT
-A SNAT_FILTER -j EXCLUSIVE_SNAT
-A SNAT_FILTER -j SHARED_SNAT

# arping -c1 <IP_ADDRESS>
Interface "net1" is not ARPable

# arping -c1 -s <IP_ADDRESS> <IP_ADDRESS>
Interface "net1" is not ARPable

# arping -c1 -s <IP_ADDRESS> <IP_ADDRESS>
Interface "net1" is not ARPable

Please try the following command in the vpc nat gateway after creating eip:
ip link set net1 arp off

Another possible solution is to set net arp on before creating the eip:
ip link set net1 arp off
# check whether <IP_ADDRESS> is reachable
ping -c1 <IP_ADDRESS>

I did the following:

Before creating the EIP, run the command ip link set net1 arp off:

<IP_ADDRESS> was still reachable

Create the EIP:

Same problem as before, gateway lost connectivity

Run the command ip link set net1 arp off again:

Connectivity got restored, now the gateway can reach all the IPs again

Is there a way to automate this? Or is this a bug in the software?
I am going to make more tests by deploying the SNAT configuration and try to access the external IPs from a Pod within the VPC. I'll let you know the outcome.
Already a huge thank you for your help!

Please exec the following command to get information of  the ipvlan interface:
ip -d addr show net1

I cannot reproduce this problem in my KIND environment. Not sure whether it's related to the Azure networking.

Please find here the information about the ipvlan interface:
# ip -d addr show net1
2: net1@if2: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 00:22:48:87:55:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 0 promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535
    ipvlan  mode l2 bridge numtxqueues 1 numrxqueues 1 gso_max_size 62780 gso_max_segs 65535 tso_max_size 62780 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 62780 gro_ipv4_max_size 65536
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global net1
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/24 scope global secondary net1
       valid_lft forever preferred_lft forever
    inet6 fe80::22:4800:187:55e8/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

I can totally imagine that the issue is somehow related to the Azure networking. In our specific case, this is not a big deal, as the environment we are building in Azure is only meant for evaluation purpose, and the final setup will be on prem. But maybe anyway worth to understand/fix for other people who may find interesting to run productive setups on Azure.


Support setting the foreground on an existing Style

Add a .fg method to Style to set the foreground Colour.  This simplifies
color parsers that need to handle attributes before the first color,
such as parsing "bold green" into Style::new().bold().fg(Green).

Coverage decreased (-6.7%) to 84.871% when pulling e2846f0363d6bf9f8454824a63e230d436ac2adf on joshtriplett:style-fg into 10dbe8e434d9446adc1089fa9d0f722f606e255f on ogham:master.


addes parantheses around the link

in the function 'Add Todoist task with the current page'
now there is parentheses around the link to indicate its is a link and not create visual cluster in the todo title

i found this plugin extremely useful but the day i started using is something caught my eye a task i created
'switch to para literatures/para.md'
todo is 'switch to para' but when a red it my brain observed
'para literatures' as a thing so i thought just put something in between
keep in my in Todoist app there is no underline or anything to indicate that its a link unless you open the todo
with the parentheses its much better

h

Which platform did you take the screenshot on? Links are underlined for me (on the web client)

Ios, Thats the platform i use 90% of the time and many people too probably

so any updates?

Hey @ThDag, I've pulled this commit into #257 and made this optional through a settings toggle as well as updated the changelog. This will be released with the next (1.12) release.
Thanks for the contribution! 🎉

thank you for accepting my contribution 🙏


Iam getting error while running minikube start statement

0
down vote
favorite
1)First i have enabled hyper-v and bios by using control panel(Turn on WIndows features on or off)
2)Next I have installed Kubectl and Minikube.
3)Created a virtual switch as external network in hyper-v
4)Now am trying to execute this command "minikube start --vm-driver hyperv --hyperv-virtual-switch "primaryvirtualswitch"

am getting error.Please check the error in image

Starting local Kubernetes v1.9.0 cluster... Starting VM... E0323 19:08:23.813357 11008 start.go:159] Error starting host: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: Error loading host from store: open C:\Users\manojkumar.minikube\machines\minikube\config.json: The system cannot find the file specified..
Retrying. E0323 19:08:23.816361 11008 start.go:165] Error starting host: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: Error loading host from store: open C:\Users\manojkumar.minikube\machines\minikube\config.json: The system cannot find the file specified.enter image description here
Proposed Solution:
Page to Update:
https://kubernetes.io/...

@jmanojkumar :wave: This issue sounds more like a request for support and less like an issue specifically for docs. You can bring your question to the #kubernetes-users channel in Kubernetes slack. You can also search resources like Stack Overflow for answers to similar questions.


chore: run ruff check explicitly

Change Summary
Running ruff check <path> is both clearer and more future-proof, since ruff <path> is deprecated in newer versions of Ruff.
Related issue number

Checklist

[x] The pull request title is a good summary of the changes - it will be used in the changelog
[ ] Unit tests for the changes exist
[ ] Tests pass on CI
[ ] Documentation reflects the changes where applicable
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

I've no idea what causes the seg fault in the ubuntu pypy3.10 test, it seems unrelated.
@sydney-runkle what am I missing?

@idan22moral,
Yeah, it shouldn't be related 😢 I've never had that check fail so many times after re-runs. Trying again now!


Clone of: Updated some issues of the PSI meeting #65

This is a clone of #65 in a communal branch of HUPO0-PSI/mzQC where all members can contribute

added PSI MS relations (#54)

removed length information from value (#57)

added description from (#63)

No longer relevant; closing.


Is HTML5 form dirty?

How do I determine if the HTML5 form is dirty from the Aurelia ViewModel? Angular had properties like $dirty, etc.
How has this been implemented in Aurelia?
I would like to expose an isDirty property on the ViewModel to enable/disable buttons, etc. based on form state.
Much appreciate guidance or added framework feature.

Aurelia doesn't have the equivalent of $dirty but we probably could build something using a [BindingBehavior](http://www.danyow.net/aurelia-binding-behaviors/).  In the meantime, take a look at how this has been implemented in the app-contacts sample app.

OK, thank you.

After taking a look, a binding behavior would provide real-time form state, as opposed to checking in deactivate.
I hope this can get added to this library or the validation library.
Best,
Karl

I've done some further investigation of BindingBehavior.  Asking a developer to add a binding behavior to every binding on a form to track changes, is contrary to the bedrock principals of Aurelia; that being, not require framework goo or ceremony code for common scenarios.
I don't know much about the internals of Aurelia.  Here are two possible solutions:

Add a binding behavior to the  element.  Then any time a binding update occurs on any child controls, provide an event or property that can be checked.  Possibly, not use the actual  element, but create custom element that monitors all child controls bindings.

Ask developers to implement get/set properties on all their objects, then when a property is changed, mark the entity object as dirty.

For LOB applications, isDirty is a main line scenario.
Thank, you,
Karl

I think the best way to do this would be with a custom attribute. That attribute can implement the created callback to gain access to the view. Using the metadata in the view it could find all the binding expressions within the form and use that to implement an isDirty functionality. I know @jdanyow has implemented something like this for validation with BreezeJS. Perhaps he can provide some additional insight.

here's a quick and (cough) dirty implementation of the custom attribute:
dirty.js
import {bindingMode, customAttribute, inject} from 'aurelia-framework';

/**
  * A custom attribute that tracks whether users have interacted with two-way bound elements.
  */
@customAttribute('dirty')
@inject(Element)
export class Dirty {
  view = null;
  bindings = null;
  element = null;

  constructor(element) {
    this.element = element;
  }

  created(view) {
    this.view = view;
  }

  bind() {
    // find all two-way bindings to elements within the element that has the 'dirty' attribute.
    this.bindings = this.view.bindings
      .filter(b => b.mode === bindingMode.twoWay && this.element.contains(b.target));
    // intercept each binding's updateSource method.
    let i = this.bindings.length;
    let self = this;
    while (i--) {
      let binding = this.bindings[i];
      binding.dirtyTrackedUpdateSource = binding.updateSource;
      binding.updateSource = function(newValue) {
        this.dirtyTrackedUpdateSource(newValue);
        if (!self.value) {
          self.value = true;
        }
      };
    }
  }

  unbind() {
    // disconnect the dirty tracking from each binding's updateSource method.
    let i = this.bindings.length;
    while (i--) {
      let binding = this.bindings[i];
      binding.updateSource = binding.dirtyTrackedUpdateSource;
      binding.dirtyTrackedUpdateSource = null;
    }
  }
}

You'd use it like this:
app.html
<require from="./dirty"></require>

<form dirty.two-way="isDirty" submit.delegate="submit()">

  ... some inputs ...

  <button disabled.bind="!isDirty">Submit</button>
</form>

app.js
export class App {
  isDirty = false;

  // ... other properties ...

  submit() {
    // other submit logic...

    // reset isDirty state
    this.isDirty = false;
  }
}

Remaining work:

If a user modifies a field and later undos their edit, the form will still be considered "dirty".
Add ability to "revert" changes?
Add ability to "accept" changes?
Handle nested templates

NOTE: you'll need to wait for this week's release to start using this.  The this.element.contains(b.target) line relies on some yet to be released binding engine changes.

Many thanks.  Have a great day.

@jdanyow
Thanks for this.  What tools do we have available to access nested templates? Where can we find information on the binding object you mention above?
Thanks.
Kamal.

@KamBha Here are the docs for the binding interface: http://aurelia.io/docs.html#/aurelia/binding/1.0.0-beta.1.1.3/doc/api/interface/Binding

Just wanted to +1 this issue. In my case a boundValueChanged(name, newValue) callback on the view-model would be most helpful. I'm going to adapt the custom attribute code above to do the equivalent.

For a view model, if you define properties as bindable, you can implement a propertyChanged callback that will get invoked when any property changes. I'm not sure if that will work for you, but I wanted to mention it.

I think this would make a nice plugin for anyone who is interested in contributing. I'm sure @jdanyow would provide advice based on his example above.

@EisenbergEffect - thanks. I had come across propertyChanged but discounted it for some reason - I'll have another look.

@EisenbergEffect - my properties are members of a bound input object. Is there a way to make them @bindable without defining them explicitly in the view-model?

Hi
I am trying to modify dirty to support dirty with embedded components.
You can see my work here:-
https://github.com/KamBha/aurelia-play
I have created a custom element called important-date to process a small part of my data model.  I want to update the dirty code above to take into account my important-date bindings, but I don't see how to gain access to the bindings of the important-date.
How do I access sub component bindings?

Closing this for now since @jdanyow shows a solution above and there are community plugins for undo/redo binding behaviors as well.


⚠ Bofrost.be has degraded performance

In 28a843f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1432 ms

Resolved: Bofrost.be performance has improved in 04d763b after 21 minutes.


add phpunit, codefixer and run it

Current coverage is 9.87% (diff: 50.00%)

No coverage report found for master at 6deba9d.

Powered by Codecov. Last update 6deba9d...0e1ef83


Improve comments in electrum/blockchain.go

Point to correct URLs for latest protocol docs + mention version

Pull Request Test Coverage Report for Build 137

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

Totals

Change from base Build 123:
0.0%

Covered Lines:
400

Relevant Lines:
1004

💛  - Coveralls

Pull Request Test Coverage Report for Build 137

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

Totals

Change from base Build 123:
0.0%

Covered Lines:
400

Relevant Lines:
1004

💛  - Coveralls

LGTM but there's a conflict with PR #18 that I have merged already.

Fixed the conflict. Merging.


make lists -j32 doesn't seem to be honoring the thread count. (Also happens when calling make training -j32)

Hi team,
I'm training a model on some font with START_MODEL=eng and while the resulting .traineddata can correctly guess a lot of things with the font there are some which trip it up. It was only trained on a couple thousand lines.
To try and lazily solve this problem I'm trying again with far more training lines than previously. (160k; very overkill and likely pointless cycles to train).
During make training I've noticed that many preparation steps take place in parallel but it seems the lists step is calling tesseract data/font-ground-truth/abc_00001.tif data/font-ground-truth/abc_00001 --psm 13 lstm.train one .tif at a time.
In my limited experience with this software this seems like a step that could be run concurrently and would help speed up the initial data preparation step in getting to the actual training part of the process without having to resort to scripting.
Is it possible to make this training preparation step run in parallel with multiple -jxx jobs?

Worked around this with the below bash scripting to speed things up:
cd tesstrain

# Generate .box's
find data/*ground-truth/ -type f -name '*.tif' | while read line ; do [ ! -f "${line/.*/}.box" ] && echo "PYTHONIOENCODING=utf-8 python3 generate_line_box.py -i \"${line}\" -t \"${line/.*/}.gt.txt\" > \"${line/.*/}.box\"" ; done | parallel -j$(nproc)

# Generate .lstmf's
find data/*ground-truth/ -type f -name '*.tif' | while read line ; do [ ! -f "${line/.*/}" ] && [ -f "${line/.*/}.box" ] && [ ! -f "${line/.*/}.lstmf" ] && echo "tesseract \"${line}\" ${line/.*/} --psm 13 lstm.train" ; done | parallel -j$(nproc)

I always used make -j for parallel builds of box and lstmf files, and it worked fine (with png images instead of tiff, but that should not matter). Meanwhile I have an even better alternative which no longer requires box and lstmf files.

Hi - not necessarily the answer you were looking for, but Tesstrain is essentially a wrapper to help you run a sequence of Tesseract binaries with hopefully the correct parameters. Here is my way to significantly speed up the development process -

Use GPT/Claude to decompose the Tesstrain makefile into a series of components:

A master Makefile
A config.mk to store all parameters that can be included by the various components
unicharset.mk for make unicharset
lists.mk for make lists
training.mk for make training
and perhaps a misc.mk for the rest

Understand what each component does. Ask GPT/Claude to explain to you if needed.
Translate the core task of each .mk component to Python, which GPT/Claude is much better at. Have, say, unicharset.mk to call Python unicharset.py to execute the same tasks.
Identify in each .py what tasks are parallelizable, and ask GPT/Claude to modify the code to leverage multithreading or multiprocessing.


Enhance ACNP Service related feature

Only load Service GroupID into reg when AntreaPolicy is enabled.
Service GroupID is only used by AntreaPolicy "toServices"
and "AppliedTo NodePort Serivces" features for now.

In IngressSecurityClassifierTable, only forward packet to
AntreaPolicyIngressRuleTable when AntreaPolicy is enabled and
proxyAll is enabled.
This forward flow is only used by AntreaPolicy "AppliedTo NodePort
Services" feature to avoid packets skip
AntreaPolicyIngressRuleTable, where policy will be enforced, when
the endpoint of this Service is not on current NodePort Node.

In ACNP appliedTo NodePort Service e2e test, change to add another
netNS to fake external network.

Signed-off-by: graysonwu<EMAIL_ADDRESS>

In E2e tests on a Kind cluster on Linux with all features enabled, the test you updated got failed.  In Integration test, you need to update test TestProxyServiceFlows.

/test-all

/test-all

LGTM. Just want to confirm the impact of the PR: it doesn't fix any issue but reduces unnecessary cost when AntreaPolicy is not enabled, right?

It fixed one issue: when AntreaProxy is enabled and AntreaPolicy is disabled, we can't resubmit packets to AntreaPolicyIngressRuleTable which doesn't exist. https://github.com/antrea-io/antrea/pull/4261/files#diff-120d06ea0809e1c6293ce9a1f6b2f4bf37d4fba0ec569be913f884aa8cdd4124R2116

Thanks for the information. Please file an issue or describe the fixed issue for future PRs, otherwise not easy to figure out the severity level and impact of a change. Based on your description, I think we should backport it to maintained releases (1.5 and later).

LGTM. Just want to confirm the impact of the PR: it doesn't fix any issue but reduces unnecessary cost when AntreaPolicy is not enabled, right?

It fixed one issue: when AntreaProxy is enabled and AntreaPolicy is disabled, we can't resubmit packets to AntreaPolicyIngressRuleTable which doesn't exist. https://github.com/antrea-io/antrea/pull/4261/files#diff-120d06ea0809e1c6293ce9a1f6b2f4bf37d4fba0ec569be913f884aa8cdd4124R2116

Thanks for the information. Please file an issue or describe the fixed issue in the PR itself for future PRs, otherwise not easy to figure out the severity level and impact of a change. Based on your description, I think we should backport it to maintained releases (1.5 and later).

Got it. Will do it in the furture. About backporting, maybe 1.8 should be enough. The issue I mentioned above was introduced by PR #3997.


[REST] Tenant creates should use local cluster if the cluster is empty

Describe the bug
When using REST API to create a tenant and specify the cluster name as an empty string, the broker will return the error Clusters do not exist.
To Reproduce

Startup a standalone
Using REST API to create a tenant with empty cluster name

Expected behavior
The tenant can be created with the local cluster successfully.

@sijie just treat a blank cluster as a cluster is not specified to pass the REST api validatation, please help to take a look, thanks.


to=, from= and method= network filter options

@scripthunter7  Hi, there are some new uBlock Origin syntax; I thought I'd let you know.
from= is an alias for domain= and to= is a superset of denyallow=:
https://github.com/gorhill/uBlock/commit/19f8b30d577ac17097b8060adfc92093866e26d8
method=:
https://github.com/gorhill/uBlock/commit/b6981877ba8f9011292aee9556c4d4c08c1bfd2d
Thanks.

@MasterKia It seems that the new version has been uploaded to GitHub, but it will take some time before it will work properly everywhere:
||google.com^$method=post|get
||example.com^$method=~get

Should I open another issue?

@MasterKia I think it's a good idea because it's a bit different topic and it's easier to manage that way. Thanks!

@MasterKia This seems to be a bug, please open a separate issue for this


Add new step insert into database table

#60 Start implementations.

@rultor merge

@rultor merge

@smallcreep OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@smallcreep Done! FYI, the full log is here (took me 10min)


Priyankarpal

Related issue
#2373 Fixed
What changes does this PR do?
I added my name.
Screenshots (If any)

Please have 1 PR at the time @priyankarpal Feel free to close either PR.


Update README now that onSuccess fires post-deploy

Since https://www.netlify.com/blog/2021/01/28/post-deploy-events-now-available-to-build-plugins/ and https://github.com/chrism2671/netlify-purge-cloudflare-on-deploy/pull/9 the plugin now uses the onSuccess event that runs after a successful site deploy.
I think that means we can remove this line from the README?

Strictly this plugin triggers the cache purge before deploy (but after build), as this is the only functionality Netlify provides.

Great, thank you!


DVD authoring and encoding

Best archiving tool makemkv
DVD authoring devede
DVD encoding handbrake

Added app to heavy and menu entry to heavy and desktop


Update for applianceNameToSiteIdMapV3

The current code is referencing applianceNameToSiteIdMapV2, which is no longer used.
Replace:
$solution.Properties.details.extendedDetails.applianceNameToSiteIdMapV2 | ConvertFrom-Json | select ApplianceName, SiteId
With:
$solution.Properties.details.extendedDetails.applianceNameToSiteIdMapV3 | ConvertFrom-Json | %{ $_.PSObject.Properties.Value } | select ApplianceName, SiteId
With V3, select ApplianceName, SiteId was not returning results. The results are now nested.

@benburich
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@benburich
We are going to close this thread, if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


release: v1.0.0a2

Signed-off-by: Nicolas Harraudeau<EMAIL_ADDRESS>

please wait for #55

Coverage remained the same at 91.128% when pulling 906b65fb3c075f4bd80b77097716ed1464088a0e on nharraud:v1.0.0a2 into 905420e7d75124cc8324d56b6b960057796abb05 on inveniosoftware:master.

Closed by 6eff923fb7ebe1ac2f61d0ba0754c623db67ff1d


Glia Widgets SDK 0.8.2

If this version contains ADA, maybe it makes sense to bump major version?

makes sense, changed to 0.9.0


Missing initial rules in the Byron era blockchain specification

(This is https://github.com/input-output-hk/cardano-chain/issues/306 migrated to this repository. The discussion is copied here as well.)
The new rules for blockchain (see in Cardano.Spec.Chain.STS.Rule) are missing initial rules. With that in mind, how to run the main CHAIN state transition system? Are there tests that execute it?
@dnadales: "The CHAIN transition system has an initial rule. We can add initial rules for the other transition systems on a on-demand basis. I guess once #305 is implemented we will need them for the sub-transition systems we want to expose."
@dnadales: "Or were you referring to the latex spec?"
@mdimjasevic: "Given that one version of the specification should mirror the other, I'm referring to both specifications."

I started working on issue #281, but then I realised this issue that I depend on in issue #281 is still open. Related to this, there is a push to disregard the environment needed for initial rules. With developments in that direction, I see no way of running these STSes. @dnadales and @nc6, can you explain how? The way I see it overriding rules at usage site would defeat the whole purpose of the STS framework.

Per Damian's reply in Slack, I'll add initial rules where they're missing and adjust rule environments accordingly where needed. I'll do this in the same branch as for issue #281.

I had a misconception of how the STS framework works (the STS a type class from the Control.State.Transition module). Given the way the framework is designed, a higher-level STS that relies on a lower-level STS can set the lower-level STS' state to anything when invoking its transition rule (regardless of how meaningful that state is). Hence, there is no need for setting initial rules of all STSes. I'm closing this issue.


Integrate slackin so that people can join Slack team

Integrate slackin module and add a widget to the website so that people can see statistics about the Slack team as well as sign up to join it.

1.0 might be a bit ambitous. Bumping it to 1.1.

This is now up and running @ http://slack.kingsreach.online/ (all issues completed https://github.com/kingsreach/kingsreach-slackin/milestones/1.0)
Now it's over to @kirstyrose to implement it using:
<script async defer src="https://slack.kingsreach.online/slackin.js"></script>


WIP: Initial Dockerfile and supervisor configs

[2016-04-11 13:29:07 +0000] [48] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 515, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 122, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 130, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
    __import__(module)
  File "/opt/graphite/webapp/graphite/wsgi.py", line 14, in <module>
    application = get_wsgi_application()
  File "/usr/local/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
    django.setup()
  File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named tagging

Seems to now want the database set up which is a good sign I guess.
I think the example WSGI application is not gonna work, though. I don't think the static file paths are correct.

I think the example WSGI application is not gonna work, though. I don't think the static file paths are correct.

Can't we just use the paths it wants inside the container?

Also, there's no local_settings.py in here. :-)

Does the supervisor image this is based on give us a way to run a bootstrapping script? We need to create some paths and do database setup, etc.

@jerith: You can just run custom commands, e.g.: docker run --rm -it praekeltfoundation/graphite django-admin
It's easier now that I've set PYTHONPATH and DJANGO_SETTINGS_MODULE in the Dockerfile.

You can't run custom commands like that through mesos, etc.

Unfortunately not without fancy entrypoint scripts or something... but that's the same problem we have elsewhere.

An entrypoint script that allows this would probably be useful in our base images. It could just check for the existence of a /bootstrap.sh file or something and run that if present.
As it stands, this container will fail on startup without manual intervention. :-(

:+1: on everything prior to my commit. Should probably be tested on not-my-machine.

:+1:


Alternative Delay implementation

If I want to use scheduling in rtic the init function does not have access to the SYST timer as described here (end paragraph of first section): https://rtic.rs/0.5/book/en/by-example/timer-queue.html.
This means that there's no way to construct the current delay implementation which requires the SYST timer.
This comment on the issue over at cortex-m-rtic suggest that HAL crates provide alternate Delay implementations to support this use case, potentially using cortex_m::asm::delay.
I tested this a bit locally but a delay based on cortex_m::asm::delay seemed pretty unstable and delayed for less time than I had calculated. Later I found this issue seem to explain the problem: https://github.com/rust-embedded/cortex-m/issues/236
The gist of it being that the current implementation is only accurate on M3/M4.
As far as I understand though, Delay in this crate is only really used for startup configuration where one has to wait at least some amount of time, so it could still be useful to have an implementation based on cortex_m::asm::delay if it's augmented to account for the inaccuracy of the current implementation, and properly documented to inform the user.
If this seems reasonable I could provide a PR for adding this.

Thanks for the thorough summary of the problem! I think it would be reasonable to offer alternative delay implementations in the HAL, if only because it's a small piece of functionality to require an extra crate for.
I have this snippet for those times when I need multiple objects that implement DelayMs/DelayUs https://gist.github.com/richardeoin/ba57bbc0618676100bbffe2ae28d05bc  Basing the implementation on a hardware timer avoids worrying about the core implementation. Feel free to use that snippet in a PR if you think it would be useful.

The gist you linked was excellent, so I just used that without modification. It's much better than relying on the cortex_m::asm::delay function. I only had to change a few methods to take trait implementors instead of the Delay struct to make it work.


Fix the recipe summary

Copy/paste error

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

lgtm


Merge Dev ke UAT 11 Oct 2017

Coverage increased (+0.002%) to 73.729% when pulling 3cd9016f6b4bf6dcfcfc018716cbb573380d1ed6 on dev into 5898ba6f715df4d485f06e8bdd81453a665d9538 on uat.


Wrong lines are shown in Jest output (for errors or failed expectations)0

Do you want to request a feature or report a bug?
Bug?
What is the current behavior?
Line numbers for errors or failed expectations are wrong.
reproduction
Reproduction: https://github.com/trusktr/lowclass/tree/jest-issue-5942
Check out that branch, then to see the error run
npm i
npm test

Note, npm test runs Jest with builder,
To run the Jest test manually (for ease in debugging), you can run this command:
❯ node --inspect-brk ./node_modules/.bin/jest --config ./node_modules/builder-js-package/config/jest.config.js

The failed expectation is on line 886 of src/test.js but Jest reports a line of 896 and shows the wrong part of the code in the output.
What is the expected behavior?
I am expecting to see something like
    expect(received).toBe(expected) // Object.is equality

    Expected value to be:
      true
    Received:
      undefined

    Difference:

      Comparing two different types of values. Expected boolean but received undefined.

      884 |        // provide a hint on how we can make it work (traverse towards leaf of
      885 |        // the private prototype chain and find the instance)
    > 886 |        expect( b.testedFail ).toBe( true )
      887 |
      888 |        // native `super` works too:
      889 |        const Baz = Class().extends(Bar, ({Super}) => ({

      at Object.<anonymous>.test (src/test.js:886:30)

but instead I am seeing
    expect(received).toBe(expected) // Object.is equality

    Expected value to be:
      true
    Received:
      undefined

    Difference:

      Comparing two different types of values. Expected boolean but received undefined.

      894 |             }
      895 |         }))
    > 896 |
      897 |         const baz = new Baz
      898 |         baz.test()
      899 |         baz.testFail()

      at Object.<anonymous>.test (src/test.js:896:30)

Please provide your exact Jest configuration
module.exports = {
    rootDir: process.cwd(),

    transform: {
        '^.+\\.js$': path.resolve(__dirname, 'babel-jest'),
    },

    // a great environment that supports Custom Elements
    testEnvironment: '@skatejs/ssr/jest',
}

where the sibling babel-jest.js file contains
const CWD = process.cwd()

const babelJest = require('babel-jest')

module.exports = babelJest.createTransformer({
    presets: [
        ['env', {
            targets: {
                node: 6,
            },
        }],
    ],
})

Run npx envinfo --preset jest in your project directory and paste the results here
❯ npx envinfo --preset jest
npx: installed 1 in 2.41s

  System:
    OS: Linux 3.18
    CPU: x64 Intel(R) Core(TM) m3-6Y30 CPU @ 0.90GHz
  Binaries:
    Node: 9.9.0
    Yarn: 1.3.2
    npm: 5.8.0

❯ cat node_modules/jest/package.json | grep version
  "version": "22.4.3"

Jest is not installed globally

Note, sometimes it works, and I see the correct lines in the output. Not sure how to trigger correct lines vs incorrect lines. When I say "sometimes", this means while I am working on tests and changing test code, so as long as the code is the same as in the reproduction I linked above, the error lines don't change. The test code has to change for the error line numbers to have a chance at being correct.

Could you try with jest 23? There's been big improvements to stack traces in it

happens to me with jest 23.4.1 and ts-jest 23.0.1

also in 23.5.0

Is this issue fixed in the latest 23.6?

Just checked.. seems to be working in 23.6 :)

just upgraded to 23.6.0 and it's still the same

I came across this issue as I was having the same problem and in my case I could track it down to multiline docstrings.
Working example
I have a helper function and added a docstring to it. The single line variant does work as expected.
/** Single line docstring */
const helper = (): number => 2;

describe("test case", () => {
  it("shows wrong line number on error", () => {
    const result = 1 + helper();

    expect(result).toBe(4);
  });
});

export {};

$ yarn test-jest-ci __tests__/issue5942Repro.test.ts
 FAIL  __tests__/issue5942Repro.test.ts
  test case
    × shows wrong line number on error (3 ms)

  ● test case › shows wrong line number on error

    expect(received).toBe(expected) // Object.is equality

    Expected: 4
    Received: 3

       6 |     const result = 1 + helper();
       7 |
    >  8 |     expect(result).toBe(4);
         |                    ^
       9 |   });
      10 | });
      11 |

      at Object.<anonymous> (__tests__/issue5942Repro.test.ts:8:20)

Broken example
When I change the docstring to be multiline, the issue occurs.
/** Multiline docstring
 */
const helper = (): number => 2;

describe("test case", () => {
  it("shows wrong line number on error", () => {
    const result = 1 + helper();

    expect(result).toBe(4);
  });
});

export {};

$ yarn test-jest-ci __tests__/issue5942Repro.test.ts
 FAIL  __tests__/issue5942Repro.test.ts
  test case
    × shows wrong line number on error (3 ms)

  ● test case › shows wrong line number on error

    expect(received).toBe(expected) // Object.is equality

    Expected: 4
    Received: 3

       8 |
       9 |     expect(result).toBe(4);
    > 10 |   });
         |   ^
      11 | });
      12 |
      13 | export {};

      at Object.<anonymous> (__tests__/issue5942Repro.test.ts:10:3)

Additional Information
I have a typescript nextJS v13 project and created the above test case in it.
The run script is this: "test-jest-ci": "jest --ci", and I cut the coverage report off.
$ npx envinfo --preset jest

  System:
    OS: Windows 10 10.0.19042
    CPU: (12) x64 12th Gen Intel(R) Core(TM) i7-1265U
  Binaries:
    Node: 18.12.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 3.2.1 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD

$ cat node_modules/jest/package.json | grep version
  "version": "29.3.1",

jest.config.ts
import type { Config } from "jest";
import nextJest from "next/jest";

// Sync object
const createNextJestConfig: (customJestConfig?: Config) => () => Promise<Config> = nextJest({
  // Provide the path to your Next.js app to load next.config.js and .env files in your test
  // environment
  dir: "./",
});

// Add any custom config to be passed to Jest
const customJestConfig: Config = {
  // Add more setup options before each test is run
  setupFilesAfterEnv: ["@testing-library/jest-dom"],
  // if using TypeScript with a baseUrl set to
  // the root directory then you need the below for alias' to work
  moduleDirectories: ["../../node_modules", "<rootDir>/"],
  testEnvironment: "jest-environment-jsdom",
  modulePathIgnorePatterns: ["cypress"],
  transformIgnorePatterns: ["/node_modules/(?!jose)/"],
  clearMocks: true,
  resetMocks: true,
  restoreMocks: true,
  collectCoverage: true,
  collectCoverageFrom: ["src/**/*.{ts,tsx}"],
  coverageDirectory: "../../.coverage_cache/swlp_frontend",
  coverageThreshold: {
    global: {
      branches: 100,
      functions: 100,
      lines: 100,
      statements: 100,
    },
  },
};

/** Removes "node_modules" from "transformIgnorePatterns" added by nextJS. */
const removeNodeModulesFromConfig = (jestConfig: Config): Config => {
  if (jestConfig.transformIgnorePatterns === undefined) return jestConfig;
  const idx = jestConfig.transformIgnorePatterns.findIndex((v: string) =>
    v.includes("node_modules"),
  );
  jestConfig.transformIgnorePatterns.splice(idx, 1);

  return jestConfig;
};

const createCustomJestConfig = async (): Promise<Config> => {
  const nextJestConfig = await createNextJestConfig(customJestConfig)();
  return removeNodeModulesFromConfig(nextJestConfig);
};

export default createCustomJestConfig;


Crash when using --latest-stamps filename-with-empty-dirname.ini

Describe the bug
Specifying --latest-stamps latest-stamps.ini on the command line leads to the following error (at least on linux using python-3.8):
Loaded session from ***.
Logged in as ***.
[1/1] Downloading profile ***
Retrieving tagged posts for profile ***.
Traceback (most recent call last):
  File "/home/stasiek/.local/bin/instaloader", line 8, in <module>
    sys.exit(main())
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/__main__.py", line 470, in main
    _main(loader,
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/__main__.py", line 219, in _main
    instaloader.download_profiles(profiles,
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/instaloader.py", line 1466, in download_profiles
    self.download_tagged(profile, fast_update=fast_update, post_filter=post_filter,
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/instaloader.py", line 1270, in download_tagged
    latest_stamps.set_last_tagged_timestamp(profile.username, tagged_posts.first_item.date_local)
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/lateststamps.py", line 87, in set_last_tagged_timestamp
    self._set_timestamp(profile_name, self.TAGGED_TIMESTAMP, timestamp)
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/lateststamps.py", line 71, in _set_timestamp
    self._save()
  File "/home/stasiek/.local/lib/python3.8/site-packages/instaloader/lateststamps.py", line 30, in _save
    makedirs(dirname(self.file), exist_ok=True)
  File "/usr/lib/python3.8/os.py", line 221, in makedirs
    mkdir(name, mode)
FileNotFoundError: [Errno 2] No such file or directory: ''

To Reproduce
Steps to reproduce the behavior:
python3.8 -m pip instaloader \
                --login ***
                --latest-stamps latest-stamps.ini \
                --no-compress-json --fast-update \
                --tagged --stories --highlights \
                example_profile

Expected behavior
No crash.
Instaloader version
$ python3.8 -m instaloader --version
4.10

PR is coming in a sec.

I've also seen this behavior happening in python 3.11


kubectl-images: cannot execute binary file: Exec format error

bash: /usr/local/bin/kubectl-images: cannot execute binary file: Exec format error
I get this error when i run this command in our environment

what's your OS environment? and which release binary do you download?

@.***:/usr/local/bin# uname -a
Linux WRLONLAP378 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00
PST 2021 x86_64 x86_64 x86_64 GNU/Linux
@.***:/usr/local/bin# file kubectl
kubectl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically
linked, Go
BuildID=XpO-h3PYu-5BIXWHxApy/Nz2E51cZiQMVjw4JeU94/13Rai9CBSou2pOFeDAF4/QbgllvcvhYMOogZ78DGf,
stripped
@.***:/usr/local/bin# file kubectl-images
kubectl-images: current ar archive
@.***:/usr/local/bin#
How can i find out the binary release version?
Thanks
Kannadasan
On Mon, 23 May 2022 at 06:36, dongdong @.***> wrote:

what's your OS environment? and which release binary do you download?
—
Reply to this email directly, view it on GitHub
https://github.com/chenjiandongx/kubectl-images/issues/18#issuecomment-1134202509,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWHAHYGF6DRSR4KEJWS4JSDVLMKNLANCNFSM5WRL3DYQ
.
You are receiving this because you authored the thread.Message ID:
@.***>
EXTERNAL EMAIL: If you find this email suspicious please use the
Cofense Reporter button
on the side panel
or Forward this email to @.***

This message may contain confidential information. If you are not the intended recipient please notify the sender immediately, delete and destroy all copies. Any unauthorised dissemination of this message is not permitted. WorldRemit Ltd is a limited company registered in England and Wales (registration number: 07110878).'. If the disclaimer can't be applied, take no action.


Import-DbaCsv and Write-DbaDbTableData:  add the fix for the integer wrap

Adding the fix for the integer wrap to Import-DbaCsv and Write-DbaDbTableData
Refactoring Copy-DbaDbTableData so that the utility function Get-AdjustedTotalRowsCopied is shared under internal/functions.

Type of Change

[x] Bug fix (non-breaking change, fixes #7137 )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[x] Documentation
[ ] Build system

Purpose

The integer wrap fix needed to be added to these other commands that also use the bulk copy library.
Approach

The fix used in #7046 is also applicable for these commands.
Commands to test

See the integration tests and example commands in the documentation.

Be still my heart ❤  It looks good to me and tests pass. @jpomfret whatcha think?

Makes sense to me @potatoqualitee


Feature Request: allowing eval "eval can be harmful"

I found a work-around to allow eval by using global['eval']. Is there a better way to allow eval? Perhaps a comment?
/* permit eval */

Also, no mention of eval in the docs. :(

new Function?

There are instructions in the readme that explain how to disable individual rules. You can figure out what the rule is called by running with --verbose. This rule is "no-eval".


[AMD-ZENDNN] Enable CPU allocator for plugin

Higher throughput has been observed for plugin solution with MklCPUAllocator when compared against base CPU allocator.

/cc @penpornk


Make the header of the column invisible by default

The header of the column should be invisible by default and should appear on demand.

The header of the column should not be visible - just the toolbar. This is already covered in #38


adonis-version in package-json

Hi,
Perhaps you can change the adonis-version in package.json to 4.1 as well. This ensures that updates of dependencies will be in line.
In the readme it might be wise to change all 4.0 references to 4.1
Furthermore, on a fresh install adonis migration:run gives errors with knex, did not yet found out why.

Hi, in migrations you are using
this.createTableIfNotExists('users', table => {
This has been changed to:
this.createIfNotExists('users', (table) => {

@Maxximus007 Thanks. I have fixed all the issue here.
adonis migration:run is flagging an error or warning @Maxximus007.
If it is warning check https://github.com/adonisjs/adonis-lucid/issues/304
According to https://github.com/tgriesser/knex/issues/2489 , it's been fixed in 0.14.4 which the project is using but the warning is still there.

@Maxximus007 the error is normal..


[MRG] Add helper for 10/20 ROI mapping

See #5170
Add a helper function that takes an info instance or list of 10/20 format channel names, and returns a dictionary mapping from ROI names to picks.

ROI is a selection for MNE jargon. So ok for:
make_1020_channel_selections

Ah ok.
I just realised this also simplifies another example ...

please stick to the word "selection" in your code and docstrings and write that a selection classically corresponds to a region of interest (ROI). The output of a function called make_1020_channel_selections should be named selections.

Will do!

Ready for merge!

Good from my end.

thx @jona-sassenhagen

oups merged too quickly. Can you add make_1020_channel_selections to api.rst and add a what's new entry?

oups merged too quickly. Can you add make_1020_channel_selections to api.rst and add a what's new entry?

In a new PR, directly on master, or how?

in master if you feel bold enough :)


Bugfix/miscellaneous app feature

Modified in:
PlanMeFrontEnd/frontend/src/components/sidebar/components/Links.js
PlanMeFrontEnd/frontend/src/contexts/SidebarContext.js

See the changes. The problem in passing some constant in url has been solved.


Unable to get a writable SQLite DB working with Now 2

I've been trying to get Studio running on Now 2 with Prisma2 + SQLite for preview deployments for all pull requests to the studio code repo. Everything is set up and working on https://prisma-studio.now.sh, except that the SQLite db file is readonly. This is evident by the following photon error when I try to write to the file (such as photon.cities.create({ ... })):
Error in Photon:
Error: Reason: Error in connector: Error querying the database: attempt to write a readonly database

    at NodeEngine.handleErrors (/var/task/node_modules/@generated/climate/photon/runtime/index.js:4049:15)
    at currentRequestPromise.then (/var/task/node_modules/@generated/climate/photon/runtime/index.js:4009:29)
    at process._tickCallback (internal/process/next_tick.js:68:7)

@schickling suggested that I move the db file to /tmp, but that did not help either. I still see the same error.
I'm aware that expecting the DB to actually persist over a long period is not reasonable, but for the use case I'm after, that is irrelevant. What we want is a short-lived Studio deployment that can handle creates. It is absolutely okay if data is lost.
This is quite surely not a prisma2 issue, leaving this here for documentation + possible resolution with Now devs.
Relevant part of the schema:
datasource db {
  provider = "sqlite"
  url      = "file:/tmp/climate.db"
}

generator photon {
  provider = "photonjs"
  output   = "../../node_modules/@generated/climate/photon"
}

Tmp directory won't work because build and prod containers are different so tmp data in build time is not copied to prod.
I investigated this and I was able to reproduce this, The file permission that is set by default are limiting and photon cannot write to the database. I even tried to change them using chmod and it was successfully done but zeit copies files from build to prod as far as I know and my guess is that the permission change was lost. I think it is serviceable by Zeit's end but they mentioned that SQLite is recommended in lambda environment:-

One thing you can do is:

During build-time, persist the initial sqlite database file into the serverless function output, which will cause it to be at /var/task/climate.db at runtime (read-only)
Then, during bootup of the serverless function, copy that initial climate.db file to /tmp/climate.db and reference that path in your configuration. It will be writable once residing in /tmp.

Hope that helps!

@madebysid Does this fix work for you?


Wrong Style Implementation for WebVTT Text

Have you read the FAQ and checked for duplicate open issues?
YES
What version of Shaka Player are you using?
v4.3.1-uncompiled
Can you reproduce the issue with our latest release version?
NA. Can reproduce with the version from https://shaka-player-demo.appspot.com/demo
Can you reproduce the issue with the latest code from main?
NA. Can reproduce with the version from https://shaka-player-demo.appspot.com/demo
Are you using the demo app or your own custom app?
Demo app from https://shaka-player-demo.appspot.com/demo
If custom app, can you reproduce the issue using our demo app?
YES
What browser and OS are you using?
Chrome 108.0.5359.99 64-bit Windows 11
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?

What configuration are you using?  What is the output of player.getConfiguration()?

Demo app from https://shaka-player-demo.appspot.com/demo
What did you do?

WebVTT file includes:
STYLE
::cue(.vtt_green) {
color: lime;
}
STYLE
::cue(.vtt_yellow) {
color: yellow;
}
STYLE
::cue(.bg_blue) {
background-color: blue;
}
and cues like:
02:00.000 --> 02:05.000
<c.vtt_yellow.bg_blue>This is yellow text on a blue background
What did you expect to happen?
Text should be displayed as yellow on blue background.
What actually happened?

The text it is displayed white on black background.
When I change STYLEs to use selector without the leading dot, then the player will display correct colors like in the following example:
STYLE
::cue(vtt_yellow) {
color: yellow;
}
STYLE
::cue(bg_blue) {
background-color: blue;
}
However that is wrong.
In css to select a html element (like b for  bold, i for  italic p for  paragraph etc.), the css selector is written without a dot. To select a class, the selector has to be written in the css with a leading dot.
So for a text <c.vtt_yellow.bg_blue>yellow on blue where vtt_yellow and bg_blue are class names according to the WebVTT spec the player has to use ::cue(.vtt_yellow) and ::cue(.bg_blue) from STYLE in the WebVTT header and not ::cue(vtt_yellow) and ::cue(bg_blue) which it currently uses and which is wrong.
And for a text bold text where b is a html element the player has to use ::cue(b) from STYLE in the WebVTT header.

Default text and background colors also might need to be modified to have a leading dot (white->.white etc.) if the player will search for class names with a leading dot.
https://github.com/shaka-project/shaka-player/commit/d882d282f9b90f101c7071ba884859abf76b08a8

I'm working on a fix already. I'm with a change to support voices and I had already seen this, throughout today I will push the PR.

I have sent URIs for testing the above to<EMAIL_ADDRESS>However, it seems that no captions can be activated at all in the demo version 4.3.2 of Shaka Player. The error is: "factory is not a function". Yesterday it worked fine with the demo version 4.3.1.


Compatibility with LGU

Hi there,
I created a mod called LateGameUpgrades. I introduced a custom saving and loading system using json files. All files are named LGU_x where x is the save file slot. They exist in the persistent data path alongside the vanilla save files.
After putting this update on thunderstore a lot of users requested compatibility with this mod.
It looks like the easiest path to achieve that is to add a check for the presence of LGU suffixed json files when you do your rearranging and rearrange them so they still align with their vanilla save file.
If you are receptive to pull requests I could take a crack at adding it in, otherwise if you think this is easy enough to throw in in a couple minutes and want to do it yourself it would be greatly appreciated by me and the users of my mod.
Great work and idea with this mod. 👍

Hi Malcolm, thanks for reaching out!
I'm waist deep in another project for the next 9 days, but I'd be glad to make that tweak afterwards.
I'd also gladly merge in a pull request & put out a new release sooner, if you feel comfortable with writing that.
By the way, I recognize your mod, haven't tried it out yet but it's incredibly intriguing and has been on my list! I think your portable teleporters are the first instance of custom equipment I'd seen, and I was wanting to eventually make a super radar booster mod, but I think the headcams mod actually accomplished a lot of the things I'd had in mind. But I digress.
Thanks again for messaging me! :)
Paul

Awesome.
I have way too much free time on my hands at the moment so I'll fork figure it out tomorrow.
That's great to hear, it's been a lot of fun to make so I'm glad others enjoy it. If it ever intrigues you enough that you'd want to contribute to it and add items / features you'd be more than welcome to.
Talk soon,
Malcolm


Returns new instance instead of modifying the old one

For some time now, TinySpline supports move semantics. Thus, methods like 'toBeziers' should return a new instance rather than modifying the old one.

Fixed with fb6bc83ec73369b2fcf7d0dda3ac8c0653ceca40


Another IP error using GrepIP, but this one isn't super critical

goroutine 1 [running]:
encoding/binary.bigEndian.Uint32(...)
	/usr/lib/go-1.17/src/encoding/binary/binary.go:112
github.com/ipinfo/cli/lib.IPFromStdIP({0x0, 0xc00001c180, 0x827dae})
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/lib/ip.go:24 +0x45
github.com/ipinfo/cli/lib.CmdGrepIP.func1({0x7fff8e9fa9fa, 0x13}, {0x82db00, 0xc000010550})
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/lib/cmd_grepip.go:265 +0x766
github.com/ipinfo/cli/lib.CmdGrepIP.func2({0x7fff8e9fa9fa, 0x13})
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/lib/cmd_grepip.go:326 +0x5f
github.com/ipinfo/cli/lib.CmdGrepIP({0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1}, {0xc000071a20, 0x1, ...}, ...)
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/lib/cmd_grepip.go:343 +0x8a2
main.cmdGrepIP()
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/ipinfo/cmd_grepip.go:65 +0x105
main.main()
	/go/pkg/mod/github.com/ipinfo/cli@v0.0.0-20211114085920-4bc7c41d47b1/ipinfo/main.go:55 +0x1ef

@T145 can you give an input line that caused this?

No unfortunately, otherwise I would.

Alright please be on the lookout for what that input might be. I have no idea how to replicate the issue and debug it.

I'm going to close this issue for now as it's not really actionable - will need a way to replicate the problem, after which there'll be a clear path to a solution. If you do find any input that can clearly cause this please share it. Thanks!


Sampler velocity values not affecting volume of sound

Hi!
I'm using triggerAttackRelease with a Sampler, and, according to the docs (and intuition), it should be possible to set the velocity. In this example, the notes should be getting successively louder in runs of 8. They all sound the same loudness to me. (And I'm also hearing the clipping mentioned in #328.)
Thanks in advance for your time, Yotam!

I also noticed this

I have just rebuilt the DEV branch with all the latest commits and am still seeing this issue.
mySampler.triggerAttackRelease(frequency, duration, Tone.now(), velocity);//always plays max volume, even when velocity is 0 or very small.

This still appears to be an issue – not working for me.

@rupertparry Are you using the latest dev build? Just curious.

Ah I assume not – I'm using the latest package available on NPM – looks like 0.12.80


Add invert to NSDictionary

This PR adds invert to NSDictionary. It also fixes some current compilation issues.

Merged in master, had to rebase the compilation stuff.
Thanks for the contribution!


Add typeclass instances for Either4

functor, pure, monad, monadZero, comonad, traverse, foldable
(same instances as per Either3)

Released in 2.1.0


error: octave_base_value::int64_value (): wrong type argument 'sq_string'

Hi, @diivanand @antipa @eliasds @aamodsh @zfphil
I met this error when run in octave.
octave:3> xhat= DiffuserCam_main('DiffuserCam_settings.m');
error: invalid conversion from string to real scalar
error: octave_base_value::int64_value (): wrong type argument 'sq_string'
error: called from
ADMM3D_solver at line 126 column 5
DiffuserCam_main at line 89 column 15
What's wrong to me ?
Thanks.
Best,
@bemoregt.

It sounds like an octave problem? We have not tested in octave, I don't know for sure. I'll the code is doing is passing in a string that points to a settings file. The settings file is actually just a .m that gets run inline, so you could replace the execution of the settings .m with the code that's inside the settings file.


Using http_proxy with the plugin

Unable to connect to Athena from the extension
I am trying to set-up a VSCode connection using SQLTools to connect to Athena. This is connected to issue # 36 ( https://github.com/kovihq/sqltools-athena-driver/issues/36 )
This is my set-up
Athena-in-VSCode

I have http_proxy defined and also tried setting up proxy in VSCode - but get the same error

VSCode_Proxy_settings
When working with a colleague of mine when he also was trying to connect - we came to this conclusion
it is definately a proxy issue though, you wont be able to connect to the athena endpoint, without a hardcoded proxy in VScode, and that would explain all 3 scenarios: 1 - off network (no proxy needed) works, 2 - on-network terminal (proxy configured) works, 3 - on-network vscode, cannot conenct to the Athena endpoint
He also looked at the extension code and said 'ask for the plugin developer team to use http_proxy settings from VSCode'
Is is possible to add it to the extension, so it could be used when a proxy needs to be defined?
Desktop (please complete the following information):

SQLTools Version:  v0.27.1

VS Code Version: 1.79.1

OS: Windows 10

Driver:

[ ] Other? ATHENA JDBC Driver

Database version: [e.g. Athena ]

Additional context
Add any other context about the problem here.

This needs to be fixed in the driver. I hope the author of that extension picks up the issue you have opened on that repo.


[zh] translate docs/setup/production-environment/turnkey/gce.md

fix https://github.com/kubernetes/website/issues/24506

Hi, you may need to rebase onto master to resolve "themes/docsy" problem.
You may need to do a git submodule update.

Hi, you may need to rebase onto master to resolve "themes/docsy" problem.
You may need to do a git submodule update.

fixed

All set. Thanks for the persistent efforts.
/lgtm
/approve


🐛 metadata.yaml clusterctl version to v1alpha3

to support #54 we need clusterctl to be able to marshal this file and even the v0.4.0-beta.0 release doesn't have v1alpha4 clusterctl support.
closes #119
Signed-off-by: Chris Hein<EMAIL_ADDRESS>/kind bug
/milestone v0.1.x

/assign @charleszheng44


Peer DID: Update/State sync (Push changes to peer)

The agent should have the capability to push the Peer DID doc changes to other peer agents(which knows about the DID). This is documented in Update/Sync State.
The related Aries RFC is 0030: Sync Connection Protocol.

Part of epic #35


Fixed Aside

Enabling a fixed width aside similar to the docs could be a good feature. Using the .grid class would make the main content and the aside the same width by default.

A fixed position is too specific to be added in Pico, but it can be easily added in a specific project with a single line of CSS:
aside {
  position: fixed;
}

I might consider to have a better grid system in Pico.
The problem is to be able to remain minimalist and semantic.
I'm really not in favor of a full-heavy-bulky flexbox system like Bootstrap (+4,000 lines in this example!).
Do you have an example of a minimalist and semantic CSS grid system?
I have detailed my opinion about grids in the documentation:

As Pico focus on native HTML elements, we kept this grid system very minimalist.
A full grid system in flexbox, with all the ordering, offsetting and breakpoints utilities can be +140% of the whole Pico library size. Not really in the Pico spirit.
If you need a quick way to prototyping or build a complex layouts, you can look about Flexbox grid layouts. For example: Bootstrap Grid System only or Flexbox Grid.
If you need a light and custom grid, you can look about CSS Grid Generators. For example: CSS Grid Generator, Layoutit! or Griddy.
Alternatively you can Learn about CSS Grid.

I saw that opinion about grids and I agree. I think having a .flex helper might be sufficient, especially with .grow, .shrink, and .normal modifiers.

Unless someone suggests a minimalist and semantic grid system example, I'm still not planning to add a full grid system to Pico in the near future.
On the other hand, it would be useful to add some examples in the documentation to merge Pico with existing grid systems.
I just uploaded this example that merges and compiles Pico design system with the Bootstrap grid system.

See it in action here: https://picocss.com/examples/bootstrap-grid/
Source code here: https://github.com/picocss/examples/tree/dev-bootstrap-grid/bootstrap-grid

Based on this example, users could more easily understand how to compile and customize Pico with an advanced grid system.
What do you think? Should I add this example in the documentation.

I published this example on the master branch : https://github.com/picocss/examples/tree/master/bootstrap-grid
And I added this example in docs : https://picocss.com/docs/#grids


contrib: add a script to generate coverage data for the daemon

Taken and adapted from revaultd. Can be trivially adapted to the GUI.

ACK 94f313133b80d9bd684fefee644a44621aed9066