Document development features

Ack's codebase has accumulated some features to make its developers' lives easier.  If we're going to get more contributors, we need to document these features.  For example:

--debug for Makefile.PL
Option coverage
dev/timings.pl
#322

DEVELOPERS.md has been moved over to ack 3.


Change byte count in tree_connect_andx_request

I got this from comparing the packet capture from metasploit vs this python version. With the previous version, it returned "Unable to detect if this host is vulnerable" more often for hosts, and this one will catch more of the vulnerable/unpatched hosts.

Hey thanks!  I will give this another run, but looks like the guys just made a simple typo in the original Python.
Thanks for helping out!!


Updated LOINC filenames to match 2.64 and future releases.

Coverage increased (+0.01%) to 72.747% when pulling 215e224e3dc74e95af29db984e00ba50dad25f3f on rhausam:update-filenames into a46b4a4637bd6abe609c936393e56a23368295fe on jamesagnew:master.


Add ignore package feature

Type of change

New feature (non-breaking change which adds functionality)

Description
Several of our NPM projects use a private registry for some of the packages. It would be nice to be able to ignore packages based a pattern.
A corresponding update to the GitHub Action to be able to utilize this pattern would be helpful too.
Checklist

[ ] Update inputs to allow ignore pattern
[ ] Update GitHub Action to all ignore pattern input

Good idea.
Related ticket: https://github.com/digi-wolk/oss-license-auditor/issues/1

+1

+1


Approval template for websites

@Diptenusarkar I have added approval rating template for websites .
Kindly look into it.

@Diptenusarkar I hope you like this one . Kindly merge with hacktoberfest-accepted


Add an onComplete event to the test runner

At the moment I'm testing a plugin against multiple versions of jQuery usnig iFrames. As the tests make extensive use of waits() I need the tests in one iframe to complete before starting the next set of tests in a new iframe (the timings get thrown way out when I run all the iframes at once)
In order to achieve this it'd be useful to add an onComplete event that is triggered at the ned of  .reportRunnerResults()

Not sure, this might help:
jasmine.Runner.prototype.finishCallback = function() {
            // invoke your callback here
            jasmine.getEnv().reporter.reportRunnerResults(this);
        };

I'm confused. Why doesn't reportRunnerResults work for what you need?

Because reportRunnerResults (because I'm using waits() a lot) contains some asynchronous processes it returns before the tests have actually completed. I need some way - a custom event would be he obvious method - to listen for the test suite's completion.

It seems like a bug if reportRunnerResults comes back before all tests have completed. Can you give us a failing spec for this?


Additional methods is_set, unset

Would you be open to a PR that aliased the verbs
unset and is_set. The class is super cool, but contains and remove feel like STL container verbs, and if this is a bitset - I don't need to know the impl underneath. I'd like the verbs to be binary set/unset and is_set.
Thoughts?

Hey,
First of all, glad you liked the library. Your proposal seems reasonable to me. You can open a PR.
We'll need to release new version, possibly 2.0, of the library since this is a breaking change but that's my part of the job.
Anyway, open PR, I'll review it and that's it! Glad to have you contributing!
Thanks.

@EliSchleifer how is it going? Let me know if I should do this change instead of you! Thanks

I can code it up. Probably get you a PR in a couple fays

From: Marin Peko @.>
Sent: Tuesday, September 7, 2021 1:11:42 PM
To: m-peko/bitflags @.>
Cc: Eli Schleifer @.>; Mention @.>
Subject: Re: [m-peko/bitflags] Additional methods is_set, unset (#23)
@EliSchleiferhttps://github.com/EliSchleifer how is it going? Let me know if I should do this change instead of you! Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/m-peko/bitflags/issues/23#issuecomment-914592067, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAJVCPTBKM4ZPXMD3EPYOHLUAZWX5ANCNFSM5CXNZMZQ.

ok, perfect

Posted a PR https://github.com/m-peko/bitflags/pull/24


Merge pull request #1 from preservim/master

Update from original
Description of Changes
Closes #

New Version Info
Author's Instructions

[ ] Derive a new MAJOR.MINOR.PATCH version number. Increment the:

MAJOR version when you make incompatible API changes
MINOR version when you add functionality in a backwards-compatible manner
PATCH version when you make backwards-compatible bug fixes

[ ] Update CHANGELOG.md, following the established pattern.

Collaborator's Instructions

[ ] Review CHANGELOG.md, suggesting a different version number if necessary.
[ ] After merging, tag the commit using these (Mac-compatible) bash commands:git checkout master
git pull
sed -n "$(grep -n -m2 '####' CHANGELOG.md | cut -f1 -d: | sed 'N;s/\n/,/')p" CHANGELOG.md | sed '$d'
git tag -a $(read -p "Tag Name: " tag;echo $tag) -m"$(git show --quiet --pretty=%s)";git push origin --tags

My mistake. Pushed in the wrong direction


Routes registered via API get bungled & dropped

I'm spinning up the official kong-proxy Amazon AMI and configuring it with userdata.

The corresponding output looks like this:
download: s3://my-bucket/ssl_certs/mydomain.com/mydomain.com.cert to home/ec2-user/mydomain.com.cert
download: s3://my-bucket/ssl_certs/mydomain.com/mydomain.com.key to home/ec2-user/mydomain.com.key
download: s3://my-bucket/ssl_certs/mydomain.com/bundle.cert to home/ec2-user/bundle.cert
Starting Cassandra: OK
[INFO] Using configuration: /etc/kong/kong.yml
[INFO] Kong version.......0.5.2
       Proxy HTTP port....80
       Proxy HTTPS port...443
       Admin API port.....8001
       dnsmasq port.......8053
       Database...........cassandra keepalive=60000 timeout=1000 contact_points=localhost:9042 keyspace=kong
[INFO] Connecting to the database...
[INFO] Database not initialized. Running migrations...
[OK] core migrated up to: 2015-01-12-175310_skeleton
[OK] core migrated up to: 2015-01-12-175310_init_schema
[OK] jwt migrated up to: 2015-06-09-jwt-auth
[OK] acl migrated up to: 2015-08-25-841841_init_acl
[OK] oauth2 migrated up to: 2015-08-03-132400_init_oauth2
[OK] oauth2 migrated up to: 2015-08-24-215800_cascade_delete_index
[OK] key-auth migrated up to: 2015-07-31-172400_init_keyauth
[OK] hmac-auth migrated up to: 2015-09-16-132400_init_hmacauth
[OK] basic-auth migrated up to: 2015-08-03-132400_init_basicauth
[OK] rate-limiting migrated up to: 2015-08-03-132400_init_ratelimiting
[OK] response-ratelimiting migrated up to: 2015-08-21_init_response-rate-limiting
[INFO] Auto-generating the default SSL certificate and key...
[INFO] dnsmasq started (dnsmasq)
[OK] Restarted
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   321    0   207  100   114   1058    582 --:--:-- --:--:-- --:--:--  1061
HTTP/1.1 201 Created
Date: Tue, 17 Nov 2015 10:00:01 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.5.2

{"upstream_url":"XXXXX","request_path":"\/ac\/v1","id":"11dc4cc3-f7bb-43d2-c325-769687ce0882","created_at":1447754402000,"strip_request_path":false,"name":"ac"}
{"upstream_url":"XXXXX","request_path":"\/df\/v1","id":"80fa477f-e821-4d9f-cd6d-16c587174bdc","created_at":1447754402000,"strip_request_path":false,"name":"df"}
{"upstream_url":"XXXXX","request_path":"\/wf\/v1","id":"11dc4cc3-f7bb-43d2-c325-769687ce0882","created_at":1447754403000,"strip_request_path":false,"name":"wf"}

Note that I get the same id back for two different APIs.
If I do a
curl http://localhost:8001/apis/11dc4cc3-f7bb-43d2-c325-769687ce0882

it references the /wf/v1 api.
If I do a
curl http://localhost:8001/apis/80fa477f-e821-4d9f-cd6d-16c587174bdc

it references another API, not the df/v1 that it is supposed to.
As you can see, the APIs are "bungled".  I noticed this because the /df/v1 route was not working, and did not exist.
None of the REST api calls against kong failed.

I should add that this is the AMI i'm using:
kong-0.5.2-cassandra-2.2.0-hvm-8e007d1a-73c7-4303-a5a8-ab26fa71e02e-ami-4fca962a.2 (ami-a7401fc2)

I've run this userdata maybe ~30 times and this is the first time I've noticed this error.

It could be that you experienced #478 (uuid generation conflict). The next branch now uses another module to generate them and doesn't present risks of conflicts anymore (at least not more than standard UUID generation does). It will be part of the next release.
In the meantime, you could maybe fix this by deleting one of the two conflicted APIs by using its name in the URI and recreating it. Let us know if everything works as expected when the ids don't conflict, thanks.

That looks like the same issue.  I've also put pauses between API calls in hopes that it will fix the issue.

Don't think that helps, since the issue happens when the load is redirected to another worker, which is not necessarily due to a heavy load iirc.

0.6.0 generates real UUIDs using a new library - this issue should be fixed. Please reopen it if you experience the issue again.


Rename "Getting Started" section in docs to "Deploy Resoto"

Description
I'd like us to be specific, and also use active language.
from our homepage, the CTA button "deploy now" will link to the  "deploy Resoto" section.
I'm open to call it something else - "Install" - just not "getting started".
Screenshots
No response
Additional Context
No response

We now have an "Installation" section (in addition to others) within "Getting Started"; closing this issue.


freshrss: 1.21.0 -> 1.22.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/FreshRSS/FreshRSS/releases.
meta.description for freshrss is: FreshRSS is a free, self-hostable RSS aggregator
meta.homepage for freshrss is: https://www.freshrss.org/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 1.22.0 with grep in /nix/store/jk8hhj4s2gi2sdb0k5n6z6xjvn80dh3g-FreshRSS-1.22.0
found 1.22.0 in filename of file in /nix/store/jk8hhj4s2gi2sdb0k5n6z6xjvn80dh3g-FreshRSS-1.22.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
freshrss

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jk8hhj4s2gi2sdb0k5n6z6xjvn80dh3g-FreshRSS-1.22.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A freshrss https://github.com/r-ryantm/nixpkgs/archive/70def0aeccff3f5d8bc88d6f2cac68fb54a023d4.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/70def0aeccff3f5d8bc88d6f2cac68fb54a023d4#freshrss

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jk8hhj4s2gi2sdb0k5n6z6xjvn80dh3g-FreshRSS-1.22.0
ls -la /nix/store/jk8hhj4s2gi2sdb0k5n6z6xjvn80dh3g-FreshRSS-1.22.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

freshrss

Maintainer pings
cc @etu @Stunkymonkey for testing.

@ofborg test freshrss

ping @etu ; can you please review.
not sure how much sense it makes if i self-approve this.


Velero integration in the test environment

Integrate velero in the test environment, installing velero on the managed clusters.
The velero addon has now a self test verifying that velero backup and restore work
on a single cluster
The self test uses nginx deployment copied from velero release tarball with a fix for
https://github.com/vmware-tanzu/velero/issues/6347.
ramenctl config was updated to configure ramen velero options, mainly the special
cloud secret generated by the velero install run by the velero addon.
The velero tool is new requirement that must be installed manually like other tools. We
may want to improve this later.
Ramen kube object protection was not tested yet with this change.
Resolves #662

Changes since @hatfieldbrian review:

Rebase on main
Adding missing credetials.conf to the commit deploying velero (was included by mistake in the commit adding the self test)

Rebased on main to fix conflicts with merged submariner pr.


nameservers in container's /etc/resolv.conf should be reachable

When launching podman run without --dns option, host's /etc/resolv.conf is used for the container.
This is a problem when host's /etc/resolv.conf only contains nameservers not reachable from the container, e.g. <IP_ADDRESS>.
Docker ignores  <IP_ADDRESS> in host's /etc/resolv.conf. When there’s no other nameserver, it adds <IP_ADDRESS> and <IP_ADDRESS>.
Is this a BUG REPORT or FEATURE REQUEST?:
kind bug

Looks like docker's resolvconf package is doing all the job of filtering host's resolv.conf.
Do you think that this could be imported in libpod ?

@mheon thanks

Using the command line switch for --dns is not desirable ?

@baude that's a possibility, but probably a user expects a docker-like user experience when using podman.
Also passing --dns is not always an option (e.g. podman used in a script).

Going to take a look at this one today

Opened #1537 to fix


ACK secretsmanager Controller - SecretString is not synchronised with secret

Describe the bug
SecretString is not synchronised with kubernetes Secret
Steps to reproduce
Create Secret
$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: secret
  namespace: default
type: Opaque
stringData:
  key: value
---
apiVersion: secretsmanager.services.k8s.aws/v1alpha1
kind: Secret
metadata:
  name: secret
  namespace: default
spec:
  name: default/secret/key
  secretString:
    key: key
    name: secret
    namespace: default
EOF
secret/secret created
secret.secretsmanager.services.k8s.aws/secret created

Check secrets
$ kubectl get secrets/secret --namespace=default -o jsonpath="{.data.key}" | base64 -d
value%
$ aws secretsmanager get-secret-value --secret-id default/secret/key --query SecretString
"value"

Update secret
$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: secret
  namespace: default
type: Opaque
stringData:
  key: new-value
EOF
secret/secret configured

Check secrets
$ kubectl get secrets/secret --namespace=default -o jsonpath="{.data.key}" | base64 -d
new-value%
$ aws secretsmanager get-secret-value --secret-id default/secret/key --query SecretString
"value"

Expected outcome
$ aws secretsmanager get-secret-value --secret-id default/secret/key --query SecretString
"new-value"

Environment

Kubernetes version : 1.28
Using EKS (yes/no), if so version? v1.28.1-eks-43840fb
AWS service targeted (S3, RDS, etc.) : secretsmanager

Is this expected given that its only a v0.0.1 release? What is the controller capable of at this point? I can create a Secret (secretsmanager.services.k8s.aws/v1alpha1) in a manifest and it gets pushed up to Secrets Manager but it doesn't reconcile out of sync resources that reference this secret in other namespaces.

@MalibuKoKo  I haven't tested the update function,  two issue could happen here

update function not work
secret name isn't changed so may not trigger reconciliation immediately

@navinisaac  in v0.0.1,  it's only able to create aws secret with basic config,  the sync of secretString is not tested,  seems it doesn't work by default,  will need to implement the custom logic.   we also think about the possibility  to use kv-pair in secret instead of secretString.
secretString sync is a little controversial, if user also add new secret value by cli or aws console,  how does controller handle this?

@Julian-Chu :

secretString sync is a little controversial, if user also add new secret value by cli or aws console, how does controller handle this?

I don't understand this mindset because all controllers of ACK project have the same constraint, namely a modification could coming from another source like the cli or the console.
It is obvious that simultaneously using an automatic and continuous synchronization mechanism with a manual mechanism is not the best idea, but I don't think this is the subject here.
Furthermore, it's the same thing for terraform or crossplane and as far as I know that doesn't prevent them from managing these use cases.
Have you test the update function ?
Concerning reconciliation, i define defaultResyncPeriod to 90s but secret is not synchronized.

@MalibuKoKo I haven't tested the update function, two issue could happen here

update function not work
secret name isn't changed so may not trigger reconciliation immediately

@navinisaac in v0.0.1, it's only able to create aws secret with basic config, the sync of secretString is not tested, seems it doesn't work by default, will need to implement the custom logic. we also think about the possibility to use kv-pair in secret instead of secretString.
secretString sync is a little controversial, if user also add new secret value by cli or aws console, how does controller handle this?

I would love to see kv-pair option for the definition insead of secretString.
In a gitops world, the code is the truth and so manual changes in deployed secrets are never a good choice. If committing encrypted secrets to a repo, this is the truth and should always overwrite manual changes.
If one made manual changes, those have to be persisted in the deployment. Otherwise the secret should not be deployed, but completely manual managed.


double-beep: Watch medium.com/@tolsiodkrow

double-beep requests the watch of the watch_keyword medium\.com/@tolsiodkrow. See the MS search here and the Stack Exchange search here.

medium\.com/@tolsiodkrow has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by ArtOfCode in Charcoal HQ


[VL] Avoid repetitively calculating fixed-size columns' bytes in calculatePartitionBufferSize

What changes were proposed in this pull request?
calculating once on init step to avoid repetitive calculating
(Please fill in changes proposed in this fix)
(Fixes: #ISSUE-ID)
How was this patch tested?
(Please explain how this patch was tested.


Instance of 'Resource' has no 'users' member

Expected Behavior
No errors
Actual Behavior
"Instance of 'Resource' has no 'users' member"
Steps to Reproduce the Problem

Run the code

Specifications

Python version (python --version) 3.7.
OS (Mac/Linux/Windows) windows 10

Looks like admin-sdk/directory given the reference to users.
But since I haven't been able to reproduce this (tried using non admin, delegated admin, etc) and there's been no response in 2 months to clarify, closing the bug.


Stereoscopic rendering

Since Google Cardbord has appeared, more and more companies produce alike devices to make cheap VR-like experience availabile.
I wonder if it'd be possible for Godot to render stereoscopic images?
Several technologies are availabile:
Side-by-side straigth (for Google Cartboard like mounts) - left eye is left part of the screen, and vice versa.
Side-by-side inverted (for crossed-eye watching) - left eye is right part of the screen and vice versa.
Anaglyph (for oldschool 3D-glasses) - two images with altered colours are blended and displayed on top of each other, tinted glasses filter inmages for left and right eye.
Frame-interlace (for IMAX-like 3D glasses) - the images fro left and right eyes are interleaved in time, and the glasses on user's head dim the eyes to make the images go for left and right eye one at a time.
I can imagine this work for 3D games... and 2D games as well with parrarel backgrounds and overlay layers "popping out".

I see playing a game without having a touch interface availabile might be hard, but I've got one idea:
Using the phone with Google Cartboard for VR-like 3D display.
Using laptop/desktop PC as an input device (keyboard/mouse) transmitted via WiFi or Bluetooth to the smartphone.

I thing that you could easily do it on your own, using two viewports connected to two different cameras fixed to each other with some horizontal translation.
After havingtwo different viewports  rendered to two different FBOs you can do whatever you want to do with them. Those effects are really easy achievable.
Here are some shader example for anaglyphic:
http://r3dux.org/2011/05/anaglyphic-3d-in-glsl/
The rest of the effects are straightforward to achive too.

Thanks a lot! I see now that it's all possible. Closing the issue.


Add Charging Time in minute

Added new entity, charging Time in minute

What’s the goal here? At the surface this feels repetitive without more context.


Set up scriptedforms.com.au. Create scriptedforms email address.

Need these to sign up for Sauce Labs for the purpose of selenium testing.

Create a docs directory within here, use that to host the Jekyll page. Set the CNAME for the Jekyll page to scriptedforms.com.au

A dummy website has been created as well as a Jekyll theme placed within the docs directory. Email for scriptedforms.com.au is now also set up.


Suggestion: Linux port

I don't know how to compile it under Xubuntu, I've never used Coffeescript.

You play League on Linux?

Yup, works good enough with Wine.

I'd have to rewrite quite a bit to get a compiler done for Linux, and tests to go with you. You'd probably be the only one to use it. :P
Two suggestions, you can run gulp dev and it'll run on Linux just fine without needing to compile, or you can run Championify is wine as well. Both work. Good luck!


Add a new Book Category to the Library Management System

As an administrator of the library management system I need to add a new book category to the library management system. Below list of tasks need to be completed in order to complete this user story.

[x] Design API for Book Category Management Post Request https://github.com/chinthakarukshan/lbms/issues/9
[x] Implement the API for Book Category Post https://github.com/chinthakarukshan/lbms-admin-service/issues/6
[x] Implement unit tests for the category management post API https://github.com/chinthakarukshan/lbms-admin-service/issues/7

Implementations of this user story is completed


fix: delete volumes from a serer when no boot volume id is provided

What does this fix or implement?
Solves issue #379

Checklist

[ ] PR name added as appropriate (e.g. feat:/fix:/doc:/test:/refactor:)
[ ] Tests added or updated
[ ] Documentation updated
[ ] Changelog updated and version incremented (label: upcoming release)
[ ] Github Issue linked if any
[ ] Jira task updated

@gabi-ionos @cristiGuranIonos I analyzed the behavior for DCD vs Terraform related to server deletion:
In DCD, after you delete a server, you are asked if you want to delete all the volumes, if you press yes, all volumes are deleted, if you press no, no volume is deleted.
In Terraform, with the current implementation, if we specify delete_volumes = true in the tf plan, all the volumes are deleted (this is not happening now but it will happen after code fixes), but if we don't specify it, only the boot_volume, it's deleted (if it exists, of course).
So, as you can notice, there is a small difference between the two. In my opinion, I think that the DCD behavior makes sense, but we have some checks, like this one: https://github.com/ionos-cloud/terraform-provider-ionoscloud/blob/master/ionoscloud/resource_server.go#L1041 and even though there are no comments related to it, the check was added there for a reason, so not sure about this.
I wrote this to make things clearer, maybe we can discuss related to the future implementation.

@gabi-ionos @cristiGuranIonos leaving this here to make it transparent for the others. We had a discussion about the best approach related to deleting volumes, boot volumes, etc.
Since we can have multiple volumes attached to a server without specifying a boot volume, we decided that, for now, the best approach would be to delete all the volumes. This ensures that, after server deletion, there are no dangling volumes left and there are no conflicts that can occur related to terraform interaction (planning, etc.).
So, on the current PR, we need to remove delete_volumes attribute and modify the resourceServerDelete in order to delete all volumes that are attached to an ENTERPRISE server. Note that we need to wait for each volume removal during the deletion process.


Create vmservicescrape-metrics-server.yml

Add example metric-server scrape

Thanks a lot!
May i ask you to add link to metrics-server repository? It's useful for people, who not familiar with it. I guess, it can be placed to the comment line.

Link is there, also https is now 443 instead, let me know if you want to change anything else.


NTP functions cause Exception 9 and ESP crashes

Also investigate mDNS's impact on Async Environment

After 6 hours trial and error concluded this

it's just blocking Async Callback

There is a good outcome we now have a NTP Class derived from Joe's @jjssoftware great firmware https://github.com/jjssoftware/iD8266/
Modified to utilize AsyncUDP Library.
Example from https://github.com/fablab-ka/ESP-Matrix/
It was a good experience.


Gradle reference documentation for JDBC support

There's new JDBC options configuration that should be here:
docs/StardustDocs/topics/gradleReference.md

Closed in #556


ADD Real-Time Multi-User Whiteboard Application.

The application uses a client-server architecture with Python's socket programming (or WebSockets for a more advanced version) to manage real-time interactions.
Multiple users can join the same session and draw shapes, lines, or freehand on a shared canvas.
Updates are broadcast in real-time, so all connected users see the same drawing.

Please assign this to me

@shubhagarwal1 raise a new issue and fill all the details that are asked in that template. I am closing this one.


when excute ../detection/merge_results.py     FileNotFoundError: [Errno 2] No such file or directory: 'products/results/chinese.0.txt'

../dection/products/results/   have files like this:
chinese.00.txt
chinese.01.txt
chinese.02.txt
...........
chinese.01000.txt
FileNotFoundError: [Errno 2] No such file or directory: 'products/results/chinese.0.txt'
and in chinese.00.txt content like this:
0000238_0_0_6 0.005599 168.512253 18.311182 191.943985 73.990639
0000238_0_0_6 0.006422 154.573227 33.430981 174.645065 88.398880
0000238_0_0_6 0.006141 137.837555 49.250305 158.787659 104.747925
.....
so when i chage the filename another error is:
merge_results.py", line 44, in read_one
file_path, cate_id, x, y, w, h, prob = line.split()
ValueError: not enough values to unpack (expected 7, got 6)

Why your filename is chinese.00.txt not chinese.0.txt? Did you modified the source code?
File content should be like this, your file content seems strange.

products/test/0000238_0_2_6.jpg<PHONE_NUMBER>26 224.330734 14.377014 17.517456 0.013882
products/test/0000238_0_2_6.jpg<PHONE_NUMBER>26 224.330734 14.377014 17.517456 0.587615
products/test/0000238_0_2_6.jpg 1000 142.967026 224.330734 14.377014 17.517456 0.074213
products/test/0000238_0_2_6.jpg 43 146.023880 224.456192 13.365021 17.498718 0.006112
products/test/0000238_0_2_6.jpg<PHONE_NUMBER>80 224.456192 13.365021 17.498718 0.101591
products/test/0000238_0_2_6.jpg 37 82.928383 212.396896 17.249283 22.279236 0.035544

I didn't modified any source code,only modify the parameter in the settings.py.but I run the code in pycharm instead of jupyter notebook,I think it doesn't matter.


Restructure LESS and SASS assets files

In my opinion, this is the more convenient way to use any front-end package with preprocessors; sometimes we don't want to import all components available, we just need a couple of them. This way, we just need to import files we used, extend the functionality, and don't have to worry when the package is updated. This is the example I use in my workflow:
// ./my-asset-folder/scss/agency.scss

@import "variables";
@import "mixins";

// say I only need these components
@import "components/global";
@import "components/buttons";
@import "components/navbar";
@import "components/navbar-scroll";
@import "components/section";
@import "components/services";
@import "components/contact";
@import "components/footer";
@import "components/social";

// ./my-asset-folder/scss/components/_global.scss
@import "node_modules/agency/scss/components/global";

// I can do some override here, without changing the package files
// I don't need to sync my overrides when the packaged is changed either
// And yes, this is a silly override, but you get the point
p {
    font-size: 16px;
    line-height: 2;
}

I also did some minor changes:

As Font Awesome is currently v4.7.0 and this package still uses v4.6.3, I updated it as well
I added .DS_Store and Thumbs.db and .editorconfig to .gitignore. Seeing dirty git status caused by those files is unpleasant 😄

This is a good project structure and I will probably adopt something like this in the BS4 version but I am stopping development on the BS3 version for this theme so I am going to go ahead and close this one, but I will keep this recommendation in mind.


How a model is_visible should be calculated.

What I'm trying to achieve
I wanted to set the collection to be visible and had to launch an investigation at midnight.
Steps to reproduce the problem
Preface: I live in the GMT+7 time zone and have the server in UTC+0 time zone. This mean when I'm at today time before 7AM, the server time is in yesterday time.

I create a collection in the dashboard, set the listing in the channel as hidden, and the publication date is set to "2022-02-27" (for example). This create a listing with is_published = false and publication_date = "2022-02-27". It's 27th because the calendar widget auto select today in the browser.
I reload the collection page and set the channel listing to be visible. This trigger only a change to is_published = true. The publication_date is still "2022-02-27".
I query the collection from a guest pov, which cause the resolver to use the core/models.py PublishableModel.is_visible and it will return false. Because the server date is still "2022-02-26".

What I expected to happen
I expect a collection to show on the website because it is published, I do not see how publication_date is factored into deciding the visibility at all.

Quick fix: rewrite the logic to use is_published alone.
Easier fix: consider the user time zone when they select a date for publication_date.
Hard fix: change the publication_date to use a timestamp, because when I set Visible to true in the dashboard, a collection should be visible from the point in time.

Screenshots and logs

System information

Saleor version:

[ ] dev (current main)
[x] 3.1.0
[ ] 2.11
[ ] 2.10

Operating system:

[] Windows
[x] Linux
[ ] MacOS
[ ] Other

@joturako adding user time zone settings to the date picker would be quite handy, thank you for raising this issue.


Kong Stop

This branch is a test to try to fix the STOP problem that afflicts Kong.
Sometimes nginx exits, but the ports are still open. Trying to figure out why.

Changes Unknown when pulling b351e5c44e43c2e76de09320886999811f05a807 on fix/travis into ** on master**.

Changes Unknown when pulling b062d7b3ae25bb27b45b95b3c79329253acf6296 on fix/travis into ** on master**.

Changes Unknown when pulling b33da789d0fb733983b7f6d0f0a9927a1ed25dfe on fix/travis into ** on master**.

Changes Unknown when pulling 442dbd3461b6bb9db47c4455ef79e317e9840e29 on fix/travis into ** on master**.

Changes Unknown when pulling 442dbd3461b6bb9db47c4455ef79e317e9840e29 on fix/travis into ** on master**.

There is a problem with busted and LuaJIT (https://github.com/Olivine-Labs/busted/issues/426), so in order to make it work I have adopted two dirty fixes that I hope to remove soon:

While the distribution package includes Luarocks + LuaJIT, becuase of that bug I had to bring back Lua when running busted (the sed line in .travis.yml). We can simply remove this line once the seg fault bug has been fixed.
Because busted is forced to run with Lua (and not LuaJIT), I had to exclude filelog from the coverage. Once the seg fault in busted has been fixed, we can remove this exclusion along with the sed command in .travis.yml

I have been running busted with LuaJIT for a few months now and never had any issue.


Unable to Unit test Angular application using Karma and Jasmine

Trying to unit test Angular (not AngularJS) application.
Here is the package.json
 "dependencies": {
        "@angular-redux/store": "^6.4.2",
        "@angular/animations": "^5.2.9",
        "@angular/cdk": "5.1.1",
        "@angular/common": "^5.2.9",
        "@angular/compiler": "^5.2.9",
        "@angular/core": "^5.2.9",
        "@angular/forms": "^5.2.9",
        "@angular/http": "^5.2.9",
        "@angular/material": "5.1.1",
        "@angular/platform-browser": "^5.2.9",
        "@angular/platform-browser-dynamic": "^5.2.9",
        "@angular/platform-server": "^5.2.9",
        "@angular/router": "^5.2.9",
        "@progress/kendo-angular-buttons": "^3.0.4",
        "@progress/kendo-angular-dateinputs": "^2.2.0",
        "@progress/kendo-angular-dropdowns": "^2.1.0",
        "@progress/kendo-angular-excel-export": "^1.0.7",
        "@progress/kendo-angular-grid": "^2.1.2",
        "@progress/kendo-angular-inputs": "^2.2.0",
        "@progress/kendo-angular-intl": "^1.3.2",
        "@progress/kendo-angular-l10n": "^1.1.0",
        "@progress/kendo-data-query": "^1.2.1",
        "@progress/kendo-drawing": "^1.5.1",
        "@progress/kendo-theme-bootstrap": "2.11.8",
        "@progress/kendo-theme-default": "^2.49.0",
        "angular2-jwt": "^0.2.2",
        "angular2-moment": "^1.7.0",
        "angular2-recaptcha": "^0.6.0",
        "angular5-recaptcha": "0.0.2",
        "core-js": "^2.4.1",
        "echarts": "^3.5.1",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "immutability-helper": "2.6.0",
        "jquery": "^3.2.1",
        "jquery-slimscroll": "^1.3.8",
        "mdn-polyfills": "^3.1.0",
        "ng2-validation": "^4.2.0",
        "ngx-pagination": "^3.0.1",
        "popper.js": "^1.12.5",
        "redux": "^3.6.0",
        "reflect-metadata": "^0.1.10",
        "rxjs": "^5.5.6",
        "web-animations-js": "^2.2.5",
        "webfontloader": "^1.6.27",
        "zone.js": "^0.8.5"
      },
      "devDependencies": {
        "@angular-devkit/build-angular": "~0.6.0",
        "@angular/cli": "1.7.0",
        "@angular/compiler-cli": "^5.2.9",
        "@angularclass/hmr": "^1.2.2",
        "@angularclass/hmr-loader": "^3.0.2",
        "@types/core-js": "^0.9.41",
        "@types/hammerjs": "^2.0.34",
        "@types/jasmine": "~2.8.0",
        "@types/jasminewd2": "^2.0.3",
        "@types/jquery": "^2.0.41",
        "@types/node": "^7.0.12",
        "add-asset-html-webpack-plugin": "^1.0.2",
        "angular-router-loader": "^0.6.0",
        "angular2-template-loader": "^0.6.2",
        "autoprefixer": "^6.7.7",
        "awesome-typescript-loader": "^3.1.2",
        "bootstrap": "~4.0.0-alpha.6",
        "browser-sync": "^2.18.8",
        "copy-webpack-plugin": "^4.0.1",
        "css-loader": "^0.28.0",
        "del": "^2.2.1",
        "extract-text-webpack-plugin": "^2.1.0",
        "file-loader": "^0.11.1",
        "gulp": "~3.9.0",
        "gulp-load-plugins": "^1.5.0",
        "gulp-open": "~2.0.0",
        "gulp-plumber": "~1.1.0",
        "gulp-pug": "~3.3.0",
        "gulp-task-listing": "~1.0.0",
        "gulp-util": "~3.0.4",
        "html-webpack-plugin": "^2.28.0",
        "json-loader": "^0.5.4",
        "ng-router-loader": "^2.1.0",
        "postcss-loader": "^1.3.3",
        "raw-loader": "^0.5.1",
        "rimraf": "^2.6.1",
        "sass-loader": "^6.0.4",
        "style-loader": "^0.16.1",
        "ts-helpers": "^1.1.2",
        "ts-node": "^3.0.2",
        "tslib": "^1.6.0",
        "tslint": "^5.0.0",
        "typescript": "^2.7.2",
        "webpack": "^2.2.1",
        "webpack-dev-server": "~2.3.0",
        "webpack-dll-bundles-plugin": "^1.0.0-beta.5",
        "webpack-merge": "^4.1.0",
        "yargs": "^7.0.2",
        "jasmine-core": "~2.99.1",
        "jasmine-marbles": "^0.3.1",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~1.7.1",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~1.4.2",
        "karma-jasmine": "~1.1.1",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-phantomjs-launcher": "^1.0.2"
      },
      "engines": {
        "node": ">=6.9.0",
        "npm": ">= 3"
      }
    }

Here is tsconfig.json
    {
      "compileOnSave": false,
      "compilerOptions": {
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es5",
        "typeRoots": [
          "node_modules/@types"
        ],
        "lib": [
          "es2017",
          "dom"
        ]
      }
    }

Here is karma.config.js
 module.exports = function (config) {
      config.set({
        basePath: '',
        frameworks: ['jasmine', '@angular/cli'],
        plugins: [
          require('karma-jasmine'),
          require('karma-chrome-launcher'),
          require('karma-jasmine-html-reporter'),
          require('karma-coverage-istanbul-reporter'),
          require('@angular/cli/plugins/karma'),
        ],
        client:{
          clearContext: false // leave Jasmine Spec Runner output visible in browser
        },
        coverageIstanbulReporter: {
          reports: [ 'html', 'lcovonly' ],
          fixWebpackSourcePaths: true
        },
        angularCli: {
          environment: 'dev'
        },
        reporters: ['progress', 'kjhtml'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: false
      });
    };

With the above details ng test was throwing the following error
12 07 2018 11:12:27.391:INFO [Chrome 67.0.3396 (Windows 7.0.0)]: Connected on socket Y_50WuISYFnxSEPLAAAA with id 9725077
Chrome 67.0.3396 (Windows 7.0.0) ERROR
Uncaught Error: Missing: SyncTestZoneSpec
at http://localhost:9877/karma_webpack/vendor.bundle.js:202926
I tried to update the karma.config.js based on the
https://github.com/angular/zone.js/issues/404
by adding following references to karma config
      require('zone.js/dist/zone'),
      require('zone.js/dist/long-stack-trace-zone'),
      require('zone.js/dist/async-test'),
      require('zone.js/dist/fake-async-test'),
      require('zone.js/dist/sync-test'),
      require('zone.js/dist/proxy-zone'), // since zone.js 0.6.14
      require('zone.js/dist/jasmine-patch') // put here since zone.js 0.6.14

I see the following error there after
12 07 2018 11:39:54.918:ERROR [config]: Error in config file!
ReferenceError: XMLHttpRequest is not defined
at patchXHR (node_modules\zone.js\dist\zone.js:2892:39)
Any thoughts
Sorry, if I am reposting it, as I have already posted it here:
https://stackoverflow.com/questions/51310070/unable-to-unit-test-angular-application-using-karma-and-jasmine

I created a new application and matched the files between them and found that tests.ts and karma config were not updated accordingly.
This fixed the issue.


New untracked Commands.vsct file generated on every EFTools build

Every time I run BuildEFTools.cmd /t:build the file src/EFTools/EntityDesignPackage/Commands.vsct gets re-generated on my machine. The file is untracked and not ignored by git.
It seems that in a recent change we intentionally switched to have two separate files depending on the VS version tracked in the repo:
Commands_VS15.vsct
Commands_preVS15.vsct
But we should probably do something to avoid the untracked file.

We do need separate .vsct files to support the package-load initiative.
Easiest solution would be to add Commands.vsct to the .gitignore file.

Fixed with commit 946b7592f. See #200.


Support for AWS module 4.0+

Current Version
0.6.0
Use-cases
Wanting to use version 4 of the AWS terraform module but cannot because of the hard < 4.0 version requirement
https://github.com/mineiros-io/terraform-aws-s3-bucket/blob/65c9c498b4f1146b00a25ebe00fe8a41b761dbc9/versions.tf#L8-L10
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/aws: no available releases match the given constraints >= 2.51.0, ~> 4.0, < 4.0.0
╵

Attempted Solutions
Attempted upgraded to AWS module 4.0
Proposal
Add support for version 4 of the AWS module. The biggest changes are making some properties readonly in the 4.0 version, for instance cors_rule.
References
AWS 4.0 release notes

hi @phillipuniverse,
thank you for your request, the resource is a breaking change in the new provider version and needs a complete refactoring.
We will schedule an update asap.

@mariux i figured, it looked pretty impactful to this plugin.
Thanks for putting this on your backlog!

It looks like this module would now be supported in its current form by Terraform >=4.9.x https://github.com/hashicorp/terraform-provider-aws/issues/23106#issuecomment-1087794241 with breaking changes not necessary until 5.x.x.

https://github.com/mineiros-io/terraform-aws-s3-bucket/pull/61

So this is definitely supported by 4.9, however removing attributes from the bucket won't be detected (https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-4-upgrade#changes-to-s3-bucket-drift-detection):

Thus, if one of these parameters was once configured and then is entirely removed from an aws_s3_bucket resource configuration, Terraform will not pick up on these changes on a subsequent terraform plan or terraform apply.

As such it looks like this module can just make the breaking changes and break semver versioning.


Release

👷 Deploy Preview for neon-alpaca-d573f3 processing.

Name
Link

🔨 Latest commit
6fd0ca97db7fb819328e8018aaa8dc9f3074517a

🔍 Latest deploy log
https://app.netlify.com/sites/neon-alpaca-d573f3/deploys/63d14294dc563d00084845c2


WIP: Better packages detection

Make packages option traverse sub-dirs recursively as well as recognize package.yaml

[x] Hacky prototype
[ ] Benchmark to validate this approach, and/or parse from cabal.project
[ ] Remove hacks, do proper implementation

[ ] Optimize traversal

Closing in favour of #110


Prepare report

We need to prepare a report and send it by 21 December.
We should send:

Screenshot of our Backlog
Product register document (see ~mak/info)
Sprint register (see ~mak/info)

Link to the report: https://drive.google.com/drive/folders/1JJJ_--1hI-NgwV5F9VnLCtDCXeIHR-UP?usp=sharing


Create tutorial(s)

Simple random walk from van Kampen (2007, Ch. XII)
Parsing example
Chemical example?
Queuing example?

Basic tutorials in notebooks/.


[0.1.15 RC 5] Reactions show phone number in chat list

No content

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @zach in #feedback.

If this is an issue, it has to do with contacts not being permitted during initial setup. Once enabled, new messages will show this correctly.


Change a few aria roles and add title

Banner is used for site-wide elements ( red bar on top ), heading for heading section of a page ( large image + app title ), application with title ( on ng-view, specific to app ) to describe the app.  In tests, we were NOT getting the app title read out ( @jiayinjx - right? ); this fixes that, but further testing is needed.

:+1:


LazySeq : scanRight is not lazy

scanRight can be implemented efficiently via foldRight, but this does not execute lazily.
Proposed fix is to implement via stream().scanRight, this will return the result in inverse order (i.e. the intermediate results from left to right). It is more performant / efficient to do this. We could reverse this list (Vavr seems to do this), but other libraries also return the intermediate results in this order (e.g. Jool).
Users can reverse the resultant list if they wish.

Merged.


Update to Iris version 12

Hello @deeper-x ,
Iris has been updated to version 12.0.1 which requires a new semantic import path. Read here for more. This PR updates the code base to be compatible with Iris v12.0.1 and support go modules with go1.13. It builds successfully.
Thanks,
Gerasimos Maropoulos. Author of the Iris Web Framework.

Hi @kataras. Well done.
Interesting update.
P.S.: Iris is one of the most interesting projects out there. Keep going. :)
Thank you
Alberto

Thanks @deeper-x! Have a nice one!


Investigate a store implementation for https://github.com/hashicorp/go-plugin

This would allow pluggable stores without recompiling main binary which is necessary for orgs to adopt cavorite without having to fork

Implemented in https://github.com/discentem/cavorite/pull/124. Thanks @korylprince!!


add preset-typescript tsloader-option to README.md.

I think so tsLoaderOptions is documented important than tsDocgenLoaderOptions.

@shilman
Thanks!🎉


Please create a new release

Please create a new release for use with EAP 2022.1.

I uploaded "0.7.6 beta eap" version.


gunicorn: command not found

Seeing this error on start:
| Starting WGDashboard with Gunicorn in the background.    |
./wgd.sh: line 104: gunicorn: command not found
Ubuntu server 20.04.4
Python 3.8
pip 20.0.2
*Update - installed gunicorn, getting this error now:
Failed to read config file: /home/*****user/wgdashboard/src/gunicorn.conf.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 111, in get_config_from_filename
spec.loader.exec_module(mod)
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/*****user/wgdashboard/src/gunicorn.conf.py", line 2, in
import dashboard
File "/home/*****user/wgdashboard/src/dashboard.py", line 7, in
from flask import g
ModuleNotFoundError: No module named 'flask'
*Update2:
ran start command from user home and it found gunicorn.conf.py file.

Hi did you run ./was.sh install?

Yes, it's running now, but the site's not loading.  Getting ready to check logs.

You can run ./wgd.sh debug to let it run in on foreground.

OK, started over and realized I didn't have pip installed or Gunicorn installed prior to the install.  so reinstalled.  Now starting seems to happen without errors.  site still doesn't load.  running in debug mode now, seeing this error:
sqlite3.OperationalError: unable to open database file

OK, started over and realized I didn't have pip installed or Gunicorn installed prior to the install. so reinstalled. Now starting seems to happen without errors. site still doesn't load. running in debug mode now, seeing this error:
sqlite3.OperationalError: unable to open database file

Hmm could you try to kill the process, and do sudo ./wgd.sh start to see if it helps?

I saw this thread:
https://github.com/donaldzou/WGDashboard/issues/142
running as sudo produces new errors in finding the conf files.  But chown on the wgdashboard folder to the user, and running as not sudo finally got everything working.

Unfortunately, now when I try to toggle WG, it won't let me since I'm not sudo, and I can't add a new client as it claims wg0 isn't running, but it is.

removed the folder and started a fresh install.  everything is working correctly now.  Seems I didn't have requirements installed prior to the installation.  Please remove this case.  Thanks!

I'm glad everything worked!


Clarify what project types maintain package list in what form

When to packages.config, project.json, and PackageReference apply? Can't make PackageReference the default yet. UWP is an easy project because it's project.json to PackageReference, but other projects still use packages.config, etc. Need to clarify when these are used.

@karann-msft This is an older issue, but still needs to have a clear mapping table somewhere. Assigning to you to scrounge the info for starters.

Closing as obsolete; PackageReference is the path of the future, and VS users can choose.


Added validation

Also added CosmosEmulator - a tool for seeding the database. Also updated the az to include all the required collections.

This includes a new tool for initializing the local cosmos emulator. See CosmosEmulator in tools.
This is the last check in for about a week.


Additional control of remote_read labels

Proposal
Consider a scenario where there are two remote databases: one (duplicated) contains metrics from a replicated source, with a prometheus_replica on all series and another (un-duplicated) containing data without it. In this set-up it is not possible to query across both data sets at the same time, without exposing the prometheus_replica label in the query results.
We are currently solving this internally with a proxy, but this adds a not-insignificant amount of lag, especially to queries that return a lot of data.
To solve this, the remote_read configuration could be expanded to add certain labels to remote read requests for certain endpoints and not others.
For example
remote_read:
  - url: http://duplicated:9090
    read_recent: true
    labels:
      prometheus_replica: '0'
  - url: http://unduplicated:9090
    read_recent: true

The present behaviour is correct. When you have a HA pair they should both have a distinguishing label in their external labels, to avoid this among other issues.

Agree the behaviour is correct. The goal is to expand on the existing behaviour and combine this config with labels that are specified in external labels. This would allow for combining metrics that are sourced from two different remote storage systems where metrics are stored with external labels that don't match.
In our specific case there are several causes to want to use this:

Integration of other metrics storage systems with Prometheus
Downsampling and de-duplication for long-term storage
Migration to an overall de-duplicate-on-ingestion mechanism that would allow us to use less storage eventually, but would still require a gradual migration before it is fully rolled out

The way to view this is that if the external labels aren't producing the result you want, then you should change the external labels. In this case it sounds like the first Prometheus should have a prometheus_replica=0 external label added for example.
In general the Prometheus servers at the same "level" should have the same set of external label names.

Agree that in general this is the best, but this proposal is so solve an expanded integration use-case. The label manipulation behaviour in Prometheus seems to be the logical place to solve this as it both adds matchers to the query and strips labels from the returned series.
From what you are saying, this would be adding complexity to Prometheus that the remote endpoints should be solving instead, as they are the ones expected to fit into the prometheus model. If doing this in prometheus is not an acceptable way to handle this use-case then feel free to close this issue and we'll work on adding this functionality there instead

The external labels handling is designed to do the Right Thing already, if there's a case I've missed I'd be willing to discuss that.

The external labels handing is already correct, and I'm not suggesting modifying this behaviour except for a specific extension for the remote read case - where additional labels could be specified. The same could be achieved by adding relabelling to remote read.
There is a somewhat of a precedent for this already with how stripping of external labels works for integration with alertmanager.

The interplay between remote read and external labels is intricate. Changing labels on outbound alerts is much simpler than altering both a PromQL selector and its subsequent result which is beyond what relabelling can do.

Thanks for pointing that out - it's not possible to do what I'd like with a relabelling section.
If I understand the behaviour correctly, remote read adds every external label as a matcher to the remote read endpoint, then strips the labels from all returned series. It also doesn't exhibit this behaviour if some of the label keys are specified by the user - i.e. a user can override the external labels behaviour by being explicit.
My original suggestion is to add the ability for a user to supplement the external labels behaviour in the remote read case with some additional labels. These would be added as a matcher and then stripped from the returned series in the same way external labels already are

Yes, that's how it works on a per-label basis. The idea is that you can transparently access "your" data from a remote storage by default, but if you want to look at another Prometheus's data you can do so explicitly too.
It sounds like the core of this use case is already covered by external labels.

Core use case is definitely covered, but the case that I described is not. Without being able to do some additional manipulation of labels, querying for metrics from both remotes would mean that a user would have to know which series are duplicated and which are not, which is really an implementation detail of how they are gathered and stored.

The use case is covered by having a prometheus_replica external label on both Prometheus servers. Use of external labels required consideration of the setup as a whole, not only individual Prometheus servers.
How series are duplicated is not an implementation detail, the user must be aware of this.

The use case is covered by having a prometheus_replica external label on both Prometheus servers.

I think the crux of the issue may be getting lost by me talking about it in a general way.
In the set-up that we have, metrics are gathered by lots of prometheus-pair deployments and remote written to long-term storage. These have the prometheus_replica=0 and prometheus_replica=1 labels. Other components write data into parallel long-term storage, but for various reasons these will not have the prometheus_replica labels.
On the query side, prometheus needs to also run in a HA pair set-up, which works fine until you want to run queries across all metrics, some of which are labelled with prometheus_replica, and some that are not. Metrics with the prometheus_replica labels are coming from a separate remote read endpoint to ones without it, so it is possible to differentiate them in this fashion.
To solve this problem right now, we are reading using a proxy that adds a matcher to the request and strips the labels from the response, but this is not a free operation, since it involves additional compression and serialisation that could be avoided.

How series are duplicated is not an implementation detail, the user must be aware of this.

I mean that from the point of view of a user who is only querying the data, rather than the one who is maintaining prometheus and long term storage.

and some that are not.

This sounds like the issue here, the metrics aren't being stored consistently.

I mean that from the point of view of a user who is only querying the data

I mean it from the standpoint of the person querying the data.

This sounds like the issue here, the metrics aren't being stored consistently.

Yes, this is the case. I think this is a realistic case in a large deployment, particularly in cases of migrations

I'm not sure what we can sanely do in those cases, if the external labels weren't appropriately setup back when the data was ingested that's not something that's generically fixable.

What's the issue with expanding the behaviour of the remote_read configuration in this case? The problem is solvable with this in prometheus or somewhere along the remote read request path.

We'd be adding complication to an already rather complicated codepath to handle what appears to be a misconfiguration.

I think the case of migrations and large deployments is still relevant, however the problem could also be solved outside of prometheus. So if you consider the cost to not outweigh the benefit in this case that's a very reasonable outcome to the proposal.

Yeah, I don't think this makes sense. Thinking on it overnight, this also sounds like it's not within the intended use cases of remote read as it sounds like using Prometheus as a remote read proxy rather than largely trying to access data that a given Prometheus previously wrote.


[0.18] Json.Decode used but not included in compiled JS

I hope I'm not missing something but I created a really small Elm program with flags. It looks like the resulting JS code is using _elm_lang$core$Json_Decode to decode all flags. But my code does not import Json.Decode, so it's not included in the compiled JS file, resulting in a runtime exception: ReferenceError: _elm_lang$core$Json_Decode$andThen is not defined
I'm pretty sure I didn't have the problem in Elm 0.17
Elm code
module Bug exposing (main)

type Msg = Noop
type alias Model = Float
type alias Flags = { start: Float }

main: Program Flags Model Msg
main =
  Platform.programWithFlags
    { init = (\flags -> flags.start ! [])
    , update = (\msg model -> model ! [])
    , subscriptions = (always Sub.none)
    }

Compiled JavaScript
// Elm runtime but without Json_Decode
// ...

var _user$project$Bug$main = _elm_lang$core$Platform$programWithFlags(
  {
    init: function (flags) {
      return A2(
        _elm_lang$core$Platform_Cmd_ops['!'],
        flags.start,
        {ctor: '[]'});
    },
    update: F2(
      function (msg, model) {
        return A2(
          _elm_lang$core$Platform_Cmd_ops['!'],
          model,
          {ctor: '[]'});
      }),
    subscriptions: _elm_lang$core$Basics$always(_elm_lang$core$Platform_Sub$none)
  })(
  A2(
    _elm_lang$core$Json_Decode$andThen, // <---- This will crash at runtime
    function (start) {
      return _elm_lang$core$Json_Decode$succeed(
        {start: start});
    },
    A2(_elm_lang$core$Json_Decode$field, 'start', _elm_lang$core$Json_Decode$float)));

Importing Json.Decode (even though I wasn't using it) fixed it for me
import Json.Decode exposing (..)

The new code gen will grab things by crawling from main so this stuff will get included. The mechanism is different at least.


PptpPorts Parameter missing

This cmdlet is missing a parameter to configure the maximum number of PPTP Ports (unlike other WAN miniports, minimum 1).

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

ID: ca1f61ad-1367-5a1f-d273-5e56403a1398
Version Independent ID: 51dc34fc-6aab-5fc4-0b98-0baeee3624f4
Content: Set-VpnServerConfiguration (remoteaccess)
Content Source: docset/windows/remoteaccess/set-vpnserverconfiguration.md
Product: w10
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

@officedocsbot assign @e0i

Hello, @andrewwillett
The issue is under investigation and you will be notified with any changes on the way.
Thank you for providing feedback.

Hi @andrewwillett
Thanks for reaching out!
We've verified and felt that PptpPorts parameter is not associated with this command. Kindly let us know if you find it associated with this command anywhere and missing here in this documentation. It will help to investigate further.
Thank you!

@andrewwillett
The issue is being marked as resolved as the problematic behavior couldn't be reproduced.
Feel free to re-open this issue if there is still something you'd like to suggest to improve the document.
Thank you for taking the time to provide feedback and follow-up.


proposal: iter: Add functions for traversing several sequences.

Proposal Details
The proposal is to add functions for traversing several sequences without creating intermediate containers:
// Concat returns an iterator that yields elements of the given sequences in order.
func Concat[V any](seqs ...iter.Seq[V]) iter.Seq[V] {
  return func(yield func(V) bool) {
    for _, seq := range seqs {
      for v := range seq {
        if !yield(v) {
          return
        }
      }
    }
  }
}

// Concat2 returns an iterator that yields elements of the given sequences of pairs in order.
func Concat2[K, V any](seqs ...iter.Seq2[K, V]) iter.Seq2[K, V] {
  return func(yield func(K, V) bool) {
    for _, seq := range seqs {
      for k, v := range seq {
        if !yield(k, v) {
          return
        }
      }
    }
  }
}

Example usage:
func print(a, b []int) {
  for v := range iter.Concat(slices.Values(a), slices.Values(b)) {
    fmt.Println(v)
  }
}

Related Issues

proposal: iter: Enumerate, Keys and Values functions #68887 (closed)
proposal: x/exp/xiter: Add transformers between iter.Seq and iter.Seq2 #69702 (closed)

Related Discussions

Concatenate iterators

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)


Go concurrency

Is there any way to use go concurrency if it is there can anyone please provide and example, or else the image processing take 300ms+ to load i wanna make it fast with concurrency

Please provide example code that would allow maintainers to reproduce your issue.

Please provide example code that would allow maintainers to reproduce your issue.

I wanted an example of how can i use go concurrency if you want my code then
func admit(c *gin.Context) {

		var admit Admit
		c.BindJSON(&admit)
		im, err := gg.LoadImage("card.jpg")
		if err != nil {
			log.Fatal(err)
		}
		width := im.Bounds().Max.X
		height := im.Bounds().Max.Y
		dc := gg.NewContext(width, height)
		dc.SetRGB(0, 0, 0)
		dc.DrawImage(im, 0, 0)
		dc.SetRGB(1, 1, 1)
		dc.LoadFontFace("Roboto-Regular.ttf", 16)
		dc.SetHexColor("#542A18")
		dc.DrawString(admit.Username, 105, 493)
		dc.DrawString(admit.Date, 190, 634)
		var buf bytes.Buffer
		dc.EncodePNG(&buf)
		img := base64.StdEncoding.EncodeToString(buf.Bytes())
		c.JSON(200, gin.H{
			"image": img,
		})

}


Bug: changing Environment resets Model

go to http://gltf.ux3d.io/
drag and drop a custom model.
Lighting > Environment > change to another image.

Result: the environment is changed, and the BoomBox model is loaded.
Expected: the environment is changed, but the drag and drop model should be retained.
Thanks!

Will be fixed here: https://github.com/KhronosGroup/glTF-WebGL-PBR/issues/124


Update status readiness

Description of your changes
This PR aims to align the behavior of the reconciler for Update operations with that of Create operations.
It achieves this by rewriting some of the Reconcile function to not use the call to external.Update as a last resort, but instead evaluate if it is needed based on the returned observation.ResourceUpToDate and policy.ShouldUpdate.
Fixes #583
I have:

[x] Read and followed Crossplane's [contribution process].
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
We have updated all tests related to the Update functionality, so they now test if the xpv1.Updating() condition is there and that it returns the updated reconcile.Result{Requeue: true} struct.
No tests have been added, but we are not sure if it is needed.

Ready for review 😄 @phisco @pedjak
@turkenh, long since I made the issue and promised this PR. It's been busy 😅

Assigning myself - I'd like to make some time to review before we proceed here. This reconciler is very subtle and very widely used.

@TerjeLafton , when this is merged can you open a Docs Issue referencing this PR so we document your updates?
Thanks!


Add basic customer transactions example

Added a notebook to

Create a feature set
Ingest data
Retrieve historical features
Retrieve online features

Also refactored doc generation for Python SDK API docs

/test test-golang-sdk


Cross updating with Microservices eBook v2.1.02 - Dropped sections

Summary
Drop section removed from the e-book:

Deploying Single-Container-Based .NET Core Web Applications on Linux or Windows Nano Server Hosts
Migrating Legacy Monolithic .NET Framework Applications to Windows Containers

No issues fixed here

Hi @BillWagner,
Those have been addressed already, just waiting to be merged:

First in commit 16af73fb2225957e83e13f37890593e348988c1c
Second in commit 21ab90d6d306ebd56cd49833a31112e515b35041 (here)

Best.

Thanks for the note @mvelosop
Is the first one part of a PR?  I'll review that as well, and get all of them merged.

Yes @BillWagner, the first one is part of chapter 5's PR: #7943

@mvelosop I apologize for dropping the ball on this one.
Is this ready to merge?

Hi @BillWagner, no problem. Yep, it's ready to merge, this is also linked to PR #7943 for the right next/previous links.


Support intel and nvidia dialects in triton-opt.

This path enables both intel and nvidia passes in triton-opt. Usage example:
# NVidia
triton-opt --allocate-shared-memory --convert-triton-gpu-to-llvm <file>
# Intel
triton-opt --intel-allocate-shared-memory --convert-triton-intel-gpu-to-llvm <file>

It allows us to remove target attribute from our passes and still have both lowerings available through triton-opt.

Some lit tests command lines need to be updated:
Failed Tests (5):
  TRITON :: Conversion/divide-by-0.mlir
  TRITON :: Conversion/tritongpu_to_genx.mlir
  TRITON :: Conversion/tritongpu_to_llvm_hopper.mlir
  TRITON :: Conversion/tritongpu_to_nvvm.mlir
  TRITON :: TritonGPU/atomic-cas.mlir


Update tankix to 4503

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

I'm not sure what's going on here – this is what cask-repair displayed:
Updating taps… Already up-to-date.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cask 'tankix' do
  version '4281'
  sha256 '8c66e40b37bbb7d6d980e4f617fc49c8c0a7d351dbf37e4b50394abf3e907094'

  url "http://static.tankix.com/app/StandaloneOSXIntel64/master-#{version}/TankiX.dmg"
  name 'Tanki X'
  homepage 'https://www.tankix.com/'

  auto_updates true

  app 'tankix.app'

  zap delete: [
                '/Library/Logs/DiagnosticReports/tankix*',
                '~/Library/Application Support/CrashReporter/tankix*',
                '~/Library/Preferences/unity.AlternativaPlatform.TankiX.plist',
                '~/Library/Saved Application State/unity.AlternativaPlatform.TankiX.savedState',
              ]
end
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
==> Downloading external files for Cask tankix
==> Downloading http://static.tankix.com/app/StandaloneOSXIntel64/master-4503/TankiX.dmg
######################################################################## 100.0%
==> No checksum defined for Cask tankix, skipping verification
==> Success! Downloaded to -> [homebrew cache]/Cask/tankix--4503.dmg
diff --git a/Casks/tankix.rb b/Casks/tankix.rb
index 9f3d0d97a5..09827fcf1f 100644
--- a/Casks/tankix.rb
+++ b/Casks/tankix.rb
@@ -1,6 +1,6 @@
 cask 'tankix' do
-  version '4281'
-  sha256 '8c66e40b37bbb7d6d980e4f617fc49c8c0a7d351dbf37e4b50394abf3e907094'
+  version '4503'
+  sha256 '83c709583ea8d4f1003f32c271aa75783e5c2668eeceb5bb3714c5b49c70f295'

   url "http://static.tankix.com/app/StandaloneOSXIntel64/master-#{version}/TankiX.dmg"
   name 'Tanki X'
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is everything correct? ([y]es / [n]o / [e]dit) y
Submitting…

You can upgrade the cask right now from your personal branch:
  brew cask reinstall https://raw.githubusercontent.com/giannitm/homebrew-cask/cask_repair_update-tankix/Casks/tankix.rb

Submitted (https://github.com/caskroom/homebrew-cask/pull/39142)

Cannot reproduce: https://github.com/caskroom/homebrew-cask/pull/39144

@giannitm I think this may be because the branch your pushing the update to is an existing branch. The commit in this PR is 16 days old.


Make Server Add and Edit Flow Handle Errors and Close Correctly When Needed

This change is

:+1:


rbac.create is not honored by new webhook sub-chart

Describe the bug:
In v0.6.0 (at least), the rbac.create=false setting in values.yaml is not honored by the new sub-chart "webhook"
Expected behaviour:
Setting in the values.yaml of:
rbac:
  create: false

should prevent the helm chart and any child charts from attempting to create RBAC rules.
Steps to reproduce the bug:
On an AKS cluster which does not support RBAC, first following the steps from https://cert-manager.readthedocs.io/en/latest/getting-started/2-installing.html to prepare the cert-manager CRDs, with the latest version of helm (v2.12.3) attempt to install the chart like this:
helm install \
    --name cert-manager \
    --namespace cert-manager \
    --version v0.6.0 \
    --set rbac.create: false \
    stable/cert-manager

You will see that since webhook chart does not make any attempt to honor the setting of rbac.create, and the AKS cluster by default does not support RBAC, the installation fails.
The message as described in Azure/AKS#796 looks like this, simply reflects that RBAC resources were attempted to be created, but failed:
Error: release cert-manager failed: clusterroles.rbac.authorization.k8s.io "cert-manager-webhook-ca-sync" is forbidden: attempt to grant extra privileges: [{[get] [] [secrets] [cert-manager-webhook-ca] []} {[get] [admissionregistration.k8s.io] [validatingwebhookconfigurations] [cert-manager-webhook] []} {[update] [admissionregistration.k8s.io] [validatingwebhookconfigurations] [cert-manager-webhook] []} {[get] [admissionregistration.k8s.io] [mutatingwebhookconfigurations] [cert-manager-webhook] []} {[update] [admissionregistration.k8s.io] [mutatingwebhookconfigurations] [cert-manager-webhook] []} {[get] [apiregistration.k8s.io] [apiservices] [v1beta1.admission.certmanager.k8s.io] []} {[update] [apiregistration.k8s.io] [apiservices] [v1beta1.admission.certmanager.k8s.io] []}] user=&{system:serviceaccount:kube-system:tiller 05836310-62a6-11e8-9aa6-0a58ac1f1b1a [system:serviceaccounts system:serviceaccounts:kube-system system:authenticated] map[]} ownerrules=[] ruleResolutionErrors=[[clusterroles.rbac.authorization.k8s.io "system:discovery" not found, clusterroles.rbac.authorization.k8s.io "cluster-admin" not found]]

Anything else we need to know?:
I was able to verify this issue by manually updating the webhook chart with some values and wrappers around the RBAC resources, to ensure that they were not created.  I don't have a patch to submit but at least I think I have isolated the issue, and described in Azure/AKS#796 how I was able to get through the chart installation anyways.
Someone with more helm chart building experience should maybe take a look at this.  I am not sure about whether it's still considered best-practices to put values like this one that are needed by a sub-chart into a Values.global block.  This appears to be the relevant documentation from helm:
https://github.com/helm/helm/blob/master/docs/chart_template_guide/subcharts_and_globals.md
Environment details::

Kubernetes version: v1.11.5
Cloud-provider/provisioner: AKS (Azure Kubernetes Service)
cert-manager version: v0.6.0
Install method: helm

/kind bug

/milestone v0.7

Went to take a stab at this, and there is an issue.  Setting global.rbac.create works for the sub-chart, but does not get evaluated for the top-level chart.  So in order to implement this as it stands, it will require --set global.rbac-create=false --set rbac.create=false

Looks like you've resolved that in #1339, @sudermanjr
Thanks for taking this on

I was just looking to see if this made it into the release this morning, and I see the v0.7 tag and kanban board, I understand it was not.  This is obviously because of the change in values.yaml structure – it's a breaking change.
I was just wondering what automation is jetstack-bot and the thing that cherry-picks from feature branches like this one into release branches?  Is that GitHub actions, or some other integration?
Thanks!


Vaadin 8 support

Any info or timeline for Vaadin 8 support?

A Vaadin 8 version would be a good time to rewrite some of the project, but
unfortunately it's too big of an undertaking right now - we'd need to
allocate two weeks of work time for that, I can't do it on regular
"community project" time (which is 10% of all work time, schedule
permitting).
Patches welcome.
On Mon, Mar 6, 2017 at 12:07 PM, redshift<EMAIL_ADDRESS>wrote:

Any info or timeline for Vaadin 8 support?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tapioaali/GoogleMapsVaadin7/issues/48#issuecomment-284353796,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG5xYY90O0z18XQxN3F4LsJKJzrI_PR8ks5ri9rZgaJpZM4MRvBZ
.

This project is no longer being maintained here. It has moved to https://github.com/parttio/Google-Maps-for-Vaadin
Thanks.


Any chance to use it in Blazor Server/Webassembly scenario?

Was wondering.

It should function since it supports both NetStandard 1.1 and 2.0 (loaded up a Blazor Server project as a test and it installed/built/ran just fine).
That being said, I have no idea what caveats there might be there and how useful it would be in that model of programming.  My gut feeling is that it would be more useful in a Blazor WebAssembly project since that's a lot closer to it's designed use-case (it was originally built for a Xamarin Android app).
If you give it a try I'd love to hear what experiences, positive or negative, you have with it!


  Can you share the code that caused this to happen?

ERR! listen     at /var/www/Concierge/modules/facebook/facebook.js:161:65 tells me this is in your code. What's the code around that line?

Sure, the code is from Concierge's facebook module here: https://github.com/concierge/facebook
        fb({email: this.config.username, password: this.config.password}, (err, api) => {

            if (err) {

                LOG.error(err);

                throw new Error(err);

            }

            api.setOptions({

                listenEvents: true

            });

            this._integrationApi = new FacebookIntegrationApi(this.config.commandPrefix, api);

            this._stopListeningMethod = api.listen((err, event) => {

                if (err) {

                    this._stopListeningMethod();

                    throw new Error(err);

                }

                switch (event.type) {

                    case 'message':

                    {

                        this._getSenderName(api, event, name => {

                            const data = shim.createEvent(event.threadID, event.senderID, name, event.body + '');

                            callback(this._integrationApi, data);

                        });

                        break;

                    }

                    case 'event':

                        switch (event.logMessageType) {

                            case 'log:unsubscribe':

                            {

                                const usrs = event.logMessageData.removed_participants,

                                    threadInfo = this._integrationApi.getUsers();

                                for (let i = 0; i < usrs.length; i++) {

                                    usrs[i] = usrs[i].split(':')[1];

                                    if (threadInfo[event.threadID] && threadInfo[event.threadID][usrs[i]]) {

                                        delete threadInfo[event.threadID][usrs[i]];

                                    }

                                }

                                break;

                            }

                            case 'log:subscribe':

                            {

                                const usrs = event.logMessageData.added_participants;

                                for (let i = 0; i < usrs.length; i++) {

                                    usrs[i] = usrs[i].split(':')[1];

                                }

                                this._getSenderInfo(usrs, api, event, () => {});

                                break;

                            }

                            default:

                                LOG.silly(`Event '${event.logMessageType}' was unhandled.`);

                                break;

                        }

                        break;

                    case 'read_receipt':

                    {

                        this.emit('read', {

                            sender_id: event.reader,

                            thread_id: event.threadID

                        });

                        break;

                    }

                    default:

                        LOG.silly(`Message '${event.type}' was unhandled.`);

                        break;

                }

            });

        });

This is the particular code fragment:
                            case 'log:subscribe':

                            {

                                const usrs = event.logMessageData.added_participants;

                                for (let i = 0; i < usrs.length; i++) {

                                    usrs[i] = usrs[i].split(':')[1];

                                }

                                this._getSenderInfo(usrs, api, event, () => {});

                                break;

                            }

And the issue I created there: https://github.com/concierge/facebook/issues/2

Thanks for sharing this.  It looks like the signature of logMessageData was changed without being documented a while ago: https://github.com/Schmavery/facebook-chat-api/blob/master/utils.js#L485
Unfortunately the docs for this area (listen) aren't very good, there's an issue open to solve this which I'd love to help someone with if they want to give it a shot: https://github.com/Schmavery/facebook-chat-api/issues/463
Can you try updating the name and see if it fixes the problem?

The original code has been updated to use the new API and has a try-catch now to prevent errors being thrown further up. @p0358 please test the changes (/kpm update facebook should be sufficient to pull them in).
I might take a look at #463 later today if I have time.

Thanks for fixing!  @p0358 let us know if it doesn't work :)


Add fallback pngs to landing page

Turns out webp doesn't work on ~10% of our traffic. See #455 for more info.

https://app.shortcut.com/larder/story/4742/fall-back-to-png-images


404 for invalid parameters

Currently, this is what I'm doing to show a 404 page in the case that a parameter value is invalid:
Router.run(routes, Router.HistoryLocation, function (Handler, state) {
    state.routes.forEach(function(Route) {
        var RouteHandler = Route.handler;
        if (RouteHandler.validateParams && !RouteHandler.validateParams(state.params)) {
            Handler = NotFound;
            return false; // break
        }
    });
    React.render(<Handler/>, document.body);
});

This is not a good solution because it by-passes the <NotFoundRoute /> definitions. React Router should have some kind of hook enabling a Route to be considered "Not Found" if its parameter is an invalid value.
Does this exist? I can't find anything to this effect in the documentation.

NotFound is a misnomer, it should really be NoMatch. There's a difference between "this path is not a valid path" and "the resource at this valid path does not exist".
Your matched route component can do the validation and then render whatever it needs to if the params or resource don't exist.


Is bearer token the only available Authorization header?

I think my title resume my thoughs pretty much. I'd like if I could post an invoice with NTLM credentials?

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

ID: 4fd9ab27-0901-40fe-62e5-3b139b29533d
Version Independent ID: 8b5b87fd-6fc8-c58e-0a45-674ec28651db
Content: Create salesInvoices - Dynamics NAV
Content Source: dynamics-nav/fin-graph/api/dynamics_create_salesinvoice.md
Service: dynamics365-financials
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback, we're sorry for not getting back sooner. This issue refers to NAV product documentation and we no longer update this docset.


Slimes and Syndies

Adds lore for slimes, and finally gets some lore for Cybersun Industries sorted out.

Finally, Cybersun is getting their well-deserved position as leader of the Syndicate.


Streamlit UI for Document Questioning

Add a UI with Streamlit to upload a document and ask questions

This has been solved in #8


Incorrect SMBIOS socket count

8 CPU sockets are counted. The expected result is 1 socket / 8 cores.

Involved with PEP.

Will not fix at UEFI side: the SMBIOS appears to be correct in WoA.


Missing revisionHistoryLimit attribute

In the latest release v3.0.2 my PR #88 is not available. Do you need any more changes for this feature or was there an error merging and releasing?

@christianknell it's now part of https://github.com/bakito/sealed-secrets-web/releases/tag/v3.0.3
Sorry again for the inconvenience.


error calling eq: invalid type for comparison

I have a chart template which contains this line
  {{- if eq $.Values.global.environment "dev" }}

When running helm lint this fails:
> helm lint my-services/
==> Linting my-services/
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "my-services/templates/istio-gateway.yaml": template: acquiring-services/templates/istio-gateway.yaml:64:9: executing "my-services/templates/istio-gateway.yaml" at <eq $.Values.global.e...>: error calling eq: invalid type for comparison

Interestingly I have the same comparison  - just with another string - in line 8, which is not a problem at all. Removing the erronous line makes lint passing successfully
helm lint my-services/
==> Linting my-services/
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures

Here the relevant yaml-file:
kind: VirtualService
metadata:
  name: acquiring-gateway-virtualservice
  namespace: {{ default $.Release.Namespace }}
spec:
  hosts:
  {{- if eq $.Release.Namespace $.Values.global.defaultNamespace }}
  {{- if eq $.Values.global.environment "prd" }}
  - {{ $.Values.global.ingressName }}.{{$.Values.global.environment}}.sc.intra
  {{- else }}
  - {{ $.Values.global.ingressName }}.svc.{{$.Values.global.environment}}.sc.intra
  {{- end }}
  {{- else }}
  - {{ $.Values.global.ingressName }}-{{ default $.Release.Namespace }}.svc.{{$.Values.global.environment}}.sc.intra
  {{- end }}
  gateways:
  - acquiring-gateway
  http:
  - match:
    - uri:
        prefix: /uaa

        prefix: /uaa/
    route:
    - destination:
        port:
          number: 80
        host: auth-server.{{ $.Release.Namespace }}.svc.cluster.local
    corsPolicy:
      allowOrigin:
      - '*'
      allowMethods:
      - OPTIONS
        - GET
        - PUT
        - POST
        - PATCH
      allowHeaders:
      - authorization

  {{- if eq $.Values.global.environment "dev" }}
  - match:

Also following the suggestion under #2979 does not help
Output of helm version:
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}

Output of kubectl version:
N/A
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
On-Premise

When global.environment is unset, it is set to the nil value. A string and a nil value are incompatible types and therefore cannot be compared for equality.
What you probably want is the following:
{{- if eq (default $.Values.global.environment "prod") "dev" }}

That way if global.environment is unset, it is still being compared against a default value.
If values are considered "optional", the chart should check and determine if the value is unset first.
Does that help?

@bacongobbler helps partly. I see the point, however why the comparison with the same string value is fine in one line and fails in another?

My assumption of text/template's evaluation logic would be that If the first if statement is evaluated as false then the branch is short-circuited.

Well, if I do this
    #{{- if eq $.Release.Namespace $.Values.global.defaultNamespace }}
    {{- if eq $.Values.global.environment "prd" }}
    - {{ $.Values.global.ingressName }}.{{$.Values.global.environment}}.sc.intra
    {{- else }}
    - {{ $.Values.global.ingressName }}.svc.{{$.Values.global.environment}}.sc.intra
    {{- end }}
    #{{- else }}
    #- {{ $.Values.global.ingressName }}-{{ default $.Release.Namespace }}.svc.{{$.Values.global.environment}}.sc.intra
    #{{- end }}

lint does not complain.

Did helm template also complain? I am also curious whether this can still be reproduced now that we are compiling with Go 1.14, as this is almost 100% certainly an issue with the Go text/template way of evaluating a conditional.
If we can get it down to a minimal reproducible case, I might be able to track it further. And this is far more interesting if lint fails but template does not.

For what it's worth. I am seeing what i believe to be the exact same issue:
Error: UPGRADE FAILED: template: ota-tdx/templates/kong-consumers.yaml:30:44: executing "ota-tdx/templates/kong-consumers.yaml" at <eq .Values.app.configMap.DEMO_MODE "1">: error calling eq: incompatible types for comparison
My helm template
{{- if and (.Values.app.configMap.DEMO_MODE) (eq .Values.app.configMap.DEMO_MODE "1") }}

Helm version
version.BuildInfo{Version:"v3.3.0", GitCommit:"8a4aeec08d67a7b84472007529e8097ec3742105", GitTreeState:"dirty", GoVersion:"go1.14.7"}

Workaround (SUPER UGLY NESTED!!!! :sob:  )
-{{- if (.Values.app.configMap.DEMO_MODE) and eq .Values.app.configMap.DEMO_MODE "1" }}
+{{- if .Values.app.configMap.DEMO_MODE }}
+{{- if eq .Values.app.configMap.DEMO_MODE "1" }}
...
-{{- end }}
+{{- end }}
+{{- end }}

@bclouser I ran into this as well. Looks like Helm (or Go I assume) doesn't have short circuiting available. The single line if statement combined with and would work in most languages, but I'm unsure if it's Helm or Go at fault here.

This would be a restriction set in place with text/template, which is the template language used by Helm to render templates. So this would be a limitation set by the Go developers.
https://golang.org/pkg/text/template/

Closing as this is something we cannot change... Rather this is a design decision made by the Go authors. I suggested a workaround which is about all we can do at this point. If others have found other solutions, please post them here. Thanks!

Thanks for the link @bacongobbler.
Indeed the excerpt from the documentation for and reads:
Returns the boolean AND of its arguments by returning the
	first empty argument or the last argument, that is,
	"and x y" behaves as "if x then y else x". All the
	arguments are evaluated.

I can confirm the workaround of if eq (default <.variable> <fallback_value>) <comparison_value> works.

The recommended workaround is wrong as far as I can see. default accepts the fallback value as the first argument, not the second:

One function frequently used in templates is the default function: default DEFAULT_VALUE GIVEN_VALUE.

https://helm.sh/docs/chart_template_guide/functions_and_pipelines/#using-the-default-function
I.e. it should be:
{{- if eq (default "prod" $.Values.global.environment) "dev" }}

and not:
{{- if eq (default $.Values.global.environment "prod") "dev" }}

Another (more intuitive) syntax is:
{{- if eq ($.Values.global.environment | default "prod") "dev" }}

P.S. I do not understand how the if eq (default <.variable> <fallback_value>) <comparison_value> option could possibly work in the @phillycheeze 's test.

The recommended workaround is wrong as far as I can see. default accepts the fallback value as the first argument, not the second:

One function frequently used in templates is the default function: default DEFAULT_VALUE GIVEN_VALUE.

https://helm.sh/docs/chart_template_guide/functions_and_pipelines/#using-the-default-function
I.e. it should be:
{{- if eq (default "prod" $.Values.global.environment) "dev" }}

and not:
{{- if eq (default $.Values.global.environment "prod") "dev" }}

Another (more intuitive) syntax is:
{{- if eq ($.Values.global.environment | default "prod") "dev" }}

P.S. I do not understand how the if eq (default <.variable> <fallback_value>) <comparison_value> option could possibly work in the @phillycheeze 's test.

This reply saved me:

You are comparing "string" with a variable .Values.favorite.drink of some unknown type. How about casting that variable to string ?
{{if eq (.Values.favorite.drink | toString) "coffee"}}

https://github.com/helm/helm/issues/2979#issuecomment-681015535

I had a fun one where running  helm lint ... would cause a failure on a comparison between what was normally 2 int64s
{{- if ge .Values.deployment.replicaCount 2 -}}

helm lint was making replicaCount nil, so to fix, we need another nested if (sadface) to check if it's the right type.
{{- if kindIs "int64" .Values.deployment.replicaCount -}}
{{- if ge .Values.deployment.replicaCount 2 -}}

Would be nice if this was mentioned in the docs. This situation makes it rather mysterious to do things like support both "true" and true in values (eg. for backward compatibility).

For me the issue was caused by a subchart so I couldn't implement the mentioned workaround.
For future people hitting this issue, upgrade helm. Pre helm v3.8.0, {{ eq nil "some text" }} will cause error calling eq: incompatible types for comparison. Future versions don't have a problem. Couldn't find what changed in the release notes.


[1.13] Deadlock in SetClusterProvider/libnetwork callbacks

https://jenkins.dockerproject.org/job/Docker-PRs-experimental/29248/console (from #29926) shows a failed test that hit a deadlock.
Daemon logs with traces: https://gist.github.com/tonistiigi/2ae3675901f18c3ccab7e6378aeaaf74
The issue seems to be that we are calling SetClusterProvider() while holding the cluster lock, the implementation needs a lock for a controller. Now the networking stack may call back to cluster IsManager() while holding the controller lock. IsManager() requires readlock for cluster.
This should be one of the cases solved with https://github.com/docker/docker/pull/28907 but that PR was not picked for v1.13.
We should evaluate the priority of this and see if there is a easy workaround that we could include in v1.13. One of the options could be to call SetClusterProvider() in a goroutine if it only works as a event dispatcher(cc @mavenugo to see if it would be safe).
There is also a possibility that recent changes in swarmkit (around graceful shutdown for example) have made this race more likely to appear.
@aaronlehmann @mavenugo @dongluochen

IMHO we should treat this as a 1.13 blocker unless we have data to show that it rarely triggers.

One way to manually reproduce the deadlock is to concurrently run
docker swarm leave --force and docker swarm init -force-new-cluster
few times back to back on  a manager.
I could confirm that with the fix suggested by @tonistiigi (call SetClusterProvider() as a go routine) and the panic fix by @aaronlehmann (docker/swarmkit/pull/1848)  I can no longer reproduce the deadlock.
Will need some more testing, but I think the fix is ok for 1.13.

I managed to get the following with docker swarm leave --force & docker swarm init & docker swarm init --force-new-cluster. Goroutine would not help against that but not sure if it is also possible on a practical case.
goroutine 292 [semacquire]:
sync.runtime_Semacquire(0xc42045e868)
        /usr/local/go/src/runtime/sema.go:47 +0x30
sync.(*Mutex).Lock(0xc42045e864)
        /usr/local/go/src/sync/mutex.go:85 +0xd0
github.com/docker/docker/vendor/github.com/docker/libnetwork.(*controller).getStores(0xc42045e780, 0x0, 0x0,
 0x0)
        /go/src/github.com/docker/docker/vendor/github.com/docker/libnetwork/store.go:75 +0x58
github.com/docker/docker/vendor/github.com/docker/libnetwork.(*controller).getNetworksFromStore(0xc42045e780
, 0xc4204d7280, 0xc4209aec78, 0x6391cf, 0x2536060, 0x2a2d5364)
        /go/src/github.com/docker/docker/vendor/github.com/docker/libnetwork/store.go:144 +0x61
github.com/docker/docker/vendor/github.com/docker/libnetwork.(*controller).Networks(0xc42045e780, 0x0, 0x1f,
 0x5dc)
        /go/src/github.com/docker/docker/vendor/github.com/docker/libnetwork/controller.go:838 +0x4b
github.com/docker/docker/daemon.(*Daemon).V4Subnets(0xc4200c6200, 0x5, 0x8, 0x0)
        /go/src/github.com/docker/docker/daemon/daemon.go:869 +0x4f
github.com/docker/docker/daemon/cluster.(*Cluster).resolveSystemAddrViaSubnetCheck(0xc4201003c0, 0x197f6a0,
0x4, 0x6, 0x0, 0x2)
        /go/src/github.com/docker/docker/daemon/cluster/listen_addr.go:165 +0x9b
github.com/docker/docker/daemon/cluster.(*Cluster).resolveSystemAddr(0xc4201003c0, 0x10, 0x10, 0x24f52a0, 0x
c4200108a0, 0x0)
        /go/src/github.com/docker/docker/daemon/cluster/listen_addr_linux.go:85 +0x955
github.com/docker/docker/daemon/cluster.(*Cluster).resolveAdvertiseAddr(0xc4201003c0, 0x0, 0x0, 0xc42102666e
, 0x4, 0x4, 0x0, 0x0, 0x0, 0xc4210204f8, ...)
        /go/src/github.com/docker/docker/daemon/cluster/listen_addr.go:99 +0x2d3
github.com/docker/docker/daemon/cluster.(*Cluster).Init(0xc4201003c0, 0xc421026666, 0xc, 0x0, 0x0, 0x1, 0x1983846, 0x7, 0x0, 0x0, ...)

Fixed by #30038


improve jobs filters ux

@harunurhan Maybe I missed it, do we have a screenshot with Jobs filters open?

@drjova nope we don't open the dropdowns for screenshots (yet)


Support content types following structured syntax suffixes

See #990, this adds support for encoding/decoding cloudevent data which is defined by a content-type following the Structured Syntax Suffixes standard.
This enables the encoding/decoding of custom content types which use the +json or +xml suffix to indicate that their encoding is JSON or XML respectively. Users can also add their own suffixes to the registry in a similar fashion to how datacodec.AddDecoder() and dataodec.AddEncoder() work, but via the AddStructuredSuffixDecoder and AddStructuredSuffixEncoder functions.
Fixes #990

Hi @dan-j!
I'm a little bit confused by the naming AddStructuredSuffixDecoder or AddStructuredSuffixEncoder with the structured(or binary) mode based on the content-type format.
So what's the relationship between the AddStructuredSuffixDecoder and the structured mode? It seems they are describing two kinds of different things, if so, I suggest using another name that won't cause any ambiguity to register the encoder and decoder.
Thanks!

Hi @yanmxa, the datacodec package isn't concerned with how an event is encoded (whether structured/binary mode), which is what I think you're referring to?
The datacodec package is concerned with marshalling/unmarshalling an event's data attribute, and is determined by the event's datacontenttype attribute. So for example if you have a cloudevent.Event where datacontenttype=application/vnd.github+json like so, it would use the github.com/cloudevents/sdk-go/v2/event/datacodec/json package to unmarshal.
var e cloudevent.Event

var target MyStruct
_ = e.DataAs(&target)

"Structure Syntax Suffix" is the formal name for this technique, as documented here: https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml. We could rename the functions AddStructuredSyntaxSuffixEncoder/Decoder but I feel this wouldn't really help the confusion, it's just a longer name.
I've also tried to explain this in the GoDoc for the functions, if you have a way to better word this then I'm happy for some feedback.

Hi @yanmxa, the datacodec package isn't concerned with how an event is encoded (whether structured/binary mode), which is what I think you're referring to?
The datacodec package is concerned with marshalling/unmarshalling an event's data attribute, and is determined by the event's datacontenttype attribute. So for example if you have a cloudevent.Event where datacontenttype=application/vnd.github+json like so, it would use the github.com/cloudevents/sdk-go/v2/event/datacodec/json package to unmarshal.
var e cloudevent.Event

var target MyStruct
_ = e.DataAs(&target)

"Structure Syntax Suffix" is the formal name for this technique, as documented here: https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml. We could rename the functions AddStructuredSyntaxSuffixEncoder/Decoder but I feel this wouldn't really help the confusion, it's just a longer name.
I've also tried to explain this in the GoDoc for the functions, if you have a way to better word this then I'm happy for some feedback.

Since "Structure Syntax Suffix" is a conventional formal name for it. Using any other name seems to break the original meaning, and I agree with you that we can clarify it in the comments on the methods.
@dan-j Thank you for clearing up my doubts!