When compiling to a native image with Graal, no colors are shown

I've managed to compile my Java-based CLI with Graal following the steps described in
https://picocli.info/picocli-on-graalvm.html
It works great, except for one thing: when the help is shown, no colors are displayed.

This is the same output produced by the JAR.

What do you get when you invoke the native image with system property picocli.ansi to true?
./mock-cli -Dpicocli.ansi=true

(It should be possible to pass system properties to the native image.)

Indeed, when calling the binary with -Dpicocli.ansi=true, colors are displayed.
The output of TERM and OSTYPE are
$ echo $TERM
xterm-256color
$ echo $OSTYPE
darwin17.5.0

So this is a Mac I'm developing on. Note that I'm also building the binary without Graals static flag because static linking is not supported on MacOS.
This is my Graal config (I'm using Palantir's Graal Gradle Plugin)
graal {
    mainClass 'de.meinestadt.mock.Cli'
    outputName project.name
    option "-H:ReflectionConfigurationFiles=${project.buildDir}/cli-reflect.json"
    option '-H:+ReportUnsupportedElementsAtRuntime'
}

Thank you for your help!

Ok, I suspect that this is caused by picocli's check whether the console is a TTY. Picocli uses reflection to detect this, and this reflection is not in the configuration. Unsure why ANSI colors worked for me when I tested...
Can you try adding the below snippet to cli-reflect.json, rebuild the native image and try again?
  {
    "name" : "java.lang.System",
    "allDeclaredConstructors" : true,
    "allPublicConstructors" : true,
    "allDeclaredMethods" : true,
    "allPublicMethods" : true,
    "methods" : [
        { "name" : "console" }
    ]
  },

If we can confirm that colors are shown when the above snippet is included in the cli-reflect.json, I can include a fix for this in the upcoming 3.8.1 release.

@helpermethod, do you think you'll be able to test the above JSON snippet this week? I'm thinking to do another release this weekend and would be great if you could confirm that this fixes the issue.

Hi @remkop !
Sadly, this doesn't seem to make a difference. Added the entry but still no colors.

@helpermethod Can you please try again with with the latest picocli built from master?
I added some debug tracing that may give us more insight into what is happening.
You can enable the tracing by running with system property -Dpicocli.trace=DEBUG

I suspect that System.console() returns null on your system. That would cause picocli to conclude that there is no terminal attached to the process so it should not emit ANSI escape codes.
The debug tracing now in master will confirm this. You can also confirm by printing the result of calling System.console() in the application.

Did that show the usage help?
Could you run
 ./mock-cli -Dpicocli.trace=DEBUG --help

Yes it did.
14:16 $ ./mock-cli -Dpicocli.trace=DEBUG --help
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.Cli with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Create with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.config(java.lang.String,java.util.List,java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.mapping(java.lang.String,java.lang.String,java.util.Map) as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.List with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.configs() as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.mappings() as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Show with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Show.config(java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class picocli.CommandLine$AutoHelpMixin with factory picocli.CommandLine$DefaultFactory
[picocli INFO] Parsing 1 command line args [--help]
[picocli DEBUG] Parser configuration: posixClusteredShortOptionsAllowed=true, stopAtPositional=false, stopAtUnmatched=false, separator=null, overwrittenOptionsAllowed=false, unmatchedArgumentsAllowed=false, expandAtFiles=true, atFileCommentChar=#, endOfOptionsDelimiter=--, limitSplit=false, aritySatisfiedByAttachedOptionParam=false, toggleBooleanFlags=true, unmatchedOptionsArePositionalParams=false, collectErrors=false,caseInsensitiveEnumValuesAllowed=true, trimQuotes=false, splitQuotedStrings=false
[picocli DEBUG] Set initial value for field boolean picocli.CommandLine$AutoHelpMixin.helpRequested of type boolean to false.
[picocli DEBUG] Set initial value for field boolean picocli.CommandLine$AutoHelpMixin.versionRequested of type boolean to false.
[picocli DEBUG] Initializing de.meinestadt.mock.Cli: 2 options, 0 positional parameters, 0 required, 3 subcommands.
[picocli DEBUG] Processing argument '--help'. Remainder=[]
[picocli DEBUG] '--help' cannot be separated into <option>=<option-parameter>
[picocli DEBUG] Found option named '--help': field boolean picocli.CommandLine$AutoHelpMixin.helpRequested, arity=0
[picocli INFO] field boolean picocli.CommandLine$AutoHelpMixin.helpRequested has 'usageHelp' annotation: not validating required fields
[picocli INFO] Setting field boolean picocli.CommandLine$AutoHelpMixin.helpRequested to 'true' (was 'false') for option --help
Usage: mock-cli [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  create  creates a configuration or mapping
  list    lists available configurations or mappings
  show    displays a configuration or mapping

Hmm... my last commit to master should introduce a DEBUG message starting with “Checking if ANSI possible: isTTY=...” but I don’t see that in the output. Did you use picocli 3.8 or the snapshot build from master?
What I’m trying to confirm is whether System.console() returns null in your environment. If it’s easier to just add some code to your application that prints the result of System.console(), then that’s fine too.

Yes, used the SNAPSHOT version but with no difference. I've uploaded the project for analysis to GH
https://github.com/helpermethod/mock-cli

What I've tried so far:

checked out picocli master (4.0.0-SNAPSHOT)

built my mock-cli project by performing a composite build
./gradlew --include-build ../picocli

After that didn't work out, I've install the 4.0.0-SNAPSHOT into my local Maven repository and let my project depend on the SNAPSHOT version.

Picocli 4.0.0-SNAPSHOT has some additional debug tracing but to find out if System.console() returns null in the native graalvm image when running in your environment we could just add something like this to the Cli::run method:
System.out.println("System.console() returns " + System.console());

FYI: I noticed the tracing I added on whether ANSI is available was not always shown. Probably because it was being logged from a static initializer method. I've made some improvements to the tracing (#560).

Thank you! Will test out your changes on Monday (don't have my laptop at home right now, sry).

The output based on your latest changes
09:19 $ ./mock-cli -Dpicocli.trace=DEBUG
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.Cli with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Create with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.config(java.lang.String,java.util.List,java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.mapping(java.lang.String,java.lang.String,java.util.Map) as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.List with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.configs() as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.mappings() as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Show with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Show.config(java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class picocli.CommandLine$AutoHelpMixin with factory picocli.CommandLine$DefaultFactory
[picocli INFO] Picocli version: 4.0.0-SNAPSHOT, JVM: 1.8.0_192 (Oracle Corporation Substrate VM null), OS: Mac OS X 10.13.4 x86_64
[picocli INFO] Parsing 0 command line args []
[picocli DEBUG] Parser configuration: posixClusteredShortOptionsAllowed=true, stopAtPositional=false, stopAtUnmatched=false, separator=null, overwrittenOptionsAllowed=false, unmatchedArgumentsAllowed=false, expandAtFiles=true, atFileCommentChar=#, endOfOptionsDelimiter=--, limitSplit=false, aritySatisfiedByAttachedOptionParam=false, toggleBooleanFlags=true, unmatchedOptionsArePositionalParams=false, collectErrors=false,caseInsensitiveEnumValuesAllowed=true, trimQuotes=false, splitQuotedStrings=false
[picocli DEBUG] (ANSI is disabled by default: TTY=false, isXTERM=true, hasOSTYPE=false, isWindows=false, JansiConsoleInstalled=false)
[picocli DEBUG] Set initial value for field boolean picocli.CommandLine$AutoHelpMixin.helpRequested of type boolean to false.
[picocli DEBUG] Set initial value for field boolean picocli.CommandLine$AutoHelpMixin.versionRequested of type boolean to false.
[picocli DEBUG] Initializing de.meinestadt.mock.Cli: 2 options, 0 positional parameters, 0 required, 3 subcommands.
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.Cli with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Create with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.config(java.lang.String,java.util.List,java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Create.mapping(java.lang.String,java.lang.String,java.util.Map) as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.List with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.configs() as command
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.List.mappings() as command
[picocli DEBUG] Creating CommandSpec for object of class de.meinestadt.mock.subcommand.Show with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Creating CommandSpec for object of class java.lang.reflect.Method with factory picocli.CommandLine$DefaultFactory
[picocli DEBUG] Using method public void de.meinestadt.mock.subcommand.Show.config(java.lang.String) as command
[picocli DEBUG] Creating CommandSpec for object of class picocli.CommandLine$AutoHelpMixin with factory picocli.CommandLine$DefaultFactory
Usage: mock-cli [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  create  creates a configuration or mapping
  list    lists available configurations or mappings
  show    displays a configuration or mapping

Right. I'm 99% sure that this means that System.console() returns null when running the native graalvm image in your environment.
If System.console() returns null, picocli will conclude that there is no TTY and it should not emit ANSI escape sequences. I believe picocli is behaving correctly here.
The question is why System.console() returns null when running the native graalvm image in your environment. I think it makes sense to boil it down to a very small program to demonstrate the issue and submit an issue to https://github.com/oracle/graal/issues/ . What do you think?
public class WhyNoConsole {
    public static void main(String[] args) {
        System.out.println("System.console() = " + System.console());
    ]
}

That doesn't seem to be the problem, System.console is in fact non-null
13:52 $ ./mock-cli
console: java.io.Console@108e8f140
Usage: mock-cli [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  create  creates a configuration or mapping
  list    lists available configurations or mappings
  show    displays a configuration or mapping

Really? That’s unexpected!
What about the below?
// this is how picocli checks if a console is available
System.out.println(System.class.getDeclaredMethod(“console”).invoke(null));

This is the output
17:32 $ ./mock-cli
JVM: 1.8.0_192 (Oracle Corporation Substrate VM null), OS: Mac OS X 10.13.4 x86_64
System.console() = java.io.Console@107b90458
System.class.getDeclaredMethod("console").invoke(null) = java.io.Console@107b90458
Usage: mock-cli [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  create  creates a configuration or mapping
  list    lists available configurations or mappings
  show    displays a configuration or mapping

Produced by the following Java snippet
    @Override
    public void run() {
        System.out.printf("JVM: %s (%s %s %s), OS: %s %s %s%n",
                System.getProperty("java.version"), System.getProperty("java.vendor"),
                System.getProperty("java.vm.name"), System.getProperty("java.vm.version"),
                System.getProperty("os.name"), System.getProperty("os.version"),
                System.getProperty("os.arch"));

        out.println("System.console() = " + System.console());

        try {
            out.println("System.class.getDeclaredMethod(\"console\").invoke(null) = " + System.class.getDeclaredMethod("console").invoke(null));
        } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
            e.printStackTrace();
        }

        new CommandLine(this).usage(out);
    }

Somehow it now works!
09:11 $ ./mock-cli
JVM: 1.8.0_192 (Oracle Corporation Substrate VM null), OS: Mac OS X 10.13.4 x86_64
TTY in static initializer = true
System.console() = java.io.Console@1066907d8
System.class.getDeclaredMethod("console").invoke(null) = java.io.Console@1066907d8
Usage: mock-cli [-hV] [COMMAND]
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  create  creates a configuration or mapping
  list    lists available configurations or mappings
  show    displays a configuration or mapping

If my latest commit on master fixed the issue,  I will do a 3.8.2 release for this.

Yes, this was after using the latest master! Great work, thank you very much!

I released v3.8.2 that includes this fix.


[WIP] Improved MCXVChain with dirty auxiliary qubits

Summary
Implementation of MCX with $k$ controls and $k - 2$ dirty auxiliary qubits following the optimizations described by Iten et al. in [1].
[1] http://arxiv.org/abs/1501.06911
Details and comments
The changes made to the MCXVChain class only affect the dirty_ancilla mode. This implementation produces MCX circuits with at most $8k - 6$ CNOTs with $k$ control qubits. It also addresses issue #5872 and is a necessary step to further improve PR #8710.

Missing documentation and release notes for relative_phase and action_only (Lemma 8, https://arxiv.org/pdf/1501.06911.pdf).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

51 of 52 (98.08%)  changed or added relevant lines in 1 file are covered.
93 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.0009%) to 85.321%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/circuit/library/standard_gates/x.py
51
52
98.08%

Files with Coverage Reduction
New Missed Lines
%

src/vf2_layout.rs
1
86.44%

qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py
2
98.08%

qiskit/pulse/library/waveform.py
3
91.67%

qiskit/quantum_info/synthesis/one_qubit_decompose.py
7
93.86%

src/euler_one_qubit_decomposer.rs
80
87.63%

Totals

Change from base Build<PHONE_NUMBER>:
0.0009%

Covered Lines:
67913

Relevant Lines:
79597

💛  - Coveralls

Hi @rafaella-vale and @ShellyGarion , I think that this PR is ready for review. However, I don't have access to change from draft to ready for review.

This PR solves issue #9740 .
from qiskit import transpile
from qiskit.circuit.library.standard_gates import MCXVChain

k = 10
qc = MCXVChain(k, True).definition
tqc = transpile(qc, basis_gates=['u', 'cx'])
tqc.count_ops()['cx']

Now the required number of cx gates is 8k-6.
PS. This PR was a task for the students of the quantum computing class at Centro de Informática - UFPE.

@adjs @rafaella-vale - Following the recent discussion in #5872 I'm checking on the status of this PR.
I believe that we are still waiting for a recent version following the @Cryoris review comments.
If you still need any help from us, please let us know.

Could you please merge your branch with the main branch, fix the conflicts and the lint and docs errors?

Could you please rebase your code on the current main branch of Qiskit and remove all redundant PRs?
It's impossible to review the code this way (there are over 200 files :) )

Could you please merge your branch with the main branch, fix the conflicts and the lint and docs errors?

We have been able to fix the errors and replace the U1/2 operators by T and H operators directly.
In our implementation we use circuit.append(operator_class, [qubit_indices], []) because we are following the same coding stile present in the file qiskit/circuit/library/standard_gates/x.py , where instead of using circuit.operation(qubit_index), the lines present the append function with lists of operator classes and qubit indices, that is why we decided to use a similar approach when implementing the modifications.

Could you please rebase your code on the current main branch of Qiskit and remove all redundant PRs? It's impossible to review the code this way (there are over 200 files :) )

I apologize for the confusion. I had a small problem while rebasing the code. Fortunately I was able to undo the problem and reapply the changes.

This PR is almost ready to go. It would be nice to finalize it (as well as #8710) for the Qiskit 1.1 release

close #9740


Paths are now correctly quoted.

Fixing an issue I introduced from my previous fix.
Paths are now only correctly quoted if needed.

Does this fix #152?

Recieved the following error message when getting that specific version
RAISE_OMNI_SHARP_LAUNCHER_EXCEPTION:NameError("global name 'quote_path' is not defined",)

The following import is missing on top of the file. then everything is fixed.
from .helpers import quote_path

My bad, was modifying two omnisharp.py files in different locations.
But yes, this fixes #152.


Allow file input tag return native file path

Fixes atom/electron#1683.

This is probably a breaking change, we probably need to somehow have developers opt-into this feature, since there is probably a ton of code that searches for C:\Fakepath that will now not find it

Thanks for the pointing. But the file <input> tag's behavior in nw.js also returns the native file path.

Unlike nw.js which relies on input tag for file dialogs, in Electron users should use the dialog module to open file dialogs, the input tag is only implemented to be compatible with traditional web pages. And as @paulcbetts said, this patch will break many web pages, so I'm closing this.

@zcbenz @paulcbetts What is the future of this feature, is electron ever going to support getting a file path from HTML5 input element (same as NWJS) ?


Base patched Trackler gem off actual version tag.

was: hand-rolling a version of Trackler based of master and then
applying changes from the PR/commit/local change to that trackler gem.
now: using the exact tagged version of Trackler as the basis for the
hand-rolled gem.

This fixes the issue where a change make to Trackler's master is
incompatible with the current version of x-api.  In short, we were
building the Trackler gem wrong.

This come up by inadvertently breaking PR #430.
Our journey test puts a complete install of Exercism through its paces, ensuring that each and every exercise in the Java track can be fetched and solved.
In preparation for that journey, we stand-up two key components of Exercism: x-api (the endpoint which clients obtain exercises) and trackler (the versioned library of those exercises).
In order to test the patch of Java exercise code, we need to hand-roll a version of the trackler gem to a) be compatible with the latest version of x-api and b) include the changes we're currently testing.
To date, we were grabbing the master branch of trackler and applying the Java track changes.  At the time, I didn't appreciate that this ran the risk that if there were changes to Trackler code itself they may be incompatible with the latest x-api.  Today, they did.
The right way to do this is to first check-out the local check-out of Trackler to the tagged version.  That's what this patch does.

@exercism/java could I get a second pair of eyes on this?
Two reasons:

I'd rather we be right than fast.
I'd rather we have some insight into how our CI works, generally.  Here's a good/meaningful peek into the journey test.

Thank you!

Thank you, @FridaTveit!


Fix up the setup instructions

Reproduce the README's contents in the setup page. Fix a typo in the
build instructions.
Signed-off-by: Robert Young<EMAIL_ADDRESS>

with the new custom domain name, we don't have support for https. I believe that this is going to magically start working today, based on github's blog post yesterday: https://blog.github.com/2018-05-01-github-pages-custom-domains-https/
Do we want to use https when linking to our website, which is currently broken, or http, which will soon be obsolete?

Oh, it looks like the https urls I've been using are somehow falling back to http for now. I'm going to leave the links with https for now.

I cancelled the build, not important for this PR.

If http is going to become obsolete soon, then perhaps we should be working on setting https sometime soon, but it doesn't seem super urgent right now.


ts declare dynamic.setDefaultLoadingComponent

Checklist

[x] npm test passes
[ ] tests are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Description of change

any feature?
close https://github.com/dvajs/dva/ISSUE_URL

Coverage remained the same at 86.493% when pulling 711a4ca436b191b0eb7fd2245702d82342b1207f on becarchal:master into a5e4ca58b8d40685545cc5bff6a92736afc94d24 on dvajs:master.


KestrelServerOptions.ApplicationServices null when using UseKestrel overload with action to change options

I'm currently using UseKestrel(ConfigureHttpsCertificate) and found that KestrelServerOptions.ApplicationServices is null.
My assumption is, that services.Configure(options) in the UseKestrel overload interferes with services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();, because the call to services.Configure(options) is implemented as services.AddSingleton<IConfigureOptions<TOptions>>(new ConfigureOptions<TOptions>(configureOptions)). So, we have an IConfigureOptions<KestrelServerOptions> as transient, and one as singleton, which is at least somewhat confusing and inconsistent.
The question is: Is it a bug in the KestrelHttpServer? Or is it a problem coming from AutoFac?

Found it. AutoFac returns all items in reverse order (Authfac Issue #755)[https://github.com/autofac/Autofac/issues/755]

https://github.com/aspnet/Hosting/issues/785


fix some  performance issues

I use glob to match some files, these files are saving in same folder, the following code will be executed more than once, because dirname is same, it make performance issues, the code at gaze.js line 289 in _addToWatched function.
var readdir = fs.readdirSync(dirname);

for (var j = 0; j < readdir.length; j++) {

  var dirfile = path.join(dirname, readdir[j]);

  if (fs.lstatSync(dirfile).isDirectory()) {

    helper.objectPush(this._watched, dirname, dirfile + path.sep);
  }
}

@shama this looks like a good suggestion.

Thanks!


Arbtt now works with GHC 8

@nomeata: One of arbtt's dependencies, bytestring-progress, is not compatible with the latest time package.
time-<IP_ADDRESS> is out of bounds for:

[ ] bytestring-progress-1.0.5 (>=1.1 && < 1.6). No maintainer. @acw

I just uploaded bytestring-progress 1.0.6 to Hackage, which appears to work with time <IP_ADDRESS>. Have fun!


Add 'who' survey to WebFu

Adds GCS consumer survey

:tada: This has been pushed live to https://developers.google.com/web/


fix: upgrade to version 3.1.40

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign garethjevans
You can assign the PR to them by writing /assign @garethjevans in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
9896394763b0bec5daec0da9a2173946a4b8d22a
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Feature Request: Provide official docker images

Please provide official docker images for the uploader.
My use case is to run the uploader on Google Cloud Build. On Cloud Build, you need to include any executable within docker images to run. It'd be really convenient if I can just refer to codecov/uploader image, instead of building and maintaining one by myself.
Please let me know if you need any more information to clarify. Thanks in advance!

I agree an officially maintained Docker image with the latest uploader binary would be the ideal way to upload reports in most CI pipelines.


Update faq.md

Purpose of the pull request
Modify faq
Brief change log
Modify faq.md

Purpose of the pull request
Modify faq
Brief change log
Modify faq.md

@PaperKite233
Please refer to the README and submit it to the dev branch, thank you very much


Missing compiler config options?

I see that the compiler tool has the following options that are not able to be set in the config file:

--flat-classpath
--auto-export-maven-dependencies
--jdk-provider

Is that on purpose (because it somehow doesn't make sense) or was it just forgotten?
I guess @FroMage and/or @tombentley should know

Have a look at this file for the first two options:
https://github.com/ceylon/ceylon-ide-common/blob/master/.ceylon/config
Le 24 mars 2016 1:54 AM, Tako Schotanus<EMAIL_ADDRESS>a écrit :I see that the compiler tool has the following options that are not able to be set in the config file:
--flat-classpath--auto-export-maven-dependencies--jdk-provider
Is that on purpose (because it somehow doesn't make sense) or was it just forgotten?
I guess @FroMage and/or @tombentley should know
—You are receiving this because you are subscribed to this thread.Reply to this email directly or view it on GitHub

@bjansen but does it work? Because I see the options defined in the constants but the methods are never been called it seems.

It's very possible they're never used, indeed.

There being constants for defaults.flatclasspath and defaults.autoexportmavendependencies I assume it was an oversight so they are now correctly applied from the config file where necessary.
I'm not sure yet about --jdk-provider although it seems something that belongs in a config file as well, right @FroMage ?

Sure, I probably did not wire them in correctly.


Trouble returning a reference from the context

Sorry I don't think this is really an issue with the library but as I'm a Rust noob I am a bit stuck.
I have a User object on my juniper context (loaded with a Rocket request guard) and I'm trying to use it in my QueryFields impl:
impl QueryFields for Query {
    fn field_me<'a>(
        &'a self,
        executor: &'a juniper::Executor<'_, Context>,
        _trail: &'a QueryTrail<'_, User, juniper_from_schema::Walked>,
    ) -> FieldResult<&'a Option<User>> {
        Ok(&executor.context().user)
    }
}

I added the explicit lifetimes because otherwise Rust would complain but now I'm getting this:
error: `impl` item signature doesn't match `trait` item signature
  --> src/graphql/schema/query.rs:33:5
   |
33 | /     fn field_me<'a>(
34 | |         &'a self,
35 | |         executor: &'a juniper::Executor<'_, Context>,
36 | |         _trail: &'a QueryTrail<'_, User, juniper_from_schema::Walked>,
37 | |     ) -> FieldResult<&'a Option<User>> {
38 | |         Ok(&executor.context().user)
39 | |     }
   | |_____^ found fn(&graphql::schema::query::Query, &juniper::Executor<'_, graphql::context::Context>, &juniper_from_schema::QueryTrail<'_, db::models::user::User, juniper_from_schema::Walked>) -> std::result::Result<&std::option::Option<db::models::user::User>, juniper::FieldError>

Is there a way to achieve this?

I used @juniper(ownership: "owned") as a work around but would still be nice to know if it was solvable using references.

@lucasholder, have you found a solution to your problem? Seems to be it's more common send out a copy of you User, but as a result I'm adding @juniper(ownership: "owned") all over the place.
Maybe @davidpdrsn can help out some Rust beginners? 😇

I'm afraid this isn't possible with the current design. Currently we're optimising to allow you to return data borrowed from the GraphQL type that the field is on (Query in the example above).
If we make all lifetimes explicit we get
impl QueryFields for Query {
    fn field_hello_world<'exec, 'field_ty>(
        &'field_ty self,
        exec: &'exec juniper::Executor<'exec, Context>,
    ) -> juniper::FieldResult<&'field_ty String> {
        let ctx: &'exec Context = exec.context();
        Ok(&ctx.data)
    }
}

So currently the lifetime returned is 'field_ty which is also the lifetime of self. That means you can do
#[derive(Debug)]
struct User {
    name: String,
}

impl UserFields for User {
    fn field_name<'exec, 'field_ty>(
        &'field_ty self,
        exec: &'exec juniper::Executor<'exec, Context>,
    ) -> juniper::FieldResult<&'field_ty String> {
        Ok(&self.name)
    }
}

I'm not sure there is a way to make both things possible but I'm open for suggestions. Doesn't have to be PRs. Could also be sample code with new *Fields traits that supports both use cases.
I'm afraid you have to return owned data (possibly by cloning):
type Query {
  helloWorld: String! @juniper(ownership: "owned")
}

impl QueryFields for Query {
    fn field_hello_world<'exec, 'field_ty>(
        &'field_ty self,
        exec: &'exec juniper::Executor<'exec, Context>,
    ) -> juniper::FieldResult<String> {
        let ctx: &'exec Context = exec.context();
        Ok(ctx.data.clone())
    }
}

Thanks for your quick reply, @davidpdrsn, it's helping a lot! I'm still getting my feet wet with GraphQL and Juniper so it's taking me some time to wrap my head around what you're saying.
My context contains a RefCell, (my schema supports mutations so I need interior mutability), at which point you essentially have to clone data out (borrow() returns a local struct).
Do you mind answering two more beginner questions?

Wouldn't it be a better default to have everything return owned, and use an @juniper directive to add a reference?
Just for my understanding and ease of mind: is it common that these GQL objects aren't directly your data model then, but a layer around it?

Wouldn't it be a better default to have everything return owned, and use an @juniper directive to add a reference?

Its a tradeoff. My experience is that most fields return borrowed data because they come from some kind of struct with fields for each field in the graphql type. This is the schema for an example app I built.
I think if all your fields return owned data you're incentivised to clone all over and possibly have N+1s query bugs, which isn't ideal.

Just for my understanding and ease of mind: is it common that these GQL objects aren't directly your data model then, but a lightweight layer around it - aka cheap to copy?

Yes in general I would recommend you keep your GraphQL types and data model types different. They might have things in common but most likely will diverge over time. I normally don't like to conflate view and model code.

Right, that's making more and more sense now! I'll keep that in mind when designing my own GraphQL API :)
Hopefully I didn't hijack the thread too much, looks like the answer to the original question then is to just simply use the @juniper directive.
Thanks for indulging me, @davidpdrsn.

No problem. I'll close this issue for now.


Warning log when uploading a file

When loading a raw file model, there's a warning log that says:
`NoneType` object value of non-optional type type detected when decoding ModelType.

Which needs investigation/resolution.

The Azure upload logs are also quite loud

Released!


Make a separate endpoint for updating schemas

Currently there's just one endpoint for both creating and updating a schema. Schema type param shouldn't be available when updating an existing schema.

#2152

Can I work on this please ?

@shubhwip sure!

@Haarolean Having looked at #2152 I think we can solve this problem just by disabling the schema type during edit. This way we can stop users to change schema type during schema edit.
Also I checked if there is any PUT endpoint on schema registry service but seems like there is nothing.
https://docs.confluent.io/platform/current/schema-registry/develop/api.html#subjects
Submitted the PR for the above change #2495

wontfix: https://github.com/provectus/kafka-ui/pull/2495#issuecomment-1231478236


failed to start dev server

Describe the bug
I created the project when the version of kit was 1.0.0-next.577 and leave the version of kit set to 'next' in package.json.
And I cannot start the dev server today and got below error message
failed to load config from /home/raymc/projects/upwork/citynetnews/vite.config.js
error when starting dev server:
file:///home/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.581_svelte@3.54.0+vite@3.2.5/node_modules/@sveltejs/kit/src/exports/vite/dev/index.js:6
import { isCSSRequest } from 'vite';
SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:528:24)

I fixed it with installing 1.0.0-next.577
Reproduction
create new project with latest version
Logs
No response
System Info
System:
    OS: Linux 5.10 Ubuntu 20.04.5 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz
    Memory: 3.64 GB / 5.80 GB
    Container: Yes
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 18.8.0 - ~/.nvm/versions/node/v18.8.0/bin/node
    npm: 8.19.2 - ~/.nvm/versions/node/v18.8.0/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.90
    @sveltejs/kit: 1.0.0-next.581 => 1.0.0-next.581
    svelte: ^3.53.1 => 3.54.0
    vite: ^3.2.4 => 3.2.5

Severity
serious, but I can work around it
Additional Information
No response

Just tried to install other version.
The error occur from .579. I can start the server with .578

Note sure related but I had issue since Vite4 release. Does npm i -D vite@4 solve it for you?

Yes Vite 4 is required in the latest version.


Refactor MS MARCO v1 doc segmented uniCOIL regressions

Closes #1853
@MXueguang - I'm still running regressions, but I'll let you start taking a look first.

@MXueguang all tests pass on my end. Please take a look and we'll merge.


Adoption of MIxS checklist

The contextual data associated described in the standards.tsv should be MIxS compliant and use the descriptors from here
MIMS checklist for metagenome and metatranscriptome data
GSC MIxS terms are included in the GSC MIxS sample checklists designed for reporting sample metadata of metagenomics and metatranscriptomics studies. Instructions for submissions of read data and sample metadata are here. In order to reach MIMS compliance the sample metadata must contain (1) MIxS shared mandatory descriptors (see here) and (2) environment-specific mandatory descriptors, listed for each environment here. Please note that the MIxS environments have none, one or two mandatory descriptors.
When providing sample metadata please choose the GSC MIxS environment appropriate to your study. All MIxS environmental packages are available. Note that the ENA Micro B3 checklist is also MIMS-compliant. A video tutorial outlines the interactive MIMS-compliant sample metadata submission using the ENA Micro B3 checklist as an example.

Then we can start to collect the ones that are specific for ancient studies and will become part of the MIxS extension MInAS. We started to develop MInAS: Minimum Information about an Ancient Sequences in collaboration with the GSC. This is a very early mockup of the concepts behind MInAS where the MIxS obligatory descriptors are shared between all DNA disciplines, and then each discipline has its own obligatory descriptors (specific) and finally any optional:

I will share the draft of the project with the group as soon as I tidy it up. If you are interested to join the project write me an email
Antonio

My initial thoughts when skim reading the MIxS 'shared' descriptors: https://www.ebi.ac.uk/ena/submit/mixs-checklists#MIxS_shared
Easily adopted, things like:

investigation_type (always metagenome I guess),
project_name (would be AuthorYEAR at a basic level)
lat_lon (already there, but currently split in two columns. Should find out how the character formatting should be)
geo_loc_name (country already there, just need to update docs to point to the INDSC version)
material (I guess calculus/palaeofaeces/intestinal_matter etc.)?

Problematic fields:

collection_date (how is this defined ancient material? excavation? e.g. for calculus sampling of tooth, subsampling? DNA extracton etc?)
biome/feature (very environmental focused, and that info is often lost if museum samples, not sure how that would work)
MIxS package stuff - (how does that work with with ancient stuff [modern researchers don't want dirty ancient calculus for example] and some of the fields are undefined here so I'm not sure what this means)?

Irrelevent:

seq_meth - we aren't recording that info here

You can get the descriptions and units of all descriptors from here
For example, collection date:

The time of sampling, either as an instance (single point in time) or interval. In case no exact time is available, the date/time can be right truncated i.e. all of these are valid times: 2008-01-23T19:23:10+00:00; 2008-01-23T19:23:10; 2008-01-23; 2008-01; 2008; Except: 2008-01; 2008 all are ISO8601 compliant

In our case, we should discuss and build decision trees to adapt to our special cases. We also can request new terms or any modifications https://github.com/GenomicsStandardsConsortium/mixs.
seq_meth - we aren't recording that info here It is an important one as it can be useful for developing tools that take into account error models, or looking to the future when we will do meta-analyses that might include data from different platforms, and we will include old Illumina data into our new data produced by new fancy sequencing technologies.
Regarding the environmental ontologies, we can request new terms here to model the origin of the sample you are analyzing, i.e. fragment of tooth from museum collection. I am a good friend of the main developer of envO and we can ask for them.

Ok cool!
Yeah, ok. I think for collection date if 2008 is sufficient that's would be OK. I doubt we can recover this retroactively, but moving forward this is fine.
Good to know about the environmental ontologies. This could get tricky on how detailed to go, so will require more discussion with a wider group I think. I think if we can keep our current ones consistent (so controlled categories), we can map this out in the future to official ones.
For seq_meth, yes but it's important for the future. But the scope of this repository (hint-hint), is just to have metadata up to sample (read e.g. skeletal individual) level only. Anything downstream (extract, library, seuqencing) is a whole other kettle of fish which I needs a whole different level of planning. The idea here is that the list here (via accession sample ID) could help very quickly getting to e.g. ENA run Ids, when someone wants to start compling actual data. Data uploads themselves are very messy, but the information up until sample level is normally realtively easily recoverable from single publications SIs.

Started here: https://github.com/SPAAM-workshop/AncientMetagenomeDir/commit/b54a4dee4f2a04d3cc6990573fd4cd0baf22ff71

For the reference, all the fields of the AncientMetagenomeDir dataset are now described (and verified against) here: https://spaam-workshop.github.io/AncientMetagenomeDir/ancient-microbiome/microbiome_schema.json


Increment chart version for more clarity

For a while now, cockroachdb version is bumped but chart version stays at 7.0.0.
It becomes quite a nightmare to manage.
Could you increase chart version at least for each app version update ?

Hi, thanks for opening an issue. Are you asking specifically about version and appVersion in cockroachdb/Chart.yaml? The two fields are independent and can be changed separately, in accordance in the Helm docs. As such, we don't currently see a strong reason to bump version whenever appVersion is bumped.
To help us understand your use case better, can you elaborate on how the current behavior is making your workflow more difficult?

Hi, I do get that chart version and appVersion are independant, however in all the other charts that I use, every change in the chart causes a chart version bump, including appVersion change but other changes too.
In my case : I use fluxCD to manage my middlewares. I got 1 file that manages cockroachDB for 9 clusters.
FluxCD compares won't download
For every other chart I use, I only need to change the chart version on that 1 file to upgrade my middleware everywhere. Without the chart version bump, I need to connect to every cluster, delete the known helm chart to force fluxCD to download it.
And it is not a problem from fluxCD as I would not want all my cockroachDB to upgrade silently because the image has been changed in the same chart version.
Chart version bump also permits to rollback app version without having to manage the image tag in values file.
There has been at least 10 PR since last chart version change, that doesn't seems optimal to me in terms of traceability.

After some discussion within the team, we've decided that we'll be updating version whenever appVersion is updated. version may also be updated if the Helm chart's functionality is updated.
Thanks for bringing this up!

Hello - the fix requires a change to our release automations scripts, so fix (updating version along with appVersion) will be in place for the v21.2.7 release.


Add ForeignFieldAdd coefficients

I realised the coefficients of the ForeignFieldAdd gate were not exposed in berkeley (they are in develop though). This PR addresses it.
This was part of https://github.com/MinaProtocol/mina/pull/13606, making it now a separate PR for ease of review.

!ci-build-me


feat: Nat.cast n • x = n • x

algebraNat and algebraInt should really be scoped. But as the library is, this is good.
bors merge

Thanks!
bors d+

Zulip

bors merge


fix AAD integrated authentication

using authentication: ActiveDirectoryIntegrated doesn't work. most likely due to this chunk not helping anything just causing problems. @NandanHegde15 is in the process of testing will open a PR to resolve this ASAP.
https://github.com/dbt-msft/dbt-sqlserver/blob/f98edd015b252fbd7eb5acd2bd4c28d49e746d6f/dbt/adapters/sqlserver/connections.py#L153-L155

@swanderz  Should we include this in next release?

Yeah that'd be ideal! We hope to add less-technical users to our projects soon. Giving access via AAD is way more secure and simple than SQL account.
While the fix itself is simple, @NandanHegde15 has been working on how we can test in CircleCI that ActiveDirectoryIntegrated is working with our test Azure tenant and an Azure VM. Though maybe if we can't get that finished in the next few days, we can merge this PR (after manually testing of course), cut a new release, and address the CI testing in a future PR and release.

@swanderz can this be closed?

@swanderz can this be closed?

@swanderz can this be closed?

I'll close it now. For posterity, here's our recommendation:

no one should use ActiveDirectoryIntegrated, unless they have an:

on-prem Active Directory, or
Azure Active Directory with Active Directory Federation Services (ADFS) enabled.

@swanderz can this be closed?

I'll close it now. For posterity, here's our recommendation:

no one should use ActiveDirectoryIntegrated, unless they have an:

on-prem Active Directory, or
Azure Active Directory with Active Directory Federation Services (ADFS) enabled.


fix(build): manifest should not be override when chunk name is same

Close https://github.com/vitejs/vite/issues/1551

This doesn't look right. It also changes the current manifest format which is a breaking change.

This doesn't look right. It also changes the current manifest format which is a breaking change.

#1551 is fixed via 123b6f6

#1551 is fixed via 123b6f6


Locale Language File Location Prefix

When a locale file is generated it is not stored in a prefix folder structure. This will lead to issues in the long term.

This is an underlying issue with the infyom package. Raised an issue with them and awaiting changes.


fix linear2db returning null

this is a tempt to fix linear2db returns null when p_linear=0.0.

I've updated it o use ternary operator .

IIRC, linear2db(0.0) returns -INF currently, and db2linear(-INF) is 0.0. If we change it to return -80.0, then it doesn't match after the inverse operation.
-INF is technically correct but very cumbersome to use as we have poor infinite value handling in APIs like AudioStreamPlayer volume and Slider value :(

It should return -80.0 because its the lowest value that audio bus and AudioStreamPlayer volume should take .

Also should i clamp the log min/max value to audio bus and AudioStreamPlayer volume.

I think that  linear2db(value) and db2linear(value) where the value is 0 should give the same result.

db2linear is working fine only linear2db returns null on  p_linear=0.0.

We discussed in the the proposal meeting.
Juan liked the idea of reversible operations.
A design was suggested that changes -inf to 0.
There's a cut off constant in the editor for quietness. I don't remember if it was 40DB or something.

yeah that would be a better way to fix it.

Is there any resolution to this? It also needs a rebase as this is now linear_to_db()

Has anything changed since https://github.com/godotengine/godot/pull/61935#issuecomment-1164580382?


publish to npm ?

anyone could do npm publish?  At least TabBarBottom.js is different.

beta.12 has been published as a pre-release since this issue


Fix overflows in md5 and sha1

Closes #9695
Fixes #9694
It adds two slow manual specs as suggested by https://github.com/crystal-lang/crystal/pull/9695#issuecomment-681738249
I validated the output of both algorithms on a ~2gb file against md5 and openssl sha1

NB: With #9864 this PR affects compiler internal implementation.


any fix ? when i upload the pdf file i got this message

Unexpected token '<', "<!DOCTYPE "... is not valid JSON.

Me too， I got the same problem and messages

Currently, the entire project has been refactored using Langchain and this issue has been resolved. #81


contenteditable problem

Version
2.4.2
Reproduction link
https://jsfiddle.net/0anc0kko/
Steps to reproduce
if you set an attribute contenteditable="plaintext-only",it will change to contenteditable="true"
What is expected?
contenteditable="plaintext-only"
What is actually happening?
contenteditable="true"

plaintext-only is not a valid value for contenteditable, only true and false are valid: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable


Add conference page

Coverage decreased (-0.07%) to 1.357% when pulling cdd4c866e657161efd5ce79978cdbb103f8df060 on caffffe:add-conference-page into a6b6858597985a0810183838f75a38c400ae08ce on ringcentral:master.

Coverage decreased (-0.07%) to 1.364% when pulling a10e718103a7cec2ad1eed0eb315158dbd371a13 on caffffe:add-conference-page into a6b6858597985a0810183838f75a38c400ae08ce on ringcentral:master.

Coverage decreased (-0.07%) to 1.357% when pulling a10e718103a7cec2ad1eed0eb315158dbd371a13 on caffffe:add-conference-page into a6b6858597985a0810183838f75a38c400ae08ce on ringcentral:master.

Coverage decreased (-0.09%) to 1.296% when pulling b11c2db584779454adcf70302bf93c82841783f1 on caffffe:add-conference-page into 4cc852788f7de4173fa89dc268e7dddce6294010 on ringcentral:master.

Coverage decreased (-0.09%) to 1.296% when pulling f0cb1ca46370d0af7c3e47a9cb1914068611def3 on caffffe:add-conference-page into 4cc852788f7de4173fa89dc268e7dddce6294010 on ringcentral:master.

Coverage decreased (-0.09%) to 1.296% when pulling f0cb1ca46370d0af7c3e47a9cb1914068611def3 on caffffe:add-conference-page into 4cc852788f7de4173fa89dc268e7dddce6294010 on ringcentral:master.

Coverage decreased (-0.07%) to 1.316% when pulling 7add1006e2e720554d4344fa36507b2c7e68dcef on caffffe:add-conference-page into 4cc852788f7de4173fa89dc268e7dddce6294010 on ringcentral:master.

Coverage decreased (-0.06%) to 1.295% when pulling cad59800a69cc6aad993210e3e458dad61cb4e77 on caffffe:add-conference-page into ce898fdb4c019bb0b732401314610252e01344af on ringcentral:master.

Coverage decreased (-0.06%) to 1.295% when pulling 60a0cecffd83252f88843c05506eb515f4f8abc1 on caffffe:add-conference-page into ce898fdb4c019bb0b732401314610252e01344af on ringcentral:master.

Coverage decreased (-0.07%) to 1.285% when pulling b95131f4f98a3797ef2eeba2a2c20329993f7579 on caffffe:add-conference-page into ce898fdb4c019bb0b732401314610252e01344af on ringcentral:master.


Does this module support the leaky bucket algorithm (as a queue)?

From what I can see, the answer is no. If so, is this in the plans? It seems like it might be useful to keep a number of requests in a queue to handle them later. Basically I'm referring to the burst parameter of nginx.

It's a sliding window, so you can have bursts.
If you want to enqueue things, you are looking for a throttle, not a rate limiter. Rate limiters just decide yes/no for something at a given moment. Throttles are associated with queues.


Add about modal

PR Checklist
Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number:
What is the current behavior?
There is no information about the library.
What is the new behavior?
New button in the toolbar which opens up modal with information.
Other information

@kamilszmajdzinski Can you align the logo to the top left corner and make it smaller ?
Also I'm not sure if it should block the navigation controls, what do you think ?

Hi, I want to integrate reakit on the project, could you use this for the modal ?
https://reakit.io/docs/dialog/

I added a basic menu component, to add additional options like this feature, please add it on the menu not in the toolbar, also we are using reakit for this.

I'll close this for now, since is not the right approach anymore.

Feel free to open a new pr with the new approach ( rakit modal component )
https://reakit.io/


Wants to update to different os binary which breaks add-on

Expected Behavior

Pull in update for currently installed os (linux x64)
Current Behavior

Pulls in update for different os (windows x86) and leads to breakage.
Steps to Reproduce (for bugs)

1.install gaia add-on/repo
2.install elementum from zip
3.reboot
4.new update message apears, and upon inspection, it wants to install windows x86 binary
Context

Should not be able to 'update' to a different binary meant for different os then the one installed
Your Environment

Version used: Elementum 0.0.43.linux_x64

Operating System and version: Libreelec 8.2.4 linux_x64, Kodi 17.6 git:a9a7a20

The issue is that kodi want to pull in the windows binary although i'm running linux. So this breaks elementum.
Upon further investigation, believe the problem is with the gaia repo.
I've openend a bug report with them.
https://github.com/gaiaorigin/gaiaorigin/issues/3

You can't use one userdata directory for different platforms. Each platform is unique for Elementum and needs own binary file.
Elementum is using own virtual repository for checking for new versions and getting updates.

I am aware that every os/cpu/bitness has itsw own unique elementum binary. I am runni g the correct lunix x64 binary, but it seems that the way gaia set their repo, kodi believes there is an update available, and want to 'upgrade' to the windows x86 binary/userdata.
So to me this looks like a problem with the way the gaia repo is set up.
Which makes this report invalid, and the error is on gaia's end.

I have this same issue. I tried to uninstall the Elementum i installed via Gaia repo and reinstall via the zip file downloaded here but still getting the same issues.

You should not use any external repository for Elementum updates.
Install from zip file and you will have proper repository installed.


Rename --debug to --dev to match cargo

See #437

@alexcrichton @fitzgen i want to note that this got merged without appropriate docs and so in the future i would prefer that we do a thorough review and ensure that docs are updated.


@conda-forge-admin, please add user @ocefpaf

Additional comment:
@conda-forge-admin, please add user @ocefpaf

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @ocefpaf in conda-forge/openquake.engine-feedstock#45.


Fix the return value in case of a parse error

Without the return, the server renders a 304 Not Modified if there's an error

Could you instead move the return out of the try block?

You're right, it's cleaner this way. The change is done, let me know if you need anything else.


Re-add cfstream_test

2nd attempt at adding cfstream_test after fixing internal build failures caused by first attempt.

I don't have much context about what lead to the revert (https://github.com/grpc/grpc/pull/18069), so I'll leave the review to others.

This breaks the opencensus build on darwin: https://travis-ci.org/census-instrumentation/opencensus-cpp/jobs/496305764#L2223
ERROR: /Users/travis/build/census-instrumentation/opencensus-cpp/examples/grpc/BUILD:43:1: Couldn't build file examples/grpc/hello_client: Linking of rule '//examples/grpc:hello_client' failed (Exit 1) cc_wrapper.sh failed: error executing command external/local_config_cc/cc_wrapper.sh -lc++ -fobjc-link-runtime -Wl,-S -o bazel-out/darwin-fastbuild/bin/examples/grpc/hello_client ... (remaining 180 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
[1,660 / 1,662] 2 actions running
    Linking examples/grpc/hello_client; 2s darwin-sandbox ...
bols for architecture x86_64:
  "grpc_set_default_iomgr_platform()", referenced from:
      grpc_determine_iomgr_platform() in libgrpc_base_c.a(iomgr_internal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Pinning grpc to the previous commit (b03e014ad82c39b7c91d794bc775c0d4ec187e1b) makes the build work again. Please help. :)

#18118 should fix the build failure.

Thanks! Can confirm this fixes the build for me.

This PR is causing breakages in tensorflow's windows kokoro builds


feat: bump starknet and katana

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[x] Build-related changes
[ ] Documentation content changes
[ ] Testing

What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[x] No

Will push tomorrow another bump of Kakarot to fix the deploy_kakarot.py!


Announce that -spanner will be moving in N days

For Spanner, I think N = 60
We want to give customers a heads up that the -spanner repo will be moving into the monorepo at -cpp. We should cut a release and and include an announcement that this will be happening. We may also want to drop a note in our slack channel and anywhere else we can, like on the README.md.

Tasks:

[ ] Update https://github.com/googleapis/google-cloud-cpp-spanner/blob/master/README.md to say that -spanner is moving into the -cpp monorepo and link to https://github.com/googleapis/google-cloud-cpp/issues/3612
[ ] Include a similar blurb in Spanner's April Release Notes. Tagging @scotthart who will be handling the next Spanner release

Assigning this to @scotthart since he'll do the next announcement.

Should we close this?  Seems like we took both steps referenced above?

Yeppers.


keep gross shipping costs in mind :)

Great work - thanks a lot!
Shipping costs are stored as gross prices in s_premium_shipping_costs - we need to handle this, too

Hey @OlliKley,
thank you for this issue! :-)
Always appreciate community feedback.
As you might have noticed, I just added a pull request addressing this issue.


how to set other options such as branchTracking flag?

First of all, thanks for this great addon!
Looking at blanket options how can I set them thru the config? Like setting the flags to branchTracking  for example?

you should be able to set them directly in blanket-options.js

Thanks, but I tried and the only options there are not even named as the one described in blanket help, so I do not think this is the way :-/

I set debug=true and that worked.
When I get back to my computer I'll take a look

On Mar 19, 2015, at 7:47 PM, Huafu Gandon<EMAIL_ADDRESS>wrote:
Thanks, but I tried and the only options there are not even named as the one described in blanket help, so I do not think this is the way :-/
—
Reply to this email directly or view it on GitHub.

well, maybe just my flag is not working then haha. Thanks for looking tho

@huafu - confirmed that below works.
Please confirm and close.
blanket.options({
   modulePrefix: 'ngam',
   filter: '//.*ngam/.*/',
   antifilter: '//.*(tests|templates).*/',
   loaderExclusions: [],
   ignoreScriptError: true,
   branchTracking: true,
   enableCoverage:false
});

I'll test that as soon as I can and close if it's working. Thanks again!

I've been running for a few days with this option enabled as described.  closing

Ok thanks. I still did not get the time to test that sorry. It's in my config but I had other projects to work on and a huge bug in the compile process of my project so get DS not get the chance to test that.


remove Marks.init

This is a cleanup PR.
We no longer use the init function in Marks.js since it's all handled in the store. (I double checked with KAdam)  I also removed Marks.test.js which had skipped tests in it for stuff that no longer exists. WOOO. Deleting.

:+1:


I am having issues while playing the FW game as the account type is changed from Active to Owner

Hi Team,
Can you please help me resolve the issue. I had a wax wallet account sohail.gm which was an Active type of user, today morning somehow my app data was not there so I though of restoring the account using the cerificate and mnemonics which end up in creating a Owner type account. Can you guys please help me resolve the issue. How can I restore the active type user and how to get the game started again.
Thanks,
Sohail

This seems not relevant to eosjs.


Store/Atomics with (Possibly) Duplicate Indices

Hello, even though #558 is closed, I observed that the same example could yield incorrect results when the pointer in tl.atomic_add might have duplicate indices.
My use case involves a gathering-like operation, and requires all threads accumulate possibly different values into possibly the same indices. Is there an alternate approach if such practice is not recommended?

Please provide a short script that reproduces the issue.

Hi, thanks for the quick response! The script is the same as #558, happy to copy it over again if that helps too.

I think it may not be an issue. Can you check what's the maximum relative differences?

Are you suggesting these differences are within numerical ranges?

Got it, thanks for the explanation! This is clear.

So the TLDR is that atomic_add works, and is recommended even if indices might be duplicates?
That being said, since atomics seem to be relatively slow (and don't work with BF16), is there anyway to use store (or other alternatives), or that's just not possible?

Yes tl.atomic_add is fine as long as you don't need determinism. You also can't use tl.store with duplicate indices as the writes will race and overwrite each other.


Migrate to Express to access Cache-Control headers

Reference issue: https://github.com/onflow/next-docs-v1/issues/501

Cache static assets in browser for longer.
Use express so we can modify  headers.

Are we sure the express stuff is necessary? I see our headings being set as expected already. I even tried setting a random header ("X-foobar") and see it being returned:

Are we sure the express stuff is necessary? I see our headings being set as expected already. I even tried setting a random header ("X-foobar") and see it being returned:

Where are you setting those headers?


Inconsistency in installation setup docs

Context: I was trying to follow installation setup in macos.
If we take a look to this documentation about exposing the keptn, there are some inconsistency of env var naming. Sometimes, it use KEPTN_API_ENDPOINT and in other places it use KEPTN_ENDPOINT.
This leads to an issue while I want to follow steps for authenticating keptn here because it use
keptn auth --endpoint=$KEPTN_ENDPOINT --api-token=$KEPTN_API_TOKEN

is KEPTN_ENDPOINT specified on the cli above is the same as KEPTN_API_ENDPOINT ?

Hi Imre,
thanks for pointing that out.
I fixed the inconsistency by now using KEPTN_ENDPOINT for all references to the endpoint of Keptn.


file_lines with a comment is broken

I think this is because we lose the distinction between a statement and expression and file-lines only bails from statements, not expressions. Not exactly sure why, but we then get the wrong indents for comments. I couldn't find a fix for this, so I had to delete the comments from the file-lines tests.
cc @kamalmarhubi

See https://github.com/rust-lang-nursery/rustfmt/commit/4418fab4f24e6497aa2a1f71bb4cf963c2971a28#diff-6d90fa32fee7e3049006a36424f5bad4

Urg. I completely dropped this, didn't I? The implementation of the feature was never done after the initial PR.  I'll try to take a look this week.

Oh and what do you mean by "only bails from"?

bails == early return (without doing any formatting)


Do we need to copy the .contentlayer in Docker?

I'm trying to add Docker to my NextJS application, however, I'm encountering an issue which is related to this issue. Thought, I tried the recommended solution but I'm still facing the issue.
ISSUE LOG
$ sudo docker-compose up --build --force-recreate
Building app
[+] Building 330.4s (21/21) FINISHED                                                                               docker:default
 => [internal] load build definition from Dockerfile                                                                         0.0s
 => => transferring dockerfile: 557B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 108B                                                                                0.0s
 => [internal] load metadata for docker.io/library/node:20                                                                   0.8s
 => [internal] load build context                                                                                0.1s
 => => transferring context: 57.87kB                                                                                0.1s
 => [ 1/17] FROM docker.io/library/node:20@sha256:ffebb4405810c92d267a764b21975fb2d96772e41877248a37bf3abaa0d3b590           0.0s
 => CACHED [ 2/17] WORKDIR /app                                                                                0.0s
 => [ 3/17] COPY package.json ./                                                                                0.1s
 => [ 4/17] RUN npm install pnpm -g                                                                                4.9s
 => [ 5/17] RUN pnpm install                                                                                299.5s
 => [ 6/17] COPY public ./public                                                                                0.5s
 => [ 7/17] COPY next.config.js ./next.config.js                                                                             0.2s
 => [ 8/17] COPY .contentlayer ./.contentlayer                                                                               0.2s
 => [ 9/17] COPY scripts ./scripts                                                                                0.2s
 => [10/17] COPY src ./src                                                                                0.8s
 => [11/17] COPY ui ./ui                                                                                0.3s
 => [12/17] COPY .sentryclirc ./sentryclirc                                                                                0.2s
 => [13/17] COPY sentry.server.config.ts ./sentry.server.config.ts                                                           0.2s
 => [14/17] COPY sentry.client.config.ts ./sentry.client.config.ts                                                           0.6s
 => [15/17] COPY sentry.edge.config.ts ./sentry.edge.config.ts                                                               0.2s
 => [16/17] RUN npm install -g pnpm                                                                                13.1s
 => ERROR [17/17] RUN pnpm build                                                                                8.0s
------
 > [17/17] RUN pnpm build:
2.188
2.188 ><EMAIL_ADDRESS>build /app
2.188 > INIT_CWD=$PWD next build
2.188
4.110 Attention: Next.js now collects completely anonymous telemetry regarding usage.
4.111 This information is used to shape Next.js' roadmap and prioritize features.
4.111 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
4.111 https://nextjs.org/telemetry
4.111
4.321    ▲ Next.js 14.0.4
4.322
4.322    Creating an optimized production build ...
5.143 warn  - It seems like you don't have a global error handler set up. It is recommended that you add a global-error.js file with Sentry instrumentation so that React rendering errors are reported to Sentry. Read more: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#react-render-errors-in-app-router
7.773 NoConfigFoundError {
7.773   cwd: '/app',
7.773   configPath: undefined,
7.773   _tag: 'NoConfigFoundError',
7.773   toString: [Function (anonymous)],
7.773   [Symbol()]: { cwd: '/app', configPath: undefined },
7.773   [Symbol()]: [ 'configPath', 'cwd' ]
7.773 }
7.801  ELIFECYCLE  Command failed with exit code 1.
------
Dockerfile:33
--------------------
  31 |     RUN npm install -g pnpm
  32 |
  33 | >>> RUN pnpm build
  34 |
  35 |     EXPOSE 3000
--------------------
ERROR: failed to solve: process "/bin/sh -c pnpm build" did not complete successfully: exit code: 1
ERROR: Service 'app' failed to build : Build failed

ERROR
NoConfigFoundError {
7.773   cwd: '/app',
7.773   configPath: undefined,
7.773   _tag: 'NoConfigFoundError',
7.773   toString: [Function (anonymous)],
7.773   [Symbol()]: { cwd: '/app', configPath: undefined },
7.773   [Symbol()]: [ 'configPath', 'cwd' ]
7.773 }
7.801  ELIFECYCLE  Command failed with exit code 1.
------

Dockerfile
FROM node:20

WORKDIR /app

COPY package.json ./

RUN npm install pnpm -g

RUN pnpm install

COPY public ./public

COPY next.config.js ./next.config.js

COPY .contentlayer ./.contentlayer

COPY scripts ./scripts

COPY src ./src

COPY ui ./ui

COPY .sentryclirc ./sentryclirc

COPY sentry.server.config.ts ./sentry.server.config.ts

COPY sentry.client.config.ts ./sentry.client.config.ts

COPY sentry.edge.config.ts ./sentry.edge.config.ts

RUN npm install -g pnpm

RUN pnpm build

EXPOSE 3000

CMD [ "pnpm","start" ]

Recommended solution

 "build": "INIT_CWD=$PWD next build",

It does not work, any thoughts guys?

I figured out that .contentlayer is a generated folder which means when I copy the NextJS configuration it will generate that folder inside the docker container.


[BUG] 1.6.3 (docker) fails to start due to logging exception: ValueError: Unknown level: 'info'

Describe the bug
Startup error after pulling 1.6.3 and booting the container. Reverting to 1.6.2 works fine. (I have a nightly script that does a docker-compose -up to refresh versions)
Logs
wizarr               | [2023-02-22 08:16:37 -0800] [1] [INFO] Starting gunicorn 20.1.0
wizarr               | [2023-02-22 08:16:37 -0800] [1] [INFO] Listening at: http://<IP_ADDRESS>:5690 (1)
wizarr               | [2023-02-22 08:16:37 -0800] [1] [INFO] Using worker: sync
wizarr               | [2023-02-22 08:16:37 -0800] [7] [INFO] Booting worker with pid: 7
wizarr               | [2023-02-22 08:16:37 -0800] [8] [INFO] Booting worker with pid: 8
wizarr               | [2023-02-22 08:16:37 -0800] [9] [INFO] Booting worker with pid: 9
wizarr               | [2023-02-22 08:16:37 -0800] [7] [ERROR] Exception in worker process
wizarr               | Traceback (most recent call last):
wizarr               |   File "/usr/local/lib/python3.11/logging/config.py", line 616, in configure
wizarr               |     self.configure_logger(name, loggers[name])
wizarr               |   File "/usr/local/lib/python3.11/logging/config.py", line 797, in configure_logger
wizarr               |     self.common_logger_config(logger, config, incremental)
wizarr               |   File "/usr/local/lib/python3.11/logging/config.py", line 782, in common_logger_config
wizarr               |     logger.setLevel(logging._checkLevel(level))
wizarr               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/logging/__init__.py", line 207, in _checkLevel
wizarr               |     raise ValueError("Unknown level: %r" % level)
wizarr               | ValueError: Unknown level: 'info'
wizarr               |
wizarr               | The above exception was the direct cause of the following exception:
wizarr               |
wizarr               | Traceback (most recent call last):
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
wizarr               |     worker.init_process()
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
wizarr               |     self.load_wsgi()
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
wizarr               |     self.wsgi = self.app.wsgi()
wizarr               |                 ^^^^^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
wizarr               |     self.callable = self.load()
wizarr               |                     ^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
wizarr               |     return self.load_wsgiapp()
wizarr               |            ^^^^^^^^^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
wizarr               |     return util.import_app(self.app_uri)
wizarr               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/site-packages/gunicorn/util.py", line 359, in import_app
wizarr               |     mod = importlib.import_module(module)
wizarr               |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
wizarr               |   File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
wizarr               |     return _bootstrap._gcd_import(name[level:], package, level)
wizarr               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
wizarr               |   File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
wizarr               |   File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
wizarr               |   File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
wizarr               |   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
wizarr               |   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
wizarr               |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
wizarr               |   File "/data/run.py", line 1, in <module>
wizarr               |     from app import app
wizarr               |   File "/data/app/__init__.py", line 60, in <module>
wizarr               |     logging.config.dictConfig(LOGGING_CONFIG)
wizarr               |   File "/usr/local/lib/python3.11/logging/config.py", line 812, in dictConfig
wizarr               |     dictConfigClass(config).configure()
wizarr               |   File "/usr/local/lib/python3.11/logging/config.py", line 618, in configure
wizarr               |     raise ValueError('Unable to configure logger '
wizarr               | ValueError: Unable to configure logger ''
wizarr               | [2023-02-22 08:16:37 -0800] [7] [INFO] Worker exiting (pid: 7)

[other two workers fail the same way, gunicorn halts the server, and the container exits]

ValueError: Unknown level: 'info'
Have you set LOG_LEVEL=info? Try LOG_LEVEL=INFO.
I'll make it uppercase from now on so that doesn't happen

Oh interesting - I did, unintentionally. For my compose setup I pulled all my environment variables into a seperate file, which had a side effect of all the variables being imported to all the containers. So yes -- there's another container which also uses LOG_LEVEL, and it was set to "info" for that container. Interesting that it only affected wizarr as of 1.6.3, but that's totally my fault, thanks. I've been meaning to untangle that and I'll do so now.

Oh interesting - I did, unintentionally. For my compose setup I pulled all my environment variables into a seperate file, which had a side effect of all the variables being imported to all the containers. So yes -- there's another container which also uses LOG_LEVEL, and it was set to "info" for that container. Interesting that it only affected wizarr as of 1.6.3, but that's totally my fault, thanks. I've been meaning to untangle that and I'll do so now.

I've put something to stop it from completely crashing the whole program, from now on if the value isn't right, it'll just ignore it!
And yes it's been like that since 1.6.3 as I've changed the way the logging works :)

Great fix 😅 Sorry for the trouble.


Update validation csv

Detailed Description
Update columns to https://github.com/openclimatefix/predict_pv_yield/pull/96#issuecomment-981546725

Thanks!  Sorry for not commenting on your PR earlier!

openclimatefix/predict_pv_yield#96 (comment)

Just all part of the 'dev' cycle

Columns:

t0_datetime_utc
target_datetime_utc   :The datetime the forecast is about.  i.e. t0_datetime_utc + (forecast_timestep_i * forecast_sample_period)
forecast_GSP_PV_outturn_MW
actual_GSP_PV_outturn_MW
GSP_ID
batch_index (optional, but useful for debugging)
example_index (optional, but useful for debugging)

Although Ill try to use all lower case letters

SGTM


Improve regex for scp syntax that allows special characters

Specials characters like '-' and '_', which are valid in URI's for git
repositories, were getting stripped and resulting in truncated URI
paths.
By slightly modifying the scp regex used in vcs.go, this commit adds
support for these characters and adds a test to ensure that future
changes don't result in a regression.

Thank you!


Footer Update

Description:
We need to add contents to the footer of the page which must meet the below acceptance criteria.
Priority:
[High]
Type:
MVP Feature
User story - Current Behaviour:
Nothing showing on the footer
User Story - Expected Behaviour:
Should have a footer showing the address of the business, registration mailing address and copyright details.
Steps to Reproduce:
N/A
Screenshots:
none
Branch Name:
Footer Update
Additional Information:
None
Acceptance Criteria:
Styling colors must be the stated webpage colors
Should have mailing information.
Address of the company.
Copyright details.
Subtasks:
None
Assignees:
Leading Developer: [@clamadi]
Leading QA: [@D-Sholaakanbi]
Labels:
MVP
Due Date:
21/01/2024
Dependencies:
None
Notes for Reviewers:
None

It looks so good. The content looks so professional. I loved it.

A heads up @clamadi here. It says "This branch 1 commit behind main". Please, do the following:

Be sure you are on your branch 17-footer-update
git checkout footer-branch
git merge main
git commit -m "Merge changes from main into footer-branch"
git push origin 17-footer-update

Once Shola will give you the green light, you can create the PR on GitHub.


Added pycryptodome package (Crypto) compatibility

There was a specific reason that I didn't include support for Crypto package. I specifically mentioned this in readme

This extracts encrypted save data of Pokemon Sun from SD card to folder output/pokemon-sun-save. Some requirement and notes of this command: An additional library Cryptodome is needed.

However, I can't recall the exact reason. Maybe CMAC verification in Crypto was unsupported/broken at that time.
Could you provide a manual test that exercises this code path using Crypto package? Reading an encrypted SD card save that doesn't output "Error: CMAC mismatch" should be enough

Coming back the other day, now I see what this is doing. pycryptodome also installs itself under "Crypto" with its officially recommended instruction, so this is looking at two places for the same package pycryptodome. If that's the rational, I think this is fine. Am I understanding this correctly?

If that's the case, I recommend reordering this to try importing from Cryptodome first. We know that Cryptodome is definitely the pycryptodome package, while the Crypto one could be a mess.

I don't know for sure but I guess the Crypto namespace is the new one and the Cryptodome is the old namespace and is kept in the pycryptodomex package for compatibility reseaons
https://pypi.org/project/pycryptodome/
https://pypi.org/project/pycryptodomex/
I at least can't see any differences between these two packages except pycryptodome operates under Crypto and pycryptodomex operates under Cryptodome

If you really want to change the ordering of Crypto and Cryptodome you should also change this in sd_decrypt.py.
I also would suggest that you add somewhere in the readme that either the library/package pycryptodome or pycryptodomex must be installed.

Yeah, I plan to make the change to sd_decrypt.py and readme after merging this one. The current readme says

This extracts encrypted save data of Pokemon Sun from SD card to folder output/pokemon-sun-save. Some requirement and notes of this command ... An additional library Cryptodome is needed.

And the current order in sd_decrypt.py is in its way because it attempt to detect the old unmaintained Crypto package first, and then detect the optionally required Cryptodome package. It is technically true as some other commands work with the old unmaintained Crypto package, but I agree this is confusing. I'll update it such that Cryptodome is always required to make it simpler to understand.


when homebridge starts after few hours, tuya plug-in no responding(but sonoff & others works fine)

[ ] I've read the Readme - FAQ and Readme - Troubleshooting section.

Describe the bug
after a few hours running homebridge. only the tuya plugin is not working, (rest plug in all works fine, like sonoff miot)
Device info
Synology dva1622 package installed

May duplicated of #166

May duplicated of #166

when creating a new project and add to my accout, I got error
"The number of projects linked with this Tuya Smart App account has reached the upper limit of 2. Unlink the account from existing projects and try again."
but i checked all projects, there is no 2nd place having my account.
how can i fix this?
thx

for the login issues, please contact tuya, open a ticket here: https://service.console.tuya.com/


use utf8mb4 instead of utf8

DM use go-sqlsmith to generate ddl. However TiDB doesn't support utf8mb3 https://github.com/pingcap/tidb/issues/26226, so use utf8mb4 instead

/merge


[nrf fromlist] ipc: icmsg: increase stack size of RX work queue thread

Increases default size of stack used by work queue RX thread from 1024 to 2048 1280 to avoid memory issues.
After adding the buffer with the default size of 128 that is allocated on the thread's stack (see #77552), there is too little stack left during heavy stress.
I observed the issues on nRF54H. I was stressing the device (doing different 802.15.4 operations in a loop).
I was consistently seeing weird parameter addresses (ending in z_arm_usage_fault) in icmsg_stack ().
Changing the stack size to >1280 solves the issue. I believe that this should be set as default as this scenario applies to a wide range of users who are stressing the device enough.
Edit: The increase to 2048 is problematic due to memory constraints. Let's increase to 1280, which is just enough.
Upstream PR: https://github.com/zephyrproject-rtos/zephyr/pull/79557

The commit was integrated outside of this PR. Closing


rebuild with new tf pulumi bridge template

Updated the provider bridge based off the new provider templating boilerplate. https://github.com/pulumi/pulumi-tf-provider-boilerplate
This should make it easier to integrate dependabot, automatically update provider via github actions, and add new languages.
Mostly this was done because the older model was quite difficult to integrate with the upstream tf providers new pulugin sdk version. This rebuild seems to have resolved that. It's definitely possible it could've been done in a more targeted way, but probably worth doing here since it brings us up-to-date and more in alignment with https://github.com/MaterializeInc/pulumi-materialize.

IIRC, the boilerplate this repo is based on was not actually an older version of the upstream boilerplate, but a substantially pared down version of that boilerplate that I largely wrote from scratch. The upstream Pulumi tooling was full of enough bugs and unnecessary features that I mostly threw it away and wrote something fresh. It's possible they've fixed those bugs, but I'm not optimistic.
It doesn't seem to me like anything's fundamentally changed here? Is it possible we could just pull in the pulumi SDK/tfbridge version upgrades?

The upstream Pulumi tooling was full of enough bugs and unnecessary features that I mostly threw it away and wrote something fresh. It's possible they've fixed those bugs, but I'm not optimistic.

It's what we're using for our pulumi-materialize provider so 🤞 they fixed them.

Seems like they've fixed some of the dependency issues so I'm closing this
https://github.com/MaterializeInc/pulumi-frontegg/pull/15
There may be some merit to updating still such as better integration with https://github.com/pulumi/upgrade-provider, and the github action for updating providers https://github.com/pulumi/pulumi-tf-provider-boilerplate/blob/main/deployment-templates/upgrade-provider.yml, as well as some adjustments made to the cmd libraries that reduce the resource complexity and remove the need for the makeresource, makeEntity functions.


HTTP Error 451

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 that [x])
Use Preview tab to see how your issue will actually look like

WARNING
All invalid issues will be rejected!!

Before going further

If your problem is a bug with youtube-dl or a request for new site support please report it here

Make sure you are using the latest youtube-dl-gui version (Click the Settings icon and then About to view the current version)

Make sure you are using the latest youtube-dl version (Click the Settings icon and then Update to update to the latest youtube-dl version)

Make sure you searched the bugtracker for similar issues including closed ones

Make sure to read the FAQs file

[ ] I think my problem is NOT with youtube-dl
[x] I've verified and i assure that I'm running youtube-dl-gui 0.4
[x] I assure that i am using the latest version of youtube-dl
[x] Searched bugtracker
[x] I've read the FAQs file

What is the purpose of your issue?

[x] Bug report
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Please remove any sections between (---) if they are not related to your issue

Bug report
If the problem occurs when downloading a URL please provide the full verbose output as follows:

Restart youtube-dl-gui
Go to Options > Extra tab
Enable Debug youtube-dl
Go to Options > Advanced tab and Clear your log content
Try to download the URL
Copy the whole log content and insert it between the ``` part below

I have attempted to capture the log.  However it remains blank.

What operating system do you use ?
List of actions to perform to reproduce the problem:

Left Click cog in upper right corner
Select update
See error 'Youtube-dl download failed [HTTP error 451: Unavailable For Legal Reasons]' at bottom

What is the expected behaviour ?
Download and install youtube-dl to be able to download videos.
What happens instead ?
error 'Youtube-dl download failed [HTTP error 451: Unavailable For Legal Reasons]' appears at bottom of window
I am rendered unable to download any videos as a result.

What operating system do you use ?
I have tried and got the same result on Windows 11, and Mac OS 14 Sonoma.

I am located in the united states and am unable to download videos.  when the program tries to download youtube-dl I get an HTTP error 451.  I have tried on 2 different computers and with the use of VPN to no avail.  I am able to manually download youtube-dl.exe from the official github.

youtube-dl is abandoned. Use yt-dlp instead.
youtube-dl-gui is also abandoned. Use one of the many forks or alternatives instead, https://www.reddit.com/r/youtubedl/wiki/info-guis/


Add some logging to messageSend

PTAL @jzila!

Yes I want to log after A+B but before F, so that if something throws I
know if it’s A+B or F.
This is just printf debugging, I’m just inserting log statements between
anything that could conceivably throw.
On Fri, Aug 3, 2018 at 12:15 PM chrisnojima<EMAIL_ADDRESS>wrote:

@chrisnojima commented on this pull request.
In shared/actions/chat2/index.js
https://github.com/keybase/client/pull/13126#discussion_r207642262:

)

const postText = Saga.call(
RPCChatTypes.localPostTextNonblockRpcPromise,
{

 ...ephemeralData,

 body: text.stringValue(),

 clientPrev,

 conversationID: Types.keyToConversationID(conversationIDKey),

 identifyBehavior: getIdentifyBehavior(state, conversationIDKey),

 outboxID,

 tlfName,

 tlfPublic: false,

},
Constants.waitingKeyPost
)

I think the same thing will logically happen. If it throws it throws in
the same place. The params are created in the same way and timing when
passes to sequentially
Aka this is like
F(1+2,3+4) vs
A=1+2
B=3+4
F(A,B)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/13126#discussion_r207642262, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMp-Xrs3NpsbmzAiA_aV1qPQviQuCjQlks5uNKE2gaJpZM4VtOpQ
.

A and b are resolved before f either way

Yes but there’s no way to log between a,b and F if it’s all on one line
On Fri, Aug 3, 2018 at 12:34 PM chrisnojima<EMAIL_ADDRESS>wrote:

A and b are resolved before f either way
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/13126#issuecomment-410354541, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMp-XnQPE442dNBbz6ZL8y5cV93jxGmZks5uNKWogaJpZM4VtOpQ
.

I’ll write up a more detailed explanation when I get back from lunch
On Fri, Aug 3, 2018 at 12:35 PM Frederick Akalin<EMAIL_ADDRESS>wrote:

Yes but there’s no way to log between a,b and F if it’s all on one line
On Fri, Aug 3, 2018 at 12:34 PM chrisnojima<EMAIL_ADDRESS>wrote:

A and b are resolved before f either way
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/13126#issuecomment-410354541,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMp-XnQPE442dNBbz6ZL8y5cV93jxGmZks5uNKWogaJpZM4VtOpQ
.

But your log is after the two object are made. Not between them

Yeah I don't want to be between the put and the call, i want to be between the two objects and the sequentially.
So before this change, the logs for a repro would have:
["Action","2018-07-23T17:23:03.341Z","type: chat2:messageSend: ... ]
... no messagesAdd log ...

And after this change the logs would have something like
["Action","2018-07-23T17:23:03.341Z","type: chat2:messageSend: ... ]
[MessageSend] non-empty text? true
[MessageSend] success (or error)

if the last line is omitted then we know it fails on or after the sequentially call. If the last two lines are omitted, then we know it fails in the put or the call. In order to log like that, we necessarily have to have intermediate variables for the arguments to sequentially.
Happy to explain more when you get back, but unless you feel strongly I'd like to get this in sooner rather than later.


Fixed validation error with nonce

There was an issue where the nonce was being created twice during authentication. This was resulting in two separate nonces being sent across and thus validation would fail.
This resolves that issue.

Hey @biznickman – thanks for your contribution. Looks good! I've added two comments.

Fixed in #15

@carpodaster I think you mean #19 👍


Ready to publish: 0.4.0-pre.1

chore: sort the dependencies list
chore: upgrade dependencies

Published 0.4.0-pre.1 to crates.io.


Wiki for simple scripts

Please consider adding a wiki page or section for user contributed scripts and suggestions. I know there is a repo for this but sometimes you have a nice useful script pretty coupled with your own config and don't have the time to factor it out, fork a repo, make a PR, etc. but you do want to jot down a quick explanation of how to get it working in case anyone else could take advantage of.
This could simply be the wiki of the polybar-scripts repo with a visible reference from the README in the project front page.

Have you considered asking the repo-owner of polybar-scripts to add a wiki for posting quickies?

No, I just thought it was part of polybar, thank you for pointing that out.

@x70b1 What do you think?

It's not an easy question. But I think it helps if I point out that we were at that step already: 13 Dec 2017
The wiki was good for copy and paste. But it was not possible to improve the code quality. I've criticized and changed that. I rewrote the most scripts from that page to improve them. My idea was to take these scripts to a higher level. What you're experiencing now are my requirements: refactoring, a clean README.md, fix all shellcheck issues and add portablity to different shells. But that works. polybar-scripts is very popular now and there are not much open bugs.
A question that often occurs is: At which point does a script offer value? Where is the line between works for me and would work for others too? That's why I can't grab every little detail and try to work on the basic things.
A discussion I've experienced before:
"I wrote a one liner. Works in 95% of all cases."
My answer: Let's work on the other 5%.
"Oh, no, it's too complicated for me."
That's the point. Do you want working code? Or do you want a quick and dirty hack?
I'm trying to do as much as I can for these people. Look at this PR: polybar-scripts/pull/114
He uploaded a script and couldn't improve it. I refactored the script for him.
Look at this: howto_add_world_air_quality_index_data_to_polybar
Somebody wrote a script in nodejs. Two weeks later the script was available as a sh.
What I want to say is: If you have an idea for a script or even code for it: Post it. Or open an issue and post the code if a PR is too difficult for you. If the idea is good, we will work on it. Yes, even a few scripts can do some work.
I can't prevent you from simply copying your code to the existing wiki page. But then you shouldn't be surprised if I saved the code in my repo 2 weeks later. :sunglasses:
Personally I see no need for a wiki page. I try to collect as much as possible under polybar-scripts. But it is a community project. And it is wonderful to see how many people contribute to the polybar-scripts repo. We would never have reached this level with wiki entries.

I understand that it could be useful to have a place to collect snippets that could be used for specific purposes. I also understand that @x70b1 wants his repo to have clean scripts that work reliably.
We don't have the capacity to maintain such a wiki page ourselves since we would have to also handle all new issues relating to those scripts. I'd also rather not have these kinds of issues in the same issue tracker as legitimate issues with polybar itself.
If you want to maintain a repo that hosts such scripts, you're welcome to do so and we will gladly link the repo in the wiki and I'm sure @x70b1 would also add a link to his README.

I was just saying to keep a zero-maintenance place where people could dump their stuff and get care of themselves, in a true wiki spirit. It will probably be a very dirty place. The point arose because I had this little pomodoro script which is quite nice, but I don't have the time to decouple it from my stuff and then maintain it as an external script; moreover, I do want to keep this coupled design for my polybar, everything in one helper script. This is a common situation, requirements change when you want to share and distribute, you quickly get into overengineering and overabstracting. But a quick textual suggestion with an accompanying code snippet, while lazy, allows others to adapt it to their own requirements.

@memeplex I totally understand the intention, but if it lives on our wiki, it's not zero-maintenance. We will get issues about it from people struggling to get things to work.
We will not have such a page on our wiki. But we would of course welcome it if someone from the outside would maintain such a wiki.

I understand yours too. I'm closing the issue for now, thanks!


Better support for multicomponent

As per @freben  (if I understood correctly) I'm trying to divide a service which provides both an API and renders an UI.
It is ackward to describe
---
apiVersion: backstage.io/v1alpha1
kind: Component
spec:
  type: service
  lifecycle: production
  owner: this_owner
metadata:
  name: Zipkin-api
  description: Opensource tracing solution API.
---
apiVersion: backstage.io/v1alpha1
kind: Component
spec:
  type: service
  lifecycle: production
  owner: this_owner
metadata:
  name: Zipkin-ui
  description: Opensource tracing solution UI.

Two big issues:

Note that there are 2 changes and lots of copy paste. This is ever worse because we have in our format links to documetation, information about slack, story board, etc. All that needs to be copy/pasted as belongs to both.

We use and know what's "zipkin" but now does not really exist. We have zipkin-api  and zipkin-ui which because of the copy paste clearly are related but does not match my mental model of what's out there.

Will not fix.