freecatphotoapp.com is now a link farm site. We need to use a different URL that we control

Some of our challenges refer to "freecatphotoapp.com" which I came up with as a joke domain. Well, apparently enough people were clicking on it that someone registered the domain and put up a link farm site.
Someone mentioned the site might have some NSFW content, as well, so we should definitely replace this sooner rather than later. We might want to change it for "freecodecamp.com/catphotoapp" and create an end point with some sort of placeholder - perhaps a polished-looking static HTML cat photo app.

Hi Quincy,
I would like to help with this one just I'm interested in more info about it if possible.

Is making "freecodecamp.com/catphotoapp" reference for creating new directory in FreeCodeCamp github repository ?
What would "polished-looking static HTML cat photo app" look like exactly ? Like static html page with a grid made of cat pictures or something similar to it ?

@QuincyLarson, me and @Bouncey created a catphotoapp for this purpose. github.com/atjonathan/catphotoapp :smiley: We can use this and host it on freecodecamp.com/catphotoapp?

@atjonathan That looks nice. You should definitely use it. 👍

@Dayfiri thanks!

The idea behind our CatPhotoApp was that it was interactive to the user, uploading cats and what-have-you, but isolated aswell.
So that if a user uploaded NSFW content, it would only be on their device. This removes the need for constant moderation from the freeCodeCamp team :+1:

I own the https://fcc.rocks domain, and I was planning it as a "unofficial" showcase of some stuff, but would be happy to donate it (by pointing its NS records to whatever location need be) to the community if it suites and is acceptable.
/cc @QuincyLarson

@raisedadead actually, fcc.rocks would be good place to host it because it's much shorter that freecatphotoapp.com, and we won't have to worry about the CSS and everything else associated with the cat photo app.
@Bouncey so to be clear, other than the images already there, people will only see images they themselves upload to it?

@QuincyLarson, correct. We use local storage to store the images they upload. Only the default ones will be shown on everyone's.

All images and likes are stored in localStorage. There is no database for this app.

@atjonathan @Bouncey ok - great! That's a solid approach to subtly solving the troll problem.

This is extremely strange as I still own the domain. I'm looking into it

I've changed the name servers and parked as well. These are propagating now.

Ah cool. thanks @BerkeleyTrue, BTW fcc.rocks is still up for grabs, we could do something with it... 😜 !!!

Ok, looks like that is working.
@Bouncey Can we move the app under the freecodecamp org?

@BerkeleyTrue, I currently own the repository. Should FCC just make a fork?

@atjonathan there's the issue of contributions to forks not counting toward GitHub's tracking of open source contributions. This is one reason why none of the repos on Free Code Camp's organization are forks. We want campers to get credit if they put in the time to improve something. So we should transfer the repo over to Free Code Camp if it's OK with you.

@QuincyLarson, I'm unable to transfer the repository due to not having admin rights.

Thanks @atjonathan. Let's switch to gitter chat

Update: We have moved the repository over to FreeCodeCamp/catphotoapp 😃

@atjonathan awesome! Great work.
@raisedadead rather than purchase a special domain, we could just use something like bit.ly/catphotoapp and redirect to a GitHub pages site. Then we don't have to pay for another domain or host it anywhere.

@QuincyLarson If we are going that far, does that challenge even need a domain?

@BerkeleyTrue You're right - we could simply use example.com, which is designated for example usage. This would also teach campers indirectly that they should use this instead of random domains.
It would be simpler than having to bother with building and maintaining another app, and as far as I can tell there's nothing in the challenge that requires it to be a valid domain.
It's not as fun, but it is practical, and I think we should be taking our curricula in a practical direction.

Sounds good to me.

I might be bias 🙄, but I like the 'easter egg' value it adds.
We built CatPhotoApp due to many issues of camper clicking on the link in the preview and raising an issue that it didn't work properly. I think for a long time there was a php server error displayed, not sure.
As for maintenance, there are not that many moving parts, it's a SPA without a sniff of a router.

@Bouncey what URL will it be up at? I can update the challenges accordingly. I am making a general copy update PR for production anyway and can make this change as well.

@QuincyLarson, freecodecamp.github.io/catphotoapp :wink:

Are we using a CNAME for freecatphotoapp.com?

That's usually the best way for setting it up. Tagging @BerkeleyTrue

Haha - nice holding image @BerkeleyTrue
How is the cname generated? Does it come from the DNS?

Nevermind, got it :+1:


Fix: Do not provide enpoint_group submodule var.config with any default

what

Do not provide enpoint_group submodule var.config with any default

why

the globalaccelerator_endpoint_group resource needs a meaningful configuration and should never have all of its optional attributes empty.

references

N/A

/test all


Deploy script adds disallowed property name to network in docker-stack.yml

When running the deploy.sh script docker stack deploy -c ... fails with:

networks.traefik-public Additional property name is not allowed

The following gets added to the docker-stack.yml by docker-compose -f docker-compose.yml config > docker-stack.yml
networks: traefik-public:     external: true     name: traefik-public
This goes for docker-compose file version 3.3 and 3.6.
If I remove the name: traefik-public line everything works fine. I am not that experienced with docker networks but why is config adding a property that docker stack deploy does not allow?

Ubuntu 20.04
Docker version 20.10.2, build 2291f61
docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

I also have the same issue.
Using:

Ubuntu 20.04
Docker 19.03.13
docker-compose 1.27.4

Simple fix was to move the docker-compose.yml version up to 3.6 and that then enabled it to spin up the stack.

I also have the same issue.
Using:

Ubuntu 20.04
Docker 19.03.13
docker-compose 1.27.4

Simple fix was to move the docker-compose.yml version up to 3.6 and that then enabled it to spin up the stack.


Reconfigure the connection-string of a report

When a report is uploaded it should reconfigure the data source based on existing data sources in this deployment

Preview available in 0.6-beta


randomized_benchmarking_seq doesn't work when interleaved element has a pulse gate

Informations

Qiskit Ignis version: 0.5.2
Python version: 3.7.10
Operating system: macOS Big Sur

What is the current behavior?
randomized_benchmarking_seq doesn't work when called with an interleaved_elem that has a pulse gate.
In the example below, the interleaved_elem is a circuit comprising of a single gate, custom_swap, which is a pulse gate.
Running this code is necessary to run pulse-gates for the Open Science Challenge.
In [19]: rb_circs, xdata, circuits_interleaved = rb.randomized_benchmarking_seq(length_vector=length_vector,
    ...:                                              nseeds=nseeds,
    ...:                                              rb_pattern=rb_pattern,
    ...:                                              interleaved_elem=interleaved_elem)
    ...:
---------------------------------------------------------------------------
QiskitError                               Traceback (most recent call last)
<ipython-input-19-3ce568c12718> in <module>
      2                                              nseeds=nseeds,
      3                                              rb_pattern=rb_pattern,
----> 4                                              interleaved_elem=interleaved_elem)

~/miniconda3/envs/my-env/lib/python3.7/site-packages/qiskit/ignis/verification/randomized_benchmarking/circuits.py in randomized_benchmarking_seq(nseeds, length_vector, rb_pattern, length_multiplier, seed_offset, align_cliffs, interleaved_gates, interleaved_elem, is_purity, group_gates, rand_seed)
    402
    403     # Handle various types of the interleaved element
--> 404     interleaved_elem = handle_interleaved_elem(interleaved_elem, rb_group)
    405
    406     # initialization: rb sequences

~/miniconda3/envs/my-env/lib/python3.7/site-packages/qiskit/ignis/verification/randomized_benchmarking/circuits.py in handle_interleaved_elem(interleaved_elem, rb_group)
    154                 qc = elem
    155                 elem = rb_group.iden(num_qubits)
--> 156                 elem = elem.from_circuit(qc)
    157             if (isinstance(elem, qiskit.quantum_info.operators.symplectic.clifford.Clifford)
    158                     and group_gates_type == 0) or (isinstance(elem, CNOTDihedral)

~/miniconda3/envs/my-env/lib/python3.7/site-packages/qiskit/quantum_info/operators/symplectic/clifford.py in from_circuit(circuit)
    386         # Initialize an identity Clifford
    387         clifford = Clifford(np.eye(2 * circuit.num_qubits), validate=False)
--> 388         _append_circuit(clifford, circuit)
    389         return clifford
    390

~/miniconda3/envs/my-env/lib/python3.7/site-packages/qiskit/quantum_info/operators/symplectic/clifford_circuits.py in _append_circuit(clifford, circuit, qargs)
     97         # Get the integer position of the flat register
     98         new_qubits = [qargs[tup.index] for tup in qregs]
---> 99         _append_circuit(clifford, instr, new_qubits)
    100     return clifford
    101

~/miniconda3/envs/my-env/lib/python3.7/site-packages/qiskit/quantum_info/operators/symplectic/clifford_circuits.py in _append_circuit(clifford, circuit, qargs)
     86     # are a single qubit Clifford gate rather than raise an exception.
     87     if gate.definition is None:
---> 88         raise QiskitError('Cannot apply Instruction: {}'.format(gate.name))
     89     if not isinstance(gate.definition, QuantumCircuit):
     90         raise QiskitError('{} instruction definition is {}; expected QuantumCircuit'.format(
QiskitError: 'Cannot apply Instruction: custom_swap'

Steps to reproduce the problem
import numpy as np
import qiskit
from qiskit import pulse
from qiskit.ignis.verification import randomized_benchmarking as rb
custom_swap = qiskit.circuit.Gate("custom_swap", 2, [])
with pulse.build(name='custom') as my_schedule:
    pulse.play(pulse.library.Gaussian(duration=64, amp=0.2, sigma=8), pulse.DriveChannel(0))
qc_swap = qiskit.QuantumCircuit(2)
qc_swap.append(custom_swap, [0, 1])
qc_swap.add_calibration(custom_swap, [0, 1], my_schedule)
rb_circs, xdata, circuits_interleaved = rb.randomized_benchmarking_seq(length_vector=np.arange(1, 200, 20), nseeds=5, rb_pattern=[[0, 1]], interleaved_elem=[qc_swap])

What is the expected behavior?
It doesn't fail.
Suggested solutions
Not sure. Ideally there would be a way to both denote that the custom gate is clifford, while also preserving our own pulse-level calibration for it.
In a previous version of qiskit-ignis, we could pass in something like interleaved_gates = [['swap 0 1']] instead of interleaved_elem. Then we could hack around the resultant circuits to manually insert the pulse gates. But hopefully there is a more elegant fix.

@singular-value - thank you very much for reporting this. I think that this bug has just been fixed when PR #548 has been merged. Could you please check this again with the new ignis master?

Cool—will do.

Seems that PR #548 fixed this.


running bundled materialize seems to require typescript

I am bundling materialize and aurelia-materialize-brige into the vendor bundle. Running the bundle does not work because it somehow seems to require typescript:

"GET /config.js"
"GET /jspm_packages/system.js"
"GET /dist/vendor.js"
"GET<EMAIL_ADDRESS>"GET<EMAIL_ADDRESS>Error (404): "Not found"

It does not request typescript when I run it unbundled. Could be a loader issue in combination with materialize.
I am using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and my repository is at https://github.com/halllo/AureliaTutorial/tree/master/materialize-starter.
What can I do to have materialize bundled and loaded correctly?

@halllo Your config.js has a typescript transpiler specified here: https://github.com/halllo/AureliaTutorial/blob/master/materialize-starter/config.js#L4
Is this also the case with the bundled app?

Yes, it is there in the bundled app. But I does not seem to matter with all the other bundles. Only the bundle that has materialize in it crashes. It looks like materialize needs to be transpiled in the browser, which is not what I want.
Is there a way to get a already transpiled version of materialize anywhere?

It is already transpiled (from ESnext btw., not TypeScript) to SystemJS format.
The JSPM config uses the dist/system directory of this repo (see here). That means this directory is being used: https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/tree/master/dist/system
The catalog app is also a bundled JSPM app. It uses a Babel transpiler for the samples, though.
Maybe this helps: https://github.com/aurelia-ui-toolkits/demo-materialize
Bundle config: https://github.com/aurelia-ui-toolkits/demo-materialize/blob/master/build/bundles.js
This is strange since there is no TypeScript involved either in the bridge or Materialize itself. Also both use transpiled sources.

I still don't get why only the bundled version does not work.
Thank you. Please do, I am going crazy here 😃

I've got some completely different errors so I don't know if this helps.
First, I removed JSPM forks of jquery and isarray:
jspm resolve --only<EMAIL_ADDRESS>jspm resolve --only<EMAIL_ADDRESS>
Then, I've changed the bundle config to produce a separate Materialize bundle. When I did not do that, Materialize wouldn't find Picker somehow.
After that, I've changed how the bridge is bundled, leaving out .d.ts files.
Here is the complete bundles.js which works for me:
module.exports = {
  "bundles": {
    "dist/app-build": {
      "includes": [
        "[**/*.js]",
        "**/*.html!text",
        "**/*.css!text"
      ],
      "options": {
        "inject": true,
        "minify": true,
        "depCache": true,
        "rev": false
      }
    },
    "dist/vendor": {
      "includes": [
        "aurelia-framework",
        "aurelia-bootstrapper",
        "aurelia-fetch-client",
        "aurelia-router",
        "aurelia-templating-binding",
        "aurelia-polyfills",
        "aurelia-templating-resources",
        "aurelia-templating-router",
        "aurelia-loader-default",
        "aurelia-history-browser",
        "aurelia-logging-console",
        "aurelia-pal-browser",
        "text",
        "fetch",
        "jquery",
        "[aurelia-materialize-bridge]",
        "[aurelia-materialize-bridge/**/*.js]",
        "aurelia-materialize-bridge/**/*.css!text",
        "aurelia-materialize-bridge/**/*.html!text"
      ],
      "options": {
        "inject": true,
        "minify": true,
        "depCache": false,
        "rev": false
      }
    },
    "dist/materialize": {
      "includes": [
        "materialize"
      ],
      "options": {
        "inject": true,
        "minify": true,
        "rev": true
      }
    }
  }
};

Maybe I should leave the .d.ts files in dist and remove them from the loader directories. Not sure if that will break anything though.

Thanks, now the bundle works. I added the starter template from materialize.
But in the bundled version md-waves (button in welcome.html) does not work. Also the sideNav (nav-bar.ts) does not work.
In the unbundled version everything works great. I think there still could be something wrong with the bundle dependencies.
Do you have an idea?

Can you specify what "does not work" means in both cases? 😃
I've cloned the current version of your repo and tried it. Everything seems to work bundled and unbundled.
One thing, maybe unrelated.. You initialized the sidenav manually here. Of course, that's okay if you like to do so. Using the didenav component prevents a TS transpilation error on line 3 of that file since you don't need to use jQuery directly.
Also, the sidenav has some problems when it's contained inside the <nav> tags of the top nav bar. When you close it, its overlay stays on top. Try to move the sidenav <ul> outside of <nav>.
I didn't have any problems with Waves, though.
Are there any errors?

Sure, I will check out the sidenav component. But I think I have a more general problem.
When I run the bundled version (gulp export && http-server -o -c-1 export) there is no wave effect when I click the button. And the sideNav does not appear when the browser window is small and I click the hamburger. There are no errors in the browser console.

Interesting. I just did the same (gulp export && http-server -o -c-1 export) and I've seen waves and the sideNav. Which browser did you test with?

I tested Edge 38 and Chrome 55 on Windows. And I just uploaded my export directory to https://labs.neokc.de/materialize/. If I run it from there I see the sideNav-TypeError in the browser console. But I also don't see waves. Do you see waves?

Weird..
It fails at this line: (<any>$('.button-collapse')).sideNav();
And I guess I didn't encounter the error because I've commented that out and used md-sidenav.
I suppose Materialize is not loaded completely at that point (which always confuses me like hell).
I wonder if loading Materialize via a standard <script> tag is the most reliable sulution to that problem. I know it's not pretty and I'm not sure if it works at all.
I've come up with this (brute-force) approach for webpack which has a similar problem:
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/337#issuecomment-267434505
Can you try that?

Like this https://github.com/halllo/AureliaTutorial/blob/master/materialize-starter/src/main.ts#L7?
Does not seem to work...

Yes, like this..
Sorry, I didn't have the time yet to look at that. I'd try logging $, jQuery and jQuery.fn.sideNav as I suppose it's not there, yet. Which, again, is quite strange since this attached() business should happen well after any DOMContentLoaded event and after Materialize is initialized completely.
It could also be that two jQuery versions are active at the same time and you get "the other" in attached().

Perfect, no the sidebar and the waves work :)
Thanks a lot.

I want to import {MdInputUpdateService} from 'aurelia-materialize-bridge'; but somehow the aurelia-materialize-bridge.d.ts is not recognized:

Cannot find module 'aurelia-materialize-bridge'

When using JSPM, the typings are not automatically discovered.
Please try:
typings install aurelia-materialize-bridge=github:aurelia-ui-toolkits/aurelia-materialize-bridge/dist /aurelia-materialize-bridge.d.ts --save

Perfect. Thank you!


Implemented createRulesFileFromSource() and createRuleset() APIs

In addition to the above 2 new methods, I'm also refactoring the implementation a bit based on the feedback received in #604

SecurityRulesApiClient now closely resembles the REST API.

getRuleset()
createRuleset()
getRelease()

SecurityRules class is now mostly a thin wrapper around SecurityRulesApiClient.

I do not think the link in your PR description is correct, that issue does not seem relevant to this PR.

Thanks @ryanpbrewster. Made the suggested changes and updated the issue description.


{appURL}/login should redirect to {appURL}/ when a user is already authenticated

I am interested to work on this issue.

Where is it redirecting to if not {appURL}?

This is not the issue. The issue is, once you are logged-in, you can query {appURL}/login which is http://localhost/login in your case and be presented with the login form. What is needed is to redirect the logged-in user to http://localhost/ if he queries http://localhost/login

^made the title clearer (...I hope)

#273

i would like to work on the issue

Hi @zhakkarn, is this issue fixed? Could I work on it? Thanks.

Could I work or help with this issue?

i would love to work on this issue

@gideonnnalue This is already fixed in #339.
I just need to test if it works and then I'll merge it.

Hi, can I work on this issue?

@yonis9 This issue was fixed in #339


Update deploy script to not fail when pending

Observed that sometimes prometheus deployment stays at pending for a while until other services start running.
So while the script says that the deployment failed, it should still be deployed after a few seconds.
Output from the script:
Error: prometheus-k8s-0 deploy failed: Pending
prometheus-k8s-0                      0/3     ContainerCreating   0          1s

This is fixed now.


Fix oslat execution

Signed-off-by: Raul Sevilla<EMAIL_ADDRESS>Description
Fixes

There's no CI test for oslat yet. Merging


MachineConfig.py: osconfig command fails due to no prompt

For the below combination of MachineConfig the job fails {"lpar":"cpu=dedicated,vpmem=1,vtpm=1","os":"hugepage=2M"}
as the lparconfig power off and on the lpar and than the osconfig do not find the prompt ready to run os commands
so with this fix we are waiting for lpar os to boot till login and closing the console for next osConfig to open and reset the prompt and continue

after fix
[  130.024673] tg3 0010:01:00.1 enP16p1s0f1: EEE is disabled
[  130.024688] IPv6: ADDRCONF(NETDEV_CHANGE): enP16p1s0f1: link becomes ready
[  130.062966] tg3 0010:01:00.0 enP16p1s0f0: Link is up at 1000 Mbps, full duplex
[  130.062991] tg3 0010:01:00.0 enP16p1s0f0: Flow control is on for TX and on for RX
[  130.062996] tg3 0010:01:00.0 enP16p1s0f0: EEE is disabled
[  130.063008] IPv6: ADDRCONF(NETDEV_CHANGE): enP16p1s0f0: link becomes ready
	⁃	[  130.778210] systemd-journald[716]: Time jumped backwards, rotating.
	⁃
	⁃	Red Hat Enterprise Linux 9.6 Beta (Plow)
	⁃	Kernel 5.14.0-516.el9.ppc64le on an ppc64le
	⁃
	⁃	Activate the web console with: systemctl enable --now cockpit.socket
	⁃
	⁃	ltcever60-lp8 login:
	⁃	ltcever60-lp8 login:
	⁃
	⁃	ltcever60-lp8 login: root
	⁃	root
	⁃	Password: xxx
	⁃
	⁃	Last login: Tue Nov 19 03:24:57 from 10..63
	⁃	[root@ltcever60-lp8 ~]# which bash && exec bash --norc --noprofile
	⁃	PS1=\[console-expect\]#
	⁃	which bash && exec bash --norc --noprofile
	⁃	/usr/bin/bash
	⁃	bash-5.1# PS1=\[console-expect\]#
	⁃	[console-expect]#which stty && stty cols 300;which stty && stty rows 30
	⁃	which stty && stty cols 300;which stty && stty rows 30
	⁃	/usr/bin/stty
	⁃	/usr/bin/stty
	⁃	[console-expect]#export LANG=C
	⁃	export LANG=C
	⁃	[console-expect]#
	⁃
	⁃	[console-expect]#
	⁃	date
	⁃	which whoami && whoami
	⁃
	⁃	[console-expect]#date
	⁃	Tue Nov 19 03:31:02 CST 2024
	⁃	[console-expect]#which whoami && whoami
/usr/bin/whoami
root
[console-expect]#echo $?
echo $?
0
[console-expect]#tail /proc/cpuinfo | grep MMU
tail /proc/cpuinfo | grep MMU
MMU		: Radix
[console-expect]#echo $?
echo $?
0
[console-expect]#cat /proc/cmdline
cat /proc/cmdline
BOOT_IMAGE=(ieee1275//vdevice/v-scsi@3000006c/disk@8100000000000000,msdos2)/vmlinuz-5.14.0-516.el9.ppc64le root=/dev/mapper/rhel_ltcever60--lp8-root ro crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G rd.lvm.lv=rhel_ltcever60-lp8/root rd.lvm.lv=rhel_ltcever60-lp8/swap biosdevname=0
[console-expect]#echo $?
echo $?
0


Feat: Deduplicate command info

Because

We duplicate a lot of command info

This PR

Deduplicates all duplicated info to a single source of truth
Updates the snapshots for two commands: both of these purely concern changing whitespace, and I've verified they do not affect the way the command actually looks
Changes the way two commands declare name their variables to be consistent with the other files and avoid clashing names

Issue
Closes #553
Additional Information

Before/After screenshots
Legacy commands

Before
After

Slash commands

Before
After

Pull Request Requirements

[x] I have thoroughly read and understand The Odin Project Contributing Guide
-   [ ] The title of this PR follows the location of change: brief description of change format, e.g. Callbacks command: Update verbiage
[x] The Because section summarizes the reason for this PR
[x] The This PR section has a bullet point list describing the changes in this PR
[x] If this PR addresses an open issue, it is linked in the Issue section
[x] If this PR adds new features or functionality, I have added new tests
[x] If applicable, I have ensured all tests related to any command files included in this PR pass, and/or all snapshots are up to date

@01zulfi Done ✅

lgtm 🚀


Support single domain prefix based routing for components access + Backend storage assumerole authentication + jdbc connection url override flag

Feature description 💡

Trying to setup all components (UI/API/Dex/Registry) ingresses using same domain (terrakube.mycompany.com) and prefix-based routing.
UI ingress path: terrakube.mycompany.com/ui
API ingress path: terrakube.mycompany.com/api
Dex ingress path: terrakube.mycompany.com/dex
Registry ingress path: terrakube.mycompany.com/reg
However, the ingresses are not working. Does terrakube support prefix-based routing?

Created postgressql cluster using Zalando postgres operator (https://github.com/zalando/postgres-operator/blob/master/manifests/complete-postgres-manifest.yaml) Terrakube postgressql connection fails with no encryption if connected to external postgres database
Caused by: liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: FATAL: pg_hba.conf rejects connection for host "10.xxx.xxx.xx", user "terrakube", database "terrakube", no encryption
How to pass or override jdbc connection url?

Is it possible to configure IAM role instead of access key and secret key for AWS S3 storage if runs in EKS kubernetes cluster?
storage:
defaultStorage: false
aws:
accessKey: ""
secretKey: ""
bucketName: ""
region: ""
https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html

Anything else?
No response

Hello @kspradheep
For your first question:
You wont be able to use "prefix-based routing" there is one restriction when you are using the terraform CLI.
Terraform CLI require the "/.well-known/terraform.json" endpoint in the "root path" when using the "terraform login" command
For example this is the endpoing for the API.

The same happens with the registry.

There is no issue with the DEX, you could deploy it using the official DEX helm chart  using the path that you require and we you deploy the terrakube helm chart just disable the DEX component. You could check this issue.
dex:
  enabled: false
  config:
    issuer: https://yourcustomissuer.com

ingress:
  dex:
     enabled: false

For the UI if I remembered correctly we have compile it to use the root path not sure if it will work with some specific "path".
I hope this information can help you.

For your second question.
This class has the POSTGRESQL connection, may be it will require some additional parameter.
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/datasource/DataSourceAutoConfiguration.java#L37
These are parameters that we use to connect to the database are passed as environment variables here
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/resources/application.properties#L39
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/datasource/DataSourceConfigurationProperties.java
And the helm chart is passing those parameters in the following way.
https://github.com/AzBuilder/terrakube-helm-chart/blob/main/charts/terrakube/templates/secrets-api.yaml#L73
I think maybe it will require some additional parameters for your Zalando Cluster but I am not sure

For you third question.
To connect to the S3 storage we are using the following code:
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/storage/configuration/StorageTypeAutoConfiguration.java#L63
https://github.com/AzBuilder/terrakube/blob/main/registry/src/main/java/org/terrakube/registry/plugin/storage/configuration/StorageAutoConfiguration.java#L68
https://github.com/AzBuilder/terrakube/blob/main/executor/src/main/java/org/terrakube/executor/plugin/tfoutput/configuration/TerraformOutputAutoConfiguration.java#L65
https://github.com/AzBuilder/terrakube/blob/main/executor/src/main/java/org/terrakube/executor/plugin/tfstate/configuration/TerraformStateAutoConfiguration.java#L74
I guess those classes could require some changes to use IAM role with a service account but I am not familiar with AWS.
If you would like to help with some PR to add that feature all help is welcome :)
I hope this can help you.

Hello @kspradheep
For your first question:
You wont be able to use "prefix-based routing" there is one restriction when you are using the terraform CLI.
Terraform CLI require the "/.well-known/terraform.json" endpoint in the "root path" when using the "terraform login" command
For example this is the endpoing for the API.

The same happens with the registry.
There is no issue with the DEX, you could deploy it using the official DEX helm chart using the path that you require and we you deploy the terrakube helm chart just disable the DEX component. You could check this issue.
dex:
  enabled: false
  config:
    issuer: https://yourcustomissuer.com

ingress:
  dex:
     enabled: false

For the UI if I remembered correctly we have compile it to use the root path not sure if it will work with some specific "path".
I hope this information can help you.

For your second question.
This class has the POSTGRESQL connection, may be it will require some additional parameter.
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/datasource/DataSourceAutoConfiguration.java#L37
These are parameters that we use to connect to the database are passed as environment variables here https://github.com/AzBuilder/terrakube/blob/main/api/src/main/resources/application.properties#L39
https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/datasource/DataSourceConfigurationProperties.java
And the helm chart is passing those parameters in the following way. https://github.com/AzBuilder/terrakube-helm-chart/blob/main/charts/terrakube/templates/secrets-api.yaml#L73
I think maybe it will require some additional parameters for your Zalando Cluster but I am not sure

I think this is the problem https://github.com/AzBuilder/terrakube/blob/main/api/src/main/java/org/terrakube/api/plugin/datasource/DataSourceAutoConfiguration.java#L43
Not sure why SSL had to be disabled but would be nice if this option also parametrized?

Hello @kspradheep
That could be another parameter but I am not sure if that will be the only require change so it can connect to your Zalandro cluster. do you have some code example? or maybe you could fork the project and create a custom docker image to test.
There is a script that you could check to build a custom image with that parameter to "true"
Check here

Hello @alfespa17
I have reviewed the Zalando postgres cluster and it has hostnossl all           all          all     reject in pg_hba.conf file.
After adding an entry like this, fixed the connectivity error.
hostnossl terrakube     terrakube    all                trust
ref: https://www.postgresql.org/docs/8.0/client-authentication.html
So, ssl parameter also essential especially when run in production where data security is crucial.

I will add the parameter for next version at least for now you have a work around

SSL parameter was added in the following PR and will require the environment variable DatasourceSslMode to change the default value that is "disable"
https://github.com/AzBuilder/terrakube/pull/459


Error response from daemon: client and server don't have same version (client : 1.19, server: 1.18)

Software versions:

OS: Ubuntu 15.04 (3.19.0-22-generic #22-Ubuntu x86_64)
Docker: Docker version 1.7.1, build 786b29d
Machine: docker-machine version 0.3.0 (0a251fe)
VirtualBox: Oracle VM VirtualBox Manager 4.3.28 r100309

Steps to reproduce:

docker-machine create -d virtualbox test
eval "$(docker-machine env test)"
docker ps

Error response from daemon: client and server don't have same version (client : 1.19, server: 1.18)

The Boot2Docker version that gets installed in the virtual machine is:
Boot2Docker version 1.6.2, build master : 4534e65 - Wed May 13 21:24:28 UTC 2015
Docker version 1.6.2, build 7c8fca2
$ uname -a
Linux test 4.0.3-boot2docker #1 SMP Wed May 13 20:54:49 UTC 2015 x86_64 GNU/Linux

I have the same problem. It seems like Docker updated itself before all its components (Boot2Docker, Docker-machine) get a chance to upgrade.

Can you please try docker-machine upgrade test to see if it fixes your issue?

@nathanleclaire that fixed it!
$ docker-machine upgrade test
Stopping machine to do the upgrade...
Upgrading machine test...
Downloading https://github.com/boot2docker/boot2docker/releases/download/v1.7.1/boot2docker.iso to /home/cristian/.docker/machine/cache/boot2docker.iso...
Starting machine back up...
Starting VM...

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

(I am quite sure I have searched/tried hot to upgrade the machine before posting this issue... but, well...)

Hmmm, I didn't get the same thing
$ docker-machine upgrade test
FATA[0000] Host "test" does not exist

Do I need to create a docker-machine named test first and then upgrade it?? Does this mean I have to upgrade every single time???

@windweller, you should use your machine name in place of test. In my example above I used the name test so @nathanleclaire used that name in his answer.

Got that! Thank you!

Going to close this issue.  Glad that things worked out for you all!

In case you want to not hot swap a docker machine, @smashwilson and I put together Docker Version Manager to let you work between versions. It would be nice if docker machine's env also spat out the DOCKER_VERSION (as, e.g. '1.8.2').


deployment requires new notification resource creation stuck in ci/cd

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d11dtbgh84vt88
Region
us-east-1
Amplify Console feature
Backend builds
Describe the bug
While using continuous deployment, if an environment requires to create a notification resource (on git push), the workflow is stuck with a prompt to amplify-cli and the build fails.
2022-02-16T21:57:30.723Z [WARNING]: - Building custom resources
2022-02-16T21:57:30.831Z [WARNING]: ✔ Successfully pulled backend environment main from the cloud.
2022-02-16T21:57:30.856Z [WARNING]: - Retrieving channel information for APNS.
2022-02-16T21:57:30.902Z [WARNING]: ✔ Channel is not setup for APNS
2022-02-16T21:57:30.903Z [WARNING]: - Retrieving channel information for FCM.
2022-02-16T21:57:30.937Z [WARNING]: ✔ Channel is not setup for FCM
2022-02-16T21:57:30.937Z [WARNING]: - Retrieving channel information for Email.
2022-02-16T21:57:31.022Z [WARNING]: ✔ Channel is not setup for Email
2022-02-16T21:57:31.022Z [WARNING]: - Retrieving channel information for SMS.
2022-02-16T21:57:31.059Z [WARNING]: ✔ Channel is not setup for SMS
2022-02-16T21:57:31.068Z [INFO]: ? Choose authentication method used for APNs (Use arrow keys)
❯ Certificate
Key
Expected behavior
Build should take the values from environment variable and build should succeed.
Reproduction steps

Create a react app npx create-react-app testapp.
Run amplify init, create main environment.
Add an api amplify add api and push the changes to the cloud amplify push -y.
amplify add hosting and setup continuous deployment and connect git branch main.
Create another git branch beta.
On console, click Connect Branch and setup frontend deployment for beta branch.
Create a new backend environment 'beta`.
On main amplify environement, run amplify add notifications and enter the value for the prompts and complete the workflow. Commit git branch main.
Now checkout to beta git branch, checkout amplify environment beta. Make some code changes and git commit.
Deployment will fail in amplify console because of the amplify-cli prompt given in the description.

Build Settings
No response
Additional information
No response

Workaround:

Download the most recent amplify cli. (npm i -g @aws-amplify/cli).
From the project folder, pull the recent changes of healthy environment (main) from cloud backup using 'amplify pull' command.
Now switch to the problematic environment using 'amplify env checkout beta'.
If you notifications configurations are missing for the environment, CLI will prompt to enter those values.
Do 'amplify push' to push the changes to the cloud.
Any further code changes can be done through the CI/CD (git push). This workaround is required only if there are any updates required to the notifications resource.

Hi @sundersc 👋🏽 thank you for opening this issue and for providing detailed reproduction steps. We will reproduce the behavior and add it to our backlog.

This was never a problem for us in the past but is now an issue since CLI 10.3.0 was released. It is prompting us for APNS/FCM/Email notifications settings every time we do a pull, whether it is headless or interactive.

Seems possibly related to #3042

This issue was fixed with Amplify CLI v10.4.0: https://github.com/aws-amplify/amplify-cli/issues/11238#issuecomment-1295067101.


Maintained

Is this repo still being maintained?

A bit of a look around suggests the answer to this is currently "no". See #390 for my proposal to change that.


Bad zips should return 400 error

This one is pretty subtle.
The old behavior was, we were raising an Exception, and letting Django sort out the rest. This meant, in production, a 500 error. My main concern is that this was polluting the 'Error' rate in New Relic.
Also, I did some reading, and it seems like HTTP 400 is a more appropriate response.
So, when DEBUG is False, we now return a simple failure message with HTTP status 400. We may wish to create a full-fledged error template for 400, like we do 404 and 500-- but users of the /find-a-housing-counselor/ tool will never get this far, so I'm confident the error will mostly be seen by bots.
Testing

Hit /save-hud-counselors-list/?zip=9021 and note the exception message you get
temporarily set DEBUG to False in cfgov/settings/local.py
Hit /save-hud-counselors-list/?zip=9021 and note the new error message
If you want to get really fancy, use curl and see the HTTP status:

curl -I http://localhost:8000/save-hud-counselors-list/?zip=9021
should look something like this:
HTTP/1.0 400 BAD REQUEST
Date: Thu, 05 May 2016 16:50:36 GMT
Server: WSGIServer/0.1 Python/2.7.11
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8

Review

@kurtw @kave @richaagarwal

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

Nice 👍

👍


Fix inspectdb

Pull Request with Skipped Tests Removed.
Field Info was included from earlier versions of Django since collation support was added, thus breaking introspection.

Please don't open new PRs when making changes. Just push the changes to your branch in your fork and the PR is updated automatically.

Please don't open new PRs when making changes. Just push the changes to your branch in your fork and the PR is updated automatically.

Apologies, I just made a mistake on my commit history and made the quick decision to remove the branch. Anyways I removed 2 skipped tests under inspectdb.

Apologies, I just made a mistake on my commit history and made the quick decision to remove the branch. Anyways I removed 2 skipped tests under inspectdb.

Pushed changes include adding Positive Integer Field. I think this resolves most of the issues.

Pushed changes include adding Positive Integer Field. I think this resolves most of the issues.

Thanks!

Thanks!


Feature: dSYM support

For macOS platforms dSYM bundles are just pretty wrappers on DWARF files - which you can use with the full path, but difficult from the UI as the file picker does not show the contents of the bundle.
If the selected path is a folder ending .dSYM appending the path Contents/Resources/DWARF/<file> would be the path for the file.
In another universe it could also be really interesting to provide connection to the files in the python directory as they are lldb extensions that provide additional debugging functionality that can be used

Closing in favor of https://github.com/Vector35/binaryninja-api/issues/3643
Please check out our new dwarf parser: https://github.com/Vector35/binaryninja-api/issues/3206#issuecomment-1629342753


Fixed overallocation memory leak in Lucker's Arena

I was over allocating because I had something in a for loop when I shouldn't have. I was unable to make the code due to a conflict elsewhere in the project. But I'm very confident Lucker's Arena will compile and make just fine.

I have tested pulling in the allocation fix, everything worked fine. I'm curious what conflicts you had, but I'm fairly certain you may be missing changes from main.


Form "Text" entry disappears when switching between modes

Describe the bug
When I click the = sign to switch between markdown and templating, the element flickers in and out.
Steps to reproduce

Create a new Diagram
Add a Text vie
In General > Text, switch to templating and back

Expected behavior
The = sign is removed/added without visual disturbance, e.g. like the Image source entry

Environment
Camunda Modeler system information

Version: 5.10.0-rc.0
Operating System: Linux x86_64 amd64
Plugins:
Execution Platform: Form - Camunda Platform 8

Additional context
No response

cc @pinussilvestrus @Skaiir

Not sure if same problem: It also sets the cursor to the end when switching modes by keyboard:

Expected:

Thanks for letting us know. I assume it's not blocking the release?
I added it to our team board to check.

Yeah, this is a minor thing and not blocking 😄

[q] Should this field be feel or feelers templating? Because it seems to behave like a default FEEL field right now, while this PR says it should be feelers.

If it should support templating, than that would be blocking (and a separate issue). Also reproduceable on https://demo.bpmn.io/form

@marstamm I wasn't able to reproduce it anymore (I believe it was fixed as it's been a while), please if you still observe this behavior reopen this issue.


[docs] Add a 404 page

[x] I have followed (at least) the PR section of the contributing guide.

Closes https://github.com/mui/material-ui/issues/31349
Okay, this is a longstanding and quite simple PR. It adds a slightly better-designed 404 page than our standard one. Having something a little bit thoughtful for this scenario adds a lot to communicating our care for attention to detail and polish!
From what I could test, based on the Next.js docs, simply creating a 404.tsx page is enough to route all of the 404 requests to it. It seems to be working well?! I'd appreciate any insights here if there's more wiring I need to do.
Preview: https://deploy-preview-40884--material-ui.netlify.app/blablablabla

@oliviertassinari — sweet; thanks for jumping to fix the icons within the search! There's an old issue about that (https://github.com/mui/material-ui/issues/33731); can we close it by merging this PR after your changes?

There's an old issue about that (https://github.com/mui/material-ui/issues/33731);

@danilo-leal Ah, ok, yes, it's the same bug. I'm removing this commit from this PR. It deserves its own.

@oliviertassinari, quick nudge here to see if you have any other comments? :)

It looks great 👍

In the future, we could have custom 404 per docs area, e.g.

website
blog
docs

But wow, it feels like you need a business of the scale of >200 people for this to make sense 😄, e.g. https://stripe.com/sefsef vs. https://stripe.com/docs/sefsef


Check that the image is written properly

Maybe we should provide a checkbox (which defaults to true) for the user to choose if they want to run the check (which is extra time overhead)?

A good approach is to calculate md5sums from both the image and the drive. See https://help.ubuntu.com/community/HowToMD5SUM#Check_the_CD for more information.

This was implemented in resin-image-write: https://github.com/resin-io/resin-image-write/pull/16. UX and design is being discussed at the moment.

The progress bar stripes can be accomplished with the CSS3 technique described in this article: https://css-tricks.com/css3-progress-bars/


⚠ Bofrost.es has degraded performance

In d9f885c, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1474 ms

Resolved: Bofrost.es performance has improved in 626eb7b after 9 minutes.


[Feature] replace ResourceTracker with GC/Finalizer mechanism of Application

Is your feature request related to a problem? Please describe.

Currently, we use ResourceTracker to track cluster-scoped and cx-namespace resources because these resources cannot be cascadingly deleted with the deletion of their owner application.
Along with the refactor work #1705 , application should have GC/Finalizer mechanism instead of purely cascading deletion.
GC/Finalizer will treat cluster-scoped/cx-namespace/normal resources equally. Thus, it's no need to maintain ResourceTracker.
Describe the solution you'd like

Application status should record its all resources' typed references.
Do GC in each round of reconciliation.
Do finalizer for cluster-scope/cx-namespace resources (or always do finalizer for any resources, easier to implement)
Describe alternatives you've considered

Additional context

\cc @wonderflow @wangyikewxgm

You mean delete all related cluster/cx-namespace resources in finalizer phase?

I think this make sense.

I hope we still keep the ResourceTracker  object and write a controller to handle all the GC job, it will be more clean and the main Application controller will be more robust

Can we close this issue? I think it's finished

@wonderflow Sure. Close for it's fixed in #1763 .


Make uids of duplicated items unique in FileSystemDock

Fixes #54774
This PR does the following things:

If a folder is duplicated. It iterates over all elements of the folder and recursively calls _try_duplicate_item for every element.
If a file, that does not have a corresponding .import file, gets duplicated, the file is loaded as a Resource and then saved again. The new uid is generated when the resource gets saved at a new location. If the file does have a .import file the file itself will be copied and the .import will be saved after removing the uid entry (which is the current behaviour). When saving the .import file a new uid is generated.

Files, which do not use a uid or when the uid could not be retrieved, will just be copied. Since it probably means that it is either a text file (.txt, .gd, .md, ...) or does not have a uid set.
I am using ResourceSaver::save with the FLAG_COMPRESS flag, therefore some files which have not been originally compressed, will differ from the old file (But this flag seems to have no impact on text based files like .tres and .tscn).

@KoBeWi Is there still something that needs to be evaluated? I intend to do this PR as part of hacktoberfest. So it would be nice if this PR got accepted before the end of october.

Sorry for waiting.
It does not fix the issue, duplicated scenes still have the same UID. scene_unique_id is id of built-in resources within scenes.

I changed the PR quit heavily. Instead of fixing the UIDs after copying the files, the resources are loaded and saved. And also the _fix_uid_of_duplicated_item method has been removed and _try_duplicate_item is directly used.

Thanks!


Resolve the tagging delta b/w Infrastructure and NRI's

Reported by @thezackm

I'd think we'd just use the New Relic Infrastructure Tag, not sure what the difference is between these 2 filters.
https://opensource.newrelic.com/explore-projects?tag=New Relic Infrastructure
https://opensource.newrelic.com/explore-projects?tag=Infrastructure

I've cleaned this up. in the linked PR.

I've cleaned this up. in the linked PR.


Making a tutorial / howto regarding adapters

As asked on Twitter, I'm opening this issue. This will also help me clarify what I mean by "a tutorial".
Although the API is quite small, perhaps the authors of the official adapters could write a document about the preferred architecture of an adapter and the best practices (OTP applications, helpful 3rd-party libraries, etc).
ping @scrogson :)

@ghost have you got anywhere with this?
I was trying to find some kind of documentation about adapters so we can write our own and maybe contribute to the "adapters ecosystem" of Hedwig.
But so far no luck ;(

This is definitely on my radar. But it may be something I will tackle for 2.0 as the Adapter API may change in the future.
At the moment, you could have a look at /hedwig-im/slack and /hedwig-im/xmpp as examples for implementing an adapter.
The current adapter behaviour is very small but I agree it isn't documented properly.

@scrogson Thanks for the quick response!
I'll keep an eye for it then!!
And again thank you for the good work on Hedwig!

I'm in the process of writing an adapter for Hedwig. Should we use the Wiki for now to document the process? I can add notes as I go.

@sntran feel free to create a wiki page.


Remove locale in link

Per guidelines in https://aka.ms/azsdk/guideline/links

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

@benbp is it possible to set up a pipeline for docs that just performs link verification and nothing else?  This break was noticed after-the-fact due to lack of CI.
https://dev.azure.com/azure-sdk/public/_build/results?buildId=1588275&view=results

@jhendrixMSFT let me look into it. I'm vaguely recalling that we had to disable CI link verification due to mgmt plane onboarding chicken or egg problems? Otherwise I would have expected this same pipeline that's failing to now to have failed as a PR gate.

Looks like it was overridden, probably due to CI hanging like it was for me this morning.
#17763

I override the check because of the chicken or egg problem for the new created doc. Sorry for miss this link problem. It is weird in my region; the URL works fine with en-us.

Looks like it was overridden, probably due to CI hanging like it was for me this morning.
#17763

I override the check because of the chicken or egg problem for the new created doc. Sorry for miss this link problem. It is weird in my region; the URL works fine with en-us.

@tadelesh we explicitly disallow region/language links in favor of the non-region specific URLs which is probably why it failed.

Got it. Thanks.


Prototype Pie Chart

For one more Chart example to get a feel of the variety, a Pie Chart should be prototyped. It should have the same amount of functionality as the Line Chart currently does.

Merged in #31 to demo/prototypes-v1 branch


Breadcrumbs issue with models containing '/'

The Breadcrumbs is broken in the model details page because it takes a naive approach to splitting the path into parts.
For example, if you give it a modelId that contains a / :
ex: google/somemodel
it will break that up into 2 links
MLHub / models / google / somemodel.
Clicking the google link breaks the UI.
We need a way to tell the breadcrumbs that fragments google and somemodel should be joined into 1 fragment.

https://github.com/tapis-project/tapis-ui/assets/170014805/9cb05ead-de6a-4fa0-8f91-31daf4e05563

Uploading Screen Recording 2024-05-31 at 2.47.19 PM.mov…

Oh hi! Pods deals with this.
For example, breadcrumbs work here: https://tacc.develop.tapis.io/tapis-ui/#/pods/images/dhannywi/inference-api

I added a handy if statement for /pods/images that essentially slices pods, images, and remaining. This is the commit. Changes to lib/tapisui-common/src/ui/Breadcrumbs/breadcrumbsFromPathname.ts mattered the most.

22db795f81203ef7f510466104e894ee215f2d56 Committed! Made changes for ML-Hub models and datasets!


Create a 404 page

Describe the bug/feature
Create a 404 page
To Reproduce
whenever try to access not existing page
Expected behavior
show 404 error
Environment (please complete the following information):

Browser: all

Additional context
Use some image in the 404 page  also  instead of text only

Page should match the website theme.

@satyampgt4 @rockingrohit9639, can i work on this, my previous issue is on hold due to some data changes to be made in database :-)

you can start working on it.


[fix/1.x] Replace react-buzz with react-http

Closes #580, #565

Codecov Report

Merging #583 into master will increase coverage by 7.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #583      +/-   ##
============================================
+ Coverage     48.57%   55.64%   +7.06%
+ Complexity      283      272      -11
============================================
  Files            50       50
  Lines          1126      886     -240
============================================
- Hits            547      493      -54
+ Misses          579      393     -186

Impacted Files
Coverage Δ
Complexity Δ

src/Console/StartWebSocketServer.php
3.65% <ø> (-1.05%)
17.00 <0.00> (ø)

src/Statistics/Logger/HttpStatisticsLogger.php
50.00% <ø> (-2.64%)
10.00 <0.00> (ø)

src/WebSockets/Messages/PusherClientMessage.php
91.66% <0.00%> (-1.20%)
4.00% <0.00%> (ø%)

src/WebSockets/Channels/Channel.php
93.02% <0.00%> (-1.10%)
20.00% <0.00%> (-1.00%)

src/Apps/App.php
81.25% <0.00%> (-0.57%)
12.00% <0.00%> (-3.00%)

src/Console/CleanStatistics.php
92.30% <0.00%> (-0.55%)
1.00% <0.00%> (ø%)

src/WebSocketsServiceProvider.php
95.23% <0.00%> (-0.22%)
6.00% <0.00%> (ø%)

src/Apps/ConfigAppProvider.php
94.59% <0.00%> (-0.15%)
10.00% <0.00%> (-5.00%)

... and 29 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c85ec38...a087cb9. Read the comment docs.


Use fiona.meta.extensions for tests

Use fiona.meta.extensions in conftest
Refactor test_bounds to use testdata_generator

Coverage decreased (-0.2%) to 87.397% when pulling 6b9dadfbcdf7d85e5e3d42d65b961d8313258b1e on rbuffat:use_fiona_meta_in_tests into 137853e1ccb162d97adf3238dc2788cd278f8789 on Toblerity:maint-1.9.

There I go again. Somehow, the changed number of return values from the testdata generator slipped by git.


Unable to customize .carousel-indicators class because it's used for presentation and behavior

the class .carousel-indicators have los of css styles attached for positioning.
if ones want to customize the appearance, you probably cant use the .carousel-indicators class.
for example, if you want to use grid classes like .col-sm-offset-3, it wont work because the margins will get all wrong.
removing carousel-indicators class so you can have your own 'custom-carousel-indicators' makes carousel indicators stop working because javascript use the class to access the items inside with no option to choose a selector on initialization. (or I didn't see it mentioned in the docs).
Some suggestions

use 2 classes, one for presentation and other for behavior

allow initialization of component to specify a class for indicators.

$('.carousel').carousel({indicators: '.custom-carousel-indicators'});

Going to close this as a won't fix actually; we have the same problem for all our selectors in our carousel JS and I don't foresee us adding additional classes or data attributes to address them all.


Readme update: The call bootstrap-responsive-tabs() didn't work ...

... but bootstrapResponsiveTabs() did.

@slopjong Thanks for catching this!


Adult Swim error "Could not find XML element's text headline" (mso or cookies)

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.07.10. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[X] I've verified and I assure that I'm running youtube-dl 2018.07.10

Before submitting an issue make sure you have:

[X] At least skimmed through the README, most notably the FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones
[X] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
--cookies:
K:\temp_ytdl>youtube-dl.exe --verbose --all-subs --embed-subs --cookies cookies.
txt "http://www.adultswim.com/videos/mostly-4-millennials/diversity/"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--all-subs', '--embed-subs', '--cookie
s', 'cookies.txt', 'http://www.adultswim.com/videos/mostly-4-millennials/diversi
ty/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.07.10
[debug] Python version 3.4.4 (CPython) - Windows-XP-5.1.2600-SP3
[debug] exe versions: ffmpeg N-86763-g341f012-Reino, ffprobe N-72220-gd0ac2f5
[debug] Proxy map: {}
[AdultSwim] diversity: Downloading webpage
[AdultSwim] AWRc13fHTdxzjxdCmuVQ: Downloading XML
ERROR: Could not find XML element's text headline; please report this issue on h
ttps://yt-dl.org/bug . Make sure you are using the latest version; type  youtube
-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and includ
e its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\YoutubeDL.py", line 792, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\common.py", line 502, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\adultswim.py", line 138, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\turner.py", line 54, in _extract_cvp_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\utils.py", line 322, in xpath_text
youtube_dl.utils.ExtractorError: Could not find XML element's text headline; ple
ase report this issue on https://yt-dl.org/bug . Make sure you are using the lat
est version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the
 --verbose flag and include its complete output.
...
<end of log>

--ap-mso:
K:\temp_ytdl>youtube-dl.exe --verbose --all-subs --embed-subs --ap-mso Charter_D
irect --ap-username PRIVATE --ap-password PRIVATE "http://
www.adultswim.com/videos/mostly-4-millennials/diversity/"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--all-subs', '--embed-subs', '--ap-mso
', 'Charter_Direct', '--ap-username', 'PRIVATE', '--ap-password', 'PRIVATE', 'ht
tp://www.adultswim.com/videos/mostly-4-millennials/diversity/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.07.10
[debug] Python version 3.4.4 (CPython) - Windows-XP-5.1.2600-SP3
[debug] exe versions: ffmpeg N-86763-g341f012-Reino, ffprobe N-72220-gd0ac2f5
[debug] Proxy map: {}
[AdultSwim] diversity: Downloading webpage
[AdultSwim] AWRc13fHTdxzjxdCmuVQ: Downloading XML
ERROR: Could not find XML element's text headline; please report this issue on h
ttps://yt-dl.org/bug . Make sure you are using the latest version; type  youtube
-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and includ
e its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\YoutubeDL.py", line 792, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\common.py", line 502, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\adultswim.py", line 138, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\extractor\turner.py", line 54, in _extract_cvp_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp4etivjk5\bu
ild\youtube_dl\utils.py", line 322, in xpath_text
youtube_dl.utils.ExtractorError: Could not find XML element's text headline; ple
ase report this issue on https://yt-dl.org/bug . Make sure you are using the lat
est version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the
 --verbose flag and include its complete output.
...
<end of log>

Duplicate of...? I searched and didn't see this issue posted.


Reference github repo vs. doc page

Consider referencing the github repo  https://github.com/maxbube/mydumper which includes usage instead of "MYDUMPER & MYLOADER DOCUMENTATION" page at https://centminmod.com/mydumper.html
The github repo appears to be active while the documentation site is "a copy of the Mydumper documentation"

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

ID: b14c5b08-b543-b9d5-88f5-bfe846bd57d4
Version Independent ID: 4004d227-1c90-e4ec-4c14-77a6db6c8a75
Content: Tutorial: Migrate MySQL to Azure Database for MySQL offline using DMS - Azure Database Migration Service
Content Source: articles/dms/tutorial-mysql-azure-mysql-offline-portal.md
Service: dms
GitHub Login: @sumitgaurin
Microsoft Alias: sgaur

@philspokas Thank you for the detailed feedback. This is being assigned to the content author to evaluate and update as appropriate.

Approved a PR and associated the bug to it. Should get resolved by evening.

Resolved.
#please-close


Leaking memory?

Hey! I'll start off and say that everything said here is nothing but an assumption/not verified yet supported by facts we've concluded during our attempt to solve our issue.
I'll make this as short as I possibly can; we're using the package inside our project which is meant to support high rates of data transmission.
What we're doing is as follows: we transfer files from one end to another, each file eventually to be reconstructed by reedsolomon using this package.
The way we do is we assign a suitable amount of shards and parity per each file and on the receiving end we grab these numbers and use a map to map a pair of shards & parity to an encoder. I.e. reuse encoders.
The problem is, when we reuse encoders, our memory constantly goes up until we reach out of memory. When we do not reuse and create a new encoder per each file we receive, our memory doesn't go up but stays still.
We're talking massive amounts of RAM caught up by this. Reaching up to 360GB RAM in less than an hour.
I would love to know if there's something we're missing, perhaps is it possible that our encoders hold the data of our matrices? Are the encoders stateless that they allow reuse or do they keep data stored after they're used?
Any help is appreciated

@TomerElya Since there are several ways to use the package, could you post code that reproduces the problem?

@TomerElya Since there are several ways to use the package, could you post code that reproduces the problem?

type encoderConfig struct {
    shards int
    parity int
}

type Encoders struct {
    encoders map[encoderConfig]reedsolomon.Encoder
    lock *sync.RWmutex
}

func (encs *Encoders) Get(shards, parity int)  reedsolomon.Encoder {
    config := encoderConfig{shards, parity}
    encs.lock.RLock()
    encoder, exists := encs.encoders[config]
    encs.lock.RUnlock()
    if exists {
        return encoder
    }
    return encs.createNonExisting(config)
}

func (encs *Encoders) createNonExisting(config encoderConfig) reedsolomon.Encoder {
    encoder, err := reedsolomon.New(config.shards, config.parity)
    panicOnErr(err)

    encs.lock.Lock()
    defer encs.lock.Unlock()

    exisiting, exist := encs.encoders[config]
    if exists {
        return existing
    }

    encs.encoders[config] = encoder
    return encoder
}

And we use a reedsolomon encoder in both these cases:
func (s *ShardReconstructor) reconstruct() ([]byte, error) {
    enc := s.encs.Get(s.shards, s.parity)
    err := enc.ReconstructData(s.data)
    if err != nil {
        return nil, err
    }
    shardLen := 0
    for _, innerShard := range s.data {
        if len(innerShard) != 0 {
            shardLen = len(innerShard)
            break
        }
    }

    dataLen := s.shards * shardLen
    buf := make([]byte, 0, dataLen)
    w := bytes.NewBuffer(buf)

    err = enc.Join(w, s.data, dataLen)
    if err != nil {
        return nil, err
    }

    return w.Bytes(), nil
}

func (r *ChunksReconstructor) reconstructData() ([]byte, error) {
    enc := s.encs.Get(s.shards, s.parity)
    err := enc.ReconstructData(s.data)
    if err != nil {
        return nil, err
    }

    dataLen := s.shards * len(r.data[0])
    buf := make([]byte, 0, dataLen)
    w := bytes.NewBuffer(buf)

    err = enc.Join(w, r.data, dataLen)
    if err != nil {
        return nil, err
    }

    return w.Bytes(), nil
}

type encoderConfig struct {
    shards int
    parity int
}

type Encoders struct {
    encoders map[encoderConfig]reedsolomon.Encoder
    lock *sync.RWmutex
}

func (encs *Encoders) Get(shards, parity int)  reedsolomon.Encoder {
    config := encoderConfig{shards, parity}
    encs.lock.RLock()
    encoder, exists := encs.encoders[config]
    encs.lock.RUnlock()
    if exists {
        return encoder
    }
    return encs.createNonExisting(config)
}

func (encs *Encoders) createNonExisting(config encoderConfig) reedsolomon.Encoder {
    encoder, err := reedsolomon.New(config.shards, config.parity)
    panicOnErr(err)

    encs.lock.Lock()
    defer encs.lock.Unlock()

    exisiting, exist := encs.encoders[config]
    if exists {
        return existing
    }

    encs.encoders[config] = encoder
    return encoder
}

And we use a reedsolomon encoder in both these cases:
func (s *ShardReconstructor) reconstruct() ([]byte, error) {
    enc := s.encs.Get(s.shards, s.parity)
    err := enc.ReconstructData(s.data)
    if err != nil {
        return nil, err
    }
    shardLen := 0
    for _, innerShard := range s.data {
        if len(innerShard) != 0 {
            shardLen = len(innerShard)
            break
        }
    }

    dataLen := s.shards * shardLen
    buf := make([]byte, 0, dataLen)
    w := bytes.NewBuffer(buf)

    err = enc.Join(w, s.data, dataLen)
    if err != nil {
        return nil, err
    }

    return w.Bytes(), nil
}

func (r *ChunksReconstructor) reconstructData() ([]byte, error) {
    enc := s.encs.Get(s.shards, s.parity)
    err := enc.ReconstructData(s.data)
    if err != nil {
        return nil, err
    }

    dataLen := s.shards * len(r.data[0])
    buf := make([]byte, 0, dataLen)
    w := bytes.NewBuffer(buf)

    err = enc.Join(w, r.data, dataLen)
    if err != nil {
        return nil, err
    }

    return w.Bytes(), nil
}

@TomerElya Do you have a working sample? None of the calls you are using are storing any state or have any huge buffers, so I would suspect the problem is elsewhere in your code.

@TomerElya Do you have a working sample? None of the calls you are using are storing any state or have any huge buffers, so I would suspect the problem is elsewhere in your code.

@klauspost Generally, the reconstructed data is returned from the function and proceeds onto a different worker which writes the data and it ends here.
My problem resides exactly here. Once the data is written, I no longer hold any reference to it so we expect it to be garbage collected. I can not say what structure/object remains allocated that slowly takes up all of our memory yet I do know that if I don't reuse the encoders but create new instances for each incoming file, my memory stays still and doesn't flood.
Here I thought perhaps you could provide us with any leads on what could we possibly be doing wrong?

@klauspost Generally, the reconstructed data is returned from the function and proceeds onto a different worker which writes the data and it ends here.
My problem resides exactly here. Once the data is written, I no longer hold any reference to it so we expect it to be garbage collected. I can not say what structure/object remains allocated that slowly takes up all of our memory yet I do know that if I don't reuse the encoders but create new instances for each incoming file, my memory stays still and doesn't flood.
Here I thought perhaps you could provide us with any leads on what could we possibly be doing wrong?

@TomerElya If you cannot create a reproducer I am only guessing, and I don't expect the problem to be in the code you provided.
The encoder, err := reedsolomon.New(config.shards, config.parity) is thrown away in a few cases, but should be collected. Move the New to when you know you need it. But unlikely that will fix it.
You can create a memory profile what will show you where the leaking data is being allocated with inuse_space. That should be able to tell you what is being kept around.

@TomerElya If you cannot create a reproducer I am only guessing, and I don't expect the problem to be in the code you provided.
The encoder, err := reedsolomon.New(config.shards, config.parity) is thrown away in a few cases, but should be collected. Move the New to when you know you need it. But unlikely that will fix it.
You can create a memory profile what will show you where the leaking data is being allocated with inuse_space. That should be able to tell you what is being kept around.

I'm unable to export my memory profile file out here but top5 shows the following:
2. ShardReconstructor.reconstruct:
flat% 31.27%
sum% 74.94%
cum% 49.88%
3. klauspost/reedsolomon.newMatrix:
flat% 16.57%
sum% 91.51%
cum% 16.57%
5. klauspost/reedsolomon.inversionNode.insertInvertedMatrix:
flat% 1.88%
sum% 97.85%
cum% 1.88%
First spot is the function responsible for reading all the data from the file sender and then deliver it to the reconstructors, so I guess it makes sense for it to take the most memory.
Is it possible at all that the encoders hold any state at all? From previous reconstructions, buffers allocated for the decoding process?
I can't escape the fact that dumping used encoders and create new ones makes my memory leakage disappear

I'm unable to export my memory profile file out here but top5 shows the following:
2. ShardReconstructor.reconstruct:
flat% 31.27%
sum% 74.94%
cum% 49.88%
3. klauspost/reedsolomon.newMatrix:
flat% 16.57%
sum% 91.51%
cum% 16.57%
5. klauspost/reedsolomon.inversionNode.insertInvertedMatrix:
flat% 1.88%
sum% 97.85%
cum% 1.88%
First spot is the function responsible for reading all the data from the file sender and then deliver it to the reconstructors, so I guess it makes sense for it to take the most memory.
Is it possible at all that the encoders hold any state at all? From previous reconstructions, buffers allocated for the decoding process?
I can't escape the fact that dumping used encoders and create new ones makes my memory leakage disappear

It does cache inverted matrices so they don't have to be recalculated .
This was contributed in #36
https://github.com/klauspost/reedsolomon/blob/c54154da9e35cab25232314cf69ab9d78447f9a5/inversion_tree.go#L26
I wouldn't really expect it to cause the memory usage you are describing. Maybe @somethingnew2-0 is still around?
I will see if I can figure something out, otherwise I will find a way to disable it.

It does cache inverted matrices so they don't have to be recalculated .
This was contributed in #36
https://github.com/klauspost/reedsolomon/blob/c54154da9e35cab25232314cf69ab9d78447f9a5/inversion_tree.go#L26
I wouldn't really expect it to cause the memory usage you are describing. Maybe @somethingnew2-0 is still around?
I will see if I can figure something out, otherwise I will find a way to disable it.

@TomerElya Could you try out #160 - both with the changes and if that alone doesn't help with WithInversionCache(false) as well?

@TomerElya Could you try out #160 - both with the changes and if that alone doesn't help with WithInversionCache(false) as well?

@klauspost I have updated to #160 and ran it alone, same thing appeared to happen. I'm now running with AddInversionCache(false) and the memory seems steady. I'll let it run for a few hours or even overnight and hope for the best tomorrow.
I must say that I highly appreciate your fast response and care for our issue.

@klauspost I have updated to #160 and ran it alone, same thing appeared to happen. I'm now running with AddInversionCache(false) and the memory seems steady. I'll let it run for a few hours or even overnight and hope for the best tomorrow.
I must say that I highly appreciate your fast response and care for our issue.

Let me know. I will merge it either way.

Let me know. I will merge it either way.

@klauspost Held strong all night. Fixed our issue.
And, well, we move a pretty big amount of files and it seemed to have piled up with time until we got the OOM.

@klauspost Held strong all night. Fixed our issue.
And, well, we move a pretty big amount of files and it seemed to have piled up with time until we got the OOM.

Unless there is a big number (virtually any combination) of encoders created it shouldn't grow to the sizes you describe.
I will keep this open until I have the chance to check that it isn't spending more ram than it needs to.

Unless there is a big number (virtually any combination) of encoders created it shouldn't grow to the sizes you describe.
I will keep this open until I have the chance to check that it isn't spending more ram than it needs to.

@TomerElya Could you give an estimate on the number of different encoderConfig variations and the ranges of the number of data/parity shards?

@TomerElya Could you give an estimate on the number of different encoderConfig variations and the ranges of the number of data/parity shards?

@klauspost By estimation, we didn't have more than 7-10 encoders tops. To test our system we used the same size for files which resulted in the same encoders being reused. As for amount of shards/parity, that really depends on the size of the files we sent since we have our own calculation to determine the amount of shards and parity we desire.

@klauspost By estimation, we didn't have more than 7-10 encoders tops. To test our system we used the same size for files which resulted in the same encoders being reused. As for amount of shards/parity, that really depends on the size of the files we sent since we have our own calculation to determine the amount of shards and parity we desire.

@TomerElya What is the ballpark of total data+parity shards?

@TomerElya What is the ballpark of total data+parity shards?

@klauspost A calculation we use that varies based of the value of multiple parameters. I really can't give an answer that will suffice or be accurate.

@klauspost A calculation we use that varies based of the value of multiple parameters. I really can't give an answer that will suffice or be accurate.


6th Release Notes page

Design to do's

[x] Finalize content for the 6th release notes page in Google docs.
[x] Finalize design in Figma.

Note for @bhushankhope: The structure of this page will be exactly the same as the live pages for 4th release notes & 5th release notes. We will add a card button to the Training & Outreach overview page per usual. See Figma for Training & Outreach Overview.

Notes for @bhushankhope

I reached out to Lisel and Katy to finalize this content today as it is due by the end of the business day.
I don't have time to style the underlined embedded links in the design file. There are no changes to the embedded link look and functionality from the standard around the HRA Portal. We will use the same styling for embedded, in-text links; all external links should open in new tabs per usual. Thank you!

Afternoon update: Content is finalized and passed off to Katy for review.
We will use this content if we don't hear back by noon tomorrow.

6th Release Notes content has been finalized in the Google Doc. Thanks so much!

Hi @bhushankhope - Katy and Andi added several last-minute changes in the Google Doc. Most of the content was updated and 3 new sections were updated as well. Please use this document as the source of truth as Figma will not be updated tonight. I will be in at 9 am tomorrow. Let me know if you have questions, and thanks for all of your work on CNS websites!

One last update for the SOPs section this morning:

SOP: Computing Cell Type to Vasculature Distance Distributions

Added this in PR #368

Morning Staging Review:
It's looking great @bhushankhope! I found a few items that need to be edited for this page:

[ ] APIs & Interfaces section: Embed the FTU Explorer link.
[ ] Use the HRA section: The bulleted list needs to route to their respective Use the HRA page/user story page. Currently, they all route to humanatlas.io's landing page.
[ ] Contact Us section: All mailto: links route to Katy's email. Please add Bruce & Andreas' emails to their respective cards.

Fixed this in PR #371


Add scripts to run the frontend and the backend separately or both at once from the root of the project

Is your feature request related to a problem? Please describe.
It's not exactly a problem, but it will help others who want to work on a specific part of the project focus on it and also they won't have to be in a specific folder to run the scripts, it will all be done from the root of the project
Describe the solution you'd like
All that have to be done is to install concurrently and nodemon to the project and write the scripts to perform the said tasks

Hi and thanks @prime1999
I agree that nodemon needs to be added.
Well, I don't know anything about concurrently package or any of the scripts required.

I can actually work on this if permitted to

You're welcome to work on it.


[REVIEW] added semi-colons to prevent jsmin breaking

Currently when using jsmin the dropdown component causes breaks.
dropdown.js:119:121
    if (e.which == 38 && index > 0)                 index--         // up
    if (e.which == 40 && index < $items.length - 1) index++         // down
    if (!~index)                                    index = 0

notice the missing ; at the end of line
results in

Tests passed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: CONFIRMED
Commit: b9d1262bad79440af0d42ac539d1bbfca7937261
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/78526263
(Please note that this is a fully automated comment.)

Approximate duplicate of #3057.


Let users set is_microsetta when creating a project but not alter it when updating

As @wasade points out, if an existing project has at least one existing kit, reclassifying that project from being a Microsetta project to not being one (or vice versa) requires some actions on the ag_kit and ag_kit_barcodes tables.  The existing update_project functionality does not take these actions (and I am not entirely clear on what they should be), so in the short term, disable changing the is_microsetta field through the microsetta-admin gui when UPDATING a project's info.  However, continue to allow setting this info through the gui when creating a NEW project.

@wasade, I'm curious as to what the correct behavior would be if one changed the is_microsetta setting for an existing project.  To me it looks like:

If the project has no kits, then it's smooth sailing, of course--just change the is_microsetta field in the barcodes.project table.
If there is even one kit, and the project is changing from not microsetta to microsetta, then we can add new records for the existing kits/barcodes to the ag_kit and ag_kit_barcodes table (after inferring the number of samples per kit from what is already in the db).
If there is even one kit, and the project is changing from microsetta to not microsetta, we can just try to delete all the associated records in the ag_kit and ag_kit_barcodes table and hope like heck no one has actually done anything with them yet ... however, if any of the kits is connected to any scan/etc then I think the delete will fail bc of foreign keys; in that case do we just tell the user "sorry, too late, you can't do that now"?

Thanks, @AmandaBirmingham! I think you're spot on with the bullet points. The first two cases are "easy" going from not is_microsetta to is_microsetta. The second bullet point probably just needs to exercise the if-statement here, which would probably be easiest if that block was decomposed. The harder item, as you note, is from is_microsetta to not is_microsetta. I agree that we should not allow that action if any kit has been used.


Status Table Widget - 0s show as nulls

Description
Status Table Widget - 0s show as nulls. Example:

Steps to Reproduce
Deploy Status Table widget - Run query with 0 result returned
Expected Behaviour
Literal 0 displayed, not null.

Fixed in latest release, value will display now. In cell configuration you can flag on the trigger if zero as well for the color/highlighting to function properly.


This file does not belong on the repo

https://github.com/dukeeagle/DZIGA.jl/blob/254ad2d877eda9db1f3aa9dd442e2502b0f513a7/DZIGA FINAL PROJECT.code-workspace#L1-L8
It is a local file giving the code editor config for your computer. It would be no use to anyone else working with you on it

079ef86a327ec4794efc7a83bab9b877f8f9399b


improve vfs cp to handle disparate source

the VFS.cp impls do not well support more disparate copying. e.g.
cp /s3/minio/b1/o1 /local/path/to/o2 /s3/minio/b2

perhaps we can improve this in stages. first handle cases such as above. then, more complex will be to handle cases such as
cp /s3/minio/b1/o1 /s3/aws/b1/o2 /s3/minio/b2

i.e. cross-provider or cross-region collation


Error while Flashing ESP32

I am getting the following error while flashing the ESP32. (shown in img)
I have followed the readme for the menuconfig and have ESP-IDF v4.1.
Working on a single ESP in station mode and moble's hotspot as AP.  I have changed 'myssid' and 'mypassword' to the mobile hotspot ssid and pwd. Wondering if doing this can connect my ESP to the hotspot ?.

"A fatal error occurred: Timed out waiting for packet header"
Do you need to hold a "flash" button to flash this ESP32?

Yes

Is the issue resolved? Can I close this issue?


Make Scan QR Code Big and Easily Accessible In Playground App

Please, provide the details below:
It would be great if Scan QR Code button is made big, in the center to make it easily reachable and accessible as that is the only button which would be used for 99% of the time when the app is used in both ios and android app.

@rakeshgirase Thanks for your suggestion! Isn't it that you scan the first time and then the app refreshes out of the box on every change? It would help if you visualise your idea, even if it is on paper

Something like this.

We have deploy a new version in which we have addressed this issue.


support lambda provisioning within lambda

currently when provisioning we assemble the lambda archive assuming virtualenv paths (#816 for system paths), when we're in lambda exec env the layouts for sources are different, we should be aware of that to be able to generate a lambda archive from within lambda.

good example might be a lambda subscribed to cwe on CreateBucket and then attaching an object encrypt lambda.

I think https://github.com/capitalone/cloud-custodian/pull/997 sets us up for this.

@kapilt What's the end product here? Do you want some helper API in mu for this? If the scope is just "support this scenario" then I believe #997 ticks that box.

Calling this done w/ #997. Please reopen if necessary, @kapilt.


[stable/mongodb] Update to the recommended pvc patterns.

This is a split-off of PR #408 to just contain the chart mongodb.
If there's any commonality in changes nessary between this PR and the others that are being submitted at once, please mention them in #408.
Some things to note:

This initial PR will not be updating the Chart.yaml's version string, as I feel it should be done manually per-pr once each chart's otherwise acceptable.
An automated script created the splits and the PRs, on a per-folder basis under stable, after copying the relevent files from a backup of my local copy of #408

@k8s-bot ok to test


Redis-x64-2.8.2402 does not run on windows server 2003

Redis-x64-2.8.2402 can not run in windows server 2003 64 bit, suggesting " Redis-server.exe is not a valid win32 runing program " when execute the command "redis-server.exe --service-install redis.windows-service.conf" in cmd.
How can we let the Redis run on window server 2003 ?
PS: Redis-x64-3.0.504 have the same problem.

Are you sure you are running a 64 bit Windows 2003 server?
(From https://support.microsoft.com/en-us/kb/827218 )
Windows Server 2003
If you have Windows Server 2003, there are two methods to determine whether you are running a 32-bit version or a 64-bit version. If one method does not work, try the other method.
Method 1: View System Properties in Control Panel
Click Start, and then click Run.
Type sysdm.cpl, and then click OK.
Click the General tab. The operating system is displayed as follows:
For a 64-bit version operating system, Windows Server 2003 Enterprise x64 Edition appears under System.
For a 32-bit version operating system, Windows Server 2003 Enterprise Edition appears under System.
Method 2: View the System Information window
Click Start, and then click Run.
Type winmsd.exe, and then click OK.
When System Summary is selected in the navigation pane, locate Processor under Item in the details pane. Note the value.
If the value that corresponds to Processor starts with x86, the computer is running a 32-bit version of Windows.
If the value that corresponds to Processor starts with EM64T or IA-64, the computer is running a 64-bit version of Windows.


Fix location picking deconfliction

The Deconfliction class doesn't seem to properly prevent the queueing of overlapping build orders.
Probable cause: Some kind of bug in the Check function linked above
Possible other cause:  Waits in between location picking and location registration (if the operation isn't "atomic" then it may not be thread safe).

Can reproduce by spawning a bunch of engies together with jobs they want to do - leads to lots of overlap.


Swift 3.0?

Howdy, I had a long flight recently and decided it would be a good time to contribute a bit to the project.  I've begun updating code to Swift 3.0 (based on the 2016-05-09 snapshot).  Do you want to open up a 3.0 branch and have me open up a PR to it?

Let's hold off until we see what's announced at WWDC and what comes with the initial Xcode beta. We certainly want to support this, but it's quite a bit of work to maintain a separate branch for months on end. Once we see what's announced, we'll get a plan together for how we plan to support Swift 3 until the official release.
Cheers. 🍻


feat: add forceRefreshValuesCCReport to support dual relay switch ZL7432

Added the device compat option forceRefreshValuesCCReport to force refreshing values of a device when handling BinarySwitchCCReport which lacks of endpoint information.
The issue comes from the dual relay switch ZL7432. When manually press one of the switch, it sends the BinarySwitchCCReport but doesn't include the endpoint id. Therefore, the driver doesn't know which endpoint has value changed.
This fix will force refreshing the value of a device (all endpoints) if it get the BinarySwitchCCReport.

I appreciate the effort, but this feels like a workaround for a symptom of an underlying problem.
Please post a zwave-js log of a re-interview of the node, so I can have a look.

@AlCalzone Please see the 3 attached logs.
2021-04-17T23:10:44.190Z SERIAL « 0x010b0004000703250300c10013                                        (13 bytes)
2021-04-17T23:10:44.191Z CNTRLR   [Node 007] [~] [Binary Switch] currentValue: false => false       [Endpoint 0]
2021-04-17T23:10:44.191Z SERIAL » [ACK]                                                                   (0x06)
2021-04-17T23:10:44.192Z DRIVER « [Node 007] [REQ] [ApplicationCommand]
                                  └─[BinarySwitchCCReport]
                                      current value: false
2021-04-17T23:10:44.192Z CNTRLR   [Node 007] Mapping unsolicited report from root device to first supporting end
                                  point #1
2021-04-17T23:10:44.193Z CNTRLR   [Node 007] [~] [Binary Switch] currentValue: false => false       [Endpoint 1]

As you see from the manually-turn-on/off.log, it doesn't report the endpoint value so the controller always treats it as the first supporting endpoint 1. Therefore, the value for both turn on and off is always false
ZL7432-manually-turn-off.log
ZL7432-manually-turn-on.log
ZL7432-reinterview.log

Attached is the log with forceRefreshValuesCCReport that I am using right now. All lines after Refreshing values for all endpoints... is the refreshing values part and now I get the correct updates via ZWaveJS Integration.
IIRC, there was a lot of complaints about manually press the switch does not update the state with HA. ST handler handles this correctly.
ZL7432-with-forceRefreshValuesCCReport.log

Oh wow - this must be the most terrible implementation of a Multi Channel device I've seen so far.
This device supports Multi Channel, but only accepts Associations on the root device - so by design there's no way to incorporate the endpoint information in the reports. When toggled manually, it sends a MultiChannelCCCapabilityReport (which is normally used to announce what an endpoint supports) containing the endpoint index, followed by a BinarySwitchCCReport from the root device.
I gotta be honest here: Automatically polling all values of a device isn't something I feel comfortable with to have baked in at the driver level.
I know OZW did this, it seems like ST also does this, but this can quickly become a recipe for disaster.
Such a compat flag has a very limited use case too. Either you're polling few values, in which case an external automation would be cleaner. Or you're polling many values, which you shouldn't do anyways.
IMO the correct way to work around this is the following:

Add the preserveRootApplicationCCValueIDs to the config file for this device
Set up an automation in HA that reacts to changes in currentValue for endpoint 0 and then calls refreshValue (or however it is called in HA) for currentValue on endpoint 1 and 2.

I have an issue by doing that: endpoint 1 changes the value of endpoint 0 correctly but endpoint 2 doesn't. I manually press the switch of endpoint 2 and HA doesn't fire any event (which I believe because the value of endpoint 0 does not change so it doesn't fire an event).
Below is the HA log when I switch on/off the endpoint 2 (that I don't get any HA event)
2021-04-19 14:56:42 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":7,"args":{"commandClassName":"Binary Switch","commandClass":37,"endpoint":0,"property":"currentValue","newValue":false,"prevValue":false,"propertyName":"currentValue"}}}', extra='')

2021-04-19 14:56:42 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [switch.in_wall_dual_relay_switch] Value currentValue/None changed to: False
2021-04-19 14:56:44 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":7,"args":{"commandClassName":"Binary Switch","commandClass":37,"endpoint":0,"property":"currentValue","newValue":false,"prevValue":false,"propertyName":"currentValue"}}}', extra='')

2021-04-19 14:56:44 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [switch.in_wall_dual_relay_switch] Value currentValue/None changed to: False

Manually press endpoint 1, I get the event fired properly
2021-04-19 14:53:32 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":7,"args":{"commandClassName":"Binary Switch","commandClass":37,"endpoint":0,"property":"currentValue","newValue":true,"prevValue":false,"propertyName":"currentValue"}}}', extra='')

2021-04-19 14:53:32 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [switch.in_wall_dual_relay_switch] Value currentValue/None changed to: True
2021-04-19 14:53:35 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":7,"args":{"commandClassName":"Binary Switch","commandClass":37,"endpoint":0,"property":"currentValue","newValue":false,"prevValue":true,"propertyName":"currentValue"}}}', extra='')

2021-04-19 14:53:35 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [switch.in_wall_dual_relay_switch] Value currentValue/None changed to: False

Any suggestion? Thank you.

What are you using for the trigger in your automation? In the set where you aren't getting the event it is updated false->false. HA frequently suppresses same value refreshes so that is likely the issue. You could use zwavejs2mqtt and subscribe to the topic. A new message would come across even if it is false-->false.

I've asked the HA devs. IMO there should be a way to react to updates as opposed to changes.

@blhoward2 I haven't tried zwavejs2mqtt as a gateway yet so I can't tell. Thank you for your advise. I am still looking for solution if there is an option for an event fired based on updates.

@trantamjp can you provide a state dump of the node? One option is to build device specific discovery that creates a switch where the force_update property is set to true. The end result is that while a state trigger may not fire if the state gets updated but doesn't change, the last_updated attribute will so you can build an automation off of that

@raman325 Do you mean the dump of the node via zwavejs2mqtt? If so, please see the attachment.
node_7.json.log

@raman325 Do you mean the dump of the node via zwavejs2mqtt? If so, please see the attachment.
node_7.json.log

Yep that's it. Will PR something later

@trantamjp actually I need the state dump from Home Assistant. You can get it by going to Configuration > Integrations > zwave js. Click on Configure, then click the link at the bottom to download your state dump. I only need this particular node if you want to remove the rest of the dump, otherwise I can pull it out from the full dump.

@raman325 Thank you for your time. Please find the attachment for the node dump. Please let me know if you need anything else.
zwave_js_node_7.json.log

@raman325 Thank you for your time. Please find the attachment for the node dump. Please let me know if you need anything else.
zwave_js_node_7.json.log

Thanks this is perfect! PR is linked above

OK so the PR is on hold, we can't agree on an approach at the moment. Will let you know when a decision has been made.

@trantamjp if you interact with the switch in HA, does it control the device as expected? Just trying to understand if this issue is scoped to just manual interaction with the device

@raman325 I can control all the 2 endpoints of the dual relay switch in HA, just can’t get state update from 1 of the 2 endpoints. I’ll try to test your PR code tomorrow. Thank you.

good news - my PR was merged today ahead of the beta being cut, so you will be able to automate this device starting in 2021.5.
Still working on the docs a bit but have a look to understand what you need to do from an automation perspective:
https://github.com/home-assistant/home-assistant.io/pull/17615

@raman325 Thank you! Yeah that is a good news. I tested your code and I were able to fire a trigger based on updates.
I also tested by using MQTT integration and zwavejs2mqtt publishes a message even the currentValue doesn't change too. This way I were able to fire a trigger in HA as well to refresh the value of the other endpoint. (Service mqtt.publish allows me to refresh the value of single endpoint instead of all endpoints of a node in ZwaveJS integration)

@raman325 Thank you! Yeah that is a good news. I tested your code and I were able to fire a trigger based on updates.
I also tested by using MQTT integration and zwavejs2mqtt publishes a message even the currentValue doesn't change too. This way I were able to fire a trigger in HA as well to refresh the value of the other endpoint. (Service mqtt.publish allows me to refresh the value of single endpoint instead of all endpoints of a node in ZwaveJS integration)

You can do both of these things outside of MQTT with this change.

Detect state update using event trigger on zwave_js_value_updated (releasing in 2021.5)
Call zwave_js.refresh_values service on each of your switch entities (already available)

BTW I think you can close this PR now 🙂

@raman325 it seems like I don't have permission to close my own PR :-) Maybe it will be auto closed when it's getting old.

Weird. I’ll close it for you.