Exposing Nginx-ingress to external traffic

I am wanting to expose my traffic to the internet,
When I enable ingress and define an ingress route, I have two services running which pick up on it:

external-dns
cert-manager

due to the way Nginx-ingress is configured, it does not pick up on the public ip of the running host, but instead defaults to <IP_ADDRESS>.
It would be useful to enable this as an option to allow serving traffic & automatically registering dns.
in order to do this, I copied the Nginx-ingress-controller yaml file in this repo, and updated the --publish-status-address to the public ip of my node.
I have found no documentation on this procedure, so was curious about whether or not this was a knob that had been intentionally hidden, and if so what the motivation behind it was.
Thanks

@moredhel thank you for reporting this. I think it is worth at least document your approach. Could you offer a self contained example on exactly what you are doing? Something that I can reproduce? Could you share the yaml manifests you are applying, eg the rules and a demo service? Thank you.

@ktsakalozos sure thing,
I ended up cloning the microk8s repo & making the change there. The following can be run from the root directory of master:
sed -i 's/<IP_ADDRESS>/$(curl -4 ifconfig.io)/' microk8s-resources/actions/enable.ingress.sh

Then, to test:

enable ingress
install & configure external-dns

        helm upgrade \
                --version=2.10.2 \
                --namespace=kube-system \
                -i external-dns \
                -f values.yaml \
                stable/external-dns

sample values.yaml:
image:
  repository: bitnami/external-dns
  tag: 0.5.17-debian-9-r25

## The DNS provider where the DNS records will be created (options: aws, google, inmemory, azure )
provider: cloudflare

## This controls which types of resource external-dns should 'watch' for new
## DNS entries.
sources:
  - ingress

## RBAC parameteres
## https://kubernetes.io/docs/reference/access-authn-authz/rbac/
##
rbac:
  create: true

resources:
  limits:
    memory: 50Mi
  requests:
    memory: 50Mi
    cpu: 10m

cloudflare:
  proxied: false
  apiToken: "<><><><>"
  email<EMAIL_ADDRESS>
## Modify how DNS records are sychronized between sources and providers (options: sync, upsert-only )
policy: upsert-only

## Prometheus Exporter / Metrics
##
metrics:
  enabled: true

create an ingress resource (doesn't matter what) (eg. mydomain.example.com)

Expected output
dig +short @<IP_ADDRESS> mydomain.example.com
> $(curl -4 ifconfig.io)

Actual
dig +short @<IP_ADDRESS> mydomain.example.com
> <IP_ADDRESS>

Looking at the shell script, one fix could be allowing an override of the ip address to something user-configurable (similar perhaps to how istio enable works, with a default of <IP_ADDRESS>)
If you're happy with that, I can submit a PR.
& If you need any more information, let me know.
Thanks

Here's an update with a more reproducible setup:
I haven't managed to figure out the issue re. rbac, so it is currently disabled. This issue is dealing specifically with exposing the ingress:
I installed the edge cluster, but was experiencing this with stable too:
$ snap install microk8s --classic --channel=1.17/edge
$ microk8s.enable dns
$ microk8s.kubectl create ns ingress

Before applying the ingress controller:
# helm upgrade -i nginx-ingress \
# --namespace=ingress \
# -f values.yaml \
# stable/nginx-ingress
rbac:
  create: false
controller:
  kind: DaemonSet
  hostNetwork: true
  reportNodeInternalIp: true
  dnsPolicy: ClusterFirstWithHostNet

You can get an output of the files that were applied to the cluster as such:
helm template --namespace=ingress --name-template=nginx-ingress -f values.yaml stable/nginx-ingress

I hope this helps with debugging, perhaps it would be worth mentioning in the install script that if you want to expose traffic one must install and manage your own ingress controller.
I'm happy to contribute if you think this is worth pursuing.
Thanks

I'm a microk8s newbie, and just enabled ingress. I then followed the steps from https://kubernetes.io/docs/concepts/services-networking/ingress/ and I think all is correct, but I'm also seeing <IP_ADDRESS> as the "public" ip:
$ kubectl get ingress
NAME            CLASS    HOSTS   ADDRESS     PORTS   AGE
kuard-ingress   <none>   *       <IP_ADDRESS>   80      20m

And:
$ kubectl describe ingress
Name:             kuard-ingress
Namespace:        default
Address:          <IP_ADDRESS>
Default backend:  nginx-default:80 (<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80)
Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /testpath   kuard:8080 (<IP_ADDRESS>:8080,<IP_ADDRESS>:8080,<IP_ADDRESS>:8080)
Annotations:  kubernetes.io/change-cause: kubectl apply --filename=kuard-ingress.yaml --record=true
              nginx.ingress.kubernetes.io/rewrite-target: /
Events:
  Type    Reason  Age                From                      Message
  ----    ------  ----               ----                      -------
  Normal  CREATE  14m                nginx-ingress-controller  Ingress default/kuard-ingress

And:
$ kubectl get services
NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
kuard           ClusterIP   <IP_ADDRESS>    <none>        8080/TCP   29m
kubernetes      ClusterIP   <IP_ADDRESS>     <none>        443/TCP    3d16h
nginx-default   ClusterIP   <IP_ADDRESS>   <none>        80/TCP     8m16s

What am I missing? I was expecting to have a "public" IP available for me to connect to, and not <IP_ADDRESS>.

To be more precise, I'm accessing this microk8s deployment from another machine, after having configured kubectl there with the output of microk8s config.

@ktsakalozos sure thing,
I ended up cloning the microk8s repo & making the change there. The following can be run from the root directory of master:
sed -i 's/<IP_ADDRESS>/$(curl -4 ifconfig.io)/' microk8s-resources/actions/enable.ingress.sh

Ok, I understood this bit now. Definitely in actions/enable.ingress.sh you are hardcoding <IP_ADDRESS> instead of using the ip of the microk8s host:
EXTRA_ARGS="- --publish-status-address=<IP_ADDRESS>"

And since this is a snap, I can't edit that file prior to enabling ingress again.

How about this patch:
diff --git a/microk8s-resources/actions/enable.ingress.sh b/microk8s-resources/actions/enable.ingress.sh
index 9895fe0..d846b8e 100755
--- a/microk8s-resources/actions/enable.ingress.sh
+++ b/microk8s-resources/actions/enable.ingress.sh
@@ -23,7 +23,11 @@ echo "Enabling Ingress"

 ARCH=$(arch)
 TAG="0.33.0"
-EXTRA_ARGS="- --publish-status-address=<IP_ADDRESS>"
+HOST_IP=$(get_default_ip)
+if ! valid_ip "${HOST_IP}"; then
+  HOST_IP="<IP_ADDRESS>"
+fi
+EXTRA_ARGS="- --publish-status-address=${HOST_IP}"
 DEFAULT_CERT="- ' '"

 if [ ! -z "$CERT_SECRET" ]

And since this is a snap, I can't edit that file prior to enabling ingress again.

I think you can microk8s kubectl edit <the-ingress-yaml> after enabling ingress so as to change the "--publish-status-address=<IP_ADDRESS>" part.

You mean the ingress object I created? I tried changing the ip key in status.loadBalancer.ingress.ip, got no error, but it didn't change from <IP_ADDRESS>:
$ kubectl edit ingress kuard-ingress
ingress.extensions/kuard-ingress edited
$ kubectl get ingress kuard-ingress -o yaml | tail -n 5
        pathType: Prefix
status:
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>

I ran this from another machine, which is pointing to the microk8s node via ~/.kube/config.
Or did you mean some other command that would edit /snap/microk8s/current/microk8s-resources/actions/ingress.yaml?

How about this patch:
diff --git a/microk8s-resources/actions/enable.ingress.sh b/microk8s-resources/actions/enable.ingress.sh
index 9895fe0..d846b8e 100755
--- a/microk8s-resources/actions/enable.ingress.sh
+++ b/microk8s-resources/actions/enable.ingress.sh
@@ -23,7 +23,11 @@ echo "Enabling Ingress"

 ARCH=$(arch)
 TAG="0.33.0"
-EXTRA_ARGS="- --publish-status-address=<IP_ADDRESS>"
+HOST_IP=$(get_default_ip)
+if ! valid_ip "${HOST_IP}"; then
+  HOST_IP="<IP_ADDRESS>"
+fi
+EXTRA_ARGS="- --publish-status-address=${HOST_IP}"
 DEFAULT_CERT="- ' '"

 if [ ! -z "$CERT_SECRET" ]

@panlinux is that a good idea? The host IP may change, I think the better way would be using the valueFrom. The host IP is dynamically assigned to the ingress controller.

@panlinux is that a good idea? The host IP may change, I think the better way would be using the valueFrom. The host IP is dynamically assigned to the ingress controller.

What do you mean? The bare metal host in this case had microk8s deployed on it, I wouldn't expect its IP to change. It's the --publish-status-address parameter that tells the controller which IP to use, no?

You can assume the host IP will never change, but using valueFrom is a more elegant way, not only that you don't need to take care of retrieving IP by your self, but also it can handle the case when the host IP is changed.

The host IP may change

This is correct. One of the use cases of MicroK8s is local development. If you are on a laptop the host IP will change as you switch networks.

The host IP may change

This is correct. One of the use cases of MicroK8s is local development. If you are on a laptop the host IP will change as you switch networks.

Does @LSChyi 's approach address this?

The host IP may change

This is correct. One of the use cases of MicroK8s is local development. If you are on a laptop the host IP will change as you switch networks.

Does @LSChyi 's approach address this?

yes, as explained above, the host IP is retrieved when the pod is created as the env HOST_IP is referencing the host IP then.

I'm trying to test this, but it's hard with snaps and non-x86 architectures:

multipass doesn't work on arm64: https://github.com/canonical/multipass/issues/1376
snapcraft uses multipass by default, fails because of the above
after switching to lxd for builds, microk8s isn't building:

Applying patch /root/project/build-scripts/patches/dqlite.patch
+ git am
Applying: Rename flag set "etcd" to "storage"
.git/rebase-apply/patch:19402: trailing whitespace.
    means a work that combines Covered Software with other material, in
.git/rebase-apply/patch:32909: trailing whitespace.
    Machine byte order :
.git/rebase-apply/patch:32911: trailing whitespace.
    Int32 to Bytes :
.git/rebase-apply/patch:32912: trailing whitespace.
    0x12345678 to current endian :
.git/rebase-apply/patch:32914: trailing whitespace.
    0x12345678 to big endian :
error: patch failed: go.mod:103
error: go.mod: patch does not apply
error: patch failed: go.sum:77
error: go.sum: patch does not apply
error: patch failed: staging/src/k8s.io/apiserver/pkg/server/options/etcd.go:176
error: staging/src/k8s.io/apiserver/pkg/server/options/etcd.go: patch does not apply
error: patch failed: staging/src/k8s.io/apiserver/pkg/storage/storagebackend/config.go:25
error: staging/src/k8s.io/apiserver/pkg/storage/storagebackend/config.go: patch does not apply
Patch failed at 0001 Rename flag set "etcd" to "storage"

I'll file a separate bug for the above.

Looks like it's been failing since April? https://github.com/ubuntu/microk8s/issues/1166

@LSChyi Is this what you meant?
diff --git a/microk8s-resources/actions/disable.ingress.sh b/microk8s-resources/actions/disable.ingress.sh
index 46ca334..0e06078 100755
--- a/microk8s-resources/actions/disable.ingress.sh
+++ b/microk8s-resources/actions/disable.ingress.sh
@@ -9,7 +9,6 @@ echo "Disabling Ingress"
 ARCH=$(arch)
 TAG="0.25.1"
 DEFAULT_CERT="- ' '" # This default value is always fine when deleting resources.
-EXTRA_ARGS="- --publish-status-address=<IP_ADDRESS>"

 KUBECTL="$SNAP/kubectl --kubeconfig=${SNAP_DATA}/credentials/client.config"
diff --git a/microk8s-resources/actions/enable.ingress.sh b/microk8s-resources/actions/enable.ingress.sh
index 9895fe0..81fafb8 100755
--- a/microk8s-resources/actions/enable.ingress.sh
+++ b/microk8s-resources/actions/enable.ingress.sh
@@ -23,7 +23,6 @@ echo "Enabling Ingress"

 ARCH=$(arch)
 TAG="0.33.0"
-EXTRA_ARGS="- --publish-status-address=<IP_ADDRESS>"
 DEFAULT_CERT="- ' '"

 if [ ! -z "$CERT_SECRET" ]
@@ -35,7 +34,6 @@ fi
 declare -A map
 map[\$TAG]="$TAG"
 map[\$DEFAULT_CERT]="$DEFAULT_CERT"
-map[\$EXTRA_ARGS]="$EXTRA_ARGS"
 use_manifest ingress apply "$(declare -p map)"

 echo "Ingress is enabled"
diff --git a/microk8s-resources/actions/ingress.yaml b/microk8s-resources/actions/ingress.yaml
index 9912f3c..f72a787 100644
--- a/microk8s-resources/actions/ingress.yaml
+++ b/microk8s-resources/actions/ingress.yaml
@@ -175,6 +175,10 @@ spec:
             valueFrom:
               fieldRef:
                 fieldPath: metadata.namespace
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
         ports:
         - containerPort: 80
         - containerPort: 443
@@ -183,5 +187,5 @@ spec:
         - --configmap=$(POD_NAMESPACE)/nginx-load-balancer-microk8s-conf
         - --tcp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-tcp-microk8s-conf
         - --udp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-udp-microk8s-conf
+        - --publish-status-address $(HOST_IP)
         $DEFAULT_CERT
-        $EXTRA_ARGS

How will this behave when the host changes IP, does ingress have to be disabled and enabled again to pick up the change?
Parallel to the above, while I was checking the nginx-controller docs, I came across this note:

Because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default
--publish-service flag used in standard cloud setups does not apply and the status of all Ingress objects remains
blank.
$ kubectl get ingress
NAME           HOSTS               ADDRESS   PORTS
test-ingress   myapp.example.com             80

Instead, and because bare-metal nodes usually don't have an ExternalIP, one has to enable the
[--report-node-internal-ip-address][cli-args] flag, which sets the status of all Ingress objects to the internal IP
address of all nodes running the NGINX Ingress controller.
Should or could we be using --report-node-internal-ip-address instead? I don't know, and I was first experimenting with ingress when I came across this bug, so I haven't made much progress yet.

Just restart the ingress pod, you don't need to do anything that relates to turn off and turn on the settings in microK8s.

In case this helps anyone else who had a similar issue to me - I'm port forwarding my requests through to my k8s cluster and want the cluster to respond as if it's the public IP.  I've written a little bash script that updates the publish-status-address IP if it's different.  Ideally I'd do this whenever my dyndns updates or something, but for now I'll add it as a tiny cron job.
#!/bin/sh

SRCTMPFILE=$(mktemp /tmp/tmp_ingress_controller.src.XXXXXXXXXXX.yaml)
NEWTMPFILE=$(mktemp /tmp/tmp_ingress_controller.new.XXXXXXXXXXX.yaml)

kubectl get -ningress daemonset.apps/nginx-ingress-microk8s-controller -o yaml > $SRCTMPFILE
sed -e "s/\(\- \-\-publish-status-address=\).*/\1$(curl ifconfig.io 2>/dev/null)/g" $SRCTMPFILE > $NEWTMPFILE

if [ ! "" = "$(diff -q $NEWTMPFILE $SRCTMPFILE)" ]; then
	echo Updating publish status address
	diff $SRCTMPFILE $NEWTMPFILE
	kubectl apply -f $NEWTMPFILE
fi

rm $SRCTMPFILE
rm $NEWTMPFILE

Can i help for resolve this issue?

@panlinux I used snap to install, modify enable.ingress.sh; The error sed: couldn 't open temporary file/snap/microk8s / 2346 / actions/sedamrw1V: Read - only file system "; How to solve it?

@panlinux Can I start ingress using kubectl apply -f /****/ingress.yaml instead of using microk8s enable ingress command?

Sorry, I stopped looking at this because even though I was seeing <IP_ADDRESS>, I could connect to it using the real IP. I don't know what changed.

If you are using MetalLB and assuming you've setup a service as mentioned in https://microk8s.io/docs/addon-metallb the way to get this to work correctly would be:
#!/bin/sh

command -v kubectl > /dev/null 2>&1 && KUBECTL=kubectl
command -v microk8s.kubectl > /dev/null 2>&1 && KUBECTL=microk8s.kubectl

INGTMPFILE=$(mktemp -t ingress_daemonset.XXXXXXXX)

trap "rm -f ${INGTMPFILE}" 0 1 2 3

${KUBECTL} -n ingress get daemonset nginx-ingress-microk8s-controller -o yaml | \
    sed -e 's|- --publish-status-address=.*|- --publish-service=$(POD_NAMESPACE)/ingress|' > ${INGTMPFILE}

${KUBECTL} diff -f ${INGTMPFILE}
if [ $? -eq 0 ]; then
    echo "No changes need to be made"
else
    ${KUBECTL} apply -f ${INGTMPFILE}
fi

This changes the ingress controller to use the service created for it and the IP allocated to it by MetalLB.

I had the same issue, restarting the machine fixed the issue. Possibly a post-Install-only issue?


Map: semantic marker animation is broken on zoom in (but not zoom out)

This is in Firefox and Chrome, on production and qa!
The markers aggregate nicely (swarm in to a single marker) on zooming out. But on zooming in, the markers do not animate when disaggregating :sob:

I think this might be the key property which is not meant to be accessed in React 18. See https://github.com/VEuPathDB/web-monorepo/tree/main/packages/libs/components/src/map/animation_functions

Sadly using props.id instead of key has not fixed it, but it's a good change to make, anyway.


[FP]: [CVE-2023-34623] False positive from jtidy-1.0.4

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:jtidy_project:jtidy:1.0.4:::::::*
CVE
CVE-2023-34623
ODC Integration
{"label"=>"Maven Plugin"}
ODC Version
8.3.1
Description
https://github.com/jtidy/jtidy/issues/63
I had created issue against [CVE-2023-34623] fix, although further technical analysis from owner of jtidy has now convincingly and conclusively indicated that it is a false positive.
As per above post to reply from jtidy-1.0.4 dependency owner, it clearly states that it is a false positive in our case and therefore should be excluded from the CVE scanner's consideration. Pleasebgothrough the above link for more information on CVE.
Added project reproducing the invalid vulnerability report.
Please advise on how we might be able to suppress it from the CVE tracking report going forward.

You would be able to suppress it for now using

<suppress base="true">
   <notes><![CDATA[
   FP per issue #5931
   ]]></notes>
   <packageUrl<EMAIL_ADDRESS>   <cve>CVE-2023-34623</cve>
</suppress>

I intend to take a further look into a proper suppression that is forward compatible with newer versions coming weekend.

Any news about this?

Circling back to this ticket after a long time.
I've contacted the folks over at NVD to see whether they can allocate a new CPE for the revival-fork of JTidy on github and signal version 1.0.4 as the first fixed version for the CVE. Awaiting their response (which might take some time, given past experiences)


Failed Airport Lookup and Database Entries (CRITICAL)

When doing a flight import with a problematic airport (failed lookup, non existing airport, wrong icao code), even though the importer reports this back and says that it skipped faulty line(s), that flight passes the checks and entry is written to database.
Version
7.0.0-dev+221014.2f9e85
To Reproduce

Prepare a csv file containing a flight to/from HJJJ (Juba Airport, Sudan)
Import it via admin interface
See the result (Could not import row 1. Arrival Airport not found! because HJJJ was not found via lookup)
Check your database (or wait for HTTP 500 errors during daily operations due to a missing relationship)

SELECT * FROM `flights` WHERE arr_airport_id = 'HJJJ' OR dpt_airport_id = 'HJJJ';

Before Import;

Import Result;

After Import;

Expected behavior
If a lookup fails or airport is not found in database, that flight should not be recorded to database
Additional context
Related with PR #1487
(which supposed to fix an import problem but introduces a bigger one)
Solution Offer
To prevent further problems with live sites, revert back to previous dev build.

Fixed by reverting back the changes of PR #1487 , closed.


Badges

Use coveralls coverage tool, add pyup badge

Changes Unknown when pulling cbbc4a7daea4eb27ab4331b813ab7010b973b3a0 on badges into ** on master**.


Start_with

Is there an option to search only when _keywords has an entry that "starts_with" query string?

If you want to search for entries that starts with query string, you can just enter start letters as query string. As, mongoid search accepts partial searching too, you will get expected result.Just make sure default match option is enabled. i.e match: any Added test case to prove this.
context " _keywords has an entry that starts_with query" do
  before(:each) do
    class Product
      include Mongoid::Document
      include Mongoid::Search
      field :brand
      field :name
      search_in :brand, :name
    end
    @product = Product.create(name: "apple", brand: "mybrand")
  end

  it "should return results in search with a partial word by default" do
    expect(@product._keywords).to match_array(["apple", "mybrand"])
    expect(Product.full_text_search("m").size).to eq(1)
    expect(Product.full_text_search("apples").size).to eq(0)
  end
end

But, if you enter "apples" as query string and expecting all the results that starts with "a" or "apple".You wont get any results.You will get results that matches with "apples" only.

@benjaminharel Yes mongoid_search provides such option.
@Ashviniv You are right @benjaminharel needs to enable partial search option but @benjaminharel  wants to search words that starts_with query string. With your example if  _keywords has entry 'pineapple' and if query sting is 'apple' then it will be matched.
I think solution would be to enable regex_search by adding following following configuration
      config.regex_search = true

and for always Matching partial words on the beginning add following configuration
      config.regex = Proc.new { |query| /^#{query}/ }

Hope this helps.

@Shwetakale Thanx..:+1:


Fix 2 set-cookie issue

Backend sent 2 set-cookie header 3x-ui with different values. If we'll use first value as auth cookies - we'll get 404 error. If we'll use second value - it's ok.

Thanks I had a hard time figuring out why it was broken after upgrading 3x-ui.


[Valheim] Fix some wording and default values

Fixing some wordings, types and default values in the ValheimPlus settings

I think I saw some other changes but I did not retrieve them


Inaccurate predictions because of delta_time

Using the delta_time parameter while implementing the apply_event function for the Predict trait causes inaccurate predictions if the update rate of the server and the client are different.

Yes, I think the prediction code in general needs some love. Will try to improve that once I find the time.

I'm no networking expert but I feel like in cases similar to the included box example the way to go would be to include the client's delta_time for the move event and send it alongside the direction to the server. Then the server can use that time to calculate the target position independent of its own update time.
This means that the detla_time parameter in the apply_event function isn't required, since that time is taken from the event struct.
Of course, letting clients send those times without any serverside checking lets clients cheat by just setting them higher. My first thought is that to prevent this, maybe clients should send timestamps instead of deltas so the server can check those to be valid and then calculate the deltas from them.
I will do some research on how to do this properly and maybe make a PR if I find a good solution.

So after giving this a bit more thought, I think the main problem here is to send and apply client events in the regular update schedule instead of the fixed-update schedule. In a server-authoritative game, client events will in 99% of the cases be input events (or events that are closely coupled to user inputs) and those are best handled in the fixed-update schedule (Fixed Timestep - Unofficial Bevy Cheat Book). So the easiest way would probably be to run the whole prediction logic in the fixed update schedule. Then the whole miss prediction problem could be solved by just making sure the server and the client have the same fixed update timestep.
The examples from the lightyear crate also suggest that this is probably the way to go.


Can we move to Kconfig or wget/cmake for various HAL retrieval?

Per some comments in #7, can we - eventually - move to use say a cmake or kconfig based approach to getting the platform code down?

This is already done in the CMake for ST and NXP.


chore: Typo on README - "One NAT Gateway per subnet" section

Description
This PR fixes a typo in the REAME file.

Motivation and Context
Found a typo and think of fixing it.

Breaking Changes
No

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 4.0.0 :tada:


Add TravisCI setup

Fixes issue #3.
This adds a simple sanity check to make sure the figmagic command runs successfully on Linux and Mac, as you can see here. It checks if the figma and tokens directories and at least figma/figma.json and tokens/colors.mjs were created.
After merging this PR you will need to create a travis-ci.org free account (if you don't have one already), activate the figmagic repo and add the FIGMA_TOKEN and FIGMA_URL variables in the build settings. This shouldn't take more than 5 minutes.
Also you get a nice badge in your README displaying the status of the last build on master ;)
Feel free to contact me if you have any questions!

Thanks for this! Yeah, testing has not really been a priority here. Merging.


Unable to run inference

Dear Author,
I try to follow the steps in PartialSpoof/tree/main/03multireso
under the section "Using Pretrained Models"
when I run :
$bash 00_run.sh 2
I encounter error in multi-reso/01/output/log_output_dev:
size mismatch for m_transform.0.post_nets_utt.layers.4.proj2.weight: copying a param with shape torch.Size([32, 8]) from checkpoint, the shape in current model is torch.Size([8, 2]).
size mismatch for m_transform.0.post_nets_utt.layers.4.proj2.bias: copying a param with shape torch.Size([32]) from checkpoint, the shape in current model is torch.Size([8]).
size mismatch for m_transform.0.post_nets_utt.fc.weight: copying a param with shape torch.Size([16, 32]) from checkpoint, the shape in current model is torch.Size([4, 8]).
Why it says the dimensions are different?

Sorry, I missed your question earlier. Have you already solved it, or do you still need assistance? Could you provide more information about the issue? Which pre-trained model are you using?
I am guessing you might be using a different SSL model as referenced in model.py:57 and model.py:180 compared to the downloaded one.

I will close it, please reopen it if you still have the same issue.


Automated Package Upgrade

:tada: This PR is included in version 9.3.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feature request: allow handling of exceptions from IGraphicsCaptureItemInterop::CreateForWindow

Motivation
Some calls to IGraphicsCaptureItemInterop::CreateForWindow appear to throw an exception, resulting in the process terminating with fatal runtime error: Rust cannot catch foreign exceptions. Is there a way for windows-rs (or the caller?) to handle that exception and return an Err instead so that the caller can handle the error?
Drawbacks
No response
Rationale and alternatives
No response
Additional context
No response

This is unfortunately a real OS bug that is fixed on newer builds of Windows.

This is unfortunately a real OS bug that is fixed on newer builds of Windows.

Thanks, this is useful to know. I don't suppose you know what versions of Windows fix this?

It should not throw an exception if used correctly. smirk Without a repro, we can only guess.

Perhaps there's a technical limitation here, but even in the case where the API is being used incorrectly, would it not be useful to have some way of informing the caller in what way they're using the API incorrectly (which is information I would assume, perhaps incorrectly, is contained in the exception), rather than causing the process to terminate immediately without a backtrace?

The fix first shipped in Windows 11 21H2 (build 22000).
The issue is that I'm unsure if there's a good way to guard against a C++ exception in Rust. But generally, these APIs shouldn't throw like that.

Actually, the fix might have been serviced down-level. On Windows 10 19045.3086 I get the proper E_INVALIDARG result. What build of Windows are you on? Settings -> System -> About should contain the build number.

We're using Windows 10 19044.1526.
Just to give a bit of context of where we're seeing the error: our call succeeds most of the time, but sometimes fails if a window (not the one being passed to CreateForWindow) has been recently destroyed. Not destroying the window beforehand or waiting a few seconds before making the capture item seems to avoid the problem, although it's intermittent so I can't be sure. I'm in the middle of trying to produce a minimal test case so that we can reproduce the issue more reliably.

Ah, ok that build probably does not have the fix.
This should reproduce easily if you call CreateForWindow with a clearly bogus window handle. But there shouldn't be any circumstance where using the handle of a destroyed window would work... Or am I misreading your message?

So the situation we have is a window is destroyed, and then we create a new window, and try to create a capture item for the newly created window. It's the creation of the capture item for the new window (not the destroyed one) that sometimes fails.

Thanks for clarifying! That sounds like an issue where the window creation is racing the shell's decision on if your window is capturable or not. Generally, if a window shows up in Alt+Tab then it's deemed "capturable", and being included in that list doesn't happen immediately.

Thanks for the explanation! Is there a way to reliably detect whether the window is capturable yet or not? I tried using the code from screenshot-rs (is_capturable_window), but it was returning true in all cases, including when the creation of the capture item would fail. Or is the simplest thing to do just to retry creating the capture item until success (on a later version of Windows where this returns appropriately)?

Okay, that's good to know. Thanks for all the help!


Minimum Viable Product of Jupyter Book functionality with MyST

We're tracking a laundry list of MyST functionality in this issue. There's a lot of functionality in there, and that issue doesn't prioritize or define the essential vs. "nice to have" functionality we'd want to see.
In order to move forward the initiative on a myst backend for Jupyter Book , I think we should define the minimal functionality that makes "Jupyter Book via the MyST engine" safe to try. That can be the guiding principle to drive @agoose77's work once we've finished up the launch initiative .
Principles to guide this work

https://github.com/executablebooks/mystmd/issues/1113

Where to track this work

https://github.com/orgs/jupyter-book/projects/1

I've updated the project board a little bit to have three columns:

Needed for alpha: Issues that we need to resolve before we can release an alpha version of Jupyter Book 2.0. For these issues, releasing v2 without resolving them should significantly degrade the user experience so much it's not worth releasing.
Needed for beta: Issues that are important but not critical for getting JB2 out for feedback
Nice to have: Issues that we've explicitly decided aren't required for a JB2 launch.

This needs to be on product board so we won't be tracking this here.


escape settings (and highlight) - clarification needed

This plugin is awesome! However, I would suggest specifying the role of the "escape" setting for a tool a bit clearer. I am not completely certain what is does and what it doesn't.
I have the ripgrep tool with the default escape chars '\^$.*+?()[]{}|'. This is what I get:

:Grepper <CR> -> (toolprompt) > '(xmap|xnoreremap)' -- this gets me results for both terms. Note the ' around the pattern.
:Grepper <CR> -> (toolprompt) > \(xmap\|xnoreremap\) -- this gets me results for both terms. No single quotes this time
& 4): as above, with queries '\(xmap\|xnoreremap\)' : no results found and (xmap|xnoremap) : syntax error: ( unexpected.

I checked the g:grepper dictionary to be sure the settings were correct, this is the relevant entry:
'rgni': {'escape': '\^$.*+?()[]{}|', 'grepformat': '%f:%l:%c:%m', 'grepprg': 'rg -H --no-heading --vimgrep --no-ignore-vcs '},
So, it seems to me, the escape chars are not actually applied to the query I enter? Both with and without quotes? It would be very helpful to get an elaboration on that.
Additionally, the issue of highlighting the matches in the quickfix window: With 2), the matches are highlightes correctly which is very satisfying. With 1) this does not work. Are the escape characters used to convert the query to a vim regex string, or is the query used as-is to populate the / register? Are (at least) the quotes removed if there are any, like in 1)?
To that end, after having read #60 , I could envision a method to get precise highlighting from using the query together with the escape settings, if

the entered query is let through to the grep program as-is, WITHOUT any characters being escaped (as it seems to behave now, but a bit contrary to the doc which states the query IS being escaped)
the escape chars are informal as to the query (which characters have a special meaning, i.e. do not represent the actual characters), and are used to construct a Vim "very nomagic" \V highlight string. This would work with all the standard regex operators like |, ?, *, +, ... . Grepper would need to strip single quotes from the query (reverse engineering shell behavior as to what the grep program actually receives, but lets keep it at just the quotes), then take that string and escape any special character the escape setting indicates, and prefix it with a '\V'

I'd contribute that, but I need to know the meaning of the escape option...
Thanks for clarifying!

Think of the prompt as the end of shell input. 1. and 2. work because rg '(xmap|xnoreremap)' and rg \(xmap\|xnoreremap\) in the shell work, but rg '\(xmap\|xnoreremap\)' does not.
The escape characters are important for these cases:

The operator. When you visual select this text foo|bar, and escape contains |, then the Grepper will use \| (because that's the proper thing to do for this tool in the shell).
Different tools use different escape characters. So, when the prompt gets opened because you used the operator and start cycling through all the available grep tools, the current query needs to be requoted according to the tool's escape characters.
For highlighting. But highlighting is fragile and follows a "mostly good enough" approach.

Highlighting is complicated. It's easy to think of a few approaches, but it's hard to get right. That means it should work 1) for all tools the same, 2) should not depend on ANSI colors, and 3) should not break other already working features.
I'm open for discussions and PRs, but since I can't think of a promising approach, I won't work at it myself.

It really does! Thanks!
On Thu, Nov 8, 2018, 5:26 PM Marco Hinz<EMAIL_ADDRESS>wrote:

I hope the above makes it clearer. Thanks for bringing this up! ✨
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mhinz/vim-grepper/issues/184#issuecomment-437058876,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA79a-CXzZjNfgiBIazZN1wdoaKa1K_nks5utFspgaJpZM4YUa7F
.


[LiveComponent] 2.8 - not able anymore to change some model value from another js controller

Use case:
I have got an Author component which is responsible for rendering some information about an author basing on his ID.
#[LiveProp(writable: true)]
public ?int $id;

I have got also an AuthorList component which is responsible for listing all authors. If you select one author from list, this component will send to Author component new ID and request Author component to rerender itself
// author-list_controller.js

async initialize() {
    this.authorComponent = await getComponent(document.querySelector('[data-live-component="author-single"]'));
}

setAuthor(event) {
    this.authorComponent.set('id', event.currentTarget.dataset.authorid);
    this.authorComponent.render();
}

In 2.7.1 it worked very well. However since 2.8 (checked in 2.10 as well) I've got an error with that line this.authorComponent.set('id', event.currentTarget.dataset.authorid);

Error invoking action "click->author-list#setAuthor"
Error: The model name "id" was never initialized. Did you forget to expose "id" as a LiveProp? Available models values are: (none)

I dumped the authorComponent object into console and there is an id in live props values

I even tried to set updatesFromParent: true in my Author component for ID model.
Any idea how can I fix this behaviour?

For some reason the problem is with data on component's initialization.
In 2.7.1 in that line
this.component = new Component(this.element, this.propsValue, this.dataValue, this.fingerprintValue, id, new Backend(this.urlValue, this.csrfValue), new StandardElementDriver());

property this.dataValue contains a valid correct value: {id: 1}
In 2.8.1 without making any changes this.dataValue contains an empty object {}
I also changed the model name from id to authorId because I think the id may be reserved for entities. However it didn't solve the problem.
I can't figure out why there is empty object in this.dataValue on controller initialization.

Hi!
Try this:
#[LiveProp(writable: true)]
- public ?int $id;
+ public ?int $id = null;

And let me know if it fixes things. I believe, because the property is never initialized, the prop isn't sent to the frontend. if I'm correct, we'll need to do something about that - probably make the JavaScript more permissive (i.e. allow it to accept new values that weren't there before).

I found a mistake in deployment script. For some reason Yarn didn't rebuilt all files after upgrading to 2.8.x. So I had got assets from 2.7.1.
The following declaration public ?int $id is fine. There is no bug. Just my fault.


Invalid RSAES-OAEP paddingi

Expected Behavior
Insomnia application syncs to my organization git repository
Actual Behavior
Insomnia application tries to sync to my git repo.
I receive the following error:
Invalid RSAES-OAEP padding.
Error: Invalid RSAES-OAEP padding. at pkcs1.decode_rsa_oaep (/Applications/Insomnia.app/Contents/Resources/app.asar/node_modules/node-forge/lib/pkcs1.js:255:11) at Object.decode (/Applications/Insomnia.app/Contents/Resources/app.asar/node_modules/node-forge/lib/rsa.js:1281:30) at key.decrypt (/Applications/Insomnia.app/Contents/Resources/app.asar/node_modules/node-forge/lib/rsa.js:1291:19) at sb1 (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:1307:42482) at p7._getBackendProjectSymmetricKey (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:1464:504) at async p7._queryBlobs (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:1385:338) at async p7.customFetch (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:1319:7829) at async p7.pull (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:1319:6110) at async V (file:///Applications/Insomnia.app/Contents/Resources/app.asar/remote-collections-ClXUfnPl.js:1:610) at async Module.Q (file:///Applications/Insomnia.app/Contents/Resources/app.asar/remote-collections-ClXUfnPl.js:1:2545) at async file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:56:4446 at async mhe (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:56:4896) at async Promise.all (index 5) at async hhe (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:56:3544) at async Me (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:55:24242) at async t1 (file:///Applications/Insomnia.app/Contents/Resources/app.asar/mainWindow-CPtKPVYi.js:55:20906)
Reproduction Steps

Install the application (Mac OS)
Go to your organization workspace
Try to synk one of the collections

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
9.1.1
What operating system are you using?
macOS
Operating System Version
14.4.1 (23E224)
Installation method
from Insomnia.Core-9.1.1.dmg
Last Known Working Insomnia version
Insomnia 8.6.1

#7476

@marckong what's the update here?

We pushed a fix for this issue that should resolve the problem.


feat(recipient): Remove v from recipients/contacts

Description
Remove the V icon from recipients/contacts who are on Valora.
Test plan
Before change:

After change:

Thanks! 👍
Even though it's a small change, could you add some info to help folks not familiar with this (me? 😄) why we're making this change? Could be a linear task, slack convo, or just some text in the PR. 🙏


Update CODEOWNERS

IMO the change was breaking review process

hmm, ok for now, we are awating for two ppl in that qa-guild, so looking forward adding it back


chore: update sample

I had to make a couple changes to get the sample to work.

Thanks @jfreeland!

Thanks @jfreeland!


LEDBarGraph PWM support

As mentioned in comments in #176 there's several things to clean up:

[ ] Add PWM support to LEDBarGraph
[ ] Document LEDCollection in generic API docs (don't forget the hierarchy diagram)
[ ] Add pot->graph recipe to Recipes chapter
[ ] Fix the description of the first example in the docs

What's your plan for PWM support? A value of 0.5 for 3 LEDs = [1, 0.5, 0]?

Yeah, that's basically the idea - every LED is either on (value > LED's threshold), off (value < prior LED's threshold) or on a PWM duty-cycle linearly proportional to how far value sits between the current and prior LED's thresholds.

Cool. I might have a go.

Go for it :)

Ok got distracted. I'm sure I can tackle this - not now though.


Updates to improve status in OBO dashboard

Deprecate part_of relation, since an equivalent property is already included (belongs_to).
Remove tautology uses of owl:Thing.
Use dcterms namespace instead of dc.

Thanks for this @balhoff. Can we in the future agree that all PRs require review before being merged? There are a lot of dependencies on CDAO (for good or bad).

@hlapp, absolutely, sorry about that. I wasn't sure there were others paying attention here. Please let me know if you see anything to reconsider in this PR.

I think the two non-trivial changes here are (a) changing the identifier (IRI) of the property under which to find a definition, and (b) re-axiomatizing the has property.
Change (a) could throw off some custom-built UI, but I don't know about any that are used in the context of CDAO. So I think this should nonetheless be inconsequential at the practical level.
Change (b) changes (at least potentially) reasoning results, so I have more reservations about it. Is this change necessary for some use-case, or motivated by other reasons? Can there be a public feedback period? So in short, if it's reasonably possible to turn this into its own issue where a rationale is given and potential consequences outlines, with an associated PR, that'd be ideal. But if there's already dependency on that change somewhere, I guess we can also leave the change in place, Though even in that case, it'd still be good to have this change documented and referenceable in an issue for later.

@hlapp there should not be any reasoning changes, since CDAO_0000194 and CDAO_0000190 have been previously asserted as equivalent properties (and still are). Since I marked CDAO_0000194 as deprecated, I wanted to make sure all usages in axioms were in terms of CDAO_0000190 rather than CDAO_0000194. I can turn this into an issue.


Access denied when importing files from a parent directory, even if typst is executed from that directory

Description
I'm developing a library for typst and would like to keep a bunch of examples in a examples  subfolder, which I also use for quick and dirty testing. The directory structure is roughly like this:
- lib.typ
- examples/
  - example.typ

For reproducing the issue it's enough for examples/example.typ to contain the line #import "../lib.typ": *
This didn't happen with typst v0.5.0
I can see why this may be a privacy issue if I compile example.typ from inside examples, but the problem arises even I compile from the root directory containing lib.typ.
Unfortunately I would prefer to both keep the lib.typ in the root (for quick access when e.g. importing it through a git submodule) and the examples in their own directory (to not clutter the root with .typ files other than the library itself)
Reproduction URL
No response
Operating system
Windows
Typst version

[X] I am using the latest version of Typst

This is working as intended as the root defaults to being right next to the compiled file. You can change that by passing --root . if you are in the parent directory. Then absolute paths in Typst files are relative to the parent directory and ../ is allowed. (Everything within the --root is ok, everything else isn't for security.)

Thanks, somehow I missed the --root parameter and was expecting the root to always be .

I tried this, but I couldn't get it to work: if header.typ is in .., I can't access anything in ../header.typ even with typst compile --root ..

I'm not sure about typst-lap (it is unofficial), but it is not really maintained anyway. For local setups I would recommend switching to tinymist.

Thanks for the suggestion! Switching to tinymist and specifying root_dir works perfectly.


[NeurIPS] Join fails with reference if read from fileObject

Hi,
Regarding your proposed solution to #651 and the implementation of simple_join. This solution only works if it is a reference to a field where data is manually added. When I load the data from fileObject it returns nan.
Below is an example that fails (returns nan for the sequence field of examples, despite uid match):
{
  "recordSet": [
    {
      "@type": "cr:RecordSet",
      "@id": "sequences",
      "name": "sequences",
      "field": [
        {
          "@type": "cr:Field",
          "@id": "sequences/uid",
          "name": "uid",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "sequences.csv"
            },
            "extract": {
              "column": "uniprot_id"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "sequences/sequence",
          "name": "sequence",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "sequences.csv"
            },
            "extract": {
              "column": "sequence"
            }
          }
        }
      ]
    },
    {
      "@type": "cr:RecordSet",
      "@id": "examples",
      "name": "examples",
      "field": [
        {
          "@type": "cr:Field",
          "@id": "examples/uid",
          "name": "uid",
          "dataType": "sc:Text",
          "references": {
            "field": {
              "@id": "sequences/uid"
            }
          },
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "uniprot_id"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/type",
          "name": "type",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "type"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/annotation",
          "name": "annotation",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "annotation"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/sequence",
          "name": "sequence",
          "dataType": "sc:Text",
          "source": {
            "field": {
              "@id": "sequences/sequence"
            }
          }
        }
      ]
    }
  ]
}

But the following works (where data is manually added similar to the provided example)
{
  "recordSet": [
    {
      "@type": "cr:RecordSet",
      "@id": "sequences",
      "name": "sequences",
      "field": [
        {
          "@type": "cr:Field",
          "@id": "sequences/uid",
          "name": "uid",
          "dataType": "sc:Text"
        },
        {
          "@type": "cr:Field",
          "@id": "sequences/sequence",
          "name": "sequence",
          "dataType": "sc:Text"
        }
      ],
      "data": [
        {
          "uid": "XYZ",
          "sequence": "MLCTHGHGHLMKNMNV"
        }
      ]
    },
    {
      "@type": "cr:RecordSet",
      "@id": "examples",
      "name": "examples",
      "field": [
        {
          "@type": "cr:Field",
          "@id": "examples/uid",
          "name": "uid",
          "dataType": "sc:Text",
          "references": {
            "field": {
              "@id": "sequences/uid"
            }
          },
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "uniprot_id"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/type",
          "name": "type",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "type"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/annotation",
          "name": "annotation",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "annotations.csv"
            },
            "extract": {
              "column": "annotation"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "examples/sequence",
          "name": "sequence",
          "dataType": "sc:Text",
          "source": {
            "field": {
              "@id": "sequences/sequence"
            }
          }
        }
      ]
    }
  ]
}

I faced the same issue. I am unsure if I found the right solution, but having the property name removed or picking a name different than @id properties' values for recordSets solved the issue for me. Here is an example of my files:
https://github.com/msorkhpar/wiki-entity-summarization/tree/main/croissant

Thanks for the suggestion. I removed all the "name"s from recordSets and made all other name pointers unique, but it unfortunately doesn't seem to work for me.

@EMCarrami . I experienced the same problem as you describe here.
After debugging a bit, I could narrow it down to how the field is parsed from a data frame.
The EXPECTED_DATA_TYPES maps sc:text to bytes, and so a column from  csv is a byte array, whereas the FileSet filename is a string. This fails the join.
I am not sure of whats the recommended way to specify a text field, and also why this Mapping is set, but @marcenacp might have some context on this.  In an initial version text did map to str, but it was changed. Also the docs suggest to use the dataType sc:Text for a csv column.
I am attaching an example jsonld file to exemplify the join in the situation, perhaps that needs to be addressed?
cookbook-dataset-metadata.json


Application Exception

Description
On attempting to load Jellyseerr, I get an exception that prevents the webapp from loading.
TypeError: r.warnings is undefined
    NextJS 10
framework-6a24ea55bfe2d3c0.js:1:71888
    NextJS 11
TypeError: r.warnings is undefined
    NextJS 10
main-a0d77ee65511e9c3.js:1:7915
A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred main-a0d77ee65511e9c3.js:1:7932
TypeError: r.warnings is undefined
    NextJS 10
framework-6a24ea55bfe2d3c0.js:1:71888
TypeError: r.warnings is undefined
    NextJS 10
main-a0d77ee65511e9c3.js:1:7915
A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred main-a0d77ee65511e9c3.js:1:7932
    NextJS 13
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. 17100-f53437216927e03c.js:1:21060

Version
1.9.2
Steps to Reproduce
Start v1.9.2
Attempt to access it
Screenshots
No response
Logs
No response
Platform
desktop
Device
Desktop on Firefox
Operating System
Linux
Browser
Firefox
Additional Context
No response
Code of Conduct

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

How did you install

I'm using the official docker container on Kubernetes. Here's my helmfile.
https://github.com/MegaShinySnivy/Scaling-Snakes/blob/main/kubernetes/apps/default/jellyseerr/app/helmrelease.yaml

Could this be related to #875?

Possibly... I notice when bypassing my reverse proxy, NGINX, it doesn't error. Is it possible there could be some sort of interference?

The author of the PR I mentioned earlier was also using k8s with some kind of reverse proxy, so yes it may be linked.
Could you test the preview-fix-users-warning tag to see if it fixes your issue?

Doing that gives me... Something else entirely! Skips the login screen (even in a private tab) and leads to an "Oops!" screen with an option to return home that does jack all.

Doing that gives me... Something else entirely! Skips the login screen (even in a private tab) and leads to an "Oops!" screen with an option to return home that does jack all.

You mentioned without reverse proxy it works. Then that sound like a configuration issue with reverse proxy. Are you using subdomain or subfolder?
Can you show me your nginx configuration?

Subdomain. Config information is at https://github.com/MegaShinySnivy/Scaling-Snakes/blob/main/kubernetes/apps/default/jellyseerr/app/helmrelease.yaml and https://github.com/MegaShinySnivy/Scaling-Snakes/blob/main/kubernetes/apps/networking/nginx/external/helmrelease.yaml

I use jellyseerr in a kubernetes environment without issues (traefik). Have you tried to disable some nginx settings you have to see which cause this issue ?

I'm not sure what I would disable, all of these are pretty standard

It was my custom error pages. What errors does jellyseerr rely on to function?

How do your error pages work?
Jellyseerr needs all the content of the responses that the API sends back to the front-end.

https://kubernetes.github.io/ingress-nginx/user-guide/custom-errors/ Check here, TLDR if the application behind NGINX returns an error, NGINX overwrites it and sends the user to its own custom error page instead.

Jellyseerr does not send a full HTML page with some http code for each page. It's a PWA, meaning that all the content of the website (HTML, CSS, JS) is loaded at the first visit and then put in the browser cache. When you go to another page, it just load the necessary content from the API (like a JSON with the movies info) and the front-end website parse and display this content. If there is some error, the API will send back some content (in JSON) anyway, with details on the server-side error so the website can display this error.
If you mess up with the content returned by the API when there is an error, the Jellyseerr app will probably not be able to parse the error details and crash.
(it's normal behavior for the API to return error codes)

I'm closing this because I don't think it's a Jellyseerr error.

I hit this too, but it looks like nobody posted a solution.
For anyone else who ends up here you can fix this by annotating your jellyseerr ingress with nginx.ingress.kubernetes.io/custom-http-errors: "599". Credit to @MegaShinySnivy for the fix.


Support for Dynatrace Managed configuration as code

Apart from using monaco to configure a Dynatrace Environment configuration, it would also be great to have the ability to configure a Dynatrace Managed cluster.
Describe the solution you'd like
The ability to specify a managed cluster and token, and then configure the cluster using monaco
Endpoints that come to mind:

CRUD of a tenant
CRUD of Users/Groups
Cluster configuration itself

I'd love to take this one!

Hey @rszulgo. Cool, thank you! I assigned the ticket to you.
I believe it makes sense to talk about the CRUD of Users/Groups beforehand. As you have seen, we also have #78 in our backlog. It would be fantastic to have a unified solution here, which works for both SaaS and Managed.

Closing this as Managed Cluster configuration is currently out of scope for configuration-as-code, but may be tackled with internal planning in the future.


Reorganized images and updated paths in README

Just a small update, I changed the image paths in the README to be relative links as per GitHub's advice so forking/cloning works properly. I also organised related images into folders.

Thanks for cleaning up things around!


Contradictory Statements In License

There are some contradictory statements in your Unlicense license.
This is free and unencumbered software released into the public domain.

This statement above means anyone can use your software. However, the statement below is contradictory:
Nobody is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

This means that no one can change your website. Furthermore, the paragraph above supports the original idea of the Unlicense.
I suggest you a) change your license or b) fix it to reflect the original meaning of the Unlicense. People will get confused!

I already changed the license.


26 Polishing DSRGAN notebook

This PR address #26.
List of points that will help to improve the reproduciblity of the notebook

[x] Diffusion Model This will take X days to train.
[x] DSGAN This will take a X hours to complete with X GPU.
[ ] Reference of degradation
[x] (x/2) What's the meaning of 127.5 in

aug_images = (aug_images[1] + 1) * 127.5
original_images = (original_images[1] + 1) * 127.5
colour_key = (colour_key + 1) * 127.5 and
sr_img = (sr_img + 1) * 127.5

[ ]  64 value appears in the notebook and something is confusion if the value is from train_size or half of the size of the original image.
[x]  Why 192? in fid = FrechetInceptionDistance(feature=192).to('cuda') > https://github.com/budai4medtech/xfetus/pull/33#discussion_r1273304484
[x] How to use  www.wandb.ai for FID score (optional)
[ ] we might like to move all the variables at the top of the script and perhaps put a yaml file but let's discuss this one. (Optional)

Hi @harveymannering I have re-based this branch and added few minor changes to the notebook, let me know if you have any suggestions otherwise, we might like to merge it next week.

These changes all look good to me.  Thanks for re-basing!


Cleaner not encode & correctly.

Hello,
good morning, i found an issue with the encode of & if i try to encode the next line with Jsoup.clean(value, Whitelist.basicWithImages()) it will fail:
this is &, and & (ampersand)
it will be encoded like
this is &, and & (ampersand)
Wich, it's not correct, it should parse also the ampersand in the "&", producing:
this is &, and &amp; (ampersand)

Hello Jonathan,
thanks so much for your quick response, I will try your solution and then verify if all work as expected.
Thanks!


feat(config): allow turning off G in GpChats

I had some trouble with the behavior of always jumping to the bottom of chats. For long chats, switching to the chat buffer would always lose my scroll place and go to the bottom. I can type G myself easily enough, so this PR adds an option to disable this behavior and retain the old scroll place.
I think it's worth making this the default (jump_to_bottom = false) or just removing the M._H.feedkeys("G", "x") call altogether and removing this flag, but for compatibility the current PR makes no changes to existing behavior. Let me know what you think!

pulled into #98


Remove: TimKosse.FileZilla.Client version 3.60.1

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.1 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

I'm not able to access it :(

Must be a region thing, I can download it fine in the US:

Can you download any version of FileZilla?


enhancement: remove vp registry code references

Fixes https://github.com/deltaDAO/mvg-portal/issues/175
Proposed Changes

remove vp-registry related components
hide liquidity stats in profile

Merge after https://github.com/deltaDAO/portal-euprogigant/pull/54


Printer places random blocks in portal and soul fire blocks.


Can not undo the action of marking a reminder as complete

Ref to forum
https://forum.cortezaproject.org/t/how-can-i-modify-the-reminder-time-dropdown/1253/3
Expected behavior
You should be able to undo the action of marking a reminder as complete

BE endpoint will be needed that will mark a reminder as undismissed. Then FE will be added
Note: I cannot use the updateReminder endpoint because it won't update the correct properties which are dismissed_at and dismissed_by

To be done today: discuss the BE with Vivek and the UI with Jože and update the ticket with the plan. Add checkboxes.

We discussed with Joze and Vivek and reached the following conclusions:

We will add an option to undismiss a reminder by making the dismissed checkbox toggleable
Vivek will add an endpoint and ping me afterwards, no additional props will be added to db

For today: add necessary FE changes and submit for code review

For today: add necessary FE changes and submit for code review

Update: task submitted for code review.

Tested and confirming that everything works as expected. CL entry has been also added.


test_musicc.py normalization

I am trying to run test_musicc.py, and noticed that you could define
-n, --normalize: Apply MUSiCC normalization (default: false)
However, if I only want to "correct inter-sample variation" not "intra sample". Where should I define this in the command? Thanks much!

The "-n" option is what you would use for correcting inter-sample variation, the standard MUSiCC normalization process. For intra-sample variation correction, you would use one of the "-c" options, which either uses a default model, or learns a model for each sample, to correct abundances within each sample individually.
Hope that helps!

Thank you, Engal! That is super helpful!


Invalid gemspec

Hi all, I have strange error when bundling:
You have one or more invalid gemspecs that need to be fixed.
The gemspec at
/home/username/.bundle/ruby/2.3.0/shopify_api_mixins-179c23164e99/shopify_api_mixins.gemspec
is not valid. Please fix this gemspec.
The validation error was '"TODO: Put your gem's website or public repo
URL here." is not a URI'

gemfile looks like:
gem 'shopify_api_mixins', git: 'https://github.com/mikeyhew/shopify_api_mixins.git'

If I comment git source for gem bundler throws:
Could not find gem 'shopify_api_mixins' in any of the gem sources
listed in your Gemfile.

It was working few months ago when I started using this gem, but now it's not bundling
thanks in advance

Hey @Nkadze, thanks for reporting the issue.
What version of bundler are you using? My guess is they started validating the gem's repository or website field.
Can you edit that field in the gemspec file so it points to this repository, test it with your app to make sure it works, and then open a PR with your changes?

Haha, let's hope it's not a bug that depends on which timezone you're in

Ok, I think issue can be closed

Sure thing :thumsup:


Add Clone of Hulu - Stream TV

Description
Can I add the clone of most popular Stream TV and Movies -- Hulu ?
Code of Conduct

[X] I follow Contributing Guidelines of this project.

Hulu is already there on the site you can check here https://rayman-sodhi.github.io/Clone-IT/

I'm closing this issue because Hulu already in this repo


A recursively saved FMModel fails to re-open as a new FMModel instance

Describe the bug
I opened an existing model with mdu.model --> FMModel. I saved it recursively to a new folder. When I open the model I just saved again, I get a lot of errors.
To Reproduce
Using the moergestels_broek model (because I'm using for everything I try everything nowadays)
from pathlib import Path
from hydrolib.core.io.mdu.models import FMModel

model_folder = Path("playground")
old_mdu = model_folder/'model'/'moergestels_broek.mdu'
new_mdu= model_folder/'iterations'/'new.mdu'

old_mdu = FMModel(old_mdu)
old_mdu.save(new_mdu, recurse=True)

mdu = FMModel(new_mdu)
print(mdu.show_tree())

Result (snippets):
geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 152 -> prof_RS1_RVK-DP148 -> yCoordinates -> 0
  value is not a valid float (type=type_error.float)
geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 152 -> prof_RS1_RVK-DP148 -> zCoordinates -> 0
  value is not a valid float (type=type_error.float)
geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 152 -> prof_RS1_RVK-DP148 -> frictionPositions -> 0
  value is not a valid float (type=type_error.float)
...
original.mdu -> geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 176 -> prof_RS376.1-DP3 -> yCoordinates -> 0
  value is not a valid float (type=type_error.float)
original.mdu -> geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 176 -> prof_RS376.1-DP3 -> zCoordinates -> 0
  value is not a valid float (type=type_error.float)
original.mdu -> geometry -> crossDefFile -> cross_section_definitions.ini -> definition -> 176 -> prof_RS376.1-DP3 -> frictionPositions -> 0
  value is not a valid float (type=type_error.float)
...
original.mdu -> output -> mapInterval -> 0
  value is not a valid float (type=type_error.float)
original.mdu -> output -> rstInterval -> 0
  value is not a valid float (type=type_error.float)
original.mdu -> output -> waqInterval -> 0
  value is not a valid float (type=type_error.float)
python-BaseException

Expected behavior
I expected that I can simply read new.mdu using FMModel
I attached the original MDU and cross_section_definitions.ini & the copied ones (called something with new)
cross_section_definitions_new.ini.txt
moergestels_broek.mdu.txt
cross_section_definitions_new.ini.txt (simply called 'cross_section_definitions.ini', as referenced in the mdu)
new.mdu.txt
Version info (please complete the following information):
OS: Windows 10
Version: 0.2.0
Python: 3.8

Additionally, I tried to open the MDU of the model that I created (so after reading moergestels_broek.mdu, changing nothing, and saving the MDU with mdu.save('original.mdu', recurse=True) in DHydro and it also won't even open there.
(please bare with me that I am naming this new file 'original.mdu', it makes sense with the context of the profile optimizer, I promise :P)

A few things that I notice here:

It says it expects some files based on the MDU, which haven't been copied with original.save('name.mdu', recurse=True), namely obspts_obs.ini & structures.ldb.
The compound structure that is included in structure_temp.ini is exported with an empty fields (third message in screenshot). It's about the line I marked in the screenshot below

I can't find there the "Value '0.0;0.0;0.0' in collection cannot be read" etc exactly, but I noticed this format in crosssec_def.ini files for sure. In the source file the format for lists of numbers is "0.0 0.0 0.0" etc (so space as seperator) but in the file saved through hydrolib it becomes "0.0;0.0;0.0" etc (see screenshot below)

When I fix the first two bullet points (manually copying  obspts_obs.ini & structures.ldb to a new folder & deleting the lines in structure_temp.ini, the next error it gives is about the crosssec_def number format:
"0.0;1.451;3.996;4.997;6.704;8.461;8.58;9.018;9.056;12.48;16.063;16.107;16.59;16.652;18.3;20.173;21.717;25.186 is not a valid value for Double."
In summary

not all files defined in the MDU will be saved with MDU.save(new_path/name.mdu, recurse=True)
lists of numbers are saved with wrong seperators

I investigated what causes this wrong errors, and below is some input for a technical discussion:
Cause:
Early in the serialization process, any INIBasedModel will go through the static method _convert_value(), which joins list values with a hardcoded semicolon:
            return ";".join([str(x) for x in v])

Start of a solution:
I could change this into a @classmethod, and then use the class's already existing _list_delimiter() class method, as follows:
            return cls.list_delimiter().join([str(x) for x in v])

This solved the reported issue for some structure files.
However, that (sub)class level is still not detailed/deep enough: within a single class, some of its fields might have a different list value delimiter than others.
For example:
class ZWRiverCrsDef(CrossSectionDefinition):
#[..]
    _split_to_list = get_split_string_on_delimiter_validator(
        "levels",
        "flowwidths",
        "totalwidths",
        "frictionvalues",
        delimiter=" ",
    )
    _split_to_list2 = get_split_string_on_delimiter_validator(
        "frictionids",
        "frictiontypes",
        delimiter=";",
    )

Question:
How can we nicely define list value delimiters at the field level, such that both the parser (post-validator) and the serializer make use of that same setting/class field?

@BeardedPlatypus wrote Yesterday at 7:26 PM:

I think the easiest approach would be to define a default like you did in your answer, and an additional delimiter dictionary. The delimiter dictionary will be empty by default, and will let us overwrite the delimiter of specific fields. We can then use the field name to actually retrieve the delimiter. At least that would be my first idea

@evetion wrote Yesterday at 8:52 PM

Wel agreed, you could also store it as should_be_forbidden_field: List[float] = Field(..., delimiter=";")
And then create a helper method on our BaseClass to access custom Field properties

Alright, it took a while to get back to this because I'm both trying to test if this is robust & I'm working for the profile optimizer at the same time. But I think I figured some things out about some thing
I used this version:

lists of numbers are saved with wrong seperators
--> probably fixed in PR https://github.com/Deltares/HYDROLIB-core/pull/212.

This works better! I can save a copy of an existing FM model, and the copy can be read by Hydrolib again. So partially solved.
My intention (which is in hindsight, not the best approach, I found an neater alternative) was to do this:
BASE MODEL --> change a profile --> ITERATION 1 --> change a profile --> ITERATION 2 --> change a profile --> etc
This produced a new error. Here is a base code example that produces the bug:
old_mdu_path = r'c:\dhydro\20211102_Developers_tutorial_Hydrolib\code\data\model\moergestels_broek.mdu'
model_folder = Path("playground")

old_mdu = FMModel(Path(old_mdu_path))
mdu_1_path = Path(model_folder)/'test_1' / 'save_1.mdu'
old_mdu.save(mdu_1_path, recurse=True)

mdu_1 = FMModel(mdu_1_path)
mdu_2_path = Path(model_folder)/'test_2' / 'save_2.mdu'
mdu_1.save(mdu_2_path, recurse=True)

mdu_2 = FMModel(mdu_2_path)
print(mdu_2.show_tree())

This crashes at mdu_1.save(mdu_2_path, recurse=True) with the following output:
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 484, in file_load_context
    yield file_loading_context
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 670, in save
    self._save_tree(context)
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 715, in _save_tree
    save_traverser.traverse(self, context)
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 240, in traverse
    acc = self._post_traverse_func(model, acc)  # type: ignore[arg-type]
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 706, in save_post
    model._save()
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 723, in _save
    self._serialize(self.dict())
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\io\ini\models.py", line 190, in _serialize
    write_ini(self._resolved_filepath, self._to_document(), config=config)
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\io\ini\models.py", line 184, in _to_document
    sections.append(value._to_section())
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\io\ini\models.py", line 121, in _to_section
    prop = Property(
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 52, in __init__
    raise e
  File "C:\ProgramData\Anaconda3\envs\hydrolib_resave\lib\site-packages\hydrolib\core\basemodel.py", line 48, in __init__
    super().__init__(**data)
  File "pydantic\main.py", line 406, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for Property
comment
  str type expected (type=type_error.str)

What it's trying to work with is this:
{'key': '1d2dLinkFile', 'value': '', 'comment': ['File containing the custom parameterization of 1D-2D links.', 'File containing the custom parameterization of 1D-2D links.']}
The value for comment is a list, which shouldn't happen, it should be a string.
I can work around it for the profile optimizer, namely by always doing my changes on a base model, not on the previous iterations. But hopefully this report can help make hydrolib more robust ;)
@arthurvd
Shall I close this issue for now, since it is fixed with #212 and make a new issue for the 1d2dlinkfile comment thing? Or do we want to keep this open for further improvements?


Search page

Implements the advanced search page

Review

Font family Acumin is not picked up by the browser- it currently uses Sans-serif

The mockup uses a viewport of 1440px so for a larger screen the content is meant to be centered. this was pointed out to me also by @demenech ( might not apply since this has a sidebar, maybe we should all discuss this including Monika)

Show and Sort by dropdown looks broken after selecting

The title looks more spacious on mobile when wrapped

I don't think this should be an issue, but on some mobile, this looks not aligned:

Apart from this everything looks good

The font family at least on my computer and cell phone has been picked up correctly

Points 3 and 4 have been fixed
Point 5 has been fixed up to 360px
@steveoni you need to add a review instead of just a commit, otherwise we cant merge it

@luccasmmg what about point 2 what do you think?

@luccasmmg what about point 2 what do you think?

This seems fine, dont you think? 4k resolution


🐞 - Editor incorrect column's width after cell merging (table extension)

Which @taiga-ui/* package(s) are the source of the bug?
addon-editor
Please provide a link to a minimal reproduction of the bug
https://taiga-ui.dev/components/editor/API
Is this issue blocking you?
Non-Blocking
Description

Open https://taiga-ui.dev/components/editor/API
Insert table 3*3
Change size of the first two columns
Merge all cells of the first table's row

https://user-images.githubusercontent.com/35179038/190990598-c71f725c-4976-4b56-9c98-7bd95895c1ef.mov
Angular version
any
Taiga UI version
3.3.0
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

Closed in favor of https://github.com/Tinkoff/tui-editor/issues/24


TokamakDemo build failed

The fail message:  'buildLimitedAvailability' is only available in macOS 11.0 or newer.
Environment: macOS Big Sur 11.0.1 (20B29)

One more question, if I want to contribute to Tokamak, how to debug it?

@RayZhao1998 sorry for the delay, this is resolved in #329.


When will remix support ethereumjs-vm v4.0.0?

Currently remix-lib uses ethereumjs-vm v3.0.0, I would like to ask when remix will support ethereumjs-vm v4.0.0

Hello @heysun0728 , We have updated all the ethereumjs-* dependencies to latest. Closed by #1341


Add support for Smarty and .tpl files

I've been using HTML beautification, and this seems to work fine.
Can you please include support for these file types.
Thanks.

Too easy.  To add support for that file type under HTML beautification simply submit a pull request modifying this file: https://github.com/Glavin001/atom-beautify/blob/master/src/languages/html.coffee
You will want to add the grammar name to the grammars array and add the file extension to the extensions array.

I would like to vote for this one as well.

I created the pull request to add the smarty language:
https://github.com/Glavin001/atom-beautify/pull/2118

also voting for this.
a main issue for me isn't even that smarty won't be beautified, but that {literal} and {/literal} tags are being split up to 3 lines, which makes the smarty compiler crash.


chore: increase version number to v0.13.2

Coverage remained the same when pulling 6cde1a2c68c582fb47a87b58131f5b50fcd6fb2a on thgreasi:master into 4ccc37a6c4600270d741225472bdbb333d92c365 on angular-ui:master.


Introduction - Paulo Flabiano Smorigo (Ubuntu/Canonical)

Hello,
My name is Paulo Flabiano Smorigo and I'm a member of the Security Team at Canonical.
I've been working in security for the past 6 years, first at IBM and now at Canonical. My daily job includes security fixes in ubuntu packages, backporting, security audits, and other security related tasks to make Ubuntu more secure.
I've also created a pull request:
https://github.com/ossf/wg-vulnerability-disclosures/pull/37
Thanks in advance!

@pfsmorigo welcome to the WG!

#37 has been merged, I think we can close this issue now.


Blog posts not showing on iOS Devices

On Safari on iPhone the Blog only shows the pictures without description and selecting them only causes the animation to start.
On Safari on Mac Blog posts show up alright on Main page, but on selection show an entirely empty page.

Update: It seems to be only the case for the demo page

Hello @gonz23
Currently, we don't have any IOS device to check it. Sorry!

Hi @somratpro !
The problem is solely related to the demo page. When actually using the Theme the problem disappears. Maybe just republish the demo page. On my end the problem is solved with actually using the theme, so it'd be fine to close the issue. Thanks for your response!


Mapbox Map is not rotated correctly

Hello,
when using the Mapbox feature i experience the problem, that the map is not rotated correctly. ( In the direction i am moving). I tried all the several options. (Use GPS from phone instead car, ...).

The map rotation uses the same car direction as the arrow. Does the arrow point in the same direction as your travel?

Hello,
No, the arrow is also not positioned correctly. The map is rotating when I travel around corners f.ex..
I think it should be, like in other navigation systems, that the direction where I am travelling is on the top of the screen. Here it is somewhere else.
Thank you

Can you install the CDS Details addon and tell me what it shows for navigation.GPSExtendedInfo while your car is facing North? It should show a heading close to 0 or 360.

Hello,
ok,
I'll do that
Thank you.

Same issue for me with NBT

What does your car show for navigation.GPSExtendedInfo?

For me it shows: {altitude=343,heading=211,speed=35202, quality=447}. If I remeber correctly i was moving to the north.

Additional a passenger made a video (location is different)
https://user-images.githubusercontent.com/6044026/197470561-6014992a-c712-4a03-bbf7-62d9f556ef80.mp4

@hufman Have you found something or to you need more data?

I haven't found anything. AAIdrive simply accepts whatever direction the car says it is heading. Does your car have its own compass display, and is that accurate too?

Ok. I have to check and change the coding of NBT_EVO to activate the compass screen.

I know having adding Navigation to AAI was difficult thing already, and glad for it being there and see the incredible progress this has gone to this day and the road to come.
I do have diffunties with the Navigation, specifically using the GPS doesn't work for me (though I do have GPS-Tracking from CDS activated in the car) but I assume because I don't have native Navigation with my EntryNav AAID can't read he Information. When using the phone GPS tue routing technically works, but it is lagging the maps/arrow needs a few MS to update my position and the arrow is off the street most of the time (the iDrive itself is working normal no delays)
Does anyone have a clue what could be the cause or how to improve performance, is it the GPS Signal, the RAM Performance of the EntryNav or Phone?

Navigation start ok... after some minutes the direction screen change to horizontal going the left... and never change again... I will try to make video.
Note, I have internal GPS and work ok. My device NBT 4 (serie 4 - 2015)
Thank you!

Please try the new beta build in the Play Store to check what compass direction the car reports through the new Car Info screen.

 No yet  on my play store…i will wait…I will test…Thank you!  From: Walter HufSent: 13 de abril de 2023 15:42To: BimmerGestalt/AAIdriveCc: pitum1; CommentSubject: Re: [BimmerGestalt/AAIdrive] Mapbox Map is not rotated correctly (Issue #624) Please try the new beta build in the Play Store to check what compass direction the car reports through the new Car Info screen.—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID<EMAIL_ADDRESS>
I just pushed a build this morning, and it normally takes a few days to roll out, my bad for getting excited :)

Hi all,
I've tried the latest BETA.
I come from #689 and I have a X5 F15 with   ID4++.
The compass bearing and the map rotatation/orientation doesn't work properly.
My car compass bearing is often different from the AAIDRIVE car info screen and I don't know why.
It only works if I'm exactly in the North direction (360°)
Could it be related to the small RAM in ID 4 ?

Navigation seems to be working well in the latest beta, however, the map does not scroll and instead is still for 2 to 8 seconds and then moves quickly to a more current location. Also, the rotating arrow starts up when I come to a stop and finally settles in an unusual heading (not direction of travel) in about 15 seconds.

Please try the new beta build in the Play Store to check what compass direction the car reports through the new Car Info screen.

Hi,
Thank you very much for the new beta build. To have all this information on the screen is really awesome!!!
I did a longer drive yesterday haveing an eye on the direction degree value that shows in the Driving detail screen.
I had additionally my phone running with a compass application that shows the same value.
What I've noticed:
If I go exactly to north it is correct with 360°. But If I go a little bit north east where the phone shows 10 -15 degrees the value on the idrive screen shows 110°. In the complete ride I've never seen any value below 100°.
So there is always a offset between the real direction and what is displayed in the idrive display (coming from AAIDrive). The offset is not a static value, but it differs between 100 and 0. F.ex. If I go exactly to south which should be 180°. The value 230 is displayed.
That is also exactly the behaviour that is shown when using the Mapbox functionality.
Probably ID4 is doing something different here?
I also checked the direction in the internal navigation of Idrive and there it is always correct.

Hmmm I'm not sure.. AAIdrive changes the heading from the car slightly to switch it to rotate the other direction, and so I added a field to the GPS Details page to show the raw heading from the car. I also saw a hint in BMW Connected's code that the value range might be up to 256, not the full 360, and so I added a tweak to handle this range.
Try out this custom build!

Thank you for the custom build. I'll report as soon as I get into the car after work.

Hi Walter,
I‘ve downloaded the custom build apk and the app cannot be installed.
I‘ve installed the latest beta.
Do I have to delete that beta first before installing your custom build is possible ?

Hi Walter, I‘ve downloaded the custom build apk and the app cannot be installed. I‘ve installed the latest beta. Do I have to delete that beta first before installing your custom build is possible ?

Yes. You have to uninstall the play store version first.

Hmmm I'm not sure.. AAIdrive changes the heading from the car slightly to switch it to rotate the other direction, and so I added a field to the GPS Details page to show the raw heading from the car. I also saw a hint in BMW Connected's code that the value range might be up to 256, not the full 360, and so I added a tweak to handle this range. Are there any ID4 cars that show the correct rotation, or any ID5 cars that show an incorrect rotation? Try out this custom build!

Great. The tweak worked.. The value is now correct and also the map box map is rotatet correctly!!!


path.Ext(photo) and filepath.Ext(photo) cannot find the real extensio of the photo file

What version of Go are you using (go version)?
1.6

$ go version

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
MacOS  darwin/amd64
go env Output
$ go env

What did you do?

the link is here:  https://gist.github.com/jimmyyem/cf8258d76f8bb10b41f994aa79cea156
What did you expect to see?
I wanna get the rigth extension of the file at any time.
What did you see instead?
I cannot get the corrent answer.

path.Ext expects a filepath, not a url path + query


Get rid of CommonJS module

Changes proposed:

Make use of es6 module

Upgrade Path (for changed or removed APIs):
Acceptance Checklist:

[x] All commits have been squashed to one.
[x] The commit message follows the guidelines in CONTRIBUTING.md.
[ ] Documentation (README.md) and examples have been updated as needed.
[ ] If this is a code change, a spec testing the functionality has been added.
[ ] If the commit message has [changed] or [removed], there is an upgrade path above.

Coverage increased (+0.5%) to 77.256% when pulling f92534758c9f8eaedb808097a755798c365267c7 on abouthiroppy:feature/get-rid-of-commonjs-modules into b261459f338e269dbd726b89844ec7b4a590bce6 on reactjs:master.

Coverage increased (+0.5%) to 77.256% when pulling f92534758c9f8eaedb808097a755798c365267c7 on abouthiroppy:feature/get-rid-of-commonjs-modules into b261459f338e269dbd726b89844ec7b4a590bce6 on reactjs:master.

Coverage increased (+0.5%) to 77.256% when pulling f92534758c9f8eaedb808097a755798c365267c7 on abouthiroppy:feature/get-rid-of-commonjs-modules into b261459f338e269dbd726b89844ec7b4a590bce6 on reactjs:master.

Coverage increased (+0.5%) to 77.256% when pulling f92534758c9f8eaedb808097a755798c365267c7 on abouthiroppy:feature/get-rid-of-commonjs-modules into b261459f338e269dbd726b89844ec7b4a590bce6 on reactjs:master.


Custom Qr Code Scanner

I just wanna share my custom Qr Code Scanner with scanBar that animates up and down

You need to install this first (Google them because their installation requires linking)
react-native-vector-icons
react-native-animatable

Just change the color, size of the following depending on your needs
const overlayColor = "rgba(0,0,0,0.5)"; // this gives us a black color with a 50% transparency

const rectDimensions = SCREEN_WIDTH * 0.65; // this is equivalent to 255 from a 393 device width
const rectBorderWidth = SCREEN_WIDTH * 0.005; // this is equivalent to 2 from a 393 device width
const rectBorderColor = "#fff";

const scanBarWidth = SCREEN_WIDTH * 0.46; // this is equivalent to 180 from a 393 device width
const scanBarHeight = SCREEN_WIDTH * 0.0025; //this is equivalent to 1 from a 393 device width
const scanBarColor = "red";

const iconScanColor = "#fff";

Full Code
import React, { Component } from "react";

import { View, Dimensions, Text } from "react-native";
import QRCodeScanner from "react-native-qrcode-scanner";
import Icon from "react-native-vector-icons/Ionicons";
import * as Animatable from "react-native-animatable";

const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;

console.disableYellowBox = true;

class QrCodeCamera extends Component {
  onSuccess(e) {
    alert(e);
  }

  makeSlideOutTranslation(translationType, fromValue) {
    return {
      from: {
        [translationType]: SCREEN_WIDTH * -0.18
      },
      to: {
        [translationType]: fromValue
      }
    };
  }

  render() {
    return (
      <QRCodeScanner
        showMarker
        onRead={this.onSuccess.bind(this)}
        cameraStyle={{ height: SCREEN_HEIGHT }}
        customMarker={
          <View style={styles.rectangleContainer}>
            <View style={styles.topOverlay}>
              <Text style={{ fontSize: 30, color: "white" }}>
                QR CODE SCANNER
              </Text>
            </View>

            <View style={{ flexDirection: "row" }}>
              <View style={styles.leftAndRightOverlay} />

              <View style={styles.rectangle}>
                <Icon
                  name="ios-qr-scanner"
                  size={SCREEN_WIDTH * 0.73}
                  color={iconScanColor}
                />
                <Animatable.View
                  style={styles.scanBar}
                  direction="alternate-reverse"
                  iterationCount="infinite"
                  duration={1700}
                  easing="linear"
                  animation={this.makeSlideOutTranslation(
                    "translateY",
                    SCREEN_WIDTH * -0.54
                  )}
                />
              </View>

              <View style={styles.leftAndRightOverlay} />
            </View>

            <View style={styles.bottomOverlay} />
          </View>
        }
      />
    );
  }
}

const overlayColor = "rgba(0,0,0,0.5)"; // this gives us a black color with a 50% transparency

const rectDimensions = SCREEN_WIDTH * 0.65; // this is equivalent to 255 from a 393 device width
const rectBorderWidth = SCREEN_WIDTH * 0.005; // this is equivalent to 2 from a 393 device width
const rectBorderColor = "red";

const scanBarWidth = SCREEN_WIDTH * 0.46; // this is equivalent to 180 from a 393 device width
const scanBarHeight = SCREEN_WIDTH * 0.0025; //this is equivalent to 1 from a 393 device width
const scanBarColor = "#22ff00";

const iconScanColor = "blue";

const styles = {
  rectangleContainer: {
    flex: 1,
    alignItems: "center",
    justifyContent: "center",
    backgroundColor: "transparent"
  },

  rectangle: {
    height: rectDimensions,
    width: rectDimensions,
    borderWidth: rectBorderWidth,
    borderColor: rectBorderColor,
    alignItems: "center",
    justifyContent: "center",
    backgroundColor: "transparent"
  },

  topOverlay: {
    flex: 1,
    height: SCREEN_WIDTH,
    width: SCREEN_WIDTH,
    backgroundColor: overlayColor,
    justifyContent: "center",
    alignItems: "center"
  },

  bottomOverlay: {
    flex: 1,
    height: SCREEN_WIDTH,
    width: SCREEN_WIDTH,
    backgroundColor: overlayColor,
    paddingBottom: SCREEN_WIDTH * 0.25
  },

  leftAndRightOverlay: {
    height: SCREEN_WIDTH * 0.65,
    width: SCREEN_WIDTH,
    backgroundColor: overlayColor
  },

  scanBar: {
    width: scanBarWidth,
    height: scanBarHeight,
    backgroundColor: scanBarColor
  }
};

export default QrCodeCamera;

it's awsome!!!

@Albert0405 this is awesome! we should definitely add this as part of the examples!

Amazing 💃 it work correctly ... i love it
tnq very much 💯

Can you provide code when orientation is landscape

I am developing a project, which uses qr code reader, your project helped me a lot in the development of the layout of this screen, I leave here my congratulations and thank you.
Eduardo / Brazil

how to scan just only the center small area? When we have 2 QR code on the screen, the first one without need to go to the center area is scanned!

Nice!! It's Amazing, Thanks!!@:D

Thanks for sharing the code.
But I found an issue it happens on <View style={styles.bottomOverlay} /> if put <TouchableOpacity onPress={() => alert('bottom)}><Text>Click</Text></TouchableOpacity>
onPress function won't work on Android. ( iOS is working )
I have no idea why.
If just test a code like this it's still not working with yellow background.
       <QRCodeScanner
        showMarker
        onRead={onSuccess}
        cameraStyle={{ height: qrCodeHeight }}
        customMarker={
          <View style={styles.rectangleContainer}>
            <View style={{ flex: 1, backgroundColor: 'pink' }} onStartShouldSetResponder={() => alert('1')}><Text style={{ fontSize: 32 }}>1</Text></View>
            <View style={{ flex: 1, backgroundColor: 'blue' }} onStartShouldSetResponder={() => alert('2')}><Text style={{ fontSize: 32 }}>2</Text></View>
            <View style={{ flex: 1, backgroundColor: 'yellow' }} onStartShouldSetResponder={() => alert('3')}><Text style={{ fontSize: 32 }}>3</Text></View>
          </View>
        }
      />

Hi @alz10 , I tried this code and it's a nice design but I just need background color black transparent and the marker should be only curved edges, not a full square width with color. Can somebody have that code? Thanks in advance. :)

Nice!! It's Amazing, Thanks ! :D

amazing. It's fantastic. thank you

how to scan just only the center small area? When we have 2 QR code on the screen, the first one without need to go to the center area is scanned!

anyone have solution? i'm stuck with this too

for anyone struggilng with icon not popping up in/after 2022 its probably icon name change ? Changing icon name under Icon as
< name="ios-scan" > worked for me


subscription improvments

added ability to view subscriptions in GraphiQL as explained here
unsubscribe when component will unmount
re-subscribe on error as explained here

@vlasenko Please check if I formulated subscriptionUrl correctly in src/server/middleware/graphiql.js


eSPI: Userspace and API fixes

Implement missing verification handler
Fix two implementation handler names
Pass struct by reference in syscall APIs

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/23750

eSPI API and driver code changes look good.
However, when running sample code it fails in OOB portion, debug in progress.

Can you show the log ? It is in the send or receive function ?

@andrewboie just updated all verification handlers, could you please take a look again

eSPI API and driver code changes look good.
However, when running sample code it fails in OOB portion, debug in progress.

Problem is unrelated to these changes

@andrewboie could you take a look again ? I've kept some of the memory check instead of using z_user_to_copy to avoid call the implementation handler if the given memory is invalid


Issue #383 - Fix Search Nav on Firefox

Signed-off-by: John Walicki<EMAIL_ADDRESS>Pull Request Template
Description
See https://github.com/open-horizon/open-horizon.github.io/issues/381#issuecomment-1407473284
Fixes #383
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] This change requires a documentation update

How Has This Been Tested?
Visit https://open-horizon.github.io/ in the Firefox browsre
...
Checklist:

[x] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[x] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

@dipesh-rawat provided a better fix in #385
Closing this PR.


fix: add gitlab MR labels at time of creation

This refactor means that createPr now takes labels as a new parameter so that the GitLab API can include them with the MR creation request, so save one API call. This also fixes #985 as a result.

@Autre31415 could you take a look and let me know if you think it looks ok?

Would it be possible to also append labels after the fact in the case of PRs that already exist but don't have labels already?

@Autre31415 currently we do not add labels "after the fact". The reasoning is that: (a) we only have one way to configure labels and they will be added at PR time, and (b) if someone removes a label we added, they surely don't want us to be adding it back again. Unless this workflow changes in future, I don't see a need for us to support adding labels to pre-existing PRs.

@Autre31415 I have now removed addLabels from platform exports to make it clearer that ad-hoc addition of labels is not supported. addLabels wasn't called from anywhere else in the code anyway.

@rarkins Looks good to me. Now only the merge conflicts stand in the way.

I'll apply the same changes to v10 soon


About DIV2K training

Were all 900 DIV2K images (800 train and 100 valid) used for model training? thanks

Only the training part (800 images). Thanks.
Allan Pan<EMAIL_ADDRESS>周四下午11:39写道：

Were all 900 DIV2K images (800 train and 100 valid) used for model
training? thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Jia-Research-Lab/Simple-SR/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4GMAZMWNUZFDQBPHJC3SLS7UYDZANCNFSM4X2QT4DQ
.