Issue with const enums after upgrade to 1.6.8

We're upgrading from angular 4.3.3 and angular-cli 1.2.6 to more up to date versions, and run into an issue with how enum values are being compared to strings throughout the code.
The reproduction below has been simplified.
Versions

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / ? \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.8
Node: 6.11.0
OS: win32 x64
Angular: 5.2.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.8
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.5.3
webpack: 3.10.0

Repro steps

Create a fresh project with ng new
Add an enum and try to compare its value to a string:

import { Component } from '@angular/core';

const enum Values {
  Option1 = 1,
  Option2 = 2,
  Option3 = 3,
}
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';
  public test() {
    if (this.title === Values.Option2.toString()) {
      return 'a';
    } else {
      return 'b';
    }
  }
}

Compile with ng serve --prod

Observed behavior
ERROR in ./src/app/app.component.ts
Module parse failed: Unexpected token (6:43)
You may need an appropriate loader to handle this file type.
|     }
|     AppComponent.prototype.test = function () {
|         if (this.title === 2 /* Option2 */..toString()) {
|             return 'a';
|         }
 @ ./src/app/app.module.ngfactory.js 11:0-38
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://<IP_ADDRESS>:0 ./src/main.ts

webpack: Failed to compile.

Desired behavior
The code should compile successfully.
Mention any other details that might be useful (optional)
The code compiles fine without the --prod switch.

Setting the removeComments typescript complier option is a workaround for the issue.

const enums are fully supported in the latest version of the CLI.  If the problem still persists with the latest version, please consider opening a new issue detailing the versions and environment of the failing project.


Add user-specified options to the Plutus Tx plugin

See discussion here: https://github.com/input-output-hk/plutus/issues/5194
The interface we were settling on was something like this:
Add a special function queryUserFlag (forall opt :: Symbol) :: BuiltinBool
The compiler should recognize this function (we can’t compile it normally anyway because of the type-level strings), and compile it into true/false depending on whether the corresponding -fplugin-opt PlutusTx.Plugin:user-flag=whatever is set
(name bikeshedding possible of course)
A natural use of this is for “debug logging”: we can define
debugTrace :: BuiltinString -> a -> a
debugTrace s x = ifThenElse (queryOpt @"debug") (\_ -> trace s x) (\_ -> x) ()

More generally it enables user-controlled compile-time flags, which is quite handy.
Notes:
Note that we can also do this for some other builtin types, e.g. we could have user-defined integers or strings fairly easily. Unsure how useful that would be.
We will want PLT-4586: Simple optimization for ifThenElse also to ensure that the code in the dead branch gets eliminated.

A duplicate of #5194.


iscsiadm can't load modules, so let's update open-iscsi and patch it.

iscsiadm tries to load iscsi transport tcp modules when needed. Luckily open-iscsi has kmod support that just needs to be enabled. That's more easy when open-iscsi is updated. This introduces an open-isns dependency. The patch set deals with these points in reverse order.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

there is no need to enable the modules within open-iscsi, they already exist within the kernel mainline, /nix/store/hash-linux-4.4.4/lib/modules/4.4.4/kernel/drivers/scsi/iscsi_tcp.ko.xz in my case

@cleverca22 The modules are there. This PR is about iscsiadm not being able to load the module. This is because of the hardcoding of /sbin/modprobe in https://github.com/open-iscsi/open-iscsi/blob/master/usr/transport.c#L233 . This PR activates USE_KMOD above those lines.

ah, maybe i never hit that problem because i'm loading the modules in the initrd, i have 3 systems booting with root over iscsi

@cleverca22 otherwise, does this look good to you?

Thanks Joachim for your review! Let me know if you have further comments.

Apart from my final two nits, I have nothing more to add.

I have to confess that I do not have working isns setup. So the packaging is tested only in the sense that "do all binaries execute ok on a first glanze". What's missing is wrapping the /etc configuration into a nixos module. The var part seems to end up in the right place.
I introduced the open-isns package because open-iscsi has a dependency on the library part of it. My alternative would have been to cut the daemons and utils out of the packaging and only ship headers and lib, but then I opted for providing a not fully-tested package instead of no package.

Eh, I think this is a good start. There are a few more things that could be done, but I've honestly run out of cycles to spend on this, so I'm inclined to take it as-is, if you think it is serviceable.

@joachifm I think that it's serviceable. Thanks again for your time!
@cleverca22 Any comments from your side? :)

Thank you

looks like this broke the iscsistart binary, it originally was staticly linked, and the nukeReferences removed locales to keep the closure down
but now its dynamic (upstream changed something?) and it fails to boot

https://github.com/open-iscsi/open-iscsi/commit/63d086c9cb84b881e13ce8a5b4ddb80234948258 is to blame which removes -static upstream without any remark why that was.
There doesn't seem to be a way to add "-static" just for iscsistart. Should we just prepare an individual patch?

yeah, already testing that

looks like the static libs for rt, mount, kmod, and c are all MIA now

That seems like a headache to fix. I am happy to see this rolled back.
I spotted copies of librt.so/libc.so/libkmod.so in my initrd in /nix/store/extra-utils.../lib. There seems to be support in nixos/modules/system/boot/stage-1.nix to put dynamic binaries into your initrd. config.boot.initrd.extraUtilsCommands provides a hook into this build process. If you are adventurous, could you try setting this to something like "copy_bin_and_libs ${pkgs.openiscsi}/bin/iscsistart"?

yeah, that method appears to only add 100kb to the initrd, vs 12mb, let me see if it can boot

but it fails to copy libpthread, hmmm


Error when bundle extracting with property file

I'm trying to extract, modify and then pack a .unity3d webplayer bundle. Looking at the readme, I need to unpack with the --prop option to generate a bundle property file which is needed to repack the bundle. However, when I use the --prop option, I get an error. The files are extracted, however no property file is created.
My file is main.unity3d, the output folder is unpacked
Running the command ./disunity.sh bundle unpack --output unpacked --prop main.unity3d gives me the output:
thelabKunaiEngine.dll
thelabForgeEngine.dll
aquirisSplatPainterEngine.dll
UnityScript.Lang.dll
System.Xml.dll
Boo.Lang.dll
Assembly-UnityScript.dll
Assembly-UnityScript-firstpass.dll
Assembly-CSharp.dll
Assembly-CSharp-firstpass.dll
sharedassets0.assets
resources.assets
mainData
sharedassets1.assets
level0
[error] DisUnityCli: Fatal error, caused by java.lang.NullPointerException
	at info.ata4.disunity.cli.command.bundle.BundleUnpack.runFile(BundleUnpack.java:102)
	at java.util.ArrayList.forEach(ArrayList.java:1249)
	at info.ata4.disunity.cli.command.FileCommand.run(FileCommand.java:32)
	at info.ata4.disunity.cli.command.Command.run(Command.java:50)
	at info.ata4.disunity.cli.command.Command.run(Command.java:50)
	at info.ata4.disunity.cli.command.DisUnityRoot.run(DisUnityRoot.java:62)
	at info.ata4.disunity.cli.DisUnityCli.main(DisUnityCli.java:46)```

There's a few parts of disunity that don't like relative paths, and it looks like this is one of them. That line is
Path propsFile = outputDir.getParent().resolve(bundleName + ".json");

so I'd guess it's outputDir.getParent() that's null. Try specifying at least --output as an absolute path.


Event waveform CEvNS

What does the code in this PR do / what does it improve?
It contains the plugins used for the hit/SE level waveform-based AC suppression:

HitsS1: Perform hit finding for S1s smaller than 100PE, and calculate the hit_max_time; a new data type, as it's uneconomical to store all hit information, while only small S1's are useful.
PeakWaveformS1: Pile hit level information into the Peak level, and calculate per PMT hit shadow.
PeakAmbienceS1: Pile ambient lone-hit information into Peak level.
EventWaveformS1: Pass peak to event
EventAmbienceS1: Pass peak to event
EventWaveformS2: Calculate the per single electron time and area in small S2s
EventAmbienceS2: Pile the ambient single electrons near S2

Can you briefly describe how it works?
They serve as extractors from low-level information to peak/event-level data. The data is compiled into NumPy arrays like event_area_per_channel for peak and event-level information.
Note that:

Since the HitS1 plugin is computationally expensive, it would be great if it can catch the next reprocessing.
The code styles need refactoring to reflect the change of URL config and the newest straxen data-structure, please help :)

Relevant notes:

https://xe1t-wiki.lngs.infn.it/doku.php?id=shenyang:xenonnt_sr0:electron_statistics
https://xe1t-wiki.lngs.infn.it/doku.php?id=shenyang:xenonnt_sr0:hit_statistics

Thanks, Yossi! This is exactly what I want to ask, for some configs that are already being defined in other plugins, such as "hit_min_amplitude", should I define it again, or the URL config can automatically recognize them from other plugins?

@shenyangshi sorry, i dont understand your question. can you elaborate  bit more?

Sorry, what I mean is that, should I define every parameter in the plugin, even if it's also defined elsewhere with the same name in other plugins?

Yeah, you need to define all parameters that you want to use in the plugin. For each plugin, strax only passes the configs that are defined in that plugin, all the other configs from other plugins are not accessible at runtime within the plugin.

Coverage: 92.145% (-1.8%) from 93.947% when pulling e8a224c42a963f4432c45453ba26a47903d96513 on event_waveform_cevns into 6a1a9bd7582f9a07f27accf47f15382381dd77b4 on master.

Hi @WenzDaniel, thanks for looking into the code, I almost forgot there is still a PR here. The hit time information is already included in hit time diff https://github.com/AxFoundation/strax/pull/716 for the S1 BDT, so I can close the PR.


Update translation of titles in add borders around your elements article

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR in an attempt to attempt to break out of the Travis build pending status.

Congrats @igorhideki on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Updated p6 Can't do work

I nowday updated my project to p6,but it can't do normal work,(I don't do any change just for update of version), in the vscode

I get this error .
in the vs, i don't get any error,but i can't work,i can't  connect dashboard  like this

should I set the ASPNETCORE_URLS ?

In the p5, I can normal work , like this

I fix it to update aspire workloads

All fixed now @skyDuanXianBing ?

All fixed now @skyDuanXianBing ?

yes,to update your aspire's workloads. in this


Document steps to run multiple nodes as peers on the same computer so that you can demo the network in action

Part of #294
Add steps specifically to run multiple peers so that the demo can be run from a single computer
Related PR #298

Closing this Issue since the related PR was merged already.
The PR was created separately since I did not follow the correct process to associate with the issue.


[BUG] "Failed to copy read stream" when importing multiple images

What did you do
Seems k3d doesn't properly close streams. The usecase is to create several clusters in pipeline and import images to them. k3d is radnomly (but with high occurence) failing when importing docker images.

How was the clusters created?

k3d cluster create test-gslb1 --wait -c k3d/test-gslb1.yaml
k3d cluster create test-gslb2 --wait -c k3d/test-gslb2.yaml

apiVersion: k3d.io/v1alpha3
kind: Simple
name: test-gslb1
image: docker.io/rancher/k3s:v1.21.2-k3s1
agents: 1
network: k3d-action-bridge-network
ports:
  - port: 80:80
    nodeFilters:
      - agent:0:direct
  - port: 443:443
    nodeFilters:
      - agent:0:direct
  - port: 3000:30030
    nodeFilters:
      - agent:0:direct
  - port: 9080:30090
    nodeFilters:
      - agent:0:direct
  - port: 5053:53/udp
    nodeFilters:
      - agent:0:direct
options:
  k3d:
    disableLoadbalancer: true
  k3s:
    extraArgs:
      - arg: --no-deploy=traefik,servicelb,metrics-server,local-storage
        nodeFilters:
          - server:*

here is problematic code (running multiple imports):
    k3d image import absaoss/k8gb:v0.8.8-f4a561e-amd64 -c test-gslb1
    k3d image import absaoss/k8gb:v0.8.8-f4a561e-amd64 -c test-gslb2

Output Error
test-gslb1:
INFO[0000] Importing image(s) into cluster 'test-gslb1'
INFO[0000] Loading 1 image(s) from runtime into nodes...
INFO[0000] Importing images '[absaoss/k8gb:v0.8.8-f4a561e-amd64]' into node 'k3d-test-gslb1-server-0'...
INFO[0000] Importing images '[absaoss/k8gb:v0.8.8-f4a561e-amd64]' into node 'k3d-test-gslb1-agent-0'...
INFO[0003] Successfully imported image(s)
INFO[0003] Successfully imported 1 image(s) into 1 cluster(s)

test-gslb2:
INFO[0000] Importing image(s) into cluster 'test-gslb2'
INFO[0000] Loading 1 image(s) from runtime into nodes...
INFO[0000] Importing images '[absaoss/k8gb:v0.8.8-f4a561e-amd64]' into node 'k3d-test-gslb2-agent-0'...
INFO[0000] Importing images '[absaoss/k8gb:v0.8.8-f4a561e-amd64]' into node 'k3d-test-gslb2-server-0'...
ERRO[0000] Failed to copy read stream. write unix @->/run/docker.sock: use of closed network connection
Error: The operation was canceled.

Which OS & Architecture

MacOS / amd64

Which version of k3d
k3d version v5.3.0 instable
k3d version v5.2.2 instable
k3d version v5.1.0 very stable
Which version of docker
Cloud integration: v1.0.22
Version:           20.10.11
API version:       1.41
Go version:        go1.16.10
Git commit:        dea9396
Built:             Thu Nov 18 00:36:09 2021
OS/Arch:           darwin/amd64
Context:           default
Experimental:      true

Hi @kuritka , thanks for opening this issue!
Seems like the direct import method doesn't really work reliably. For now, please use --mode tools and I guess we'll revert to it being the default if we cannot find a fix soon.
See also #900

Hi @iwilltry42 , thx for quick response. Your solution works. Just to clarify: --mode=tools-node

v5.4.0 will default to --mode tools-node.
Follow-Up issue to improve the direct mode created.


Timestream Scheduled Query suport

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
Support for making Scheduled Queries in Pulumi. Terraform already supports this.
Affected area/feature
AWS classic provider

This is a feature from the awscc provider, not the aws provider. We don't currently bridge the awscc terraform provider in Pulumi.
This feature does exist in our Native provider: https://www.pulumi.com/registry/packages/aws-native/api-docs/timestream/scheduledquery/ and you can use both providers in concert.


Fix winsock include on windows

On Windows we only include winsock2, not winsock
Signed-off-by: Yechiel Kalmenson<EMAIL_ADDRESS>Example of errors currently generated by using the winsock.h 1990's era legacy declarations;
ERROR: C:/_eb/external/envoy_api/envoy/config/filter/http/buffer/v2/BUILD:5:1: C++ compilation of rule '@envoy
_api//envoy/config/filter/http/buffer/v2:buffer_cc' failed (Exit 2)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared\ws2def.h(103): warning C4005: 'AF_IPX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um\winsock.h(457): note: see previous definition of 'AF_IPX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared\ws2def.h(144): warning C4005: 'AF_MAX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um\winsock.h(476): note: see previous definition of 'AF_MAX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared\ws2def.h(185): warning C4005: 'SO_DONTLINGER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um\winsock.h(399): note: see previous definition of 'SO_DONTLINGER'

I don't have a Windows machine to test this with. @wrowe does this fix your compilation issues?

According to @wrowe on: https://github.com/envoyproxy/envoy/pull/7641 this was successful at cutting out those warnings.


Adding archetype support to Ditto

Adds support for archetype via the existing UmbracoPropertyAttributeClass which now contains an isArchetype field.
This hooks in to the existing TypeConverters and flow of application. Archetypes POCOs should follow the same naming convention standards as the main ditto POCOs, though will inherit from a base class of ArchetypeModel instead of the IPublishedContent.
I have ran this against almost all of the existing data types and conversion seems OK, though as archetype values are strings one or two data types may have slipped through.

That's a big commit! I'll try and set aside some time tonight to have a look at it though I see @leekelleher get's up earlier than me on a Sunday so he'll probbaly beat me to it. :smile:

Thanks for the pull request!
I'll review in more detail tomorrow, (as I'm out & about today).
To be upfront, I doubt we'll merge this in as is, as it ties Ditto too closely to Archetype. But I definitely think there should be a Ditto-like way for mapping Archetype data.  Let's use this as a discussion point to move it forward. :+1:

No worries, just for clarity, this amend doesn't have any dependency to archetype at all, so even if it's not in the solution this should still function alright.
Sent from my iPhone

On 8 Mar 2015, at 13:33, Lee Kelleher<EMAIL_ADDRESS>wrote:
Thanks for the pull request!
I'll review in more detail tomorrow, (as I'm out & about today).
To be upfront, I doubt we'll merge this in as is, as it ties Ditto too closely to Archetype. But I definitely think there should be a Ditto-like way for mapping Archetype data. Let's use this as a discussion point to move it forward.
—
Reply to this email directly or view it on GitHub.

@micklaw Thanks again for your PR! I'm reviewing it now :-)
Given the size of the commit, I'll probably ask a lot of questions... don't feel disheartened if I nitpick ;-)

Ha, no worries, I'm thick skinned ;)
At the GLUUG a few of the guys thought it was a good idea. I had already
done something similar and thought it may be useful. I mentioned to
@JimBobSquarePants https://github.com/JimBobSquarePants I'd fire
something over. I always thought the solution to this problem was always
going to be subjective, though the idea and principle seemed like a good
one to me.
On 9 March 2015 at 10:30, Lee Kelleher<EMAIL_ADDRESS>wrote:

@micklaw https://github.com/micklaw Thanks again for your PR! I'm
reviewing it now :-)
Given the size of the commit, I'll probably ask a lot of questions...
don't feel disheartened if I nitpick ;-)
—
Reply to this email directly or view it on GitHub
https://github.com/leekelleher/umbraco-ditto/pull/44#issuecomment-77830168
.

--
Cheers
Michael Law

OK, hopefully I wasn't too much of an arsehole in my review?
In concept, I am 100% sure that we should find a way to have Ditto-like way for mapping Archetype data!
With the implementation, (as I keep going on about), I don't want the Ditto (core) to be aware of Archetype itself.  I think there is a way by using TypeConverters - which I'd like us to explore.
:heart: Thanks again for the PR - much kudos to you! (For taking the time to get involved, it is appreciated!) I'll buy you a :beer:!

@leekelleher @JimBobSquarePants Fellas, how would you feel if i refactored this code to be in the as we discussed in a seperate assembly and use a ArchetypeConverter to bind the data?
Had a look over again and don't think it would much longer.

@micklaw - I think there is a definite need for Archetype POCO mapping.
Discussing with @mattbrailsford about it being part of the Ditto project, (see my comment on #46), we came to the conclusion that it is beyond the scope of Ditto - in terms of both concept and ongoing support.
Saying that, I don't want to discourage you (or anyone else) from developing a solution... so yes, please feel free to do it as a separate project.
@mattbrailsford @JimBobSquarePants  - did you want to add comment on this?

@leekelleher Based on the previous pull request, I separated some of the logic to its own method for setting the value of the instance properties. I have taken this a step further and exposed the method in the class below as its own interfaced class with a single SetValue method.
https://github.com/micklaw/umbraco-ditto/blob/archetype/src/Our.Umbraco.Ditto/Extensions/PublishedContentExtensions.cs
As i see it in my tests, this would be the only change to the ditto source to make this class and interface public. The rest can be hooked in a separate assembly via type converters. This would mean the archetype integration could be completely separate from the ditto source.

Here's a sample project separated out, didn't take long to hook up. Core has no dependency on archtypes or anything else.
https://github.com/micklaw/umbraco-ditto/tree/archetype-refactor

Hey did you read this topic about Archetype? https://github.com/zpqrtbnk/Zbu.ModelsBuilder/issues/13 Not really related to this, but more people want to generate models for Archetype ;-).

Hey, I defo think this has its place too. I'm a bit swamped for time at the
moment with other work but when i get some free time i think i'm going to
look in to creating an external assembly for Ditto which could potentially
map Archetype and Grid Type with POCOs.
On 7 May 2015 at 12:56, Jeroen Breuer<EMAIL_ADDRESS>wrote:

Hey did you read this topic about Archetype? zpqrtbnk/Zbu.ModelsBuilder#13
https://github.com/zpqrtbnk/Zbu.ModelsBuilder/issues/13 Not really
related to this, but more people want to generate models for Archetype ;-).
—
Reply to this email directly or view it on GitHub
https://github.com/leekelleher/umbraco-ditto/pull/44#issuecomment-99831813
.

--
Cheers
Michael Law

Closing this PR.
Thanks again @micklaw - stellar effort here! Noticed your new project/repo at Ditto.Resolvers, I think that's the best move going forwards. (I may even contribute to it! :sunglasses:)

No worries man, I think your spot on with the separate repository approach. I really like the new changes in the develop branch, defo makes the framework much more flexible =) Good work dudes.


A2DP source using adc dma (i2s) not working

Hi Chris,
Thanks for your wonderful video and nice explanation related to MAX9814 and ESP-32. I am trying to send digital audio from Max9814 to bluetooth headphone ( as sink).
Source esp-32 is able to connect to sink esp-32. I am able to run the basic example over classic bluetooth and send noise audio.
But when I connect data out from MAX9814( which I have confirmed to be working) on ADC channel 0 of source esp-32 after adding I2S code, I am not getting any audio on speaker connected to sink device.
Is it possible for you provide some pointers, if any.
thanks,
Rupak

I've added a sample for I2S output to the repo which works with the Adafruit MAX98357A board.
It sounds like the issue might be in the communication from your source esp to the sink esp - some things to check - what channel is the sink esp using to get the data from? Maybe you are only sending data on the left channel and it is expecting data on the right channel (or vice versa).
What format is the destination expecting? You might be sending 16bits and it wants 24 or 32 bits.
That's all I can think of for now - do you have example code you can share?

thanks for the input Chris!! able to get the data on sink esp-32.
but it has some noise. Looks like MAX9814 is picking the noise due to power supply and sending it across.  any pointers here.

Sounds like you are having the same problems I had in the video.
A quick and dirty solution is to just pass the power supply through an RC filter before feeding it into the MAX9814. It doesn't draw much current ~20mA. So you can use a fairly large resistor and big capacitor.
Ideally, I would use the 5V and filter that and follow that with an LDO so you are isolated from the ESP32 noise a bit more. But if you don't have an LDO handy filtering the 3v3 output from the dev board might be good enough.
In the followup video (https://youtu.be/3g7l5bm7fZ8) I went slightly over the top and put in an LC filter, capacitor multiplier, LDO and another LC filter... but honestly, the simple RC filter seemed to do just as good a job.

If you can get hold of an INMP441 then it's really good at rejecting noise and is a lot quieter than the MAX9814.

Hi Chris,
Thanks for the video with great explanation.
So as per your suggestion, should I use 3v3 output from esp-32  with RC filter to power MAX9814 to reduce the noise, as i dont have an LDO handy.
currently I don't have INMP441, will be trying that out over the weekend . Is it advisable to have RC filter to the power source for INMP441 also?
thanks,
Rupak

Hi Rupak,
Yes, if you don't have an LDO then you'll need to use the 3v3 output - it should work with an RC filter - try with fairly low values, to begin with - 22ohm, 33ohm, but use the largest capacitor you can.
If you have an inductor then you can add that as well in series with the resistor.
                   +------------+   +------------+
3v3  +-------------+inductor    +---+ resistor   +--------------------+ To mic VDD
                   +------------+   +------------+     |
                                                       |
                                                       |
                                                       |
                                                       |
                                                  +----+------+
                                                                capacitor
                                                  +----+------+
                                                       |
                                                       |
                                                       |
 GND+-------------------------------------------------------------------+

I found the INMP441 pretty much immune to the power noise.

Hi Chris,
I tried with your suggestion ( LDO with resistor+ capacitor to VDD) and it reduced the noise significantly.
Still there is little noise ( something lik hissing sound) present.
5v--- 44 Ohm resistor -----LDO ------1000 Microfarad capacitor ---to Mic VDD
Is there any possibility to reduce this noise further?
On INMP441 front, I ordered it and waiting for the delivery. Once I get that, will update you on this.
thanks,
Rupak

That sounds like what I have as well. A very audible hiss along with the audio.
The INMP441 will solve this issue for you as it's is much less noisy.
You could try filtering the signal in the esp by averaging the samples. Or even put a low pass filter on the output of the microphone e.
But I think you may be hitting the same limits that I had with analogue microphone boards.

Hi Chris,
I tested the same with INMP441 & SPH0645 I2S MEMS Microphone and there is no noise at all.
Thanks a lot for your suggestions.
-Rupak

Hi Chris,
3 weeks back I tested ESP32 with INMP441 microphone . I could easily connect ESP and get perfect sound data by defining I2S communication. I have no idea what happened, but now, anything I do, I get a massive noise on top of my sound. I changed Esp32, connecting wires, INMP441 chip ( tested with 3 chips, same result) but still having the same noise issue.
Do you face this issue anytime or any pointer for the same.
Thanks,
Rupak

I've not experienced this with I2S microphones. Are you doing any processing of the audio on the ESP32 side of things?
Are you capturing both the LEFT and RIGHT channels and is the noise on both channels?

After debugging I found that whenever I use (I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB)  noise is there, but If i use I2S_COMM_FORMAT_I2S then there is no noise on I2S microphone.

That's very strange. I will do some testing here to see if I can recreate and update the code if needed.


[windows][toolchain] Restrict the sanitizer build to x64 and disable the legacy path for builtins

Follow-up from https://github.com/swiftlang/swift/pull/77770

@swift-ci please test Windows platform

Couldn't re-target this one, so I created https://github.com/swiftlang/swift/pull/78011


Clarification about notifications on asPlanned assets needed

What about the alerts or investigations on asPlanned assets, is that supposed to work?
It's completely fine for asBuilt, but with asPlanned I'm noticing some blurring.
So before I go any further, should creating/receiving alerts or investigations work in a similar way to asBuilt?
The DB model allows conclusions of this kind to be drawn.
Thanks for hints and any further information about that.

HI @hgo-ds investigations and alerts for AssetsAsPlanned is not supposted to work. @mkanal Please correct me if wrong.

Just another thought on that:
If we do not handle notifications on asPlanned assets any more, would we need these data in trace-x any longer?
What happens to asPlanned assets in trace-x other than simply presenting them?

Hey @hgo-ds
at the moment, there is not yet a use case that was giving the requirement to be able to send notifications on the "as planned"-parts.
But there are tendencies that this might come. So I would not recommend to specifically get rid of the functionality in the backend. Rather, use it when it becomes necessary.
Does this help?

Hey @hgo-ds
do you  agree to the proposal? In this case, I would close the issue. Kindly ask you to respond to the proposal within the next five days. I would close the tickets afterward - please feel free to reopen it again if this does no suits your expectations

The notifications on asPlanned have been removed as of https://github.com/catenax-ng/tx-traceability-foss/pull/990
and is a followup of https://github.com/eclipse-tractusx/traceability-foss/issues/516


Question on notifying HAP

I see 2 different functions that appear to notify HAP.: (homekit_characteristic_notify & HAP_NOTIFY_CHANGES).
Is there a preferred use for each of these? Thanks.

homekit_characteristic_notify   : is a function which allows to notify HAP at any  time with any values...
HAP_NOTIFY_CHANGES(name,home_characteristic,val,tollerance) : is a macros,  which finally calls the same function, but macros is able to check (compare ) new and old value with Tollerance(latest param) and in case of changing will call notify.  For instance for the Thermometer (in my opinion ) not neccessary to call every time notification and Tollerance can be for instance 0.5
HAP_NOTIFY_CHANGES_WITHCONSTRAIN  : In addition to previous macros allows to check min and max value for charachtertistic and prevents to send value which is out of range
So, any notification can be used, depends on your sketch

Great. Thanks for the explanation.
Sent from my iPhone

On Feb 27, 2021, at 2:42 AM, Yurik72<EMAIL_ADDRESS>wrote:

homekit_characteristic_notify : is a function which allows to notify HAP at any time with any values...
HAP_NOTIFY_CHANGES(name,home_characteristic,val,tollerance) : is a macros, which finally calls the same function, but macros is able to check (compare ) new and old value with Tollerance(latest param) and in case of changing will call notify. For instance for the Thermometer (in my opinion ) not neccessary to call every time notification and Tollerance can be for instance 0.5
HAP_NOTIFY_CHANGES_WITHCONSTRAIN : In addition to previous macros allows to check min and max value for charachtertistic and prevents to send value which is out of range
So, any notification can be used, depends on your sketch
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Hisense 50" QLED 4K 2021 50E78GQ

I try with this model, Hisense 50" QLED 4K 2021 50E78GQ, but no work !

Please provide more information.
Does your TV have an integrated MQTT broker and does your bridge setup work?
What version of HA are you using?
Provide logs from HA or your MQTT broker.

Hi,
ha: the last
1641684205: Socket error on client local.HomeAssistant, disconnecting.
1641684211: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)
1641684211: Socket error on client local.HomeAssistant, disconnecting.
1641684217: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)
1641684217: Socket error on client local.HomeAssistant, disconnecting.
1641684223: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)
1641684223: Socket error on client local.HomeAssistant, disconnecting.
1641684229: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)
1641684229: Socket error on client local.HomeAssistant, disconnecting.
1641684235: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)
1641684235: Socket error on client local.HomeAssistant, disconnecting.
1641684241: Connecting bridge hisensemqtt (<IP_ADDRESS>:36669)

Logs don't show anything strange.
What isn't working for you? You need to describe what are you trying to do and what is working or not.
 Could you register the TV in HA (enter PIN code shown on TV)?


I2C WriteRead() and Read() do not wait for I2C stop condition.

An I2C transaction is completed by the stop condition.
This condition does not happen when many WriteRead() or Read() transactions happen right after the another. The I2C bus goes strait into the next transaction with the next start condition. This does not comply with the embedded hal and can lead to undefined behavior (observed with a MCP23017 chip).

Hypothesis is that the CPU is fast enough after reading the last last byte to set new nbytes and start the next transfer while the peripheral takes its time generating the last NAK so that it skips generating the STOP and instead proceeds to generate another (RE)START. Maybe also grey zone between silicon bug and RM inaccuracies.
In any case the transaction is not completed as demanded by the HAL.
Would be really great if we could cut a 0.13.1 for this.

Thanks very much for reporting! I'm definitely open to cutting a 0.13.1 for this.
This is supposed to work by the peripheral issuing the stop condition automatically, but if that's not occurring in some situations it needs a fix. I'll review #402 in the coming days

The CPU can likely very easily race (and most likely win) against the I2C bus. The I2C bus is running at a nominal 100KHz, whereas the CPU is often running in the 400MHz range. There is ample time to do (many) other tasks before a single I2C clock cycle occurs. We definitely need to be waiting for the stop to transmit in these functions before returning.

I'll push the fix for this as 0.13.1 shortly 👍

@richardeoin Thanks!


hj

[Enter feedback here]

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

ID: 7940a432-42d4-38d1-c2eb-67500cd4b5c6
Version Independent ID: b751c9ca-2f68-f03e-82cf-0ad529ccafd8
Content: Deploy apps from GitHub to Azure
Content Source: articles/github/deploy-to-azure.md
Service: azure
GitHub Login: @N-Usha
Microsoft Alias: ushan

@bacmodung thanks for filing an issue, but your feedback is missing, so I'm closing this one. Please file a new issue if you have feedback. Thanks!


Add type definition to intro option

Added type definition to intro option
Since only the intro option was of type "any", I added a type definition. The intro option is only used for "in:fly" in svelte/transition, so you should be able to use the type definition -FlyParams defined in the Svelte package.
File location in the Svelte package where FlyParams is defined
https://github.com/sveltejs/svelte/blob/2ae79f6815b7594dca071f9d15546f1f47af6778/src/runtime/transition/index.ts#L64

Fantastic, LGTM, thanks so much for your contribution! 🎉


Failed to connect

Description: Trying to connect HC-06 bluetooth module with your default settings. According to tutorials uuid should be valid. But most of the time connection hangs with "com.facebook.react.bridge.ReadableNativeMap cannot be cast to java.lang.String" React Native error.
Sometimes this error appears after unsuccessful connection with parameters: code: "EUNSPECIFIED", message: "Unable to connect to... ". Couple of times this error appeared immediately after successful connection. There is no problems with connection HC-06 via bluetooth serial port Android applications or PC.
OS: Linux
RN: 0.54
I`ve also modify AndroidManifest.xml to include "minSdkVersion=16" and "targetSdkVersion=23"
Let me know if you need more info. Thanks!

Few hours of continuous testing resulted in unpredictable connection losses. Now I`m pretty sure that it is not the library issue. Sorry for interruption. Closing.


Update UserGuide.md

I think it will be better if you resolve the merge conflicts as you probably know which version works best

merge conflict resolved👍

LGTM 👍


index.pug doesnt use html or body tags

Hmm interesting, html-to-pug.com which I used to convert initially, doesn't use them. Is it required to use html and body in Pug?


add a "CatEditable" map of filecats that should be opened in Gide

the rest will be redirected to the OS generic "open" command.
right now it tries to edit .docx files, for example, which is not useful.

actually better to do as CatNoEdit exclusion list -- shorter, and lots of other random stuff better to edit.


fix wrong filepath in the simple example command

What this PR does / why we need it:
some filepath is wrong in the simple example
Which issue(s) this PR fixes (optional, in Fixes #<issue number>, #<issue number>, ... format, will close the issue(s) when PR gets merged):
Fixes #
Checklist:

[ ] Docs included if any changes are user facing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 35.269%

Files with Coverage Reduction
New Missed Lines
%

pkg/controller.v1/mpi/mpijob_controller.go
6
80.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
4373

Relevant Lines:
12399

💛  - Coveralls


Detector or PIXI.autoDetectRenderer no longer available?

I have some code in a project that was using the Detector extern, but it seems to longer be available... Is this an oversight or is there some other way to achieve this?
Cheers,
Ian

There is a new Application class in Pixi v4.3.4 which uses .
var app = new pixi.core.Application(width, height, renderingOptions);

I will also add the Detector class back for backward compatibility.

Great! Thanks loads! :-)


Fix query failure if chat is disabled

When querying for the chat box in order to report is_right_side_chat, a .getAttribute lookup on the query will evaluate to undefined, causing an error.
The error can be circumvented by checking the length of the chat box query first, and if it's disabled,  return false immediately.

Sorry for the delay


Compiler/0.12

Anticipating https://github.com/purescript-node/purescript-node-process/pull/16 be v6.0.0

I did, but it doesn't build. You need to change the .travis.yml to download the latest release from GH instead of downloading it via NPM. Check the PRs in other repos.

will do thanks.

You also need to remove the dependency on purescript from the package.json file

Sorry for the noise kRITZ. Im done here.

Thanks!


Support #[tree(branches)] to transform all properties in branches

This
#[derive(Debug, IsTree)]
pub struct Library {
    #[tree(path_segment)]
    #[tree(branch)]
    pub name: String,
    #[tree(branch)]
    pub root_module: Module
}

could be written as
#[derive(Debug, IsTree)]
#[tree(branches)]
pub struct Library {
    #[tree(path_segment)]
    pub name: String,
    pub root_module: Module
}

Done


Go: build and return HyperKit CmdLine without requiring Start

This is useful for developers who want to use the hyperkit Go wrapper to build a hyperkit command but don't want the wrapper to execute that command.
Signed-off-by: Emily Casey<EMAIL_ADDRESS>

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "hyperkit-command" git@github.com:ekcasey/hyperkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354527616
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.


Increment version for appconfiguration releases

Increment package version after release of com.azure.resourcemanager azure-resourcemanager-appconfiguration

/azp run java - appconfiguration - ci

/azp run java - appconfiguration - ci


Fix problem with<EMAIL_ADDRESS>and Node.js 12

Updates:

All non-breaking child dependencies.
Some carefully-checked breaking changes

This pull fixes node-gyp build issues in https://github.com/alphagov/govuk-frontend/issues/1662
I've also pinned<EMAIL_ADDRESS>as the 0.2.1 update throws an “Expected closing parenthesis” error due to the current blacklist for the :not() selector hack.
Breaking but not breaking changes
Also included because they're major semver bumps, but aren't breaking for GOV.UK Frontend:

<EMAIL_ADDRESS>Raises default ES2018 to ES2019, supports dynamic import() from Node.js 10
<EMAIL_ADDRESS>Now only supports Node.js 8+
<EMAIL_ADDRESS>Untrimmed whitespace now matters in matched HTML
<EMAIL_ADDRESS>Now only supports Node.js 8+ (including chokidar fixes for Node.js 12)
<EMAIL_ADDRESS>Now only supports Node.js 8+
<EMAIL_ADDRESS>Now only supports Node.js 8+
Throws errors for invalid arguments config

No problem!
Also held back<EMAIL_ADDRESS>as we're waiting on https://github.com/smooth-code/jest-puppeteer/pull/289 too

Thanks for tidying this all up, very good improvements.


Low-weight fonts in ghost admin are unreadable

I've got the same problem that is mentioned in issue #8136 already, but with the Cantarell font.
It seems Cantarell features a separate light/low-weight font, which is nearly unreadable if used with a font-weight <= 300. Removing the Cantarell font from the list of fonts solves the problem for me (Droid Sans is then used as fallback).
Technical details:

Ghost Version: 2.0.3
Browser/OS: Firefox 61 on Arch Linux
Display: LG Flatron W2361V @ 1920x1080 / 24" (92 dpi)
Font family used: Cantarell

Screenshot?
Which OS are you running on?

Operating System is Arch Linux, Desktop Environment is Gnome Shell (which uses Cantarell as default font).
Here's a screenshot showing a barely readable Cantarell font (other applications using Cantarell are fine):

And disabling Cantarell in favour of Droid Sans:

I think the contrast is, in general, to low, but using Cantarell as font makes it nearly unreadable on my system.

@peterzimon do you have any objections to removing Cantarell from our font stack?

FYI: Switching Cantarell and Droid Sans would be enough for me (so that Droid Sans is preferred)

@kevinansfield I'm okay with removing Cantarell

ref. https://github.com/TryGhost/Ghost-Admin/commit/8f4246e3b661759de4d776bcd33dc16a20f89521

Thank you :)


Adds collaboration associated with author

This PR would enable us to add a collaboration field as need by the Physical Review Template.
The template has been updated accordingly see here.

Hey @dressedfez - thanks for the PR, sorry it has taken a bit to get back to you.
This looks good in principle, and I think there is good precedence for supporting it, for example in JATS:
https://jats.nlm.nih.gov/archiving/tag-library/1.3/element/collab.html

I would love to get @fwkoch's thoughts on adding this at the base level, and how this might work into plans to improve the affiliation work?

@rowanc1 @fwkoch any idea here if you guys want to proceed with it?

Hi @dressedfez, sorry for the delay, we were working up to JupyterCon and then many of us were on vacation. Looking at this now!


scanning star Quadrants awkward

the thauminomcon suggest that we can scan star quadrants to get celestial observations once a night.
to me this implies 4 sections for example north south east and west or something along those lines
however when testing this ive found that the scanning seems pretty awkward i can usually get 2 "quadrants" about 1/8th of the way through the night by scanning where the moon appears on the horizon. i can usually get the third quadrant in the same vicinity as the first 2 a minute or two later and the fourth one a minute or two after that in the same spot.
if this is intended it seems to me the thauminomicon entry should suggest scanning at different times in the night rather then different places

I did post it at the forums…
Another problem area is taking stars observations. I suggest changing it to:

Appropriate day time;
heading elevation (-90,-30);
heading facing [(-175,-95),(-85,-5),(5,85),(95,175)];
under clear skies;
not looking at anything specific (and not looking at the moon, obv., though with chosen headings, moon will unlikely to be in the line of sight).

This isn't a bug. The quadrants to which the Thaumonomicon refers are the quadrants around the Moon. Each of the four squares produced by drawing a plus through the Moon is a quadrant. This consequentially means that some quadrants are easier to scan at different times of night because the quadrants move with the Moon.
I too believe that this is not explained very well and that the explanation of celestial observation should be reworded. An illustration would certainly help.

yoshi has the right idea, but I also agree that I should maybe alter how things work on my side.

In the next version stellar scanning will be based on the cardinal directions.


ocamlPackages.phylogenetics: run full test suite

As of upstream commit https://github.com/biocaml/phylogenetics/commit/a107e96fa64fecb75a9e855293b2822196540b31, the full tests using bppsuite, although barely longer than the short tests, were not being run.
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build ocamlPackages.phylogenetics

Running the full test suite sounds a bit costly, isn’t it?

On my laptop it takes about 18-20 seconds vs 9-10 seconds without.  Since this is a scientific package and ocaml packages aren't even built by default on Hydra, I'd say it's acceptable.

Thanks for the clarification.


Fix test case for delegate call test_ExecuteDelegateCallFromExecutor_Success

Fixes #228

PR-Codex overview
This PR focuses on modifying how the sendValueCallData is constructed for a delegate call in the TestAccountExecution_ExecuteFromExecutor.t.sol test.
Detailed summary

Replaced the construction of sendValueCallData from abi.encodeWithSelector to abi.encodePacked, including the delegateTarget address.
Removed a commented-out assertion for the balance check.
Ensured the assertion for the valueTarget balance is now active.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Hey @Man-Jain
Thank you for that
please change base to dev and I'll merge

Hey @Man-Jain Thank you for that please change base to dev and I'll merge

Sure will do

Done @filmakarov


updated system cache path

The cache folder paths are different in OpenCart 2.x

@aamnah is there any backwards-compatibility concerns here? Or would you expect most new repositories to be running OpenCart 2.x?

There's also some other changes in #1759 which overlap here. Are those of interest to you here?

I expect most new repositories to be running OpenCart 2.x :smirk: But that's naive i guess. Please include #1759 , it includes more paths than mine. :+1:


[Docs] Fix formatting for "JavaScript method names" section in docs

Simple fix - GitHub's markdown is processed differently than Jekyll's, so just fixing things up to look better.

@brentvatne this is a simple markup tweak - since you've been writing docs a lot recently could you take a look and merge if it looks good to you?

@ide - as discussed in irc, looks good!


Remove all "Raises" sections from docstrings

As discussed on the call this PR removes all Raises sections from docstrings in src/ethereum.
Before I give @SamWilsn trauma flashbacks from the "Refactor Opcodes" PR, I will explain that this PR is merely the consequence of applying the awk script
$1 == "Raises" { raises = 1 }
$1 == "Returns" { raises = 0 }
$1 == "\"\"\"" { raises = 0 }
!raises { print }

with the command
gawk -i inplace -f prog.awk `find src | grep "src/ethereum/.*\.py$"`

Cute Animal Picture

Codecov Report
Base: 68.71% // Head: 68.71% // No change to project coverage :thumbsup:

Coverage data is based on head (bd3d7dd) compared to base (a961b62).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #622   +/-   ##
=======================================
  Coverage   68.71%   68.71%
=======================================
  Files         481      481
  Lines       26836    26836
=======================================
  Hits        18441    18441
  Misses       8395     8395

Flag
Coverage Δ

unittests
68.71% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/ethereum/arrow_glacier/vm/gas.py
0.00% <ø> (ø)

...hereum/arrow_glacier/vm/instructions/arithmetic.py
0.00% <ø> (ø)

.../ethereum/arrow_glacier/vm/instructions/bitwise.py
0.00% <ø> (ø)

...rc/ethereum/arrow_glacier/vm/instructions/block.py
0.00% <ø> (ø)

...hereum/arrow_glacier/vm/instructions/comparison.py
0.00% <ø> (ø)

...reum/arrow_glacier/vm/instructions/control_flow.py
0.00% <ø> (ø)

...ereum/arrow_glacier/vm/instructions/environment.py
0.00% <ø> (ø)

...c/ethereum/arrow_glacier/vm/instructions/keccak.py
0.00% <ø> (ø)

src/ethereum/arrow_glacier/vm/instructions/log.py
0.00% <ø> (ø)

...c/ethereum/arrow_glacier/vm/instructions/memory.py
0.00% <ø> (ø)

... and 159 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Ants

Created base template for archive by year functionality.

Just gotta fix the lint error. Otherwise this looks good.

id like to have all years in the db to be at the bottom of EVERY page but i cannot figure out how to do so. Once a year is selected,  that year is the only one to remain at the bottom of archive_year. So for the time being i just temporarily hid it from detail and archive pages. Also the archive page to show results in this commit.


STAR WARS NOTE: THERE MAY BE SPOILERS IN THIS THREAD

DISCUSSION ABOUT THE MOVIE

@medensqui WE HAVE SLACK FOR A REASON


Move SVM to new cluster

Hello,
we are about to move our data to a new Netapp cluster. For Kubernetes/Trident we have set up dedicated SVMs.  So I have some questions regarding this migration

Do we have to "prepare" Trident in advance?
Will the IO be interrupted during the move?
What happens to the NFS mounts when we move the SVM? Do we have to unmount/remount the volumes?

Kind regards
Roycec

Hello @roycec
Are you planning to move your data to a new NetApp cluster and then serve the data from the new cluster? Scrap the old one?
For all volumes that have been created by Trident on the old storage cluster (let's call this cluster A):

They are identified by the SVM credentials (dataLIF, managementLIF, username, password) and associated to a Trident backend (which would have been created for cluster A).

If you are going to use both cluster A and the new cluster (let's call this cluster B) side by side, then all you will need to do is:

Create another backend for cluster B. The data present on cluster A will be accessible as always. Storage Classes may be defined to map to cluster A/cluster B/both. Volumes will be accordingly provisioned.

If you would like to move all data from A to B and have future volumes provisioned on B:

Copy the data from A to B (SnapMirror or vol move, depending on the desired granularity). At the end of this step the data is available on B, but Trident still sees the volumes being served from A.
Import each volume (that was originally created on A) to be served from B. This will be done using tridentctl import. See here
Use volumes from step 2 in respective application deployments.

In addition, I would recommend going through the disaster and recovery guide in the Trident documentation

No chance to add the new nodes to the existing Ontap cluster? In that case your SVM would stay in place (regular tech refresh).
If moving to a new cluster, it would be best if you manage to move the IP addresses for the SVM as well. In that case it would be mostly transparent to Trident. You could use SVM-DR for that (and just update the Trident backend once switched over to the new cluster to reflect the new SVM name). There would still be an I/O interruption but it can be short.
If IP addresses change then this will be a lot more disruptive and you need to follow the volume import steps outlined above by Bala.

Thanks for the answers, but to my understanding moving the SVM to new hardware is like live-migrating a virtual machine to another hypervisor in the cluster - or in a separate cluster. So there's only an interruption when the SVM needs to be reconfigured on the new hardware?

It all depends on what you plan to do. You can add new hardware to the existing Ontap cluster non-disruptively and without any impact and move data over to the new hardware transparent to Trident & your apps.
You can also create an entirely new Ontap cluster (different data center, ...). At that point you can still move the data over to the new cluster, but there will be some disruption. In that case one of the key questions is if you can move IP addresses of the SVM over to the new cluster.

@wonderland We will go for the second option and will reusing the existing IP addresses for the SVM on the new cluster. So it is obvious, that there will be a short interruption. But my initial question was, if there are other caveats which we didn't think off before.

In that case the SVM-DR feature on the Ontap side is probably your best option. It will not only replicate the data (volumes) but also all configuration of the SVM. You can pre-copy the data and then only have a brie final sync and failover.
The only caveat is that the SVM name changes. you either revert that one you failover over to the new cluster (as this is migration, not a DR use case) or you need to update the Trident backend config. This is described in more detail here: https://netapp.io/2019/10/21/trident-and-disaster-recovery-part-3/
As always, test and validate in your environment before doing this on your production instance. You can just set up a test SVM and add that as an additional Trident backend (+ storage class in k8s).

NFS will never timeout, so from that perspective things would just continue to work once everything becomes available again on the new cluster. However, your apps might not exactly like that and have timeouts of their own if the data access hangs for a longer period of time. That is really app specific, so I cannot comment on that.
The safe way to do it is shutting down the apps. In reality, not doing it will likely just work for the majority of your apps.
All operations within the storage cluster are non-disruptive, including full tech refresh of hardware and other maintenance activities. So unless you physically move your data center across longer distances there really shouldn't be many future storage migrations.

@roycec did you get the answer to your question? Any open questions that still need answering?

We did the migration scaling down some deployments and did the final sync after unmounting some still mounted volumes. Then we switched to the new NetApp Cluster and brought the NFS server online again. We still have an issue because the new aggegate names we not discovered automatically. After changing the name manually, we get an error that the aggregate in question cannot be found, so new volumes can't be created at the moment.

@roycec can you check and confirm if the aggregate is assigned to the SVM on the ONTAP cluster? If the new aggregates are assigned to the SVM, then running tridentctl backend update will have Trident fetch all newly assigned aggregates automatically

Everything is configured correctly on the hardware side, I ran into this issue https://kb.netapp.com/Advice_and_Troubleshooting/Cloud_Services/Trident_Kubernetes/New_Trident_installation_create_volume_fails_with_error%3A_could_not_find_aggregate


feat: appending content (e.g. icons) in input-fields

Added wrapper class to make it easier to add icons and other content at the end of input fields. Measures are based on following specification: Input_fields_2020-09-11.png.

To use it, the input field needs to be wrapped in a block element using the class .sdv-field-wrap. The content to append needs to be wrapped in an element using the class .sdv-field__after. The content wrapper needs then to be placed before the input element in the dom. Se following example:

  <input class="sdv-field" />

The order is used in order to avoid adding padding to the input field should the sdv-field__after element be empty.
Updated default.md with example.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Migrate language modes to CSV

This is ready for review again.

Snippets apparently uses language_ids from language_modes.py, so it might be worth making sure that the snippets system still works.
The following code for dealing with snippets will not get reran on updating the CSV.
# Create a context for each defined language
for lang in language_ids:
    ctx = Context()
    ctx.matches = f"code.language: {lang}"
    context_map[lang] = ctx

I could address this by creating a callback registration mechanism inside language_modes.py.

Snippets apparently uses language_ids from language_modes.py, so it might be worth making sure that the snippets system still works.
The following code for dealing with snippets will not get reran on updating the CSV.
# Create a context for each defined language
for lang in language_ids:
    ctx = Context()
    ctx.matches = f"code.language: {lang}"
    context_map[lang] = ctx

I could address this by creating a callback registration mechanism inside language_modes.py.

We could declare an action that returns the list of languages?

We could declare an action that returns the list of languages?
Yes, but that would not cause the snippets code to update in response to the csv updating.

We could declare an action that returns the list of languages?

Yes, but that would not cause the snippets code to update in response to the csv updating.

Gotcha. Not sure if we have an example of this, but an action that triggers when the list is updated seems reasonable.

We could declare an action that returns the list of languages?

Yes, but that would not cause the snippets code to update in response to the csv updating.

Gotcha. Not sure if we have an example of this (I couldn't find one on a cursory search of community), but an action that triggers when the list is updated seems reasonable.

I plan on writing code to allow registering callbacks to handle language mode updates.

I theoretically have the code working, but I do not use the snippets system, so I will need to learn how it works before I can test it properly.

Notes form their community session. We're not sure that introducing a event system especially for this use case is desirable.
I will have a look and see if I can get rid of the dependency on language ids from the snippets. Let's talk more about this on the next meetup.
If necessary another developer can finish this.

I am going to be busy for a while starting next week, so I am fine with another developer taking this PR.

Okay I looked into the snippet dependency on language ids and the result is not that good. Basically the only reason why I'm using the language ids from the language modes file and not the actual snippets themselves is because of performance. Dynamically creating contexts is problematic for Talon. Even to the extent that it have been suggested we should remove the custom snippet dir setting.
The current implementation creates all the contexts once before Talon is started/ready
https://github.com/talonhub/community/blob/9af1757205be0a7458116892380e61c5153ef76c/core/snippets/snippets.py#L32-L36
Issue talking about the problem with updating snippet contexts
https://github.com/talonhub/community/issues/1373
The implementation in this pull request removes the performance gain in creating the contexts before Talon starts. In that case we could just get the language ids from the snippet files themself. I can't really say how much of a problem it is to create the context dynamically, but I definitely feel that if we are going to create them dynamically we should not do it based upon the language mode file, but the snippet files themself.

My preferred solution would be to get the language identifiers from the snippet files themselves directly when the file is read so the context would be created before Talon is ready. The only scenario where we would dynamically create a context would be if you add a new snippet language which hopefully is not that common. The problem with this approach is that we have a setting for custom snippet dir. This setting is not available until Talon is ready. The implementation in this pull request might be the the best solution available at the moment.

Okay I looked into the snippet dependency on language ids and the result is not that good. Basically the only reason why I'm using the language ids from the language modes file and not the actual snippets themselves is because of performance. Dynamically creating contexts is problematic for Talon. Even to the extent that it have been suggested we should remove the custom snippet dir setting.
The current implementation creates all the contexts once before Talon is started/ready
https://github.com/talonhub/community/blob/9af1757205be0a7458116892380e61c5153ef76c/core/snippets/snippets.py#L32-L36
Issue talking about the problem with updating snippet contexts #1373
The implementation in this pull request removes the performance gain in creating the contexts before Talon starts. In that case we could just get the language ids from the snippet files themself. I can't really say how much of a problem it is to create the context dynamically, but I definitely feel that if we are going to create them dynamically we should not do it based upon the language mode file, but the snippet files themself.

To me, it sounds like we're might be better off keeping this in python. Maybe we should instead clean up the extension definition stuff e.g. using a data class to define the list of extensions/associated spoken forms to make it more easily understandable/modifiable, and live with the need to branch this particular file for performance reasons. Plus, the alternative solutions to this PR require a talon restart if we modify the file, which is downer.

In the community session today we talked further on this topic. We think we should probably have a new python file code_languages.py where we have the language definitions. This python file can then be used by the language modes and the snippets.
We want to have these language definitions typed and something like this could probably work:
string_or_list = str | list[str]
lang = tuple[str, string_or_list] | tuple[str, string_or_list, string_or_list]

languages: list[lang] = [
    ("python", ["python"]),
    ("java", "java"),
    ("javascript", ["javascript"], ["something something"]),
]

Migrated to an issue (#1585).


Missing dot icon for unsaved files

Hi, I really like your theme, but  I found that the dot icon for unsaved files disappeared, can you fix it, thank you!!

if I switch to another theme:

This is the only thing stopping me from switching to this theme. A fix would be great!
Thanks

@aoiste @stagefright5
Sorry for the delay, I fixed this bug.
He also bothered me, but not so much)

:tada: This issue has been resolved in version 1.0.1 :tada:
The release is available on:

Visual Studio Marketplace
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: remove redundant logging from the project

This PR removes the print("dark mode changed") from the project.
This screenshot is from my work project where I use lottie.

Thanks for your contribution.


Error while starting cli without providing file

Hello, this problem will no longer exist in the new version that is coming!


E013 doesn't allow cols with dynamic size

E013 reports an error with dynamic .col and .col-auto elements inside a row, as it only checks for columns with specific sizes (e.g. .col-md-4).

Bootlint has not yet been updated for Bootstrap 4. Only Bootstrap 3 is currently supported.

See also #304.


ReadPublicIpRanges for two regions same return

Hello,
oapi-cli-x86_64.AppImage --profile=cloudgouv-eu-west-1 ReadPublicIpRanges "RequestId":"3a231551-b338-40ca-8462-db847677d73f"
oapi-cli-x86_64.AppImage --profile=eu-west-2 ReadPublicIpRanges "RequestId":"49986c8a-1cd5-48a5-87b5-924a300c29e2"
seems to have a bad return with sec-1, no consideration of the profile i think
Regards

We need to use export OSC_REGION=cloudgouv-eu-west-1 the region in profile file is not used

it seems, the error was due to using region_name instead of region in config file.
can we close this as won't do ?

Ok thanks 👍


Fix cant redefine

When using the latest SNAPSHOT version I couldn't use IDL imports multiple times. It throw me a:
org.apache.avro.SchemaParseException: Can't redefine: Amounts
at org.apache.avro.Schema$Names.put(Schema.java:1128)
	at org.apache.avro.Schema$Names.add(Schema.java:1123)
	at org.apache.avro.Schema.parse(Schema.java:1253)
	at org.apache.avro.Schema.parse(Schema.java:1269)
	at org.apache.avro.Schema$Parser.parse(Schema.java:1032)
	at org.apache.avro.Schema$Parser.parse(Schema.java:997)
	at com.sksamuel.avro4s.ModuleGenerator$$anonfun$fromFiles$1.apply(ModuleGenerator.scala:19)
	at com.sksamuel.avro4s.ModuleGenerator$$anonfun$fromFiles$1.apply(ModuleGenerator.scala:19)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at com.sksamuel.avro4s.ModuleGenerator$.fromFiles(ModuleGenerator.scala:19)
	at com.sksamuel.avro4s.Avro4sSbtPlugin$$anonfun$runAvro2Class$1$$anonfun$apply$8.apply(Avro4sSbtPlugin.scala:85)
	at com.sksamuel.avro4s.Avro4sSbtPlugin$$anonfun$runAvro2Class$1$$anonfun$apply$8.apply(Avro4sSbtPlugin.scala:84)
	at scala.Option.map(Option.scala:145)
	at com.sksamuel.avro4s.Avro4sSbtPlugin$$anonfun$runAvro2Class$1.apply(Avro4sSbtPlugin.scala:84)
	at com.sksamuel.avro4s.Avro4sSbtPlugin$$anonfun$runAvro2Class$1.apply(Avro4sSbtPlugin.scala:70)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
	at sbt.std.Transform$$anon$4.work(System.scala:63)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute.work(Execute.scala:237)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

This will fix it by creating a Parser for each file. Could you make me a release after a merge 😄  ?

The Parser change breaks the ability for avsc files to refer to types from earlier avsc files. Not sure how to fix both.

So I kind of have an idea of why these two features don't work together. When an avdl file is used as input for the plugin, it gets compiled into a set of avsc files under resource_managed. Those files are then compiled into a case class like any old avsc file.
#11 added support for avsc files to refer to another type by name({ "name": "fieldName", "type": "namespace.PreviouslyDefinedType" }). You would think that both would work flawlessly together since the step that is failing is the same for both(both of them are avsc files at this point). The difference is that the avsc files generated from avdl files don't refer to the existing types by name, they instead redefine them as a new type with the same json as they were originally defined.
I suspect most people aren't doing this if their manually edited avsc files because it would be a huge pain to modify a record in two or more places all the time.
So if this gets merged, it would break any avsc files that refer to existing types by name, but avsc files that instead of referencing types, redefine the types(with same json) will stay working.
I think that the behavior for avdl files is probably better but I think both use cases should be supported. I was able to get both to work with some super hacky nonsense that reuses a parser in the avsc file case but creates a new one for each avdl schemata. I think my project is planning on going with using avdl files so I am going to see if I can create a better solution that supports both use cases(although I am fairly inexperienced with plugins so I may not figure something out).

Hi, can you explain that last sentence again.

Quick example:
Here is another file that 'B' will refer to in two ways:
{
"name":"A",
"namespace":"v1",
"type":"record",
"fields":[
{
"type":"int",
"name":"value"
},
{
"name":"bool",
"type":{
"type":"enum",
"name":"Bool",
"symbols":[
"True",
"False"
]
}
}
]
}
Call this case Alpha:
{
   "name":"B",
   "namespace":"v1",
   "type":"record",
   "fields":[
      {
         "name":"a",
         "type":"v1.A"
      }
   ]
}

Call this case Beta:
Formatted JSON Data
{
   "name":"B",
   "namespace":"v1",
   "type":"record",
   "fields":[
      {
         "name":"a",
         "type":{
            "name":"A",
            "type":"record",
            "fields":[
               {
                  "type":"int",
                  "name":"value"
               },
               {
                  "name":"bool",
                  "type":{
                     "type":"enum",
                     "name":"Bool",
                     "symbols":[
                        "True",
                        "False"
                     ]
                  }
               }
            ]
         }
      }
   ]
}

Alpha refers to the type A by reference and Beta refers to the type A by repetition. Both seem to work in avro if you handle the Parser creation correctly. Reference only works if the two files are loaded into the same Parser, A before B. Repetition only works if the two files are loaded into completely separate Parsers, or avro complains with 'Can't redefine: A'.
The avdl processing step creates avsc files from the avdl file. If you have a reference to another type in an avdl file, avro uses the repetition method for the referred-to types. This is why this PR was created essentially reversing #11.
We need to handle the two cases in different ways which is what I hope I did decently with #29. My behavior was to allow the reference method for user files and the repetition method for any managed(read as avdl) files.
Maybe that was too much but I hope that clears things up.

That's a brilliant explanation of the problem thanks. Do you think it would be worthwhile to add a flag to the sbt plugin to allow users to choose which behaviour to pick, defaulting to what your PR does ?

Yeah that is probably a good idea in case anyone has existing sources on an old version that they don't want to migrate. I'll get to work on a key for that. Lets continue discussion in #29 if you are cool with it.

Yep


FileNotFoundError: [Errno 2] No such file or directory: 'timeout'

When on the step "Download chosen repositories"
I'm hitting the following error:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File<EMAIL_ADDRESS>line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/local/lib/python3.9/site-packages/guesslangtools/common.py", line 264, in _apply
return method(item, *other_args, **keywords)
File "/usr/local/lib/python3.9/site-packages/guesslangtools/workflow/github_repositories.py", line 130, in _clone_repository
result = run(command, stdout=PIPE, stderr=PIPE)
File<EMAIL_ADDRESS>line 505, in run
with Popen(*popenargs, **kwargs) as process:
File<EMAIL_ADDRESS>line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File<EMAIL_ADDRESS>line 1821, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'timeout'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/gltool", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/guesslangtools/main.py", line 153, in main
run_workflow(config)
File "/usr/local/lib/python3.9/site-packages/guesslangtools/app.py", line 15, in run_workflow
github_repositories.download(config)
File "/usr/local/lib/python3.9/site-packages/guesslangtools/common.py", line 175, in wrapped
result = func(config, *args, **kw)
File "/usr/local/lib/python3.9/site-packages/guesslangtools/workflow/github_repositories.py", line 105, in download
for step, row in enumerate(pool_map(_clone_repository, rows, config), 1):
File "/usr/local/lib/python3.9/site-packages/guesslangtools/common.py", line 255, in pool_map
for result in pool.imap_unordered(_apply, iterable):
File<EMAIL_ADDRESS>line 870, in next
raise value
FileNotFoundError: [Errno 2] No such file or directory: 'timeout'
Can it be in any way related to Python 9?
I would appreciate suggestions how to fix this

Solved by installing coreutils https://stackoverflow.com/questions/72366051/guesslangtools-filenotfounderror-errno-2-no-such-file-or-directory-timeout/72366419#72366419


[Android] Crashes after first file change

After the first time a file is changed, it crashes.

BUILD SUCCESSFUL

Total time: 1 mins 10.776 secs
Built the following apk(s):
	/Users/me/Projects/test-app/client/platforms/android/build/outputs/apk/android-armv7-debug.apk
Using apk: /Users/me/Projects/test-app/client/platforms/android/build/outputs/apk/android-armv7-debug.apk
LAUNCH SUCCESS

TACO Live Reload started.

Press CTRL+C to exit

[BS] File changed: /Users/me/Projects/test-app/client/www/globals.js
shell.js: internal error
Error: ENOENT: no such file or directory, chmod '/Users/me/Projects/test-app/client/platforms/android/assets/www/build.js'
    at Error (native)
    at Object.fs.chmodSync (fs.js:1045:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/taco-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:208:17)
    at Object.chmodSync (/Users/me/.taco_home/node_modules/cordova/5.4.1/node_modules/cordova/node_modules/cordova-lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:208:17)
    at copyFileSync (/Users/me/Projects/test-app/client/platforms/android/cordova/node_modules/shelljs/src/cp.js:41:6)
    at /Users/me/Projects/test-app/client/platforms/android/cordova/node_modules/shelljs/src/cp.js:201:5
    at Array.forEach (native)
    at Object._cp (/Users/me/Projects/test-app/client/platforms/android/cordova/node_modules/shelljs/src/cp.js:157:11)
    at Object.cp (/Users/me/Projects/test-app/client/platforms/android/cordova/node_modules/shelljs/src/common.js:186:23)
    at updateWwwFrom (/Users/me/Projects/test-app/client/platforms/android/cordova/lib/prepare.js:99:11)

The build.js file does exist.

Thank you for reporting the issue. @omefire, can you take a look?

same problem here but i receive the message
Cannot GET /platforms/assets/www/index.html

Same issue here, sadly this makes livereload on Android completely unusable at the moment.

Same issue

We have deprecated taco and recommend using our vscode extension for livereload, using ionic or cordova-simulate.


HIVE-24192: Properly log TaskExecutorService eviction details

Change-Id: Ia552ea08ba61831f60e94f5a18913a9d87bb3385

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

cc: @abstractdog


hiveadmission: enable API Priority and Fairness

Make hiveadmission logs stop saying things like
W1107 19:49:51.940311       1 reflector.go:324] k8s.io/client-go@v12.0.0+incompatible/tools/cache/reflector.go:167: failed to list *v1beta2.PriorityLevelConfiguration: prioritylevelconfigurations.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:hc-hs1:hiveadmission" cannot list resource "prioritylevelconfigurations" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope
E1107 19:49:51.940382       1 reflector.go:138] k8s.io/client-go@v12.0.0+incompatible/tools/cache/reflector.go:167: Failed to watch *v1beta2.PriorityLevelConfiguration: failed to list *v1beta2.PriorityLevelConfiguration: prioritylevelconfigurations.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:hc-hs1:hiveadmission" cannot list resource "prioritylevelconfigurations" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope
W1107 19:50:08.250374       1 reflector.go:324] k8s.io/client-go@v12.0.0+incompatible/tools/cache/reflector.go:167: failed to list *v1beta2.FlowSchema: flowschemas.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:hc-hs1:hiveadmission" cannot list resource "flowschemas" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope
E1107 19:50:08.250416       1 reflector.go:138] k8s.io/client-go@v12.0.0+incompatible/tools/cache/reflector.go:167: Failed to watch *v1beta2.FlowSchema: failed to list *v1beta2.FlowSchema: flowschemas.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:hc-hs1:hiveadmission" cannot list resource "flowschemas" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope

and instead say this:
I1107 19:50:52.685933       1 apf_controller.go:322] Running API Priority and Fairness config worker

HIVE-2057

/assign @abutcher

wait for https://github.com/openshift/release/pull/33829 and https://github.com/openshift/hive/pull/1907 to retest

/retest

/lgtm


Supporting ES module imports

@gaearon thanks for offering to help before. From the previous issues I think the interop issue @timbur is having is that the component module is of the form { default: component } for ES modules when they are added to the imports by the transformer instead of the direct component.
Babel has an exception where a module with a single default export gets treated as the entire module, but I don't think we can't assume this exception for real ES module environments.
A check before handling the component of something like component instanceof React.component ? component || component.default || component may be a way to support ES module react components here. I know the instanceof doesn't quite cover it though so let me know if you have any ideas here?
Let me know your thoughts and if that is clear.

@guybedford Thanks for your time on this stuff, as always.  :)
Might the best solution actually be to revisit https://github.com/babel/babel/issues/2148?  Or I'm I wrong in thinking that the algorithm you described there would solve this issue and all others like it?  Regardless, it seems to me like there must be some way to determine whether a module was originally ES6, and if so and if it's imported into a CJS module (or another transpiled ES6 module with default specified of course), then use the default rather than the entire ES6 module object.

@timbur sure no problem, it's a good use case to cover.
I think the issue here is actually just that the file.addImport API call to Babel needs to access the default export to be like import x from 'x' instead of import * as x from 'x' for correct interop, which should then handle the use case completely fine. This may or may not be a Babel issue underneath, I'm not completely sure yet.

When you come to a conclusion let me know and I'll happily add a workaround you think is right.

I think the issue here is actually just that the file.addImport API call to Babel needs to access the default export to be like import x from 'x' instead of import * as x from 'x' for correct interop

Ohh I see.  That makes the most sense and could be exactly the problem.

Sure thanks, I've posted https://github.com/babel/babel/issues/2496.

Just to update here - apparently addImport isn't a public API. The issue here is definitely with that function not handling the interop scenarios.

I think that actually if I use file.addImport directly (effectively reverting d4c90c764cf9d91cc217601d53c28b8b41108d9b) it will work as you described. Can you confirm this is the change you need?

@gaearon No, it still imports the entire module object rather than the default.

I thought maybe I could use a JSPM override to make it work but no, d4c90c764cf9d91cc217601d53c28b8b41108d9b definitely breaks it by importing the entirely module object rather than the module's default export.

So will reverting it help? I can do that.

Yeah reverting it fixed the problem for me.

I think this is probably fixed because we no longer use absolute in the source.
Please reopen if still an issue.


Error after restarting homebridge

I am getting this error out of the blue after running this plug in with a HP02 for many months. I updated another plugin, restarted homebridge and now homebridge crashes with this error:
SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (:null:null)
at IncomingMessage.res.on (/usr/local/lib/node_modules/homebridge-dyson-link/index.js:179:40)
at IncomingMessage.emit (events.js:203:15)
at endReadableNT (_stream_readable.js:1145:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
[9/14/2019, 10:03:56 PM] Got SIGTERM, shutting down Homebridge...
Here is my config:
{
"platform": "DysonPlatform",
"name": "DysonPlatform",
"email"<EMAIL_ADDRESS>"password": "password",
"country": "US",
"accessories": [
{
"ip": "192.168.0.x",
"displayName": "Dyson HP02",
"serialNumber": "XX1-US-XXX1234Z",
"password": "password",
"nightModeVisible": false,
"focusModeVisible": true,
"autoModeVisible": true
}
]
},

I am seeing the same issue. I have an HP04 and two Hot + Cool Link machines.

Exact same problem here. Was working perfectly up until now. I'm guessing Dyson changed something with their API

So the fix is to change the following lines in the "index.js" file:
Line 144: change link to "appapi.cp.dyson.com"
Line 146 (if you're in China): change link to "appapi.cp.dyson.cn"

Thank you @HomeTech for that quick update. That worked.

Thanks! just updated the package accordingly

After you updated the server, I can no longer control my fan. The accessory appears in Homekit and the Homebridge logs, but the fan does nothing.


[dox] Revise confusing wording of "if !value is false" in std.exception.enforce

Per discussion in https://github.com/D-Programming-Language/phobos/pull/3589

Ping @quickfur Going to close if there are no compelling argument in favor of cast(bool).

cast(bool) is what the compiler uses to evaluate if/while conditions, so it avoids the ! operator, tells the user how to duplicate the functionality and is correct in a technical sense.

correct in a technical sense.

That's great. Now let's count the number of developers that know that if(x) does if(cast(bool)x). It's documented in one place exactly AFAIK and not a very prominent one.

It'll be two places after this PR.

It'll be two places after this PR.

Okay, merge it then.

It'll be two places after this PR.
Okay, merge it then.

BTW - it doesn't say how cast(bool) is relevant to if

This seems backwards to me.
Arguments in favor of the current documentation:

It's literally what the code does.
It's easier to read and understand.

Arguments in favor of this change:

It's what the reference D compiler does under the hood.

I don't think we should be descending to such low-level detail. I mean, we don't document what assembler code DMD will generate in this or that situation.

I'd even vote for !!value, it's terse and something everyone should learn at some point. :)

@AndrejMitrovic In fact, getting rid of !! was what started this whole thing in the first place. If that's what we're going back to, then basically we've been going around in circles...

Haha, I just saw that discussion, sorry. Ok then let's keep the PR or alternatively just write "if the value evaluates to true" ? It's really not all that important. :)

Yeah, !!value is cryptic, even if clever. It looks like another weird operator.
I think even though it's got a double negative, the current documentation is correct, and conveys the correct message.
cast(bool) would be OK as well, to me the two options aren't much different.

So what are we gonna do here? Merge this? Or close this and leave the docs as-is?

Auto-merge toggled on

I can't accept double-negatives. !!state is clear to me but only because I've been around for a long while. Your PR is good, so I'm merging it. :)