Unable to Start Counter Demo App on Windows+Docker+WSL

What happened?
I am trying to get started with Kuma Service mesh, and faced an issue while working with the kuma-counter-demo
Environment Details :
Windows
Docker Desktop with Linux containers
WSL (Ubuntu)
I tried spinning up a new cluster with kind. and was able to install a install kuma control plane.
When I tried deploying the counter demo App.
The App was unable to start. Kuma Dashboard shows:
"Inbound port is not ready for the service" (I even tried with different ports.)

Few Screenshot of the logs for sidecar and init

Hey,
what is your version of Ubuntu and Kind?

Triage: marking as needs reproducing to compose a ContainerPatch to disable conntrack fix.
https://github.com/microsoft/WSL/issues/7547
https://github.com/microsoft/WSL/issues/7407

Note : I am able to work get this up and running on ec2 on alpine linux.
Versions of Tools :
kind v0.15.0 go1.19 windows/amd64
kind image : kindest/node:v1.25.0
ubuntu:  22.04.1 LTS
Docker Desktop 4.12.0 Version:          20.10.17
Windows 11

Hi, Can someone help, why am I not able to run kuma demo app.
The App failed to start. Its the logs of the Init Container showing issues with iptable.
kumactl ver 1.8.1

sourabh@DESKTOP-FIUUHBV:~$ git clone https://github.com/kumahq/kuma-counter-demo.git
Cloning into 'kuma-counter-demo'...
remote: Enumerating objects: 197, done.
remote: Counting objects: 100% (54/54), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 197 (delta 31), reused 26 (delta 20), pack-reused 143
Receiving objects: 100% (197/197), 107.72 KiB | 246.00 KiB/s, done.
Resolving deltas: 100% (99/99), done.
sourabh@DESKTOP-FIUUHBV:~$ ls
kuma-1.8.1  kuma-counter-demo
sourabh@DESKTOP-FIUUHBV:~$ cd kuma-
-bash: cd: kuma-: No such file or directory
sourabh@DESKTOP-FIUUHBV:~$ cd kuma-counter-demo/
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ ls
app                 demo-v2.yaml  GOVERNANCE.md  org_labels.yml  release
CODE_OF_CONDUCT.md  demo.yaml     kong.yaml      OWNERS.md       SECURITY.md
CODEOWNERS          gateway.yaml  LICENSE        README.md       yarn.lock
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl apply -f demo.yaml
namespace/kuma-demo created
deployment.apps/redis created
service/redis created
deployment.apps/demo-app created
service/demo-app created
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl get pods
No resources found in default namespace.
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl get pods -A
NAMESPACE     NAME                                     READY   STATUS     RESTARTS      AGE
kube-system   coredns-95db45d46-v4c62                  1/1     Running    0             8m10s
kube-system   coredns-95db45d46-zrw4n                  1/1     Running    0             8m10s
kube-system   etcd-docker-desktop                      1/1     Running    31            8m14s
kube-system   kube-apiserver-docker-desktop            1/1     Running    32            8m7s
kube-system   kube-controller-manager-docker-desktop   1/1     Running    31            8m13s
kube-system   kube-proxy-cqxqs                         1/1     Running    0             8m10s
kube-system   kube-scheduler-docker-desktop            1/1     Running    37            8m10s
kube-system   storage-provisioner                      1/1     Running    0             8m4s
kube-system   vpnkit-controller                        1/1     Running    0             8m3s
kuma-demo     demo-app-b4f98898-m587h                  0/2     Init:0/1   2 (14s ago)   19s
kuma-demo     redis-8fcbfc795-7hk2k                    0/2     Init:0/1   2 (14s ago)   19s
kuma-system   kuma-control-plane-64d55468b-4ghgv       1/1     Running    0             117s
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl logs demo-app-b4f98898-m587h -n kuma-demo > logs.txt
Defaulted container "demo-app" out of: demo-app, kuma-sidecar, kuma-init (init)
Error from server (BadRequest): container "demo-app" in pod "demo-app-b4f98898-m587h" is waiting to start: PodInitializing
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl get pods -A
NAMESPACE     NAME                                     READY   STATUS       RESTARTS      AGE
kube-system   coredns-95db45d46-v4c62                  1/1     Running      0             8m44s
kube-system   coredns-95db45d46-zrw4n                  1/1     Running      0             8m44s
kube-system   etcd-docker-desktop                      1/1     Running      31            8m48s
kube-system   kube-apiserver-docker-desktop            1/1     Running      32            8m41s
kube-system   kube-controller-manager-docker-desktop   1/1     Running      31            8m47s
kube-system   kube-proxy-cqxqs                         1/1     Running      0             8m44s
kube-system   kube-scheduler-docker-desktop            1/1     Running      37            8m44s
kube-system   storage-provisioner                      1/1     Running      0             8m38s
kube-system   vpnkit-controller                        1/1     Running      0             8m37s
kuma-demo     demo-app-b4f98898-m587h                  0/2     Init:Error   3 (34s ago)   53s
kuma-demo     redis-8fcbfc795-7hk2k                    0/2     Init:Error   3 (34s ago)   53s
kuma-system   kuma-control-plane-64d55468b-4ghgv       1/1     Running      0             2m31s
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl logs demo-app-b4f98898-m587h -n kuma-demo
Defaulted container "demo-app" out of: demo-app, kuma-sidecar, kuma-init (init)
Error from server (BadRequest): container "demo-app" in pod "demo-app-b4f98898-m587h" is waiting to start: PodInitializing
sourabh@DESKTOP-FIUUHBV:~/kuma-counter-demo$ kubectl logs demo-app-b4f98898-m587h kuma-init -n kuma-demo
Flag --skip-resolv-conf has been deprecated, we never change resolveConf so this flag has no effect, you can stop using it
iptables -t nat -D PREROUTING -p tcp -j MESH_INBOUND
iptables -t mangle -D PREROUTING -p tcp -j MESH_INBOUND
iptables -t nat -D OUTPUT -p tcp -j MESH_OUTPUT
iptables -t nat -F MESH_OUTPUT
iptables -t nat -X MESH_OUTPUT
iptables -t nat -F MESH_INBOUND
iptables -t nat -X MESH_INBOUND
iptables -t mangle -F MESH_INBOUND
iptables -t mangle -X MESH_INBOUND
iptables -t mangle -F MESH_DIVERT
iptables -t mangle -X MESH_DIVERT
iptables -t mangle -F MESH_TPROXY
iptables -t mangle -X MESH_TPROXY
iptables -t nat -F MESH_REDIRECT
iptables -t nat -X MESH_REDIRECT
iptables -t nat -F MESH_IN_REDIRECT
iptables -t nat -X MESH_IN_REDIRECT
ip6tables -t nat -D PREROUTING -p tcp -j MESH_INBOUND
ip6tables -t mangle -D PREROUTING -p tcp -j MESH_INBOUND
ip6tables -t nat -D OUTPUT -p tcp -j MESH_OUTPUT
ip6tables -t nat -F MESH_OUTPUT
ip6tables -t nat -X MESH_OUTPUT
ip6tables -t nat -F MESH_INBOUND
ip6tables -t nat -X MESH_INBOUND
ip6tables -t mangle -F MESH_INBOUND
ip6tables -t mangle -X MESH_INBOUND
ip6tables -t mangle -F MESH_DIVERT
ip6tables -t mangle -X MESH_DIVERT
ip6tables -t mangle -F MESH_TPROXY
ip6tables -t mangle -X MESH_TPROXY
ip6tables -t nat -F MESH_REDIRECT
ip6tables -t nat -X MESH_REDIRECT
ip6tables -t nat -F MESH_IN_REDIRECT
ip6tables -t nat -X MESH_IN_REDIRECT
iptables-save
# Generated by iptables-save v1.8.4 on Wed Nov  2 06:49:43 2022
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed Nov  2 06:49:43 2022
# Generated by iptables-save v1.8.4 on Wed Nov  2 06:49:43 2022
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Nov  2 06:49:43 2022
# Generated by iptables-save v1.8.4 on Wed Nov  2 06:49:43 2022
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A OUTPUT -p udp -m udp --dport 53 -m owner --uid-owner 5678 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -m owner --gid-owner 5678 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 15053
COMMIT
# Completed on Wed Nov  2 06:49:43 2022
ip6tables-save
# Generated by ip6tables-save v1.8.4 on Wed Nov  2 06:49:43 2022
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Nov  2 06:49:43 2022
# Generated by ip6tables-save v1.8.4 on Wed Nov  2 06:49:43 2022
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Nov  2 06:49:43 2022
kumactl is about to apply the iptables rules that will enable transparent proxying on the machine. The SSH connection may drop. If that happens, just reconnect again.
Environment:
------------
ENVOY_PORT=
INBOUND_CAPTURE_PORT=
INBOUND_CAPTURE_PORT_V6=
ISTIO_INBOUND_INTERCEPTION_MODE=
ISTIO_INBOUND_TPROXY_MARK=
ISTIO_INBOUND_TPROXY_ROUTE_TABLE=
ISTIO_INBOUND_PORTS=
ISTIO_OUTBOUND_PORTS=
ISTIO_LOCAL_EXCLUDE_PORTS=
ISTIO_SERVICE_CIDR=
ISTIO_SERVICE_EXCLUDE_CIDR=
ISTIO_META_DNS_CAPTURE=
SKIP_CONNTRACK_ZONE_SPLIT=

Variables:
----------
PROXY_PORT=15001
PROXY_INBOUND_CAPTURE_PORT=15006
PROXY_INBOUND_CAPTURE_PORT_V6=15010
PROXY_TUNNEL_PORT=15008
PROXY_UID=5678
PROXY_GID=5678
INBOUND_INTERCEPTION_MODE=REDIRECT
INBOUND_TPROXY_MARK=1337
INBOUND_TPROXY_ROUTE_TABLE=133
INBOUND_PORTS_INCLUDE=*
INBOUND_PORTS_EXCLUDE=
OUTBOUND_IP_RANGES_INCLUDE=*
OUTBOUND_IP_RANGES_EXCLUDE=
OUTBOUND_PORTS_INCLUDE=
OUTBOUND_PORTS_EXCLUDE=
KUBEVIRT_INTERFACES=
ENABLE_INBOUND_IPV6=false
DNS_CAPTURE=true
REDIRECT_ALL_DNS_TRAFFIC=true
DNS_SERVERS=[<IP_ADDRESS>],[::]
AGENT_DNS_LISTENER_PORT=15053
DNS_UPSTREAM_TARGET_CHAIN=RETURN
SKIP_DNS_CONNTRACK_ZONE_SPLIT=false

Writing following contents to rules file:  /tmp/iptables-rules-1667371783458305854.txt4051367543
* nat
-N MESH_INBOUND
-N MESH_REDIRECT
-N MESH_IN_REDIRECT
-N MESH_OUTPUT
-A MESH_INBOUND -p tcp --dport 15008 -j RETURN
-A MESH_REDIRECT -p tcp -j REDIRECT --to-ports 15001
-A MESH_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006
-A PREROUTING -p tcp -j MESH_INBOUND
-A MESH_INBOUND -p tcp --dport 22 -j RETURN
-A MESH_INBOUND -p tcp -j MESH_IN_REDIRECT
-A OUTPUT -p tcp -j MESH_OUTPUT
-A MESH_OUTPUT -o lo -s <IP_ADDRESS>/32 -j RETURN
-A MESH_OUTPUT -o lo ! -d <IP_ADDRESS>/32 -p tcp ! --dport 53 -m owner --uid-owner 5678 -j MESH_IN_REDIRECT
-A MESH_OUTPUT -o lo -p tcp ! --dport 53 -m owner ! --uid-owner 5678 -j RETURN
-A MESH_OUTPUT -m owner --uid-owner 5678 -j RETURN
-A MESH_OUTPUT -o lo ! -d <IP_ADDRESS>/32 -m owner --gid-owner 5678 -j MESH_IN_REDIRECT
-A MESH_OUTPUT -o lo -p tcp ! --dport 53 -m owner ! --gid-owner 5678 -j RETURN
-A MESH_OUTPUT -m owner --gid-owner 5678 -j RETURN
-A MESH_OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports 15053
-A MESH_OUTPUT -d <IP_ADDRESS>/32 -j RETURN
-A MESH_OUTPUT -j MESH_REDIRECT
-I OUTPUT 1 -p udp --dport 53 -m owner --uid-owner 5678 -j RETURN
-I OUTPUT 2 -p udp --dport 53 -m owner --gid-owner 5678 -j RETURN
-I OUTPUT 3 -p udp --dport 53 -j REDIRECT --to-port 15053
COMMIT
* raw
-A OUTPUT -p udp --dport 53 -m owner --uid-owner 5678 -j CT --zone 1
-A OUTPUT -p udp --sport 15053 -m owner --uid-owner 5678 -j CT --zone 2
-A OUTPUT -p udp --dport 53 -m owner --gid-owner 5678 -j CT --zone 1
-A OUTPUT -p udp --sport 15053 -m owner --gid-owner 5678 -j CT --zone 2
-A OUTPUT -p udp --dport 53 -j CT --zone 2
-A PREROUTING -p udp --sport 53 -j CT --zone 1
COMMIT

iptables-restore --noflush /tmp/iptables-rules-1667371783458305854.txt4051367543
iptables-restore v1.8.4 (legacy): unknown option "--zone"
Error occurred at line: 28
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

I, too, am running into a problem running the demo app.  The problem also appears to be with IPTables.
kubectl logs redis-57b8b64dd4-z625l -c kuma-init -n kuma-demo

<snip for brevity>

COMMIT

iptables-restore --noflush /tmp/iptables-rules-1674167628384504598.txt3827216784
iptables-restore v1.8.7 (legacy): iptables-restore: unable to initialize table 'nat'

Error occurred at line: 1
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

Running on a k8s cluster installed via Kubespray onto 6 RHEL8 hosts.
[ansible@dev03 kuma-counter-demo]$ kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:58:30Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.2", GitCommit:"f66044f4361b9f1f96f0053dd46cb7dce5e990a8", GitTreeState:"clean", BuildDate:"2022-06-15T14:15:38Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.26) and server (1.24) exceeds the supported minor version skew of +/-1

I eventually got mine working.  First I tried temporarily disabling SELinux (from some post I found) on all of my k8s cluster hosts:
setenforce 0

That didn't fix it.  Then I figured the iptables nat kernel module wasn't loaded.  So again, on all k8s cluster hosts:
modprobe iptable_nat

all kuma-demo pods are now running

@iamsourabh-in have you tried suggested by @watsonb solution?

I'm closing the issue as there was no updates


sourceURL overriding BaseURL even after init ranges are initialized

Have you read the FAQ and checked for duplicate open issues?
Yes
If the problem is related to FairPlay, have you read the tutorial?

N/A
What version of Shaka Player are you using?

4.7.4
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
custom
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Chrome
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?

https://pastebin.com/raw/0YSvSgUG
Here is the relevant section of the manifest:
      <Representation aspectRatio="37:20" bandwidth="1"
        codecs="avc1.4D401F" frameRate="24000/1001" height="520" id="video=1500000" sar="481:480"
        scanType="progressive" trackName="avc1.4D401F_1500000" width="960">
        <BaseURL>/interstitial/2/5691511/video_9.mp4</BaseURL>
        <SegmentBase timescale="96000" indexRange="7512-7735">
          <Initialization range="7736-8451" sourceURL="video_init.mp4" />
          <RepresentationIndex range="7512-7735" sourceURL="video_init.mp4" />
        </SegmentBase>
      </Representation>

Notice the BaseURL contains the fmp4 video file, and the Initialization and RepresentationIndex have the init file.
What configuration are you using?  What is the output of player.getConfiguration()?

https://pastebin.com/raw/LMExcnPB
What did you do?

Loading the mainfest and fails to play
What did you expect to happen?
I expected that once the init range was read from the video_init.mp4 specified in the sourceURL, that it would then load segments from the video_9.mp4 specified in the BaseURL.
What actually happened?

The init segment ranges are read, but then shaka continues trying to read the video segments from the init file and not switch back to the one specified in the BaseURL.
I would expect that if the sourceURL is provided for Initiatialization and RepresentationIndex, that once the init ranges are read, it would no longer use the sourceURL to read fpm4 data from and instead revert back to the BaseURL

Can you put the spec where indicates that this should in that way? Thanks!

Yes of course, a necessary and appropriate question. You can refer to the following sections of the MPEG-DASH standard (ISO/IEC 23009-1):

Section <IP_ADDRESS> "BaseURL": This section explains the role of the BaseURL element. It defines the BaseURL as a location that provides the base URL for resolving other relative URLs within the DASH manifest. It's intended for segment downloads.
Section <IP_ADDRESS> "Initialization" and Section <IP_ADDRESS> "RepresentationIndex": These sections detail the Initialization and RepresentationIndex elements, which may include a sourceURL attribute. The sourceURL is specifically for the initialization segment and the index segment, not for the media segments.
Section 5.3.9 "SegmentBase": This section provides an overview of the SegmentBase element, which indicates that a Representation consists of a single segment and defines how to access this segment. The SegmentBase element itself doesn't specify the media content's location but defines how to access it, particularly for the initialization and index segments.

In the DASH specification, the distinct roles of the BaseURL and sourceURL are clear: the BaseURL is used for accessing the media segments, while the sourceURL within Initialization and RepresentationIndex elements is used for accessing specific metadata and index information for setting up the stream. The Shaka Player is using the sourceURL for segment downloads instead of the BaseURL, and is a deviation from these specifications from my interpretation of the DASH spec.

Ok, then in that case, do you want to send a PR to fix this?. The problem should be fixable at: https://github.com/shaka-project/shaka-player/blob/main/lib/dash/segment_base.js#L243
I will be happy to review your PR and the tests you have added.
One question, is your stream working correctly with dash.if?

It works correctly with video.js. Yeah, I've been meaning to get to a PR. Hoping to start on it soon.

@chadacious are you planning send the PR? Thanks!

Yes, we have a working fork for our purposes. Of course, as startups typically go, we are struggling to find time to prepare the PR. But thanks for the reminder. Will try to get to that soon.

@chadacious any update? Thanks!


ARROW-1902: [Python] Remove mkdir race condition from write_to_dataset

Green AppVeyor on my fork: https://ci.appveyor.com/project/xhochy/arrow/build/1.0.537


Localization: JSONFileParser uses ToString() while IConfiguration.GetValue expects InvariantCulture

When parsing configuration there seems to be localization issues when parsing float/double.
To recreate:
Add the following to appsettings.json:
"A": {
"B": 22.814
}
Then try to get the value when using a culture that is incompatible with InvariantCulture (for example sv-SE)
Configuration.GetValue<double>("A:B")
This will yield the following error
Failed to convert '22,814' to type 'System.Double'.

Related: https://github.com/aspnet/Configuration/issues/348

Triage: we would like to wait until we get more feedback on this as adding an option to specify the culture would leak through all the implementation.
In the meanwhile customers will have to work around this by doing their own parsing.

How would I go about parsing it on my own? As I cannot get it as a string value?

@runeborg Why can't you get it as a string value?

I remembered incorrectly, and this was indeed how I solved it.
This does however completely prevent you from using the automatic modelbinding for any serious projects, since it won't run on any machine that does not use the invariant (or compatible) localization.

since it won't run on any machine that does not use the invariant (or compatible) localization

@runeborg I am a bit confused by this statemebt. I thought the whole time this issue was about the binding code always using invariant culture and wanting it to use a different culture if the string in configuration was stored in a format that didn't match what invarian culture would do. But now I re-read the issue and you explicitly said that the format if the number in the JSON file was 22.814 and however you said the exception read:

Failed to convert '22,814' to type 'System.Double'

Can you please clarify if you get exactly that exception for a string reading 22.814?

Yes, that is exactly the exception I get for a string reading 22.814. I sifted through the code, and it first reads the value from JSON, converts it to a string and then back to a double during model binding from what I can tell.
For example in JsonConfigurationFileParser.VisitPrimitive it does
_data[key] = data.ToString();
And then in ConfigurationBinder.ConvertValue it does
return TypeDescriptor.GetConverter(type).ConvertFromInvariantString(value);
Which creates a problem, since data.ToString() will convert it into a localized string, while the converter expects an invariant string.

@runeborg thank you very much for the details. Moving this to 1.1 because the issue is more concerning that what I thought it was when we discussed it in triage. Even if we decide it is OK that for now we don't support passing a specific culture we should be consistently using invariant culture as called out in #348.

@divega so if the issue here is that the our JsonParser is converting to local culture via ToString(), are you sure switching this to Invariant is something we can do in 1.1?  That seems highly likely to be a fairly visible breaking change no?

Let's chat about it. It may actually qualify for 1.0.1.

A fix might break implementations that worked around the issue, but it will resolve an issue that is not visible until after the app has been shipped.

We could also put a fix in the binder to just try converting from Invariant and current culture strings, so we'd be resilient to both inputs

I guess there's a danger to trying both for things like date time which mean completely different days based on ordering:
01/02/2001 vs 02/01/2001...

But we could still always try Invariant first, followed by current culture, which would tie break these situations.  And then also add an overload which takes in the culture to use for the conversion, to handle the ambiguous cases

related issue with the the parser stringifying first https://github.com/aspnet/Configuration/issues/508

Not going to do this in 1.1 since its a breaking change

Unassigning for now since this is blocked

@divega @glennc can I just make this change now in 1.2?  No flag, just fix the JsonFileParser to always return the invariant string instead?

I am facing this bug.
Is there a workaround ?

@HaoK can you think of a workaround for this?

Hit this one today.
@ycrumeyrolle
A possible workaround is specifying the setting as a string in the file e.g.
"A": {
 "B": "22.814"
}

This way the offending ToString is a noop and parses correctly into a double/decimal without modifying the application code. Doesn't seem like there's much you can do except not using json and/or creating your own json provider/fork. And submit a pull request of course :)
One thing to consider: roundtripping the double with ToString/Parse (with or without culture) may lead to a loss of precision. It would be better to handle each problematic type separately e.g. in JsonConfigurationFileParser.VisitToken.  If I - as the consumer of this package - specify a standard IEEE754 double literal in the config and map it to a standard IEEE754 double property in the code I would expect them to have the exact same value.


No response from devika gave apis like gemini and gpt but still no response

24.04.07 23:14:37: root: INFO   : SOCKET server-message MESSAGE: {'messages': {'from_devika': False, 'message': 'create python snake game', 'timestamp': '2024-04-07 23:14:37'}}
iam getting this log message.

Does this happen even after re-running devika.py?

Same Problem here.
Its getting stuck at this everytime

Same problem here. Any solutions to this?

I'm also having this issue using ollama models on MacOS

fixed. fetch the latest changes. for more read the changelog in discord.


Crawdad speed on advanced floor tiles overtuned

Mod source
Factorio Mod Portal
Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[X] Other

What is the problem?
In version 2.1.40, the following bugfix was implemented:
Fixed that the pY tile speed increase did not effect mounts. (https://github.com/pyanodon/pybugreports/issues/532)
This appears to have had an unintended side-effect. My T1 mount (crawdad) using Mk2 Fish as food experiences negative friction on advanced tiles, increasing in speed without any input, seemingly infinitely. Greater speeds yield greater acceleration, and i have to actively slow the mount down to maintain reasonable speeds.
I assume that this is unintentional, since controlling a crawdad at 350+ km/h speeds is almost impossible.
This is not tested with Mk1 fish, but if the acceleration bonus from the fuel is a factor then i would imagine that higher tier fish would yield even more insane results.
Steps to reproduce
To reproduce the problem, enter a crawdad mount and ride it on a stretch of advanced floor tiles.
Additional context

Log file
factorio-current.log

This is intended. The negative friction is the only way in the engine to speed up car prototypes on tiles. Perhaps the solution is to tweak the acceleration values for the tiers of fish.


[BUG] I.11.3 refuses equivalent circuit

Node number
Codercise I.11.3
Expected behavior
|0> - X
|0> - H - Z
gives
[ 0. +0.j 0. +0.j 0.7071+0.j -0.7071+0.j]
and should be accepted
Actual behavior
|0> - X
|0> - H - Z
gives
[ 0. +0.j 0. +0.j 0.7071+0.j -0.7071+0.j]
is not accepted accepted
|0> - X
|0> - X - H
gives
[ 0. +0.j 0. +0.j 0.7071+0.j -0.7071+0.j]
but is excepted.
Additional information
No response
Source code
No response
Tracebacks
No response
Check other issues

[X] I have searched existing GitHub issues to make sure the issue does not already exist.

Hi @lionelbrits, thank you for making us aware of this bug! We'll make sure to fix it in the Codebook. Thanks for helping us make the Codebook better 🙌

The fix is up @lionelbrits !
You can now see it fixed in the Codebook.
Thanks again for flagging this. Let us know if you notice anything else!


local mode suddenly stopped working

Yesterday at 12pm (noon) CET, all my sonoff TH10s suddenly stopped working:

After restarting, this is all that ever appears in the debug log:
2021-12-04 11:38:44  DEBUG    main          SysInfo: {'version': '2021.11.5', 'dev': False, 'hassio': True, 'virtualenv': False, 'python_version': '3.9.7', 'docker': True, 'user': 'root', 'arch': 'aarch64', 'os_name': 'Linux', 'os_version': '5.10.75', 'supervisor': '2021.10.8', 'host_os': 'Home Assistant OS 6.6', 'docker_version': '20.10.8', 'chassis': 'embedded'}
2021-12-04 11:38:44  DEBUG    main          LOCAL mode start
2021-12-04 11:38:48  DEBUG    sonoff_cloud  5 devices loaded from the Cloud Server
2021-12-04 11:38:48  DEBUG    main          Init force_update for attributes: {'humidity', 'rssi', 'temperature'}
2021-12-04 11:38:48  DEBUG    main          Init auto sensors for: ['temperature', 'humidity', 'power', 'current', 'voltage', 'rssi', 'current_1', 'current_2', 'voltage_1', 'voltage_2', 'power_1', 'power_2']

I am using SonoffLAN 7fb7eb6 via HACS.
This is my configuration.yaml. The setup worked great for months until it suddenly died while I was doing nothing.
sonoff:
  mode: local
  debug: true
  scan_interval: "00:00:30"
  force_update: [temperature, humidity, rssi]
  username: !secret sonoff_username
  password: !secret sonoff_password
  sensors: [temperature, humidity, power, current, voltage, rssi]
  reload: always

The TH10s seem to be working in the eWeLink app and I can ping them. They are on fw 3.5.0 (and were the whole time).
If I remove mode: local I get data again, but only from the cloud according to the debug log.
What can I try? Where should I look?

Not too sure if related to the above, but I too am getting an error and the integration has stopped working. I get the following error:
This error originated from a custom integration.

Logger: custom_components.sonoff.sonoff_cloud
Source: custom_components/sonoff/sonoff_cloud.py:148
Integration: Sonoff (documentation, issues)
First occurred: 12:50:37 AM (1 occurrences)
Last logged: 12:50:37 AM

Coolkit API error: [Errno 1] [RSA] RSA lib (_ssl.c:2633)
Traceback (most recent call last):
  File "/config/custom_components/sonoff/sonoff_cloud.py", line 148, in _api
    r = await coro
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 544, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 890, in start
    message, payload = await self._protocol.read()  # type: ignore
  File "/usr/local/lib/python3.9/site-packages/aiohttp/streams.py", line 604, in read
    await self._waiter
aiohttp.client_exceptions.ClientOSError: [Errno 1] [RSA] RSA lib (_ssl.c:2633)

and also the following error:
ogger: homeassistant.setup
Source: custom_components/sonoff/sonoff_cloud.py:313
Integration: Sonoff (documentation, issues)
First occurred: 12:50:37 AM (1 occurrences)
Last logged: 12:50:37 AM

Error during setup of component sonoff
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 254, in _async_setup_component
    result = await task
  File "/config/custom_components/sonoff/__init__.py", line 104, in async_setup
    await registry.cloud_load_devices(cachefile)
  File "/config/custom_components/sonoff/sonoff_main.py", line 122, in cloud_load_devices
    newdevices = await self.cloud.load_devices()
  File "/config/custom_components/sonoff/sonoff_cloud.py", line 313, in load_devices
    if resp['error'] == 0:
TypeError: 'NoneType' object is not subscriptable

I have the same issue. In local mode, TH10 temperature sensors is unavailable. Cloud mode works fine - it allows me to see temperature. Sonoff debug shows temperature in both modes
Local mode:
Manufacturer SONOFF
Model TH10
Sw version PSA-BHA-GL v3.5.0
Local online
Rssi -56
2021-12-19 00:32:59  DEBUG    switch        Refresh device state 1001190c76
2021-12-19 00:32:59  DEBUG    sonoff_cloud  1001190c76 => Cloud4 | {'_query': 'on'} |<PHONE_NUMBER>695
2021-12-19 00:32:59  DEBUG    sonoff_cloud  1001190c76 <= Cloud3 | {'error': 0, 'deviceid': '1001190c76', ... 'sensorType': 'DS18B20', 'currentHumidity': 'unavailable', 'currentTemperature': '25.8', 'mainSwitch': 'off', 'deviceType': 'normal', 'only_device': {'ota': 'success'}, 'ssid': '...', 'bssid': '...'}}

Cloud mode:
Manufacturer SONOFF
Model TH10
Sw version PSA-BHA-GL v3.5.0
Cloud online
Rssi -56
Temperature 25.1
2021-12-19 00:48:41  DEBUG    switch        Refresh device state 1001190c76
2021-12-19 00:48:41  DEBUG    sonoff_cloud  1001190c76 => Cloud4 | {'_query': 'on'} |<PHONE_NUMBER>290
2021-12-19 00:48:41  DEBUG    sonoff_cloud  1001190c76 <= Cloud3 | {'error': 0, 'deviceid': '1001190c76', ... 'sensorType': 'DS18B20', 'currentHumidity': 'unavailable', 'currentTemperature': '25.1', 'mainSwitch': 'off', 'deviceType': 'normal', 'only_device': {'ota': 'success'}, 'ssid': '...', 'bssid': '...'}}

UPD: My issue was related with https://github.com/AlexxIT/SonoffLAN/issues/527
Seems like the solution still not included in the latest release. Manually updated sonoff_local.py from github and issue disappeared

I think I still have the same problem. Have corrected the sonoff_local.py with the version in Master from GitHub. Still got a straight-line temp reading.
How do I access the debug mode to see?

It started to work again after updating and restarting my network gear. No changes to any settings anywhere. 5 APs, 5 switches, 1 router, all UniFi.

I think I still have the same problem. Have corrected the sonoff_local.py with the version in Master from GitHub. Still got a straight-line temp reading. How do I access the debug mode to see?
Debug mode is described here:
https://github.com/AlexxIT/SonoffLAN#component-debug-mode
Just add debug: True under sonoff:

It's best not use mode local if you have some problems with your LAN setup


Driver Configuration Parameters

I have added the following Parameters for the driver configuration for MongoDb and SQL :
MaxConn           (for SQL and Mongo)
MaxIdleTimeout (for SQL and Mongo)
MinConn             (only for Mongo)
MaxIdleConn       (only for SQL)
@sharadregoti Please Review this.

@KhushalPShah Your build is failing, fix it

Fixed #1023


TINKERPOP3-858 Cleanup after failed plugin install

https://issues.apache.org/jira/browse/TINKERPOP3-858 see manual testing steps in the JIRA

VOTE: +1

@dkuppitz DependencyGrabber.copyDependenciesToPath() throws two exceptions explicitly, IOException and IllegalStateException. RuntimeException occurs if there is an error grabbing grapes. This is the initial bug report, and its failed directory should be rolled back.
IOException occurs if there are problems creating the directories under ext. Rollback should occur here, but most likely there isn't even a directory to delete.
IllegalStateException occurs if plugin module already exists. For example, tinkergraph-gremlin is installed by default out of the box. If the code doesn't catch the IllegalStateException, tinkergraph-gremlin would get uninstalled if the user tried to install it a second time.

+1

If @pluradj votes +1, then there will be three. Thus, @pluradj  -- if you think your work is solid, then +1 it and tally the vote and merge. Good luck.

Thanks for the comments. I've centralized the rollback logic into DependencyGrabber, and added a couple unit tests.

Vote: +1

You have 3 +1 votes. Please merge and if this is going into tp30, don't forget to merge to master as well. Good luck.


Log lines are sometimes dropped

If a service logs something immediately before exiting, that log line isn't always reported by process-compose process logs. Sometimes the line is reported, so it seems there is a race condition on service exit. I saw this when running on an x86_64-linux machine that was under some resource load; it didn't seem to happen when not under load.
I used the following script to pinpoint the issue. It starts a service that echos 1, sleeps briefly, and then echos 2 right before exiting. It then checks the logs for the service after waiting longer than the service should take to exit. If it doesn't find the additional log line (2), it sleeps an additional 10 seconds just to ensure it's not checking for logs before the service actually exits, and then it prints the logs.
In 20 runs (when the system was under load), the script would consistently print logs at least once that didn't contain 2.
If I add a sleep .1 after echo 2, I never see the 2 log line being dropped.
#!/usr/bin/env bash

set -euo pipefail

cat << EOF > process-compose.yml
version: "0.5"
log_level: debug

processes:
  sleep:
    command: "sleep 100"
  echo:
    command: |
      echo 1
      sleep .1
      echo 2
EOF

process-compose up -u pc.sock -L pc.log --tui=false >/dev/null 2>&1 &

# make sure process-compose has started
for i in {1..5}; do
  if process-compose process list -u pc.sock 2>/dev/null | grep sleep >/dev/null; then
    break;
  fi
  sleep .1
done
if [ "$i" == 5 ]; then
  echo "didn't start"
  exit 1
fi

sleep .2
process-compose -u pc.sock process logs echo --tail 5 > echo.log
if ! grep 2 echo.log; then
  echo "waiting longer"
  sleep 10
  process-compose -u pc.sock process logs echo --tail 5
  process-compose down -u pc.sock
  exit 1
fi
process-compose down -u pc.sock

Thanks @F1bonacc1 !

@mkenigs your script was very helpful in pinpointing the issue and validating the fix.
Thanks!


Door remote should have UI

Radial menu with controls instead of manually switching. As I remember AI already has something like that.

imo this'll just make it harder to bolt stuff in an emergency (for example a tider with aa)

Tap to quick swap, hold for radial

Tap to quick swap, hold for radial

There currently no controls that work this way. And i would prefer not add such stuff right now. After radial menu UX improvement estimated time to click will going so much down so we can leave just radial for that - and until it is merged i'm just not doing this :|
So we wait until https://github.com/space-wizards/space-station-14/pull/32653 is merged.
After that - the question is, when radial menu should be displayed? On door clicking or on activating to switch current mode? My current idea is that corret way is the same as AI - its not going to be PITA coz new radial UX will be !perfect. I wonder why Slarti is not liking this idea....

Personally I'd prefer if the radial menu is used for selection of the type of action and using the remote uses that set action, similar to the RCD. The reason why I think it is fine to make this different from the AI is because you are utilizing an item, while for AI it is an inherent ability. So AI doesn't have a good way to convey the state you're in while the remote does via the in-hand tooltip.
It could also be argued as the two accessing the doors in different ways; AI are connecting to the doors via the wires and working within the door directly (as shown by the AIA wire) while the remote is sending a signal.
Were they to be the same, I'd prefer it if AI had the same "set state" menu rather than the remote having the AI's "perform action" menu.


Separate and clean stateless_llama.py

stateless_llama.py has become a rather large script. Separating out into something like exporter, runtime, and model generation scripts will help keep it more readable/usable for new people coming to use it.

Hi @IanNod, do we still need this issue?


Adapt to the new magic number

https://github.com/python/cpython/commit/bf353f3c2d937772a8cf30b15fd8eb7b82665ccb

Side question: Have you figured out how to watch the changes?

Side proposal: What if, when the magic number is bigger than any known number, marshalparser would assume the latest known version (possibly with a warning)?

Side question: Have you figured out how to watch the changes?

Yes. Each "history" page on Github can work as an Atom feed. So, if you open any list of commits for a file or folder and add ".atom" to the URL, you get a feed. Then, you can use a regular reader or some service that sends you a digest from feeds.

Side proposal: What if, when the magic number is bigger than any known number, marshalparser would assume the latest known version (possibly with a warning)?

Yes, I'm thinking about how to do it better. I considered having a range for every Python version and compare it just like an interval. The problem is that pure marshal data might contain whatever combination of bytes making it possible that even non-pyc files might be identified as pyc files and then the parsing would fail.
The magic numbers are incremented by 1 so what about adding some more for the future changes in Python bytecode before we come up with a better solution? I'll still follow the development closely so I'll be able to proactively react to any incompatible or anticipated change.

The magic numbers are incremented by 1 so what about adding some more for the future changes in Python bytecode before we come up with a better solution?

That works as well.


BRS-476 update to operation dates

Jira Ticket:
BRS-476
Jira Ticket URL:
https://bcparksdigital.atlassian.net/browse/BRS-476
Description:

switch from table to accordions, add dates to accordion content
update dates area to include park status (plus access status refactor)
link from subareas to facilities (plus add anchors to facilities)
note that links only work when facilities have codes in cms content (see ticket)

FYI for other reviewers, you can set facility codes in postgres via:
UPDATE facility_types SET "facilityCode" = REPLACE(lower("facilityName"), ' ', '-');


How create relationship between project and users

I am able to connect to gitlab using Http Client,...but my issue is how to create relationship between project id and user since the project id is generated dynamically.. what do now..
https://gitlab.com/api/v3/user?username=john
https://gitlab.com/api/v3/projects/{:id}
there is no such api i can do that above steps

i dont want to gitlab api wrapper due to security issue -- this api should become open source


Locksystem cleanup

About the PR
cleans up some obsolete code in LockSystem
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

-cleans up some obsolete code in LockSystem

was this intentional? it looks like you just accidentally deleted your branch?

ye was clearing out old branches, whoops


[tlse] TLS database connection

The my.cnf file gets added to the secret holding the service configs. The content of my.cnf is centrally managed in the mariadb-operator and retrieved calling db.GetDatabaseClientConfig(tlsCfg)
Depends-On: https://github.com/openstack-k8s-operators/mariadb-operator/pull/190
Depends-On: https://github.com/openstack-k8s-operators/mariadb-operator/pull/191
Depends-On: https://github.com/openstack-k8s-operators/mariadb-operator/pull/200
Jira: OSPRH-4547

/hold

need to update for the new added edge tests

/lgtm


Support pre-warming kernels

This was turned off, and issues that exist:

When auto start is on and we run a cell immediately ther'es no progress indicator for starting kernels

Because auto start is still busy and that is silent

https://github.com/microsoft/vscode-jupyter/issues/5736
Pre-warm daemons (if not done)
Pre-warm preferred & active environments
Notes

Pre-warm only for local
We need to refactor before we start this (thats why this was originally disabled and deferred)

Testing

We pre-warm kernels, now, running cells should be slighly faster (as the kernlel is started when the notebook is opened).


feature request: option to make windows explorer remember open tabs

Description of the new feature / enhancement
It will be nice if there is an option to make windows explorer remember open tabs, so i will not need to open this tabs again after restarting explorer.
Scenario when this would be used?
Not losing open tabs after restarting windows explorer.
Supporting information
No response

/feedbackhub

https://aka.ms/AAk8id0


Annotate C# scripts with XML comments

I took the opportunity in enemy_abcs, the branch associated with #7 , to annotate the code of EnemyBehaviour.cs with XML comments describing variables, functions, and classes because I read that it's useful in C# codebases. You can pull that branch to play around with the file yourself. Here I'm going to explain what I find to be the two core benefits I've discovered using screenshots based on the content of this branch.
Note that screenshots depicted are a proof of concept on code and comments that have been reviewed by no-one so far, and thus are very subject to change.

Intellisense displays your descriptive comments when appropriate. When you hover over a variable, function, etc. you're using, or when intellisense gives that member as a recommendation, you receive the relevant descriptive information from the XML comments in the intellisense popup. This would help us keep our code organized in the same way that our naming conventions do: we can gain information on variables and functions at a glance without having to dig back through older code.

We can use doxygen on our source codebase with XML-commented code to automatically generate clean documentation .html files. We could use a hosting service like github pages to have an online wiki for ourselves of the code we've written, which will become more and more useful as our codebase expands, or we could just generate and store the .html files locally. The only additional thing we'd need to store in the repository is an ~110 KB Doxyfile providing the documentation generation settings.

Apparently, it's also capable of generating a pdf manual, but I haven't managed to successfully use this feature yet. Feel free to play around with doxygen yourself locally.
Given these features, I'm going to suggest broader use of XML comments throughout new code, as well as a task to update old code with XML comments. Discuss.

I think it is reasonable to enforce these for public methods / variables, and leave it optional for private. Overall it does add a great deal of value, especially as we grow out and each of us take on larger scope projects and feature work.

Alright, I've updated the MUGA with the XML comment standard. From now on, when we add a public class or public member to a class in a branch, we should annotate it with XML comments.
Currently #5 adds XML comments for the contents of the main branch, and since I used the enemy_abcs branch as an experiment, I've added XML comments to the new classes in #7 as well.
I think for now I can close this issue. I've added a task to Notion to add XML comments to #18 , and though it's obviously not complete, specific implementations of XML comments were not the reason I made this issue, it was for discussion of whether we wanted XML comments in the first place. A discussion we've now had.


gpl: limit filler cell count on low density designs

Issue:

on large designs with few place-able instances the number of fill cell added during global placement can be huge and significantly slow down placement (in my case ~50000 instances with ~25M filler cells).

Changes:

during filler cell initialization this will increase the filler cell sizes if the filler area is 10x the place-able cell area. This limits the the number of filler cells to ~10x the number of instances or ~1M.
On designs with reasonable densities this code will not get triggered.

With this change the previously mentioned placement ends up with ~500k filler cells and placement ends in 5 minutes instead of 100 minutes.
The constants were chosen based on a single testcase, so we should determine what makes sense here (provide API access to these or different tuning?).

Started a secure CI - I don't expect any designs to have a low enough util for this to matter but making sure.

Why does it take 100min to add 25M fillercells?

@stefanottili it takes 100mins to place 25M cells

Sorry, now I'm confused. You mentioned

... on large designs with few place-able instances the number of fill cell added during global placement can be huge and significantly slow down placement (in my case ~50000 instances with ~25M filler cells).
With this change the previously mentioned placement ends up with ~500k filler cells and placement ends in 5 minutes instead of 100 minutes.

I read this as "large floorpan, 50k cells, 25M filler cells in 100min", after change
"... filler cell initialization .. will increase the filler cell sizes: large floorpan, 50k cells, 500k large filler cells in 5min"
And I was wondering
a) why does it take 100s to add 25M filler cells and also
b) do you only generate abstracts for the "increased fill cell sizes" or also layout ?
I don't get your answer to a) You're saying

it takes 100min to place 25M cells

25M stdcells or 25M filler cells ?
"place" .. are you referring to global placement (gpl), detailed placement (dpl) or filler cell insertion ?

@stefanottili the filler cells here are the internal cells of the global placer (they are virtual only, nothing real about them), it does not relate to the detailed placer or filler insertion.
The filler cells are added by GPL to fill up the empty area on the design. In my case, it's a very sparse design so it's mostly empty, thus causing GPL to add a lot of fillers (internal cells). Effectively each of these needs to be placed by the global placer even though they are not real, which ends up taking a lot of time. By increasing the effective size of these filler cells we get fewer of these and thus the algorithm doesn't take a such time.

@gadfort thanks for the explanation, highly appreciated

All public tests pass.  The smaller private ones have as well so I'm ok to go ahead with this (I don't believe an large ones are this sparse).


Fine-grain scene asset modification generation trigger

Hey, another recommendation here!
Currently, the regeneration of the map is defaulted to a setup that occurs whenever I save a scene. This causes it to add info to the console (default setting for the asset is debug logging level) every time I save a scene.
I believe two changes would be great, one is defaulting to warning, not debug.
Another is to listen to scene files being created/deleted instead of each change/save, to generate.
You can add hooks for OnWillDeleteAsset and OnWillCreateAsset.
Sorry if you considered this already. It's just that I work with a very pedant team and the console 'spam' got to them more than the value your plugin generates, which is crazy for me.
Still, amazing work! I hope I'm helping giving suggestions.

Thank you for your suggestion. Yes, I am considering fine-graining the scene modification trigger. It tends to get spammy.
As a temporary remedy, you can adjust the log level in the settings to Warning, which will stop the generation logs, as they are Debug level.

Fixed in #82. Will be included in the next release.

Included in 3.2.0.


try cython stable for free-threading

3.1 alpha is failing due to https://github.com/cython/cython/issues/6387

nope, free-threading doesn't build with 3.0, maybe they just meant 'regular' 3.13.


Fields with brackets ([])

I'm not sure if this is the appropriate place for this, but I had a need to use form fields with names using brackets: field_name[bracket1][bracket2]. (I guess I really don't NEED this, but it sure makes handling on the server side much better organized.)
I wrote a few lines of code that take the formidable fields and breaks them into JSON objects and values. For instance formidable would pass in the above example as a field named fields.'field_name[bracket1][bracket2]', and I need to have that dealt with in the form fields.field_name.bracket1.bracket2
I don't know whether one would expect to find this code in formidable or some other location of the stack, but I have included below the code snippet I created to make this work:
let form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
  // Handle array inputs
  let newFields = {};
  for(let _i1 in fields) {
    let _curLoc = newFields,
         _split = _i1.split('['),
         _splitLength = _split.length - 1;
    for(let _i2 in _split) {
      let _pointer = _split[_i2].replace(']', '');
      if(_i2 == _splitLength) {
        _curLoc[_pointer] = fields[_i1];
      } else {
        _curLoc[_pointer] = _curLoc[_pointer] ? _curLoc[_pointer] : {};
      }
      _curLoc = _curLoc[_pointer];
    }
  }
  fields = newFields;
  // do other stuff
}

What I did in koa-better-body is to collect them as "url" string and pass it to some querystring module.
for example
let qs = require('qs')
let buff = ''

form.on('field', (name, value) => {
  buff += `${name}=${value}&`
})
form.on('end', () => {
  const fields = qs.parse(buff.slice(0, -1))
  console.log(fields)
})

something like that?

The problem I see with this, is that there is no standard way of interpreting a non-trivial query string. querystring will emit an array if there are multiple keys with the same value. From the Ruby on Rails-world, I am used to keys postfixed with [] being interpreted as arrays. It really seems highly opinionated to me. Since this is a low-level library, I think it should not be opinionated in terms of this. Rather, I think it should parse and emit the key-value pairs that are found and leave it up to the user of interpreting them.

@badeball yea, absolutely.
It has workarounds and we shouldn't do something and it's not a job of that package.

I personally use https://github.com/DylanPiercey/q-set when parsing forms to achieve this effect.
Hope it helps some of you :).

Hm. Okay, seems like #380 is pretty basic implementation then. I just realized that.
Overall, most of the issues and PRs are about this support - both in fields and files. So we need to think seriously about some good implementation.


Opening conversation triggers bad scrolling behaviour

It seems that when opening a conversatio, the need list scrolls all the way down unless it is fully scrolled up. This is only noticeable when your need list is longer than your viewport, and it is really disorienting if it is much longer.

reproducible in chrome, but not FF


Pre-registered redirect_uri should be optional

The change in #1331 introduces a check on pre-registered redirect_uri
	Set<String> registeredRedirectUris = client.getRegisteredRedirectUri();
	if (registeredRedirectUris == null || registeredRedirectUris.isEmpty()) {
		throw new InvalidRequestException("At least one redirect_uri must be registered with the client.");
	}

This breaks existing implementations for clients without a pre-registered redirect_uri, e.g. newly created clients for test purposes in controlled environments.
Although such doing is discouraged for a good reason, it's still valid by RFC 6749, at least for confidential clients:

The authorization server MUST require public clients and SHOULD require confidential clients to register their redirection URIs.

https://tools.ietf.org/html/rfc6749#section-10.6, last paragraph.

Please revise the InvalidRequestException. TIA

@jbiblio I understand this update was not passive, however, the original implementation had a major issue as it opened things up to a potential Invalidated (Open) Redirect vulnerability.
Given the original implementation:
Set<String> redirectUris = client.getRegisteredRedirectUri();

if (redirectUris != null && !redirectUris.isEmpty()) {
	return obtainMatchingRedirect(redirectUris, requestedRedirect);
}
else if (StringUtils.hasText(requestedRedirect)) {
	return requestedRedirect;
}
else {
	throw new InvalidRequestException("A redirect_uri must be supplied.");
}

For the use case where the client does not have a registered redirect-uri but passes in the redirect_uri parameter in the Authorization Request, the above logic would cause the Authorization Server to issue the Authorization Response redirect using an invalidated redirect-uri which opens up one or more potential vulnerabilities, for example, leaked Authorization Code.

The authorization server MUST require public clients and SHOULD require confidential clients
to register their redirection URIs.  If a redirection URI is provided
in the request, the authorization server MUST validate it against the
registered value.

Note the highlighted, if the redirect_uri is provided in the request than the authorization server MUST validate it against the registered value.
For the implicit grant, a redirect-uri MUST be registered. Although it's optional for the authorization code grant, it is required if the redirect_uri is provided in the request in order for the matching to be performed.
The only change required on your end to resolve this is to configure your client(s) with a registered-redirect-uri.
Apologies for this non-passive change but this is needed for protection.

@jgrandja  Thank you very much for your feedback. I appreciate the more secure handling, as it prevents a severe security leak. (IIRC some major companies were harmed by this issue a few years ago...)

@jbiblio Thanks for your understanding.

For the implicit grant, a redirect-uri MUST be registered. Although it's optional for the authorization code grant, it is required if the redirect_uri is provided in the request in order for the matching to be performed.


Followed tutorial and it broke on Yarn Turbo Run Build with "invalid character" error

What version of Turborepo are you using?
1.0.24
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Windows
Describe the Bug
Following steps as per guide here: https://turborepo.org/docs/getting-started
I have an existing NextJS app that I'm trying to add Turbo to.
I'm in the repo and I follow steps:

yarn add turbo -W --dev
add this to my package.json:

  "turbo": {
    "baseBranch": "origin/main",
    "pipeline": {
      "build": {
        "dependsOn": ["^build"],
        "outputs": [".next/**"]
      },
      "test": {
        "dependsOn": ["^build"],
        "outputs": []
      },
      "lint": {
        "outputs": []
      },
      "dev": {
        "cache": false
      }
    }
  }

Add this to .gitignore
# turbo
 .turbo
  build/**
  dist/**
 .next/**

I run: yarn turbo run build
I get this weird error:
> yarn turbo run build
yarn run v1.22.5
$ D:\GitHub\myrepo\node_modules\.bin\turbo run build
←[91m←[1;31;7m ERROR ←[0m←[31m parsing .git\hooks\applypatch-msg.sample: invalid character '#' looking for beginning of value←[0m←[0m
node:child_process:729
    throw err;
    ^

Error: Command failed: D:\GitHub\myrepo\node_modules\turbo-windows-64\turbo.exe run build
    at checkExecSyncError (node:child_process:707:11)
    at Object.execFileSync (node:child_process:726:15)
    at Object.<anonymous> (D:\GitHub\myrepo\node_modules\turbo\bin\turbo:5:26)
    at Module._compile (node:internal/modules/cjs/loader:1109:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
    at Module.load (node:internal/modules/cjs/loader:989:32)
    at Function.Module._load (node:internal/modules/cjs/loader:829:14)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
    at node:internal/main/run_main_module:17:47 {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 3260,
  stdout: null,
  stderr: null
}
error Command failed with exit code 1.

Expected Behavior
I expected it to just do a build and cache like in the video I watched I guess?
To Reproduce
I literally just installed this in an existing Github repo.

This error is due to the workspaces field being unset in your root package.json
https://classic.yarnpkg.com/lang/en/docs/workspaces/
The error message is certainly messed up, but im not sure if the right course of action is to (1) immediately error out if the workspaces field (or backend equivalent) is unset, or (2) handle that as a real case - such that you are essentially caching the whole repo as one

Perhaps I'm confused or missing something after further research.
I have a repo, it is just one thing, I guess that's not a monorepo (as I assume a monorepo can have a set of 1 to many, but requires extra tooling even just to handle the 1).
I literally just want to use Turbo to build faster on Vercel for my production app (assuming it works that way).
I tried following the migration steps and I guess I ignored the workspaces because I don't use them or know what they are. The wording makes it seem optional:
If you are moving from another tool to Yarn workspaces, be sure to also specify all workspaces in your package.json.
"well I'm not moving from another tool..."
So I guess I can't just follow the instructions to migrate, I have to figure out how to make a new repo with yarn workspaces, figure out how to migrate my single repo into it, so now it's got some extra structure (I literally don't care about adding any other repos or using the monorepo advantages), and then figure out how to apply this to a new Github repo and reapply my production deploys on Vercel to use this new repo with the project subfolder, is this correct?
And does this even work with preview builds or only on the main branch?
I feel like there is a big knowledge gap or tutorial missing for this use case, especially since the Vercel acquisition. Maybe I am too naive to what a Monorepo is, I had just assumed it was more like folders in folder and you check in the root. I imagine others may hit the same confusion I do, so you may want to add some extra preamble or call outs in your tutorial.
I've never needed to know more because I haven't used them or needed them yet at this point, but I guess the big point of Turbo is the Monorepo magic and the caching is extra sugar, where as I only care about that sugar and don't see an easy path to it and my hosting provider acquired it and teased it.
So that would probably explain the weird errors I'm getting, but I would love a few answers to some of the question's I asked to know if I should bother trying to keep figuring this out or just abandon. I'd also say maybe just add some more doc stuff or blog posts or tutorials if you think my use case is going to be big, especially if Vercel tells all their users about it.
I started doing the base tutorial to start from scratch and I got all these extra folders and config files I don't care about or understand and I don't use typescript, so I'm not sure if your tutorials are a little overblown or under-explained, is there a super base level version you can make? Intrigued, but frustrated. It seems like it's making things more complex, unless you have a great love, intimacy and deep knowledge of config and package files, which I guess if you want to do a monorepo you would have to have.

Hello, this is a very late response, but if you're still running into this, can you please provide a reproduction repo?


code cleaning related to dynamic PR

This PR has done several code cleaning to dynamic PR, including:

[x] Move dynamic/train.py and dynamic/build_vocab.py to bin/
[x] Add __repr__ in BART
[x] Remove unused code relate to src_dir
[x] Replace duplicate -data_config option by using -config
[x] Modularize main opts

ETA for merging this one?
I'd like to open a PR to start working on the docs and it would probably be better for this one to be merged before as there are a few modifications in the docs already.

ETA for merging this one?
I'd like to open a PR to start working on the docs and it would probably be better for this one to be merged before as there are a few modifications in the docs already.

Done.


Loading more items in mode: reverse

Is your feature request related to a problem? Please describe.
I use virtua in a chat message list and when scroll hits the top we load more messages. But we lose scroll state and either jump to offset: 0 at top or far bottom.
Describe the solution you'd like
It should have a way to pin scroll to top most item in the viewport so user doesn't feel any jumps.
Describe alternatives you've considered
Using a useLayoutEffect to scroll to that item manually works but is janky and not smooth.
Additional context
In general, mode: reverse scroll positioning can be improved, eg. to load at the bottom initially and not top, keep at bottom when item sizes change, etc. We can implement most of these given flexible APIs. What's important is user shouldn't feel any frames in a between state that preserves like a jump.

Hi, I'm developing a prop in #147 for similar purpose, which will switch keeping position from bottom not top when items are shifted/unshifted.
It's almost working but the api isn't finalized yet. And it still cause jump in edge case.
As you pointed out, positioning can be improved in reverse scrolling but I'm bit wary to implement them because each people may have different use cases.
https://github.com/inokawa/virtua/assets/48897392/36d76077-55df-4930-957d-5b5c84617e35

This is fantastic. My issues that I can't workaround are 2:

bi-directional loading more (which this PR solves)
jump when item size changes (imagine in Slack when you add a reaction to a message, it should still stay at bottom, but my scrollToBottom that uses scrollToOffset is one frame late for some reason)

If you just want to stay to bottom when items added, scrollToIndex with end align may work:
const ref = useRef<VListHandle>(null).
useEffect(() => {
  ref?.current.scrollToIndex(elements.length - 1, "end");
}, [elements.length]

return <VList ref={ref}>{elements}</VList>

https://github.com/inokawa/virtua/blob/691183aead020bd0a0345da745f9d1996eb3d9ef/stories/advanced/Chat.stories.tsx#L69-L72
Sticking to bottom automatically might be better, and it is actually implemented as jump handling for scrollToIndex , but it's not exposed as props yet.

@inokawa we are doing a release later today with virtua for our message list (for https://noor.to) is there anyway I can make a PR or for you to expose this as an option? we're loving virtua so far.

That's sounds nice!
The stick to bottom during imperative scrolling logic is here. PRs are welcome but I doubt it would not work for other purpose as it is, because it's designed to work with imperative scrolling and the jump compensation in this lib is very timing dependent.
https://github.com/inokawa/virtua/blob/691183aead020bd0a0345da745f9d1996eb3d9ef/src/core/store.ts#L213-L227

Finally, #147  is released as shift prop in 0.8.0.
A known issue will be tracked in #163 .

Hey @inokawa , great! Is there a way to track "Reverse scroll in iOS Safari"?

Hi @Bessonov , the issue in iOS Safari will be processed in #43 .

For a note, I changed the compensation logic described in https://github.com/inokawa/virtua/issues/162#issuecomment-1682183707 to work in more situations in 0.13.0.
I close this issue because of inactivity, but feel free to reopen it if you have any problems.


WAF protection for blocking malicious file uploads

https://github.com/corazawaf/coraza might help with blocking malicious uploadeds.
there is a caddy module at https://github.com/corazawaf/coraza-caddy
I am going to see if I can get these working .
i think it uses clamAV but not sure yet. I raised a few questions here : https://github.com/corazawaf/coraza/discussions/671

thank you @gedw99 for the input. looks like a good combination for the upload module

no worries. Will feedback here on how i progress.


added caching to dir containing Ensembl downloads and database/indices

Partially addresses: https://github.com/hammerlab/pyensembl/issues/157

This change is

Coverage remained the same at 81.266% when pulling f785e6475cd364abfe730644e8c4d1000c29d0d7 on cache-dir into a9cd83732ebb0b0787ca946f56114c33bc08c1cc on master.

Can we verify that the pyensembl DL doesn't happen every build now? The latest build, which passed, seems to have performed the download.
Does some part of .travis.yml need to check whether the pyensembl downloads already exist before attempting to fetch them?

@ryan-williams Going to re-run the tests to see what happens.

@ryan-williams Second run of Travis by-passes the downloads!


More button visibility fix

Shot Type
Count
Status

Added
0
🟡

Deleted
0
❌

Regression
1
❗

❗ storybook/utility-responsive-image--responsive-image__[w1440px]:

Before
After

Shot Type
Count
Status

Added
1
🟡

Deleted
0
❌

Regression
16
❗

🟡 custom/widgets-filters--filter-button__[w900px]:

Image

❗ custom/widgets-collapsiblenavbar-opened__[w899px]_menu_opened (click to expand)

Before
After

❗ custom/widgets-filters--default__[w1920px] (click to expand)

Before
After

❗ custom/widgets-linkstabbar--current-focus__[w1920px] (click to expand)

Before
After

❗ custom/widgets-table-filters--opened__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w900px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--list__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w900px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w390px] (click to expand)

Before
After

❗ storybook/widgets-heart-rate--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-table-filters--default__[w390px] (click to expand)

Before
After

Shot Type
Count
Status

Added
0
🟡

Deleted
0
❌

Regression
2
❗

❗ storybook/utility-responsive-image--responsive-image__[w1440px]:

Before
After

❗ storybook/utility-responsive-image--responsive-image__[w1920px]:

Before
After

Shot Type
Count
Status

Added
1
🟡

Deleted
0
❌

Regression
18
❗

🟡 custom/widgets-filters--filter-button__[w390px]:

Image

❗ custom/widgets-collapsiblenavbar-opened__[w899px]_statistics_submenu (click to expand)

Before
After

❗ custom/widgets-filters--default__[w1920px] (click to expand)

Before
After

❗ custom/widgets-linkstabbar--current-focus__[w1920px] (click to expand)

Before
After

❗ custom/widgets-meal-nutrients--hint-opened__[w900px] (click to expand)

Before
After

❗ custom/widgets-table-filters--opened__[w1920px] (click to expand)

Before
After

❗ custom/widgets-user-profile--is-opened__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--default__[w900px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--list__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-exchange-account--with-link__[w900px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w1440px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-filters--default__[w390px] (click to expand)

Before
After

❗ storybook/widgets-heart-rate--default__[w1920px] (click to expand)

Before
After

❗ storybook/widgets-table-filters--default__[w390px] (click to expand)

Before
After


Add OSS tests of data loader v2 with reading service

Summary: * Add initial OSS tests and examples for data loader v2 with reading service.
Reviewed By: Miiira
Differential Revision: D36635447

Do we have tracking for the pre-existing domain tests failures?


Create publicação “2023-12-28-ueuhuefe”

Automatically generated by Decap CMS

👷 Deploy Preview for driveclean-teste processing.

Name
Link

🔨 Latest commit
bc944bdcd74b520a371a02160cff137ad74ba06c

🔍 Latest deploy log
https://app.netlify.com/sites/driveclean-teste/deploys/658d5d5c80e3e300082096c0


Detect hinting

This isn't perfect, as theoretically a font could contain hints per glyph and none of these "helper tables", and a rasterizer could decide to hint the font anyway — but that sounds like a very edgy edge case. Since lib-font doesn't report hinting per glyphs, checking for the presence of these helper tables is adequate.
Note that we exclude the prep table when it contains a specific, short string of instructions. This is because this is added in the build/verification process of Google Fonts. Although it does give some instruction on how to deal with a hinting-related issue, the presence of merely this short prep table shouldn't be considered proper hinting. So we exclude this.
⚠  This doesn't currently pass tests as the lib-font version on npm isn't up to date with the latest fixes that allow it to detect hinting-related tables!

@RoelN looks like lib-font 2.0.6 is out on NPM! Also there are merge conflicts, can you fix those?

@pascalw Thanks for the review! All's well now, merging!


Remote MD5 failed

I updated to the latest Solder version (v<IP_ADDRESS>) and now I get this error when trying to add or rehash a mod.
"Error: Remote MD5 failed. C:/wamp/www/solder/repo/mods/agricraft/agricraft-1.7.10_1.4.5.zip is not a valid URL."
The file does exist in that location.
Everything worked fine on the previous version I used (v<IP_ADDRESS>) and I didn't change any settings.
The update to v<IP_ADDRESS> was successful and I did the database migrate.

Can you check the error logs located at "app/storage/logs" for any errors/warnings about that file?

Same problem here
my app/storage/logs
is just repeating
[2015-12-06 11:08:58] production.ERROR: /var/www/TechnicSolder/public/modpack/mods/forge/forge-<IP_ADDRESS>7.zip is not a valid URI [] []
with different time obviously
this path is correct, and file exists.
i'm using nginx + php-fpm
all permissions are set corectly (worked with earlier versions)
I'm also having another issue
File sizes in "file list in the library" are showing always 0.00MB
i'm using CentOS 7 with php 5.4

Found the problem
app/controllers/ModController.php
Showing the top match. Last indexed 12 hours ago.
305			if(filter_var($URI, FILTER_VALIDATE_URL)) {
306				if (file_exists($URI)) {
307					Log::info('Found '' . $URI . ''');
This checks only for remote repositories. I have changed my repo_location to http://solder... one(over internet (not local one) and it worked
I think this code should first check if it's local repository or remote... or something like this.... maybe that would help:D i might also be wrong
I'll leave this as "remote" repository for now until it's fixed

I swore I tested this successfully....son of a gun :angry:
Hot fix inbound later today.

Thank you guys for looking into this so quickly. :+1:

No problem, thank you for the quick report!

Is it safe to update to 471f43f?

@xxAtrain223 No. The issue is still present in the as of 2 hours ago.

@leonh-au @xxAtrain223 Apologies but, it was my call on not saying anything. The issue does not break MD5 hashing completely, just local hashing.
The hotfix the being actively work now and should be released soon.


[MAP] (task list) Communication plan for launch

[x] Identify from Reach4Help who can help deliver the messages: volunteers assigned to the PR / social media teams or Work locally or all of these options

[x] Use AIRTABLE as a CRM and to keep track of interactions in order to leverage knowledge later

[ ] Ensure developers have a link to add data to the map
==> if no better option, use: https://github.com/reach4help/reach4help/tree/master/map/src/data

[ ] Validation of the "Messages to deliver " by team (see google doc below)

[ ] Execute the plan!

More info here:
https://docs.google.com/document/d/1H6BpARjK1GQxGOR5_AbNG4vYmxo0eTqjHUO-hX3gB8w/edit#

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.
Belonging to Epics:

[EPIC] [@isma-osy] #413 - Prepare MAP for Go-To-Market / Marketing strategy

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.
Belonging to Epics:

[EPIC] [@isma-osy] #413 - Prepare MAP for Go-To-Market / Marketing strategy

@s0 : can you mention during next leads meeting : we need to validate the messages to deliver to each audience?
Also is the link provided for developers still relevant given the user-friendly data adding feature being implemented ?

Sure, i'll do that today.
And no, that data will change very shortly, hopefully by the end of the week! :)


Miscellaneous project setup

\c @kylef

LGTM

We suspect the lack of 459ba6d is responsible for https://github.com/CocoaPods/Rainforest/issues/53.

This'll make it into the next series of releases.

Thank you!!


either move spring logic to another script or move one way platform logic into player

Fixed in commit b4f2449.


FEATURE: Restructure imports to remove circular imports

@chenchienjacklin Did you confirm that the links to objects in the documentation strings aren't broken by these changes? Some areas refer to the objects by their full path, which I would imagine would no longer work with these change. For example, in database.py the method top_circuit_cells contains the string <ansys.edb.core.layout.Cell>. I believe this would now need to be changed to <ansys.edb.core.layout.cell.Cell>?
@hiro727 Correct me if I'm wrong, but I believe that you found that we can avoid using full paths in the doc strings by just using :class:. followed by the class name like this?:
:class:`.Cell`

@hiro727 Correct me if I'm wrong, but I believe that you found that we can avoid using full paths in the doc strings by just using :class:. followed by the class name like this?:
:class:.Cell

@drewm102 yes, see some examples here
@chenchienjacklin you'll also need to adjust the entry .rst files. currently the top level docs are also empty
from the GH action artifact:


dlib' has no attribute 'grow_rect'

After my dlib frontal face detector detects faces it returns a list of rectangles of faces. All I wanted to is increase the rectangle by a bit so it included the hair and neck etc... But when I try to use the function described in the python docks I get the following error. I tried reinstalling it with no success.
Expected Behavior
The expected function "dlib.grow_rect(rect,100) should grow the rectangle by 100
Current Behavior
When using "dlib.grow_rect()"
I get the error "Exception has occurred: AttributeError
module 'dlib' has no attribute 'grow_rect' "
When using just "grow_rect()"
I get the error "Exception has occurred: NameError
name 'grow_rect' is not defined"
When I used "'rect2.grow_rect(rect,100)
I get the error "'rectangle' object has no attribute 'grow_rect'"
Steps to Reproduce
Create a simple rect object "rect= dlib.rectangle(78, 78, 185, 185)" (constructor works fine) and then
try to grow it.

Version: <19.7.0>

Where did you get dlib: <pip install https://pypi.python.org/packages/da/06/bd3e241c4eb0a662914b3b4875fc52dd176a9db0d4a2c915ac2ad8800e9e/dlib-19.7.0-cp36-cp36m-win_amd64.whl#md5=b7330a5b2d46420343fbed5df69e6a3f>

Platform: < Win 10 64 bit >

Compiler: <--Python 3.6.4 64 bit visual studio code environment -->

You are using a really old version of dlib.

You are using a really old version of dlib.

I Fixed it by hard-coding rect growth on my won, it ain't pretty but it works.
So I assume that grow_rect isn't part of my dlib package? I Only have this package because I get a dlib installation error when using pip


Delete button problem on tablet screen

Hello,
On tablet screens, the delete button does not look like cellphone sizes.

sorry guy,this plugin is not adapted to the tablet. :)


Examples Webpage

Dear ginkgo developers,
I observed that there are some new examples (the three mixed precision ones), which are drawn in the example tree, however, dont show up in the example list? This time, before opening a new PR, I first ask about it :)
As a suggestion, maybe it would be nice to rearrange the example tree a bit, because it is very wide and I have to scroll horizontal.

Hi @gfcas,
Yes, you are right. we miss the example in the following list.
It is required to manually add the new items in the doc/examples/examples.hpp.in
I am not sure whether making automatically generation is easy or not.
Does @pratikvn have some idea about the example tree? I think it is generated by dot.
If you have idea and free time to fix it, please feel free to create a PR and we appreciate it.
or, we will fix it.

I know it also from dealii, where I added my tutorial manually to the list of examples. Maybe a ordering would also be nice (like step/example-1, 2, 3, ...). Maybe I would try to find some time until next Monday.

Does someone know if there is a make documentation target? At the first view wit make help I did not found one.

When you enable GINKGO_BUILD_DOC, you have the usr target, which generates user documentation. When you enable GINKGO_DOC_GENERATE_DEV, you additionally have the dev target, which generates developer documentation containing additional @internal parts of Ginkgo.

Yes, Currently the graph is generated from the list in examples.hpp.in using dot-graphviz. We could grep the list of examples and add it automatically, but it might not be necessary as we dont regularly keep adding examples, that it would get out of our control.

Another alternative would be moving to a different graphviz engine, e.g.
circo

twopi

fdp

neato

or doing the layout by hand, which might not be that much of an overhead, since we only rarely add new nodes.

I think the generation is handled by examples.pl.
can it add some fixed-width or fixed-number-per row?

Here is a quick example put together using yEd. The issue with trying to compress this to a more narrow drawing is that this will obscure the structure of the graph even more. We should probably clean up our transitive dependencies a bit.

Here is a quick example put together using yEd (looks like edge directionality got lost in the conversion, though). The issue with trying to compress this to a more narrow drawing is that this will obscure the structure of the graph even more. We should probably clean up our transitive dependencies a bit.

Maybe if you have a tutorial story like 1,2,3,... (Sorry, maybe you notice that I grew up with dealii :) )

That's perfectly fine, the thing with Ginkgo is that we would probably have multiple stories to tell instead of a single storyline, so the graph definitely makes sense. We do need to clean up our edges, though!

To me, atleast currently while the graph is slightly wide and does not fit in a page, it should be okay, because you easily drag the graph. The idea of the graph was to give a quick idea of the dependencies, show the main example categories and show all the available examples in a visual form. The graph is also meant to showcase the complexities of the examples, in that the examples at the top are supposed to implement simple examples, and the ones at the bottom, are more complicated features.
I am not sure about numbers, because as Tobias mentioned we dont have a clear path like deal.ii, where you have a proper story to tell.

When you enable GINKGO_BUILD_DOC, you have the usr target, which generates user documentation. When you enable GINKGO_DOC_GENERATE_DEV, you additionally have the dev target, which generates developer documentation containing additional @internal parts of Ginkgo.

Thanks! usr was the target I was looking for :)

I am not sure about numbers, because as Tobias mentioned we dont have a clear path like deal.ii, where you have a proper story to tell.

Yeah, then we probabely let it in the current state. Less work :)

Does someone wants to assign PR #819 with this issue such that it gets closed automatically?


Replaced from tqdm import tqdm with from tqdm.auto import tqdm

Consistent UI across platforms for tqdm

Hi @ajinkya-kulkarni, I agree that tqdm.auto loads a nicer progress bar in Jupyter notebooks, but it also has the disadvantage that the progress bar isn't preserved in the notebook output. I.e. one cannot see how many iterations / long it took when the notebook isn't "live" anymore. Or has this recently changed?

Hi @uschmidt83, no I don't have this problem - do you have a minimal example, which I reproduce?

Running the code in a "live" notebook:

Kernel > Shutdown

Saving the notebook and reloading the webpage:

Oh, that's why you mean! Sorry, I had misunderstood your question earlier then.
Yes, that looks like a drawback, but I don't know if preserving the tqdm output is important. I think its okay if it is not preserved.

Yes, that looks like a drawback, but I don't know if preserving the tqdm output is important. I think its okay if it is not preserved.

I think it's important for our example notebooks, so that people know how long they can expect certain tasks to run.

Alright - then let#s wait until the issue is fixed from the 'tqdm' end.


1.9.1 build faild

Hi
my arudino esp32 manager is 2.x
and my home span is 1.9.1
but build faild
PLATFORM: Espressif 32 (6.6.0) > Espressif ESP32-C3-DevKitM-1
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-builtin, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

framework-arduinoespressif32 @ 3.20014.231204 (2.0.14)
tool-esptoolpy @ 1.40501.0 (4.5.1)
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- FastLED @ 3.7.6
|-- HomeSpan @ 1.9.1
Building in release mode
The log info:
.pio/libdeps/esp32-c3-devkitm-1/HomeSpan/src/HAP.cpp:30:10: fatal error: ESPmDNS.h: No such file or directory
.pio/libdeps/esp32-c3-devkitm-1/HomeSpan/src/Network.cpp:30:10: fatal error: DNSServer.h: No such file or directory
*** [.pio/build/esp32-c3-devkitm-1/lib7c3/HomeSpan/HAP.cpp.o] Error 1
*** [.pio/build/esp32-c3-devkitm-1/lib7c3/HomeSpan/HomeSpan.cpp.o] Error 1
*** [.pio/build/esp32-c3-devkitm-1/lib7c3/HomeSpan/Network.cpp.o] Error 1
Indexing .pio/build/esp32-c3-devkitm-1/libb45/libSPI.a
In file included from .pio/libdeps/esp32-c3-devkitm-1/HomeSpan/src/Utils.cpp:29:
.pio/libdeps/esp32-c3-devkitm-1/HomeSpan/src/HomeSpan.h:40:10: fatal error: ArduinoOTA.h: No such file or directory

remove HomeSpan @ 1.9.1 the project build ok
can you tell me how to do it !

Strange. See the bottom comment of #897, and check if you can apply the same workaround. I didn’t get that error with HS 1.9.1, only 1.10.0.

Hello, I encountered the same situation as him, but his solution didn't work for me. I used FastLED in my project, and I'm not sure if it had any impact. Removing FastLED would make it compile successfully, which is very strange.

Strange, i write like this, and It build success
i do not sure  will it do new problem
lib_deps =
Update
ArduinoOTA
DNSServer
WiFi
ESPmDNS
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Any more on this, or can it be closed?

it would be nice to nail down a solution that works for all…

To solve this I need to start using PIO to debug, but lots of other priorities in the short term.

Hi, tahnk you , and you can close it, it build ok now


Clean up useless code HttpClientWebRequest.close()

This method spawns a thread pull and then kills it again. Useless.
This is the only place CallableSingleTon is used.

Hi @evpaassen, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

hi @evpaassen thanks for the contribution. I think if nobody disagrees we can have this merged. Feel free to add some unittest in the spare time :-) (sry can´t say this enough)


ERR_FLSH while booting from Flash in iCEBreaker

Hi,
I am exploring iCEBreaker board to run various RISC-V CPUs. I am trying to run the UP5KDemo version of the processor. I am able to synthesize the processor and program the flash . I am able to send application files via Terminal programs and the application runs fine. However, if i try to save the executable to flash of boot from flash, I get ERR_FLSH error and the processor stops working. Am i missing something while synthesizing the code?
I checked the jumpers on iCEBreaker board, they are in their default position. So It should be possible for iCEBreaker to access the flash.
Looking forward to your support.

I just updated the radiant project in this repository. The VHDL source paths were incorrect 🙈
And I just tested the bootloader upload + flash operations which seem to work fine:
<< NEORV32 Bootloader >>

BLDV: Feb 17 2024
HWV:  0x01090605
CLK:  0x016e3600
MISA: 0x40901101
XISA: 0x000000c3
SOC:  0x0007800d
IMEM: 0x00010000
DMEM: 0x00010000

Autoboot in 8s. Press any key to abort.
Aborted.

Available CMDs:
 h: Help
 r: Restart
 u: Upload
 s: Store to flash
 l: Load from flash
 x: Boot from flash (XIP)
 e: Execute
CMD:> u
Awaiting neorv32_exe.bin... OK
CMD:> s
Write 0x00001228 bytes to SPI flash @ 0x00400000? (y/n) y
Flashing... OK
CMD:> l
Loading (@0x00400000)...
OK
CMD:> e
Booting from 0x00000000...

                                                                                ##        ##   ##   ##
 ##     ##   #########   ########    ########   ##      ##   ########    ########     ##      ################
####    ##  ##          ##      ##  ##      ##  ##      ##  ##      ##  ##      ##    ##    ####            ####
## ##   ##  ##          ##      ##  ##      ##  ##      ##          ##         ##     ##      ##   ######   ##
##  ##  ##  #########   ##      ##  #########   ##      ##      #####        ##       ##    ####   ######   ####
##   ## ##  ##          ##      ##  ##    ##     ##    ##           ##     ##         ##      ##   ######   ##
##    ####  ##          ##      ##  ##     ##     ##  ##    ##      ##   ##           ##    ####            ####
##     ##    #########   ########   ##      ##      ##       ########   ##########    ##      ################
                                                                                ##        ##   ##   ##
Hello world! :)

However, could you post the bootloader terminal that emits this error message?

I tried with a fresh cloning of the repo. I have found a few issues:

If fresh synthesis is done using Radiant, then the bootloader does not work at all. However, if i flash the [impl_1.bin] (https://github.com/stnolting/neorv32-setups/blob/main/radiant/iCEBreaker/impl_1/iCEBreaker_impl_1.bin) directly from the repo, it works fine and saving to flash works as demonstrated in the previous chat. I feel it is configuration issue of some Radiant settings.
Saving to flash still does not work while using the open-source toolchain. I get ERR_FLSH while saving to Flash. I am using the UP5KDemo made for iCEBreaker. Looks like it might be the same configuration issue with the iCEBreaker_UP5KDemo.

As your Radiant generated bitstream works without any errors, I am sure there is no jumper changes required on iCEBreaker board. So, it either be iCEBreaker_UP5KDemo or the 5KDemo processor template which is leading to this error.

Which version of Radiant are you using?
We found out that the newest version Radiant has some issues... So we put a note regarding this to the README:

synthesis.mk needs some changes.
$(YOSYS) $(YOSYSFLAGS) \ 	  -p \ should be changed to
$(YOSYS) $(YOSYSFLAGS) \ 	  -m ghdl -p \

i fixed the bug with the open-source tool chain. Now it is possible to save executable to flash. (It seems someone forgot to connect SPI but to the cpu).  I can submit PR with the changes.

i fixed the bug with the open-source tool chain. Now it is possible to save executable to flash. (It seems someone forgot to connect SPI bus to the cpu).

Great to hear! :)

I can submit PR with the changes.

That would be really great! :+1:


Future claim date entry error

On test.
https://test-apvs-external-web.kainos.com/apply/first-time/eligibility/390d74b8bc72a5e55675/new-claim/advance
When adding a future claim if you enter a future date that doesn't meet the criteria you get the error message, when you enter a legitimate date and click continue you get an error.

The bottom error is one which I already have an issue open for and am working on issue #366


🐛 cancelDeviceConnection exception, kill the app

Prerequisites

[X] I checked the documentation and FAQ without finding a solution
[X] I checked to make sure that this issue has not already been filed

Expected Behavior
In general all errors should throw Exception on JavaScript side so we could handle exceptions on react native.
We have similar issues on other methods as well, throwing random exceptions that could not be handled.
Current Behavior
Exceptions that could not be handled. And kills the app.
Library version
3.1.2
Device
Android 12
Environment info
System:
  OS: Windows 11 10.0.22000
  CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
  Memory: 5.69 GB / 15.89 GB
Binaries:
  Node:
    version: 20.10.0
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.19
    path: ~\AppData\Roaming\npm\yarn.CMD
  npm:
    version: 10.2.3
    path: C:\Program Files\nodejs\npm.CMD
  Watchman:
    version: 20230430.125247.0
    path: C:\Android\watchman.EXE
SDKs:
  Android SDK: Not Found
  Windows SDK:
    AllowDevelopmentWithoutDevLicense: Enabled
    Versions:
      - 10.0.19041.0
IDEs:
  Android Studio: AI-223.8836.35.2231.10406996
  Visual Studio:
    - 17.0.31903.59 (Visual Studio Community 2022)
Languages:
  Java:
    version: <IP_ADDRESS>
    path: C:\Ohjelmointi\jdk-<IP_ADDRESS>\bin\javac.EXE
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.6
    wanted: 0.72.6
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Steps to reproduce
bleManager.cancelDeviceConnection(id)
Formatted code sample or link to a repository
-

Relevant log output
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
       at bleshadow.dagger.internal.Preconditions.checkNotNull(Preconditions.java)
       at com.polidea.rxandroidble2.DaggerClientComponent$DeviceComponentBuilder.macAddress(DaggerClientComponent.java)
       at com.polidea.rxandroidble2.DaggerClientComponent$DeviceComponentBuilder.macAddress(DaggerClientComponent.java)
       at com.polidea.rxandroidble2.internal.RxBleDeviceProvider.getBleDevice(RxBleDeviceProvider.java:42)
       at com.polidea.rxandroidble2.RxBleClientImpl.getBleDevice(RxBleClientImpl.java:5)
       at com.bleplx.adapter.BleModule.cancelDeviceConnection(BleModule.java:18)
       at com.bleplx.BlePlxModule.cancelDeviceConnection(BlePlxModule.java:17)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:148)
       at com.facebook.react.bridge.JavaModuleWrapper.invoke(:147)
       at com.facebook.jni.NativeRunnable.run(SourceFile)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage()
       at android.os.Looper.loopOnce(Looper.java:233)
       at android.os.Looper.loop(Looper.java:344)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(:37)
       at java.lang.Thread.run(Thread.java:1012)

Additional information
No response

Thank you for reporting this issue. We are analyzing it and will get back to you with more info soon.

Hey Guys
We are having the same on iOS.
Please have a look at this :-)

Hi @stefanpieter, @simonitfi. We are still working on this and some other issues, so please hold on a bit longer.

Hi everyone
The issue with the NullPointerException was related to calling a method on non-existent objects. This has been resolved in version 3.2.0.

I’m closing the issue, in case of anyone with similar error please upgrade to at least 3.2.0 version


Logo and GUI window fix for macOS

What's changed:

Fix for https://github.com/dbouget/Raidionics/issues/14
Build for all branches

Note that I accidentally kept the edits from the dev branch. Hence, please merge this before merging

Edits are so simple, that I do not believe a review is necessary. I have also run the CIs on my fork and is working fine. Merging.


don't display readonly fields when user has add permission

Hello everybody,
thank you for great django app, saved me a lot of work. Unfortunately, I have found a bug when working with view permissions.
Use case: consider user having view and add permissions for certain model. When using change view, everything works as expected but when you try to add new record, the add form is displayed with readonly fields.
The root cause is: https://github.com/ctxis/django-admin-view-permission/blob/master/admin_view_permission/admin.py#L83 and https://github.com/ctxis/django-admin-view-permission/blob/master/admin_view_permission/admin.py#L103 . You just check whether user has change permission... Using obj argument we can differ if there is ongoing change/add action.
This PR should solve this issue.

@kapucko thank you very much for your PR. I will merge it and I will fix the tests. I will push the new release asap.

@lefterisnik thank you for adding tests, I wasn't sure how to add obj etc..


Social Media Icons in Footer Section Not Linked to Handles

Description
Description:
The social media icons in the Footer section of our app/webpage are currently not linked to their respective social media handles. This prevents users from easily accessing our social media profiles. So we can fix this issue
Steps to Consider:

Locate the social media icons (e.g., Facebook, Twitter, Google).
Click on any of the icons.

Expected Behavior:
Clicking on a social media icon should redirect users to the respective social media handle.
Actual Behavior:
Clicking on any social media icon does not redirect users.
Labels: bug, enhancement,  (level 1, 2 or 3)
Screenshots

This is the Screenshot from our webpage
Additional information
This issue impacts user engagement and brand visibility.
So Project Admin @Muskansahuincredible @techmannih , Can you please assign me this issue, I would be delighted to work on this.
Thank You
What browser are you seeing this bug on?
Google Chrome
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

@Muskansahuincredible @techmannih @kamalesh-og @MastanSayyad @Asymtode712 could you please assign me this issue , i would like to fix them up and make sure those links works to respective social media platforms

Hey @Muskansahuincredible can you please assign me this issue to me I would be glad to work on it!

Hello @Muskansahuincredible I am interested to work on this issue. Kindly assign this task to me.

Hey guys, this issue is already resolved can't you see a merged PR in the issue timeline above


[BugFix][Frontend] Use correct, shared tokenizer in OpenAI server

The front-end server code currently doesn't use lora-specific tokenizers.
It also won't make use of the recently introduced parallel async tokenization if enabled.

Test failures look unrelated (network blips).

Can the same tokenizer be used to apply the chat template as well?

Closing as superseded by #6227.


Velocity Calculator

Description 📜
Velcotiy calculator lets you derive the value of one of the 4 paramters inside the velocity equation : v = u + at
You are supposed to know 3 paramters in order to let the velocity equation work and derive the fourth parameter for you.
Fixes #284

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSOC'22 contributor
[x] Have you added a working video of your calculator ?

Screenshots / Gif (Optional) 📸

Demo:
https://user-images.githubusercontent.com/49890655/166864582-e8595619-9de2-41b9-aacc-a4f74a1486a9.mp4


update SIGIR deadline

The deadline for sigir 2022 has been advanced, please refer to https://sigir.org/sigir2022/call-for-papers/

LGTM, thanks for the update!