[Bug]: Error during startup after installing share_plus plugin

Platform
13
Plugin
share_plus
Version
7.2.1
Flutter SDK
3.13.0
Steps to reproduce
Install share_plus plugin
Run the app
Screenshot of the error message

Code Sample
No response
Logs
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
     Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.jvm.optionals.OptionalsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
     Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)

     Go to the documentation to learn how to Fix dependency resolution errors.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 44s
Exception: Gradle task assembleDebug failed with exit code 1

Flutter Doctor
[√] Flutter (Channel stable, 3.13.0, on Microsoft Windows [Version 10.0.22621.2428], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[√] Chrome - develop for the web
[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[!] Android Studio (version 2021.3)
    X Unable to determine bundled Java version.
[√] Android Studio (version 2022.3)
[√] VS Code (version 1.83.1)
[√] Connected device (4 available)
[√] Network resources

Checklist before submitting a bug

[X] I searched issues in this repository and couldn't find such bug/problem
[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I'm using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

Hi, I faced the same issue and solved it by the below steps.
If You are getting the error stack trace for the command .\gradlew assembleDebug --scan as below. Run this command in android directory.

Stack Trace

FAILURE: Build failed with an exception.

* Where:
Build file 'G:\flutter\gbs\android\app\build.gradle' line: 24

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
      Your current JDK is located in C:\Program Files\Java\jdk1.8.0_221\jre
      You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`.

Do these steps :

For some reason, I was not using JDK 11, So I downloaded and Installed. (Skip this, If you have JDK 11)
add a line org.gradle.java.home=C:\Program Files\\Java\\jdk-<IP_ADDRESS> in android\gradle.properties
It worked!, For a quick test you can run this command ./gradlew signingreport and it results BUILD SUCCESSFUL

Note: Please be careful with the JDK path you provide, use \\ and \ where and when required.

Here is the solution, that worked for me
Add the below lines in app/buid.gradle file inside the dependencies block. Instead of explaining here, I'm giving you a  SO Link
constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
    }

The solution provided above might also work, depending on your setup, but I would advice you to also remove Jetifier from your Android part of the project if your dependencies allow so.
Here is an example of dropping Jetifier from FlutterFire https://github.com/firebase/flutterfire/pull/11699/files#diff-ce461ba3dc3fed77696ac546ffb146b3791d5260e87c8f2fff4531bbc620d71b

I have the same issue
This did not work for me

The solution provided above might also work, depending on your setup, but I would advice you to also remove Jetifier from your Android part of the project if your dependencies allow so. Here is an example of dropping Jetifier from FlutterFire https://github.com/firebase/flutterfire/pull/11699/files#diff-ce461ba3dc3fed77696ac546ffb146b3791d5260e87c8f2fff4531bbc620d71b

However this did work

Here is the solution, that worked for me Add the below lines in app/buid.gradle file inside the dependencies block. Instead of explaining here, I'm giving you a SO Link
constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
    }

same with
https://github.com/flutter/flutter/issues/119247#issuecomment-1405825291


Support Cosmos Entra ID auth

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


Fixed bug of "cannot read property 'div' of undefined"

There are two different single page pdf documents (this mistake is at the second one)

@Snuffleupagus
This problem occurs at using of these libraries: https://github.com/viktorhajer/simple-pdf-viewer, https://github.com/VadimDez/ng2-pdf-viewer (I use the first one). Both of them use this lib. In my project there is an opportunity to create two different pdf-documents and add then to single HTML page (as it shown at screenshot).
Here is a link to issue: https://github.com/VadimDez/ng2-pdf-viewer/issues/224

This problem occurs at using of these libraries: https://github.com/viktorhajer/simple-pdf-viewer, https://github.com/VadimDez/ng2-pdf-viewer (I use the first one).

Those are different libraries, that we know nothing about here and consequently cannot provide support for.

Both of them use this lib.

Since those projects are unrelated to the PDF.js library, it's possible that they're doing something wrong and thus triggering a problem (has happen in some cases).
Can you reproduce the problem when using the PDF.js library directly, without another library on top of it?

In my project there is an opportunity to create two different pdf-documents and add then to single HTML page (as it shown at screenshot).

As mentioned above, please provide a runnable example. Without this, it's impossible to determine what the correct solution is and as mentioned we unfortunately cannot accept this as-is.

Here is a link to issue: VadimDez/ng2-pdf-viewer#224

That issue is from a different project, and crucially it also mentions a couple of different errors (based on the differing stack-traces).

This problem occurs at using of these libraries: https://github.com/viktorhajer/simple-pdf-viewer, https://github.com/VadimDez/ng2-pdf-viewer (I use the first one).

Looking at https://github.com/viktorhajer/simple-pdf-viewer/blob/e2d7b70f9eebbe6b08b4c8cdddb6e05bf885ed86/libs/simple-pdf-viewer/src/simplePdfViewer.component.ts#L417-L421, this is very clearly a bug in that project (as I suspected here).
When initializing a PDFSinglePageViewer-instance (or a PDFViewer-instance for that matter), you must provide an EventBus-instance; please refer to the official PDF.js example in https://github.com/mozilla/pdf.js/blob/master/examples/components/singlepageviewer.js
Note that the code in https://github.com/viktorhajer/simple-pdf-viewer is already broken if used with the latest version of the PDF.js library, see https://github.com/mozilla/pdf.js/releases, and keep in mind that every PDFViewer/PDFSinglePageViewer should be initialized with its own EventBus-instance.
All-in-all, there's nothing wrong with the PDF.js project and the other project should adapt such that things work correctly.


Proposal: Support for multiple tsconfig.json per project

Referencing #3645:

I agree with @Eisenspalter: Multiple tsconfig files are indispensable for large enterprise apps.
@mhegazy : As you wrote you don't want to support tsconfig.json file inheritance, I'd like to propose the following:

My proposal
TSC should come with a new command line parameter, enabling the following behaviour:

The TSC process will browse the project directory for tsconfig.json files.

If no tsconfig.json files will be found, TSC proceeds with its normal behaviour: Compiling all .ts files found in the projects sub directories, using the default configuration.
If, instead, any tsconfig.json file will be found, the TSC process refrains from compiling. Instead it spawns a new TSC child process for the tsconfig.json file and continues browsing the project's sub directories for tsconfig.json files. It does this for each tsconfig.json file it reaches.
With each new TSC process it creates it sets the -project parameter and current working directory of that child process to the tsconfig.json file's.
Any TSC process will stop evaluating a sub directory (= any directory different from -project) if it finds a tsconfig.json file in there.

The new command line parameter (e.g. -browseConfig) should require a directory information, similar to the -project command line parameter. This will allow the user to provide a dedicated sub directory as root for scanning.

#### Example
The following example depicts the original TSC process to start at -browseConfig "." ("Project root"):
TSC -browseConfig "."
Browsing the project directory tree it finds three tsconfig.json files. For each of the tsconfig.json files it spawns a new TSC process:
CD "scripts"
TSC

CD "scripts/sub directory n"
TSC

CD "scripts/sub directory n/sub directory n"
TSC

So there will be four TSC processes running in parallel (good for multi-core systems :wink:), each evaluating its sub tree of the project. The first process won't perform any transpilation. It only browses the directory tree.
The following images depict the main TSC process and the three sub processes, highlighting the files they transpile:

To speed up browsing for tsconfig.json files, the first/main/original TSC process could/should better be started using: TSC -browseConfig "./scripts/"

What you describe is something a build engine can/should provide and not something the compiler provides. I'm working on making sure MSBuild does what you describe, and you should see that in the 1.8 timeframe.

@paulvanbrenk I'm voting for this job to be done by compiler but not by an external tool like MSBuild, since:

MSBuild tool must support all environments that tsc does (linux, osx etc)
it is common to build/compile files during deployment process, and MSBuild (or any other tool) will complicate deployment at whole
devs will have to juggle with another one tool and handle version compatibility and interoperability

These tools (i.e. grunt/gulp/msbuild) are already in wide use, and used for deployment, minification, etc. They are perfectly situated for figuring out where the tsconfig.json files live, managing dependencies, invoking process across multiple cores, machines, handle incremental compilation.

I use grunt/gulp in my day-by-day work and I don't happy with them (especially when working with big projects with multiple submodules). I've opened #3645 not because these tools are perfect and I see problems that I would like to be handled by compiler.
@paulvanbrenk There is a real-world usecase when we want to deploy a codebase into platform like Heroku, so my question is: will MSbuild allows to build project in npm postinstall script when codebase is deployed into Heroku (please consider platform environment and restrictions)?

As I said tsc.exe is not a general purpose build tool; other tools like Grunt/Gulp/MSBuild are designed for that purpose. Trying to bolt that functionality on the TypeScript compiler will result in duplicate work, and wasted effort which will not add value to most users.
If you're un-happy with Grunt/Gulp/MSBuild you should file bugs on those projects, so they can be improved for all users not just the TypeScript users.

In this issue tracker we discuss a feature that I and other people want to be a part of tsc. MSBuild like any other tool may evolve separately, and I would be happy to know that there are tools that provide some kind of solution. But since TS is getting better and more teams start to use it in their daily work support for subprojects becomes more indispensable.
It is ok to use Grunt/Gulp/MSBuild but it useless for many devs working in linux, osx environments. It like using notepad.exe for source editing and ignoring a needs in syntax highlighting, autocompletion and other stuff.

I agree with lazutkin:
Two examples:

".gitignore" is interpreted intrinsically by git, not by gulp/grunt/MSBuild.
"web.config" is interpreted intrinsically by ASP.NET, not by gulp/grunt/MSBuild

Extracting the management of tsconfig.json files out of TSC adds unnecessary configuration overhead to the project, because while TSC is browsing the files/directories anyway and is able to interpret tsconfig.json files intrinsically while doing this, an external configuration file would be necessary to be maintained manually in adddition to maintaining a number of tsconfig.json files.
So, extracting this feature out of TSC would require the programmer to always edit things at two different places: When moving/creating/deleting a tsconfig.json file, he would always be required to maintain the corresponding gulp/grunt/MSBuild file to keep both in sync.

If inheritance was true for the tsconfig.json file, things could be so easy: Whenever the transpiler reaches a directory for transpiling, it would first look for a tsconfig.json file. If it exists, the transpiler would push its current settings on a stack, overwrite its current settings and transpile the directory's content. Nothing simpler.

May I add that this thread is being closed a bit too quickly for my liking.
We are not trolling around here but discussing a constructive improvement to the project. If I remember right, the term "Open Source" implicates active participation. That's what's actually happening here.

@lazutkin gulp/grunt etc work great in non-windows systems.
@SetTrend I guess we disagree on the scope of the project, but as clearly stated in bullet 4 of the https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals#non-goals:

Provide an end-to-end build pipeline. Instead, make the system extensible so that external tools can use the compiler for more complex build workflows.

This is not something we're interested in providing, since many tools exist that are either capable of exactly the functionality wanted, or can be more easily modified to have that capability.

I tend to agree on that we disagree on the scope on the project.
To me it looks like you seem to consider the TSC transpiler reacting to a single configuration file a compiler matter while reacting to multiple configuration being an external build configuration.
I cannot share this point of view. To me it's like a hen allowed to only lay one single egg during its life but not to lay many eggs.
Nonetheless, the non-goals section gives statement about an end-to-end pipeline, but it doesn't give any guideline about whether multiple configuration files are considered a non-goal. So I would believe your reason is rather interpretation than argument.

What you're proposing is more like a hen laying another hen, in addition to an egg...

OK, I think arguments have been exchanged sufficiently now. I'm excited to see the outcome of v1.8. And we'll see then.
I don't believe it makes any more sense now to discuss unhatched eggs :wink:

/cc @DovydasNavickas wrote that you have the impression that I'm trying to talk you into adding a file watcher to TSC. Is that correct?
I'm by no means suggesting this.
In case that's what you truely believe, please let me clarify ...

This is (in pseudo code) what TSC currently does:
void Main(string[] args)
{
  _config = getDefaultConfiguration();  // get (const) TSC default configuration
  if (File.Exists("tsconfig.json")) _config = readTsConfig(_config);   // if tsconfig.json file exists, read it and overwrite default configuration

  Directory.SetCurrentDirectory(_config.ProjectPath);   // set root for relative paths here
  CompileDirectory(_config.ProjectDirectory);   // start browsing the directory for .ts files ...
}

void CompileDirectory(string path)
{
  foreach (string directory in Directory.GetDirectories(path)) CompileDirectory(directory);   // If there are any sub directories, compile them first
  foreach (string file in Directory.GetFiles(path, "*.ts")) CompileFile(file);  // compile all the .ts files in this directory
}

void CompileFile(string path)
{
  ...
}

All I suggest is to **move the interpretation of the tsconfig.file from the root procedure to the directory procedure**:
void Main(string[] args)
{
  _config = getDefaultConfiguration();  // get (const) TSC default configuration

  Directory.SetCurrentDirectory(_config.ProjectPath);   // set root for relative paths here
  CompileDirectory(_config.ProjectDirectory);   // start browsing the directory for .ts files ...
}

void CompileDirectory(string path)
{
  bool configExists = File.Exists(Path.Combine(path, "tsconfig.json"));   // true, if tsconfig.json file exists

  if (configExists)
  {
    _configStack.Push(_config.Clone());   // push current configuration on stack
    _config = readTsConfig(_config);   // update current configuration with content of tsconfig.json file
  }

  foreach (string directory in Directory.GetDirectories(path)) CompileDirectory(directory);   // If there are any sub directories, compile them first
  foreach (string file in Directory.GetFiles(path, "*.ts")) CompileFile(file);  // compile all the .ts files in this directory

  if (configExists) _config = _configStack.Pop();   // restore previous configuration
}

void CompileFile(string path)
{
  ...
}

You see? There is no file watching whatsoever. Me and @lazutkin are only suggesting to move reading a `tsconfig.json` file from the root up to the directory function. That's all. There is no build functionality involved whatsoever.

No, I understood what you meant. And still think MSBuild is the right tool for the job. i.e.
Invoke MSBuild mysolution.sln, MSBuild reads the solution file and invokes MSBuild on all the projects contained there in. Each MSBuild process reads the project file and invokes the appropriate compiler for the content, i.e. csc.exe for the C# files, Less/Sass for the css files, tsc.exe for each tsconfig.json file.
And because MSBuild has a bunch of context here, it can correctly schedule each build step.

If you want to create a separate build job (aka. build task) for each of the tsconfig.json files, you may as easily omit support for tsconfig.json files at all as all the options to the compiler may be provided as command line parameters.
It would be preposterous to create/maintain a build job via any of the task runners in one file and additionally maintain the options for the compiler in a second file, i.e. a tsconfig.json file.
There'd be no reason in supporting tsconfig.json files then.

Although I surely admit that your way fairly is a solution. Many roads lead to rome. Yours does, too.

Except that a tsconfig.json allows Sublime, VSCode, Atom, to open a single .ts. file, and after finding the tsconfig.json file in the root of the dir, setup the compiler options for IntelliSense etc...
But yes, if you're all in on MSBuild based solutions there is no specific need for tsconfig.json.


Add version information to previous_versions feature

As a user of the ATT&CK website, I want to be able to know what version of the website and content is displayed on the previous versions pages.
Relies on https://github.com/mitre/cti/issues/66. See also #10.

Just wanted to leave a comment - this feature is very important for folks building things around ATT&CK so that they can refer to the version that was used while they were building their product.... which also means that there always needs to be a link with a version number to whatever the current version is. Today, there is no such link which is problematic.
For example I can go to https://attack.mitre.org/previous/july2019/ and see the version from July-Oct 2019. However, I can't go to https://attack.mitre.org/previous/Dec2019 and see the current version that we're perhaps building something against and need to add a static link for.

I think to some extent this feature has been solved with the versions of ATT&CK page and improved banner marking. mitre/cti#66 is still an ongoing project for marking the data with version numbers, but on the website it should be OK for now.


add rawtext syntax for lovelace and custom body-inset

https://github.com/andreasKroepelin/lovelace/issues/2

@andreasKroepelin Any progress here?

Alright, I resolved some code style issues and adopted a new API. Thanks again for your contribution!

Thanks for review!


v0.10.0 release

This release adds tests for running in a .NET Core 3.0 environment.

:white_check_mark: Build SODA.NET 0.10.0-109-qnqiynye completed (commit https://github.com/CityofSantaMonica/SODA.NET/commit/ec74fa65db by @thekaveman)

:white_check_mark: Build SODA.NET 0.10.0-109-qnqiynye completed (commit https://github.com/CityofSantaMonica/SODA.NET/commit/ec74fa65db by @thekaveman)


Problem with multilingual site

Description
I'm trying to create a site with English as the default language and Bengali as the second language. The problem is, <html lang="">  tag is not updated in the Bengali version.
Expected result
<html lang="bn"> should be present in the Bengali locale.
Actual result
Actually <html lang="en"> is present in the Bengali locale.
Possible Fix
I think the problem is in the baseof.html. A change from <html lang="{{ .Site.LanguageCode | default "en" }}"> to <html lang="{{ .Site.Language.Lang }}"> should fix this issue.

I made it <html lang="{{ .Site.Params.languageTag | default "en-US" }}">, so you have full control over the language tag you want — set it in ./config/_default/languages.toml


Add support for an hsinstall config file in . for project-specific defaults

These can be hacked in before optparse-applicative using System.Environment.withArgs and possibly some analysis with getArgs first. Make a new module HSInstall.Conf whose code is called from HSInstall.Opts.parseOpts. Keep this entirely out of Main

Write code so that the config file is only used if null <$> getArgs is True.

What should the config file be named? ./hsinstall.conf?

What I'd love to see (for a project like ks-download) is:
./hsinstall.conf
---
prefix=/opt/ksnitch
project-prefix
---

Turn into
$ hsinstall --prefix=/opt/ksnitch --project-prefix

And the app installed in
/opt/ksnitch/ks-download-1.2.3/


Improve node selection algorithm

This fixes https://github.com/EventStore/EventStoreDB-Client-Java/issues/83
Currently the node selection strategy always produces stable result always prefering a single node of the specified category. Always the same follower or read-only replica is selected based on the ClusterInfo retrieved from the seed node.
Even the NodePreference.RANDOM currently will always result in the same node to be returned to the client if the Member in the ClusterInfo will not change.
This PR properly performs random selection of nodes in each category. It also extracts the algorithm of the node selection into dedicated class for better testability.

@YoEight
Test coverage could still be improved on NodeSelector. The cases for "no nodes found" (not alive, invalid states) are not yet covered. I will add them later this day.
Theres is also a miniscule chance that tests break if rolling the dice 100 times on node selection is not enough. 😉

we'll also need to tune it a bit to be aligned with the Reconnection RFC

@oskardudycz Where can I find this RFC? :)

@ahjohannessen so far is internal, but I hope that we'll be able to show it publicly soon. If not through RFC, then maybe at least through docs.

@oskardudycz ok, would be nice to have such that unofficial clients have some guide lines to follow :)

@ahjohannessen, we want to be more open, not only in regards to the results and ask in advance for suggestions. To do that, we have to sort the RFC process internally (almost there 😉 ) then find a sustainable way to make that public. I'm sure that this will happen soon (no exact timeframe tho).
Regarding specs for unofficial clients, that's also on our TODO list. We won't be able to maintain all the languages, so for sure, we're taking that into account to work closely with community 👍


Remove the state of pods and container before creating the diskimage

We need to remove all the pods/container before creating the disk images so that when it is used for crc purpose it will not take the state of cluster which is shutdown. This should be part of create disk since it will be executed just before that or we can create an another script which contains the steps like deployments/replicas changes and this one and executed before createdisk but after the cert rotation from the snc side.
=== On the VM ==
$ systemctl stop kubelet
$ crictl stopp $(crictl pods -q)
$ crictl rmp $(crictl pods -q)

@praveenkumar The steps you mentioned are the ones required to clear the state of pods, or are there more things that needs to be done?

fixed by #43


Update sort.rst

I noticed that the current documentation page for the bedtools sort tool didn't mention the "-faidx" option added in https://github.com/arq5x/bedtools2/pull/219, which first appeared in bedtools 2.24.0. I also made some additional formatting tweaks to make the formatting more consistent with e.g. the bedtools coverage page.

By the way, I was wondering whether "-g" (to select a genome file) would have made more sense than "-faidx", to be more consistent with the other tools.

Agreed. For backwards compatibility, it should probably allow either option.

Agreed. For backwards compatibility, it should probably allow either option.

@lindenb, can I interest you in adding an alias "-g" flag in addition to your "-faidx" flag, as discussed above? Bedtools already uses this "-g" flag in several tools (see e.g. http://bedtools.readthedocs.io/en/latest/search.html?q="-g+Genome") to select tab-delimited genome files. Since your code seems to work with any tab-delimited file that has the sort keys in the first column, adding the option would make sort more consistent with the rest of bedtools. (in my case, I was sorting a BED file according to the chromosome order of a BAM file, so I didn't have a .fai file, but used a bedtools genome file generated from the BAM file instead)
Thanks for implementing the feature, by the way!

@arq5x, small bump, since I think this can be merged.
If you think it's worthwhile to also accept "-g" as a flag to specify the genome file for sorting, that probably deserves it's own issue.

I was wondering whether "-g" (to select a genome file) would have made more sense than "-faidx"

Agreed. For backwards compatibility, it should probably allow either option.

Thanks for the bump!

Great, thanks!


Implement checking for misuse of self in discard-ing contexts.

As part of SE-390, you're required to write either:

consume self
pass self as a consuming parameter to a function
discard self

before the function ends in a context that contains a
discard self somewhere. This prevents people from accidentally
invoking the deinit due to implicit destruction of self before
exiting the function.
rdar://106099027

@swift-ci please smoke test

@swift-ci smoke test and merge


Get a wrong BASE_DIR '/root'

I try to print the value of BASE_DIR and find out the path is /root.
BASE_DIR = get_cwd()
print(f"FFFF cue dir: {BASE_DIR}")
BASE_MODELS_DIR = os.path.join(BASE_DIR,"models")
SONG_DIR = os.path.join(BASE_DIR,"songs")
BASE_CACHE_DIR = os.path.join(BASE_DIR,".cache")
DATASETS_DIR = os.path.join(BASE_DIR,"datasets")
LOG_DIR = os.path.join(BASE_DIR,"logs")
OUTPUT_DIR = os.path.join(BASE_DIR,"output")

The output is:
FFFF cue dir: /root

Maybe we could set another one or jsut make it as a setting item.

This path determines the download location of the model files, and /root as the root path of the cache file is very unfriendly for Docker deployment. It is recommended to modify it to ComfyUI or custom_nodes

I haven't tried docker deployment with comfy yet but BASE_DIR should point towards whichever directory comfyui launches from (if you used the conda-start.bat script).
More specifically, the comfyui directory should always be 2 levels above the comfy-rvc directory
FOR %%I IN (%~dp0..\..) DO SET COMFYUI_DIR=%%~fI

Thanks for your answer, this is what I suspected. Finally I solved this problem by modifying the get_cwd() function, where I used a relative path to locate the ComfyUI directory using lib/init.py as the base.
@lru_cache
def get_cwd():
    CWD = os.getcwd()
    if not CWD.endswith('ComfyUI'):
        CWD = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '../../..'))
    if CWD not in sys.path:
        sys.path.append(CWD)
    return CWD


What is the behaviour of adminLinks (sidebar) when it comes to positioning?

Hello,
I would like to ask if what is the behaviour of the sidebar when it comes to positioning of individual  links?
Is there a way or is it possible to reorder the links the way I want to?
Thanks,

The sidebar is populated by orionjs:collection when you create your collections. It preserves the order that you've defined in your sources.
Simply put. By re-odering your code, you can re-order the sidebar.

Links are saved in a local collection, so you can update the index of a link.
orion.links._collection.update({ identifier: 'collections-myCollection' }, { $set: { index: 1 } });

Smart. Yummy!

Hi @PEM-- I tried your suggestion but the relationship is broken:
I have this
mycollection-top "hasMany" relationship with myCollection-bottom

the issue here is that myCollection-bottom is not defined. It should be myCollection-bottom is on top of myCollection-top.
Hi @nicolaslopezj , I also tried your suggestion but it gives me:
TypeError: Cannot read property '_collection' of undefined

I declared it after the collection.
Companies = new orion.collection('companies', {
  singularName: 'company',
  pluralName: 'companies',
  link: {
    title: 'Company'
  },
  tabular: {
    columns: [
      {data: "name", title: "Company Name"},
      orion.attributeColumn('hasOne','productId','Product Type')
    ]
  }
});
orion.links._collection.update({ identifier: 'collections-Companies' }, { $set: { index: 1 } });

Thanks

The identifier is with the name of the collection, not the name of the variable.
The name is companies not Companies

I tried it but with same error:
TypeError: Cannot read property '_collection' of undefined
Should I put it on both or client only?

Ok, I already figured it out. I put the code inside Meteor.startup function on the client.
Thanks for the help! :)


remove() method throws an error

Hey, I'm back again, I'm writing another migrator script 😄
I've hit an error when using the ->remove() method provided by the ConfigWriter, here's what I'm trying to do:
ConfigWriter::edit('simple-commerce')
  ->remove('taxonomies')
  ->save();

Here's the exception I'm running into...
   ErrorException

  Attempt to read property "items" on null

  at vendor/stillat/proteus/src/Analyzers/ConfigAnalyzer.php:501
    497▕             } else {
    498▕                 $newItems = [];
    499▕
    500▕                 /** @var ArrayItem $valueItem */
  ➜ 501▕                 foreach ($this->rootNode->items as $valueItem) {
    502▕                     $valueItemKey = $valueItem->key->value;
    503▕
    504▕                     if ($valueItemKey === null || $valueItemKey !== $key) {
    505▕                         $newItems[] = $valueItem;

      +5 vendor frames
  6   /Users/duncan/Projects/simple-commerce/src/UpdateScripts/UpdateConfig.php:104
      Stillat\Proteus\ConfigUpdateWrapper::save()

  7   /Users/duncan/Projects/simple-commerce/src/UpdateScripts/UpdateConfig.php:27
      DoubleThreeDigital\SimpleCommerce\UpdateScripts\UpdateConfig::handleNewContentArray()

Hopefully you can help!

Sure thing - what does the config look like?
Thanks!

Here's the config file I'm working with (not exactly but pretty much the same) - https://github.com/doublethreedigital/simple-commerce/blob/master/config/simple-commerce.php#L95
I can do ->replaceStructure fine on the same config file. The exception only seems to be thrown by remove.

Interesting - I cannot reproduce that issue with the provided config file, but have added null checks (and an appropriate type check) to that execution branch - will push up to composer in just a moment

Thanks, I'll give it a go tomorrow or Monday.
Just finished up for tonight!

Just had a look back at this - seems like the error has disappeared but now the taxonomies item isn't removed at all from the file... any ideas?

Something weird is going on with your file somewhere here: https://github.com/Stillat/proteus/blob/master/src/Analyzers/ConfigAnalyzer.php#L555-L564 that is causing the rootNode to be null after the parsing is complete.
Can you send me the nikic/php-parser from the composer.lock file and PHP version?
If at possible - the exact config file that is causing issues (setting string values to empty strings shouldn't impact testing)

Sure! No problem.
PHP Version
nikic/php-parser from composer.lock
{
            "name": "nikic/php-parser",
            "version": "v4.10.4",
            "source": {
                "type": "git",
                "url": "https://github.com/nikic/PHP-Parser.git",
                "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
                "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
                "shasum": ""
            },
            "require": {
                "ext-tokenizer": "*",
                "php": ">=7.0"
            },
            "require-dev": {
                "ircmaxell/php-yacc": "^0.0.7",
                "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
            },
            "bin": [
                "bin/php-parse"
            ],
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "4.9-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "PhpParser\\": "lib/PhpParser"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Nikita Popov"
                }
            ],
            "description": "A PHP parser written in PHP",
            "keywords": [
                "parser",
                "php"
            ],
            "support": {
                "issues": "https://github.com/nikic/PHP-Parser/issues",
                "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
            },
            "time": "2020-12-20T10:01:03+00:00"
        },

Config File
<?php

use DoubleThreeDigital\SimpleCommerce\Gateways\Builtin\StripeGateway;
use DoubleThreeDigital\SimpleCommerce\Gateways\Builtin\MollieGateway;

use DoubleThreeDigital\SimpleCommerce\Notifications\BackOfficeOrderPaid;
use DoubleThreeDigital\SimpleCommerce\Notifications\CustomerOrderPaid;

return [

    /*
    |--------------------------------------------------------------------------
    | Sites
    |--------------------------------------------------------------------------
    |
    | For each of your Statamic sites, you can setup a new store which allows you
    | to use different currencies, tax rates and shipping methods.
    |
    */

    'sites' => [
        'default' => [
            'currency' => 'GBP',

            'tax' => [
                'rate'               => 20,
                'included_in_prices' => false,
            ],

            'shipping' => [
                'methods' => [
                    \DoubleThreeDigital\SimpleCommerce\Shipping\StandardPost::class,
                ],
            ],
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Gateways
    |--------------------------------------------------------------------------
    |
    | You can setup multiple payment gateways for your store with Simple Commerce.
    | Here's where you can configure the gateways in use.
    |
    */

    'gateways' => [
          \DoubleThreeDigital\SimpleCommerce\Gateways\Builtin\DummyGateway::class => [],
//      MollieGateway::class => [
//          'key' => env('MOLLIE_KEY'),
//          'profile' => env('MOLLIE_PROFILE'),
//          'api' => 'orders',
//      ],

        // StripeGateway::class => [
        //     'key' => env('STRIPE_KEY'),
        //     'secret' => env('STRIPE_SECRET'),
        // ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Notifications
    |--------------------------------------------------------------------------
    |
    | Simple Commerce can automatically send notifications after events occur in your store.
    | eg. a cart being completed.
    |
    | Here's where you can toggle if certain notifications are enabled/disabled.
    |
    */

    'notifications' => [
        'order_paid' => [
            'DoubleThreeDigital\\SimpleCommerce\\Notifications\\CustomerOrderPaid' => [
                'to' => 'customer',
            ],
            'DoubleThreeDigital\\SimpleCommerce\\Notifications\\BackOfficeOrderPaid' => [
                'to' =><EMAIL_ADDRESS>            ],
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Content Drivers
    |--------------------------------------------------------------------------
    |
    | Simple Commerce stores all products, orders, coupons etc as flat-file entries.
    | This works great for store stores where you want to keep everything simple. But
    | sometimes, for more complex stores, you may want use a database instead. To do so,
    | just swap out the 'content driver' in place below.
    |
    */

    'content' => [
        'orders' => [
            'driver' => \DoubleThreeDigital\SimpleCommerce\Orders\Order::class,
            'collection' => 'orders',
        ],
        'products' => [
            'driver' => \DoubleThreeDigital\SimpleCommerce\Products\Product::class,
            'collection' => 'products',
        ],
        'coupons' => [
            'driver' => \DoubleThreeDigital\SimpleCommerce\Coupons\Coupon::class,
            'collection' => 'coupons',
        ],
        'customers' => [
            'driver' => \DoubleThreeDigital\SimpleCommerce\Customers\Customer::class,
            'collection' => 'customers',
        ],
    ],

    'taxonomies' => [
        'product_categories' => 'product_categories',
        'order_statuses'     => 'order_statuses',
    ],

    /*
    |--------------------------------------------------------------------------
    | Cart
    |--------------------------------------------------------------------------
    |
    | Configure the Cart Driver in use on your site. It's what stores/gets the
    | Cart ID from the user's browser on every request.
    |
    */

    'cart' => [
        'driver' => \DoubleThreeDigital\SimpleCommerce\Orders\Cart\Drivers\CookieDriver::class,
        'key' => 'simple-commerce-cart',
    ],

    /*
    |--------------------------------------------------------------------------
    | Order Number
    |--------------------------------------------------------------------------
    |
    | If you want to, you can change the minimum order number for your store. This won't
    | affect past orders, just ones in the future.
    |
    */

    'minimum_order_number' => 2000,

    /*
    |--------------------------------------------------------------------------
    | Stock Running Low
    |--------------------------------------------------------------------------
    |
    | Simple Commerce can be configured to emit events when stock is running low for
    | products. Here is where you can configure the threshold when we start sending
    | those notifications.
    |
    */

    'low_stock_threshold' => 25,

];

@duncanmcclean
Boom. That did it - able to reproduce with that config file and will have a fix up relatively shortly. Short summary of what's going on is that all of the use statements are confusing it, and it's grabbing one of those instead of the Return_ node it should be finding

Ah okay haha. Yeah, the config has quite a few of those haha.

1.0.8 released (with new supporting tests) for this one :)
Will leave open until I hear back from you on fix status

Awesome, I'll try now.

Whoop whoop, that works perfectly! Thanks again! 🎉


spec: add ppc64le to the list of arches to build for

the crc rpm depends on this rpm and it also builds on the ppc64le arch, and the crc rpm fails to build since its unable to find the admin-helper rpm when building on ppc64le
this also installs only the amd64 arch specific binary in all arches as we are not installing the rpm but using it to just build

alternatively we can add a make target to build the ppc64le binary in the out/linux-ppc64le/ dir and then {%gohostarch} would work as expected

https://github.com/crc-org/crc/pull/4162#issuecomment-2188519321 should take care of this.

closing as ppc64le builds will be disabled for the dependent crc RPM in https://github.com/crc-org/crc/pull/4162


No documentation about git init

I was surprised when trying out create-react-app 2 that the new app I created had its own git repository. I didn't see any mention of this in the user guide or in the "what's new" portion of the blog post. Eventually I found the code changes from @mauricedb for issue #1288. I don't have a problem with the new behavior, but it should be documented somewhere.

Happy to take a PR. Not sure what would be the best place to document it.

Perhaps an addition to the "Folder Structure" portion of the user guide:
If you have Git installed and your project is not part of a larger repository, then a new repository will be initialized resulting in an additional ".git/" top-level directory.

That sounds good. Send a pull request?

Hi @ryancogswell,
Feel free to do this if you. If not I am happy to add it as well.
Maurice

I'll give it a go. I haven't ever done a pull request on github before, but I couldn't have a simpler case to work through for my first time.


NameError (uninitialized constant Messenger::Bot::Request::Net)

NameError (uninitialized constant Messenger::Bot::Request::Net):

app/controllers/messenger_bot_controller.rb:4:in `message'
  Rendering /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout
  Rendering /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb
  Rendered /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.7ms)
  Rendering /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
  Rendered /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (3.4ms)
  Rendering /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
  Rendered /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (2.1ms)
  Rendered /Users/alanjsph/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (91.4ms)

Console returns this when i try to send a message to the bot. I can see the message in the conse as it has been received. But then this is coming up. I have the same code as in the repository, or as the manual said.

Hi
add initializers this code
require 'net/http'


auto everywhere

We're very sorry, i've been talking with the other maintainer of the project and we prefer to have explicit types instead of auto. The code is much more clear for us. Thank you anyway. We're preparing some contribution guidelines, we'll publish them in next days.


Replacing reports and consequences on custom reports

I think it would be useful to include a warning that to prevent users' custom reports from disappearing when replacing one report with another, the data set for the original report has to be manually included in the updated content pack.  By default the data set is removed when a report is removed and any custom reports based on that data set also become available.  There is no warning that customized reports will disappear and there is no way to bring them back.  The statement "Group members who have customized the content pack . . . get the updated content pack without losing their personalized version" is a little bit misleading because if the data set is gone, they WILL lose their personalized version.

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

ID: e3f5c890-8eeb-670e-8cee-ee75d60703e0
Version Independent ID: 8e0b3c20-9fe6-b92e-330d-2b3bece42dfc
Content: Organizational content packs: Manage and update - Power BI
Content Source: powerbi-docs/service-organizational-content-pack-manage-update-delete.md
Service: powerbi
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks, @Dan1480!  I updated the article.

Thanks Maggie.  Although I can't see your changes?  The new version hasn't
been published yet?
Cheers,
Daniel
On Fri, 20 Jul 2018 at 10:26, Maggie Sparkman<EMAIL_ADDRESS>wrote:

Closed #88 https://github.com/MicrosoftDocs/powerbi-docs/issues/88.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/powerbi-docs/issues/88#event-1743785273,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjvD_1vC4D1HVdb9Z1zHGfJQ-zQkUmZJks5uISOCgaJpZM4VTyLm
.

Oh, yes, @Dan1480, I should've mentioned. You should be able to see the changes tomorrow afternoon. Thanks!


Room DB

Storing event locally in the database
In case we use multiple tables, create generic classes

[ ] @Entity
[ ] @Database
[ ] @Dao
[ ] ViewModel

In case we use multiple tables, create generic classes


manual unstable release of checkout ui extensions

Background
Brings over docs updates from https://github.com/Shopify/checkout-web/pull/35485 and https://github.com/Shopify/checkout-web/pull/35471.
Solution
Followed instructions for publishing libraries.
🎩

...

Checklist

[X] I have :tophat:'d these changes
[ ] I have updated relevant documentation

No changelog necessary since these are only doc related changes.


Environment tree maintains focus after clicking on it.

If you click on the environment tree and then control the camera, the environment tree will continue to receive input, folding and unfolding sections.

Fixed by 068d16c


Upgrade OTel to 1.6.0

Supersedes #655
Supersedes #654
Supersedes #653
Supersedes #652
Supersedes #651
Supersedes #650
Supersedes #649
Supersedes #648
Supersedes #647
Supersedes #646
Supersedes #645
Supersedes #644
Supersedes #643
Supersedes #642
Supersedes #641
Supersedes #640
Supersedes #639
Supersedes #638
Supersedes #637
Supersedes #636
Supersedes #635
Supersedes #634
Supersedes #633
Supersedes #632
Supersedes #631
Supersedes #630
Supersedes #629
Supersedes #628
Supersedes #627

Codecov Report

Merging #656 (49c6d36) into main (7d9e193) will decrease coverage by 0.36%.
The diff coverage is n/a.

:exclamation: Current head 49c6d36 differs from pull request most recent head f14e76a. Consider uploading reports for the commit f14e76a to get more accurate results

@@            Coverage Diff             @@
##             main     #656      +/-   ##
==========================================
- Coverage   79.23%   78.87%   -0.37%
==========================================
  Files          55       55
  Lines        2755     2755
==========================================
- Hits         2183     2173      -10
- Misses        525      533       +8
- Partials       47       49       +2

Flag
Coverage Δ

Linux
78.87% <ø> (ø)

Windows
?

macOS
?

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

Impacted Files
Coverage Δ

...n/github.com/lib/pq/splunkpq/internal/connector.go
51.75% <0.00%> (-5.03%)
:arrow_down:

Continue to review full report at Codecov.

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


Update paradox-theme-generic, sbt-paradox to 0.10.5

About this PR
📦 Updates

com.lightbend.paradox:paradox-theme-generic
com.lightbend.paradox:sbt-paradox

from 0.10.2 to 0.10.5
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lightbend.paradox" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.lightbend.paradox" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Codecov Report
Patch coverage has no change and project coverage change: +0.03 :tada:

Comparison is base (065f64c) 60.37% compared to head (40c9248) 60.40%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #381      +/-   ##
==========================================
+ Coverage   60.37%   60.40%   +0.03%
==========================================
  Files         152      152
  Lines        3276     3276
  Branches      106      101       -5
==========================================
+ Hits         1978     1979       +1
+ Misses       1298     1297       -1

see 3 files with indirect coverage changes

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

Superseded by #419.


TokuMX compatibility

Is Mongo-Connector compatible with TokuMX. TokuMX has a different oplog format, but I have read that other TokuMX users have successfully used Mongo-Connector to tail the oplog.
Anyone knows?

I've never tested mongo-connector with TokuMX, and I'm not sure what their
oplog format is or how it differs from MongoDB's. What references have you
seen of mongo-connector with TokuMX, just out of curiosity?
On Thu, Sep 10, 2015 at 11:09 AM, KrestenBersoe<EMAIL_ADDRESS>wrote:

Is Mongo-Connector compatible with TokuMX. TokuMX has a different oplog
format, but I have read that other TokuMX users have successfully used
Mongo-Connector to tail the oplog.
Anyone knows?
—
Reply to this email directly or view it on GitHub
https://github.com/mongodb-labs/mongo-connector/issues/325.

Check this post: https://groups.google.com/forum/#!searchin/tokumx-user/mongo-connector/tokumx-user/BKKRDWuah7c/EyH9Vg2lVgoJ


[ Feature ]: Want to improve login page & will create Registration page

Want to improve login page with cool effects and make it user friendly...
Also, there is no option for Registration ( SignUp ) so will also make registration page. Overall will make page attractive and user friendly.
@Mujtabaa07 assign this issue to me

@Jivan052 Assigned


Code style question: null check and assignment

After using nn in our project, I now have some places where I need to check a shared_ptr for null and conditionally assign it to nn_shared_ptr, e.g.
std::shared_ptr resultNullable = methodReturningNullOnError();
if (resultNullable) {
    auto result = NN_CHECK_ASSERT(resultNullable);
    // go on with `result`
}

Is there a way to rewrite this without the extra variable resultNullable?
In Swift there is the if let construct built into the language, that does null check and assignment in one step. Can something like this be done in an elegant way on the caller side?

I don't think there's a way to do that in C++ without a variable (or hiding the variable inside of a macro or function or some other such trick).
if let in Swift seems useful.  I just looked at the example in this doc: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html
if let roomCount = john.residence?.numberOfRooms {
    print("John's residence has \(roomCount) room(s).")
} else {
    print("Unable to retrieve the number of rooms.")
}

I don't think it would exactly solve this problem either, though.  C++ does allow a similar pattern (at least in clang, which I just tried):
int test(int *x) {
    if (int * i = x) {
        return *i;
    }
    return -1;
}

I think the difference is that in the C++ example, the variable inside the if is of a nullable type, but guaranteed not to be null inside the if.  If you want to declare a variable of a type like nn<> which is non-nullable, there is no suitable value for that variable when the if is false, so you have to do the check before declaring the variable, not after.  I don't know enough about how Swift handles nullability to know if the implied type of roomCount is nullable at the type level or not.

In Swift, you can have enums with associated values to each enum value. An optional is an enum like this (from A Swift Tour):
// Reimplement the Swift standard library's optional type
enum OptionalValue<Wrapped> {
    case none
    case some(Wrapped)
}
var possibleInteger: OptionalValue<Int> = .none
possibleInteger = .some(100)

Associated enum values as well as the built-in language feature if let cannot be ported directly to C++ I guess.

I now tried a lot of things to work around that limitation including a macro building a for loop with a nn in the body. But none of those tries looked promising enough to justify the massive hacking.
It's really sad that if the if statement can only take an assignment or an expression, making something like this impossible:
if (shared_pointer && auto nn = NN_CHECK_ASSERT(shared_pointer)) { ... }

I'm thinking of two possibilities to solve the issue: 1. have a wrapper type that implements operator bool(), allowing code like
if (auto result = NN_IS_NONULL(shared_pointer)) {
    auto nn = result.some_getter_returning_nn_type();
}

this limits the overhead to a method call and is better readable. The inverted test looks like
auto result = NN_IS_NONULL(shared_pointer)
if (!result) {
    // error out
}
auto nn = result.some_getter_returning_nn_type();

(which is not really better than the way by foot).
The 2. possibility would be the macro terror, doing something like
#define ifNonNull(expression, varname, block) \
    if (auto nullablePointer = expression) { auto varname = NN_CHECK_ASSERT(nullablePointer); block }

ifNonNull(shared_pointer, nn_var_name, {
    // use non-nullable `nn_var_name`
});

I tried to avoid lamda functions because the scope of the return keyword changes, which I think is usefull to have in the caller's scope.
At the end of the day, I am not really happy with the possibilities but maybe someone has additional thoughts.

I don't see any better options, unfortunately.  I'm not a fan of macros which add what look like new language constructs, because it makes code harder to understand for outsiders.
I'm not sure I understand the first example for your option 1.  Your proposed type which has a operator bool() and can be converted to nn_shared_pointer sounds like it's just shared_ptr (other than a different syntax for how you do the conversion).

You're right, the first option has no real advantage over writing
if (std::shared_ptr resultNullable = methodReturningNullOnError()) {
    auto result = NN_CHECK_ASSERT(resultNullable);
    // go on with `result`
}

Well, okay than. Thanks for confirming that I did not miss any obvious fancy trick. Closing, as I assume there is nothing to add here.


ssh bug fix #1517

will fix #1517

LGTM

I don't like this hushing of logs to fix the ssh hanging. What about closing stdout/stderr from the "serv" command instead ? Would that work ?

@strk do you know how to do that?

Did you try os.Stdout.Close() ?

No. And I think it's not a right usage for os.Stdout.

Why do you think it is not right ?

I never use it.

IMO this is invalid, we should have /api/internal/log to send logs to gitea web and have it be written there instead.

see #1517, the description shows the log on the console.

For the record: when trace logging to the console is enabled, the "custom time format" message is the only one logged by gitea serv. gitea web remains chatty.
So, gitea serv is already doing something to avoid logging to stdout - maybe use that same method to silence the time format message in serv mode?

Right, I'm not saying it's not a problem. I'm saying the solution can not be to remove part of the logging for the entire application. And this is a part of a larger problem, where gitea serv actually logs to the user instead of to file.

Couldn't we check the state of log.GitLogger at this stage and use it instead if not null ?

I also think that removing logging traces is not the correct solution here.


[FEATURE] AzureML Hyperdrive resource cleanup

Description
As @jingyanwangms pointed out, the remote computed used for hyperparameter tuning should be deleted at the end (or set min_nodes to 0) to avoid unnecessary cost.
Expected behavior with the suggested feature
For both azureml_hyperdrive_wide_and_deep.ipynb and azureml_hyperdrive_surprise_svd.ipynb notebooks,
change MIN_NODE to 0.
Other Comments
delete maybe cleaner way, but it could delete existing cluster if a user used the existing one.
Also a user may run the cleanup cell accidentally before the hyperparameter tuning runs are done.

Resolved w/ #751 ✌


Crash when picking up Bottle o' Enchanting (due to it being non-alphabetic)

Replacing all instances of toLowerCase().replace(" ", "") to toLowerCase().replaceAll("[^a-z]", "").replaceAll(" ", "") locally seems to have done the trick. Though, there are definitely better ways of fixing this bug.

Just released version 1.2.0 that fixes this, solved it by replacing the letters.get methods with a safer letters.getOrDefault method. Thanks for reporting it.


Allow customizing x and y axis bounds per dataset

If you have two or more data sources that you want to graph, that have different update frequencies, then the x/y axis at the chart level doesn't make much sense as each dataset might have a vastly different number of elements and thus a different window per dataset.
This PR adds per-dataset bounds, with an example:

Please let me know if this makes sense!

I agree that it's niche @fdehau, but in some cases it's useful. I'm specifically using it with gping, where you don't necessarily want to compare each individual datapoint with eachother but instead want to compare the broad trends between two or more lines. It also only makes sense on the x axis I think, so I've removed the y axis code.
Maybe it makes sense to have multiple axis, but that's beyond my ability right now. I think this is a good stepping stone towards that end state maybe? But how we actually display that might be quite complex. For my use case the x-axis isn't even something we show.

@orf

compare the broad trends between two or more lines

Even if you want to show a broad analysis of two or more lines, I'm still a bit unsure how people are supposed to read the graph.

that have different update frequencies

I missed that bit in your first comment and now I wonder if you are not having this issue because the x-axis is the index of your data rather than a real dimension such as time. It should You should totally be able to draw datasets that have different resolutions without any changes to the library unless I'm missing something.

I missed that bit in your first comment and now I wonder if you are not having this issue because the x-axis is the index of your data rather than a real dimension such as time. You should totally be able to draw datasets that have different resolutions without any changes to the library unless I'm missing something.

Hmm, you're right. We currently just use a ringbuffer with a fixed capacity, and each result gets it's own index. This is nice because it avoids a lot of reallocations you might get with a variable sized Vec. The other nice property, which is why I chose this to begin with, is that each point is evenly delimited in the graph. Imagine a pathological case where you're plotting two datasets, one with a result every 5 seconds and one with a result every 0.1 seconds, I think the graph would be a lot less readable.
However let me have a play, perhaps plotting it with a time axis would be fine.
Thanks for your replies here by the way, I realize this might be specific to my project rather than TUI and I really appreciate the spitballing 👍

I think a time-based x-axis is Ok, so I'm going to close this PR 👍


Get-ChildItem -Recurse -File  returns nothing, though matching files exist in a subdirectory.

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
I've run across a case where "ls -Recurse -File " returns nothing, even though files matching the pattern exist in a child directory.  I've only found one directory where this problem occurs, though, and I'm not sure what makes it unique.  In my particular case, I'm in a directory with a subdirectory named "Microsoft Azure in Action", and in that subdirectory are three files (Microsoft_Azure_in_Action_v6_MEAP.epub, along with .mobi and .pdf files with the same base name).  If I type "ls -File 'Microsoft Azure in Action'", all three files are returned.  If I type "ls -File -Recurse", all three files are returned.  But if I type "ls -File -Recurse Azure" nothing is returned, even though there are those three matching files in the "Microsoft Azure in Action" subdirectory.
Transcript.txt
Expected behavior
A recursive search for files matching a pattern should match all files in any subdirectories (recursively) that have filenames matching that pattern.

Actual behavior
In certain cases, Get-ChildItem returns no files even though matching files exist.  A transcript follows; look at the last command (3 lines from the bottom) and note that it returns nothing, even though the earlier "ls" command clearly shows files existing.

~\Dropbox\Apps\Manning Books>
PS>ls '.\Microsoft Azure in Action\*Azure*'
>> CommandInvocation(Out-Default): "Out-Default"
>> ParameterBinding(Out-Default): name="InputObject"; value="C:\Users\Computer\Dropbox\Apps\Manning Books\Microsoft Azure in Action\Microsoft_Azure_in_Action_v6_MEAP.epub"

    Directory: C:\Users\Computer\Dropbox\Apps\Manning Books\Microsoft Azure in Action

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---            5/5/2023 10:12 AM       34324149 Microsoft_Azure_in_Action_v6_MEAP.epub
>> ParameterBinding(Out-Default): name="InputObject"; value="C:\Users\Computer\Dropbox\Apps\Manning Books\Microsoft Azure in Action\Microsoft_Azure_in_Action_v6_MEAP.mobi"
-a---            5/5/2023 10:12 AM       11948032 Microsoft_Azure_in_Action_v6_MEAP.mobi
>> ParameterBinding(Out-Default): name="InputObject"; value="C:\Users\Computer\Dropbox\Apps\Manning Books\Microsoft Azure in Action\Microsoft_Azure_in_Action_v6_MEAP.pdf"
-a---            5/5/2023 10:12 AM       21569930 Microsoft_Azure_in_Action_v6_MEAP.pdf

~\Dropbox\Apps\Manning Books>
PS>ls -Recurse -File *Azure*
>> CommandInvocation(Out-Default): "Out-Default"
~\Dropbox\Apps\Manning Books>

Error details
No response
Environment data
Note: In addition to version 7.4.0-preview.3 (details below), I see the same problem with PowerShell 7.3.4 and Windows PowerShell 5.1.

Name                           Value
----                           -----
PSVersion                      7.4.0-preview.3
PSEdition                      Core
GitCommitId                    7.4.0-preview.3
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

What is the exact command you giving?
This is probably common behavior of the Get-ChildItem

In my environment all works
dir -s -file *paper*   # returns all files like Wallpaper-##.ext

Yes, the command I'm having trouble with generally works properly.  It only fails to work properly in one specific location that I've found, and that's' in my "~/Dropbox/Apps/Manning Books" directory hierarchy.  Here is a transcript:
C:\Users\Computer\Dropbox\Apps\Manning Books> Get-ChildItem -Recurse -File
Directory: C:\Users\Computer\Dropbox\Apps\Manning Books\Microsoft Azure in Action

Mode                 LastWriteTime         Length Name

-a---            5/5/2023 10:12 AM       34324149 Microsoft_Azure_in_Action_v6_MEAP.epub
C:\Users\Computer\Dropbox\Apps\Manning Books> Get-ChildItem -Recurse -File -Path Azure
C:\Users\Computer\Dropbox\Apps\Manning Books>
The first command, Get-ChildItem -Recurse -File works properly, returning the one file that exists in this directory hierarchy.  However, the next command, Get-ChildItem -Recurse -File -Path Azure returns nothing, even though there's clearly a file whose name matches.  If I copy that file to a different directory structure and perform the same test, everything works properly.  It's only in this one particular area of the filesystem that the problem arises.  So there's something special about this location, but I just have no idea what it is.
The directory where the failure occurs is within my Dropbox hierarchy.  In fact, the "Apps/Manning Books" directory wasn't even created by me; it was created by Dropbox when I purchased ebooks through Manning and had them shipped by Manning to my Dropbox.  So perhaps the Dropbox app does something peculiar to the directories it creates, though I can't imagine what that would be.
I don't consider this to be a huge issue, because it only seems to occur in this one area.  But it's very disturbing because it's possible that it occurs elsewhere, and if that's the case it means that recursive searches for files matching a pattern is inherently untrustworthy.  It would be really good to know what's causing this behavior, so that we're confident other people won't run into this (at least not often).

[-Path Azure}(https://learn.microsoft.com/powershell/module/microsoft.powershell.management/get-childitem#-path) defines the Path (or paths) from where the search is initiated, not each file that found in the recursive search folder . To match all the files named Azure your current folder, you should use the -Include parameter::
Get-ChildItem -recurse -Include Azure

Yes!  It works when using -Include.  However, this brings up another question, related to the way the Path parameter to Get-ChildItem works.  Look at the following example:
=========================BEGIN TRANSCRIPT ==========================
C:\TEMP\giggle> ls -Recurse
Directory: C:\TEMP\giggle

Mode                 LastWriteTime         Length Name

d----           6/24/2023 10:59 AM                Test
Directory: C:\TEMP\giggle\Test

Mode                 LastWriteTime         Length Name

-a---           6/24/2023 10:59 AM              5 FOO
-a---            5/5/2023 10:12 AM       34324149 Microsoft_Azure_in_Action_v6_MEAP.epub
C:\TEMP\giggle> Get-ChildItem -recurse -File -Path Azure
Directory: C:\TEMP\giggle\Test

Mode                 LastWriteTime         Length Name

-a---            5/5/2023 10:12 AM       34324149 Microsoft_Azure_in_Action_v6_MEAP.epub
========================== END TRANSCRIPT ==========================
In the second Get-ChildItem command, we pass Azure as the Path parameter, but there is no Azure file or directory in the C:\TEMP\giggle directory that Azure could match.  Instead, it seems to treat it as if it were passed as the Include parameter, because the matching file in the Test subdirectory is returned (and the FOO file is not returned because it doesn't match Azure).  Very strange behavior, and probably what got me confused because this command format, where I pass the pattern in the Path parameter rather than the Include parameter, seems to work (matching filenames against the pattern) everywhere I've tried except that one location in my Dropbox hierarchy.  So I'm still confused about the inconsistent behavior I'm seeing (i.e., why the command works differently in this one particular "Dropbox/Apps/Manning Books" directory than any other directory), but things work properly with the -Include parameter so I consider this a misunderstanding on my part and consider the issue can be closed.

User misunderstanding (misuse of cmdlet parameters).


feat: support for ape 0.7, silverback 0.3, and pydantic 2

Upgrades Ape, Silverback, Pydantic.  Fixes some other type issues.

Merging this might have unknown impact.  Everything is pointed at this repo's main branch and we haven't done a release since September.  So anything based on ape<0.7 may break.
Could drag our feet and point things at this branch?  Though once the branch gets deleted then that all gets broken too.  Suggestions?

Yeah, I think this branch needs to live for a little while.  So either we don't merge this PR or don't delete the branch if we do (not sure if auto in this repo).

Can we merge this?
I can then update to 0.8.
I need to test some Ape features on this project...

Can we merge this?
I can then update to 0.8.
I need to test some Ape features on this project...

Its old enough you are probably better off doing the upgrade in this PR to see if the updates still work
And yes, i nees this soon too haha

actually https://github.com/ApeWorX/ApePay/pull/97

closed in favor of #97


Python3: MKLDNN-CPU hangs

[2020-10-19T22:36:38.864Z] ============================= test session starts ==============================
[2020-10-19T22:36:38.864Z] platform linux -- Python 3.6.9, pytest-5.3.5, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3
[2020-10-19T22:36:38.864Z] cachedir: .pytest_cache
[2020-10-19T22:36:38.864Z] rootdir: /work/mxnet, inifile: pytest.ini
[2020-10-19T22:36:38.864Z] plugins: flaky-3.6.1, xdist-1.31.0, timeout-1.3.4, cov-2.8.1, env-0.6.2, forked-1.3.0
[2020-10-19T22:36:38.864Z] timeout: 1200.0s
[2020-10-19T22:36:38.864Z] timeout method: signal
[2020-10-19T22:36:38.864Z] timeout func_only: False
[2020-10-19T22:36:38.864Z] collecting ... collected 39 items
[2020-10-19T22:36:38.864Z]
[2020-10-19T22:36:40.237Z] tests/python/mkl/test_bf16_operator.py::test_bf16_bn PASSED              [  2%]
[2020-10-19T22:36:41.609Z] tests/python/mkl/test_bf16_operator.py::test_bf16_conv PASSED            [  5%]
[2020-10-19T22:36:41.609Z] tests/python/mkl/test_bf16_operator.py::test_bf16_fc PASSED              [  7%]
[2020-10-19T22:36:41.865Z] tests/python/mkl/test_bf16_operator.py::test_bf16_pooling PASSED         [ 10%]
[2020-10-19T22:36:41.865Z] tests/python/mkl/test_bf16_operator.py::test_bf16_activation PASSED      [ 12%]
[2020-10-19T22:36:41.865Z] tests/python/mkl/test_bf16_operator.py::test_bf16_elemwiseadd PASSED     [ 15%]
[2020-10-19T22:36:41.865Z] tests/python/mkl/test_bf16_operator.py::test_bf16_concat SKIPPED         [ 17%]
[2020-10-19T22:36:42.121Z] tests/python/mkl/test_bf16_operator.py::test_bf16_abs PASSED             [ 20%]
[2020-10-19T22:36:42.121Z] tests/python/mkl/test_bf16_operator.py::test_bf16_sqrt PASSED            [ 23%]
[2020-10-19T22:36:42.121Z] tests/python/mkl/test_bf16_operator.py::test_bf16_square PASSED          [ 25%]
[2020-10-19T22:36:42.121Z] tests/python/mkl/test_bf16_operator.py::test_bf16_flatten_slice_after_conv PASSED [ 28%]
[2020-10-19T22:36:42.684Z] tests/python/mkl/test_bf16_operator.py::test_bf16_fallback PASSED        [ 30%]
[2020-10-19T22:36:42.684Z] tests/python/mkl/test_contrib_amp.py::test_amp_coverage PASSED           [ 33%]
[2020-10-19T22:36:42.942Z] tests/python/mkl/test_contrib_amp.py::test_bf16_casting PASSED           [ 35%]
[2020-10-19T22:36:43.198Z] tests/python/mkl/test_mkldnn.py::test_mkldnn_ndarray_slice PASSED        [ 38%]
[2020-10-19T22:36:43.761Z] tests/python/mkl/test_mkldnn.py::test_mkldnn_engine_threading PASSED     [ 41%]
[2020-10-19T22:36:43.761Z] tests/python/mkl/test_mkldnn.py::test_mkldnn_reshape PASSED              [ 43%]
[2020-10-19T22:36:43.761Z] tests/python/mkl/test_mkldnn.py::test_reshape_before_conv PASSED         [ 46%]
[2020-10-19T22:36:43.761Z] tests/python/mkl/test_mkldnn.py::test_slice_before_conv PASSED           [ 48%]
[2020-10-19T22:36:44.025Z] tests/python/mkl/test_mkldnn.py::test_slice_reshape_before_conv PASSED   [ 51%]
[2020-10-19T22:36:44.025Z] tests/python/mkl/test_mkldnn.py::test_flatten_slice_after_conv PASSED    [ 53%]
[2020-10-19T22:36:47.334Z] tests/python/mkl/test_mkldnn.py::test_mkldnn_sum_with_mkldnn_layout PASSED [ 56%]
[2020-10-19T22:36:57.330Z] tests/python/mkl/test_mkldnn.py::test_mkldnn_sum_inplace_with_cpu_layout PASSED [ 58%]
[2020-10-19T22:36:57.330Z] tests/python/mkl/test_mkldnn.py::test_batchnorm PASSED                   [ 61%]
[2020-10-19T22:36:59.229Z] tests/python/mkl/test_mkldnn.py::test_batchnorm_relu_fusion PASSED       [ 64%]
[2020-10-19T22:36:59.229Z] tests/python/mkl/test_mkldnn.py::test_softmax PASSED                     [ 66%]
[2020-10-19T22:41:21.011Z] tests/python/mkl/test_mkldnn.py::test_pooling PASSED                     [ 69%]
[2020-10-19T22:41:21.011Z] tests/python/mkl/test_mkldnn.py::test_activation PASSED                  [ 71%]
[2020-10-19T22:43:56.243Z] Sending interrupt signal to process
[2020-10-19T22:43:57.385Z] 2020-10-19 22:43:56,359 - root - WARNING - Signal 15 received, cleaning up...
[2020-10-19T22:43:57.385Z] 2020-10-19 22:43:56,361 - root - WARNING - Cleaning up containers
[2020-10-19T22:43:59.897Z] 2020-10-19 22:43:59,873 - root - INFO - ☠: stopped container 8d696fbe6670
[2020-10-19T22:44:00.457Z] 2020-10-19 22:44:00,322 - root - INFO - 🚽: removed container 8d696fbe6670
[2020-10-19T22:44:00.457Z] 2020-10-19 22:44:00,323 - root - INFO - Cleaning up containers finished.
[2020-10-19T22:44:00.457Z] 2020-10-19 22:44:00,323 - root - WARNING - done. Exiting with error.
[2020-10-19T22:44:00.460Z] script returned exit code 1

https://jenkins.mxnet-ci.amazon-ml.com/blue/rest/organizations/jenkins/pipelines/mxnet-validation/pipelines/unix-cpu/branches/PR-19374/runs/2/nodes/285/steps/439/log/?start=0

@anko-intel FYI

Hi @leezu,
I couldn't reproduce this issue, so I've investigated logs deeply and here is what I've deduced:
Log that you provided is not complete, other log from jenkins https://jenkins.mxnet-ci.amazon-ml.com/job/mxnet-validation/job/unix-cpu/view/change-requests/job/PR-19374/2/consoleText
shows logs from many parallel jobs and it's complete log.
You can copy this line to find same place in these two files:
[2020-10-19T22:36:40.237Z] tests/python/mkl/test_bf16_operator.py::test_bf16_bn PASSED              [  2%]
Line which caused fail is:
[2020-10-19T22:43:56.241Z] Aborted by mxnet-bot
what probably means that you rerun CI and mxnet-bot just killed this session.
In next lines you can find
Failed in branch Python3: MKLDNN-CPU
Failed in branch Python3: CPU

and if you will search for more 'Failed in branch Python3:'
you will get [2020-10-19T21:31:54.420Z] Failed in branch Python3: CPU TVM_OP OFF
meaning that TVM_OP job 1 hour before failing MKLDNN-CPU and CPU branches
So summarizing the above it's some mxnet-bot issue rather than MKLDNN, caused by rerunning tests

Thank you for investigating @bgawrych and I'm sorry that I missed the Aborted line..


Enable async forwarding

Type of change

Enhancement / new feature

Description
Implicitly allow forwardRequest and forwardResponse to be called asynchronously. If a Filter calls one of these methods then it is implied that kroxylicious can continue handling the next message flowing in that direction. So if I am intercepting a request and hand-off some work to another thread, then call forwardRequest later, further requests would not be handled by that filter until forwardRequest is called.
Adds discard to FilterContext to support some odd usages where we do not want to forward.
Why:
Currently if we try to do work in threads other than the netty IO thread then the event loop is free to continue piping messages around and the result is we can end up sending messages to the client in an unexpected order. The client expects responses in the order it sent them.
With this change the FilterHandler is responsible for queueing up read and write jobs so that the next read/write is not called until the previous read/write has completed. The read/write are marked complete after the DefaultFilterContext has finished interacting with the channel context and CompletableFutures are used to drive the next lot of work.
Note that there is some ambiguity around sendRequest, if the user is free to send numerous out of band requests and then forward a message on (or optionally not forward), how do we know when the Filter has finished doing work and we are ready to work on the next message?
To solve the case where we only want to send a new out of band request and forward nothing, we add a discard() method to the context to say we are done with the initial message.
What remains unsolved is supporting asynchronous work in the CompletionStage of the sendRequest, we should also support async work there but currently we don't have a good way to detect if the response has finished being handled. Maybe we also need to supply a KrpcFilterContext to that CompletionStage.
Resolves #351
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[ ] Write tests
[ ] Make sure all tests pass
[ ] Review performance test results. Ensure that any degradations to performance numbers are understood and justified.
[ ] Make sure all Sonar-Lint warnings are addressed or are justifiably ignored.
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] For user facing changes, update CHANGELOG.md (remember to include changes affecting the API of the test artefacts too).

I also wonder if there might also be a general flaw with the idea of the short-circuit responses. If I have proxied request A to the broker and then filter request B and use forwardResponse to send a response to the client immediately then the client would recieve response-B before response-A.
To handle that case we'd likely want a different solution, ensuring that we respond in the correct order. So a filter than remembers that we have seen correlationIds: [1,2] and then if it gets a response for 2 before 1 then it can enqueue it in memory until the response for 1 has been sent.

I need to spend more time digesting your PR.
I was intending (as my next piece of work), so suggest an API change that would make the onxxxrequest and onxxxresponse methods return a completionstage. It would be the filter author's job to complete those futures once any asynchronous work had completed.   I was imagining we'd have factory methods on the context that would create the stages - with a version to create a completed stage and an uncompleted stage..
CompletionStage<> onProduceRequest(short apiVersion, RequestHeaderData header, ProduceRequestData request, KrpcFilterContext context) {

return context.completedRequest(header, request); // returns a completed stage
}

CompletionStage<> onProduceRequest(short apiVersion, RequestHeaderData header, ProduceRequestData request, KrpcFilterContext context) {
var stage = context.forwardRequest();  // returns a uncompleted stage

new Thread(() ->  {
     stage.complete(header, request);
}).start();

return stage;
}

I don't want to block your progress on this PR.

I like the idea of having an API where we can have better control over what combinations are allowed.
For example if we had context.deferredForwardRequest().forward(headers, request), then we can throw exceptions if they then call context.immediateForwardRequest(headers, request). We can also check immediately after invoking the users filter if they made a decision and fail fast if they called nothing on the context.
But, we already have this context class which we can use as a callback, what more would we get from adding in Futures to the API? (I think it would have to be CompletableFuture on the KrpcFilterContext so they can call complete, though the generated methods could return CompletionStage.

I like the idea of having an API where we can have better control over what combinations are allowed.
For example if we had context.deferredForwardRequest().forward(headers, request), then we can throw exceptions if they then call context.immediateForwardRequest(headers, request). We can also check immediately after invoking the users filter if they made a decision and fail fast if they called nothing on the context.
But, we already have this context class which we can use as a callback, what more would we get from adding in Futures to the API?

Two motivations:

One issue with the API at present is that a user can omit to forward, or they they can forward more than once.  That programming mistake is a runtime issue.   If we force the filter method to return a future that carries what is to be forwarded, that class of error disappears.
It seems odd to me that API interactions like #sendRequest use an asynchronous model, whereas methods like #forwardXxxx use a asynchronous one.  Wouldn't a single programming model be easier for the user?

(I think it would have to be CompletableFuture on the KrpcFilterContext so they can call complete, though the generated methods could return CompletionStage.

One

Two motivations:

One issue with the API at present is that a user can omit to forward, or they they can forward more than once.  That programming mistake is a runtime issue.   If we force the filter method to return a future that carries what is to be forwarded, that class of error disappears.

I agree that we should make it safer and that this PR doesn't have enough guards to prevent multiple forward calls or detect cases where users have omitted to call anything. I think the direction of #482 is safer, preventing multiple forwards and setting up timeouts when the user defers processing.

It seems odd to me that API interactions like #sendRequest use an asynchronous model, whereas methods like #forwardXxxx use a asynchronous one.  Wouldn't a single programming model be easier for the user?

One thing that I worry about is that there could be multiple options after deferring. So if I ask the context context.forwardRequest() and that returns an incomplete CompletableFuture<ApiMessage>, what if I decide after calling this that I have actually hit some unrecoverable problem and want to close the connection instead, is it safe to call close() on the original context? You could make it CompletableFuture<Action> but then users need to know what actions are allowed in a given context (plus a bit of memory/GC overhead in wrapping all reads/writes in actions). Or we could wrap the future in a context, which ends up looking a bit more like #482.

Closing because #482 is looking more like what I want

Two motivations:

One issue with the API at present is that a user can omit to forward, or they they can forward more than once.  That programming mistake is a runtime issue.   If we force the filter method to return a future that carries what is to be forwarded, that class of error disappears.

I agree that we should make it safer and that this PR doesn't have enough guards to prevent multiple forward calls or detect cases where users have omitted to call anything. I think the direction of #482 is safer, preventing multiple forwards and setting up timeouts when the user defers processing.

It seems odd to me that API interactions like #sendRequest use an asynchronous model, whereas methods like #forwardXxxx use a asynchronous one.  Wouldn't a single programming model be easier for the user?

One thing that I worry about is that there could be multiple options after deferring. So if I ask the context context.forwardRequest() and that returns an incomplete CompletableFuture<ApiMessage>, what if I decide after calling this that I have actually hit some unrecoverable problem and want to close the connection instead, is it safe to call close() on the original context? You could make it CompletableFuture<Action> but then users need to know what actions are allowed in a given context (plus a bit of memory/GC overhead in wrapping all reads/writes in actions). Or we could wrap the future in a context, which ends up looking a bit more like #482.

In my developing idea have a filters producing  CompleteStage<FowardResult>.  RequestForwardResult and ResponseForwardResult both extend FowardResult.

onXXXRequest returns a  CompleteStage which can either be a RequestForwardResult (towards the brokers) or a ResponseForwardResult (which is a short circuit back back to the client).

onXXXResponse returns a CompleteStage.

RequestForwardResult carries a request ApiMessage/RequestHeaderData.

ResponseForwardResult carries a request ApiMessage/ResponseHeaderData. ResponseForwardResult also has a flag closeConnection, which a filter can use to send an error response + close.

If the completionstage results in an exception, Kroxylicious would use this signal to immediately close.
I have  onXXXRequest return a  CompleteStage and onXXXResponse<Respose methods return an


Checks if scrollView is present

Short description of what this resolves:
If the scroll.refreshComplete message is broadcast and the DOM has not been rendered, the refresher will throw.  We had a standard refresh that could be set by a pull, or simply a view activation.
Changes proposed in this pull request:
Check to see of the scrollView is present before calling a pullToRefresh.
Ionic Version: 1.x / 2.x
Fixes: #

thanks!

My pleasure
On Jun 21, 2016 11:54 AM, "Adam Bradley"<EMAIL_ADDRESS>wrote:

thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/driftyco/ionic/pull/6994#issuecomment-227484773, or mute
the thread
https://github.com/notifications/unsubscribe/ABSw0JgCXRxpyMsfzn1VlEsSnmgU35Hlks5qOAkugaJpZM4I6tKx
.


Bug: Issue with rehype-rewrite not adhering to strict EcmaScript Module standard

With the recent bump of the rehype-rewrite module to version 2.x in the version 3.3.1 release, we are seeing an error in our Webpack 5 builds:
  ERROR in ./node_modules/rehype-rewrite/lib/index.js 1:0-28
  Module not found: Error: Can't resolve './visit' in '<path>/node_modules/rehype-rewrite/lib'
  Did you mean 'visit.js'?
  BREAKING CHANGE: The request './visit' failed to resolve only because it was resolved as fully specified
  (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
  The extension in the request is mandatory for it to be fully specified.
  Add the extension to the request.

I reported this to the author of that library, but I'm not sure he is going to address the issue. I thought I'd let you know as well, in case there are other options to address this.
For the moment, we have pinned @uiw/react-md-editor (which is pulling this dependency in) to version 3.6.1. That was the last version of that library that referred to version 3.3.0 of this library.

Updating this issue, the author has addressed it with version 2.1.1, so I'm guessing the regular renovatebot updates will catch this for a future release.

@tvsbrent Upgrade<EMAIL_ADDRESS>


Add additional LLC metrics

Add additional LLC metrics:

Per partition offset lag
Time spent in various phases (initial consumption, catch up,
completion, segment conversion)
Controller response counts (commit, hold, etc.)
LLC FSM abort count
Rows discarded

Current coverage is 64.27% (diff: 93.93%)

No coverage report found for master at 03bdcee.

Powered by Codecov. Last update 03bdcee...43fd936


OS X UI bug after switching resolution & input device

I use a MacBook Pro retina and switch between typical laptop use on the built-in screen and an external monitor and bluetooth trackpad with lid closed. When I make this switch, scrolling in the articles pane becomes 'jumpy' and acts as if I am actively trying to scroll horizontally as well as vertically. It seems like the pane changes it's boundaries to allow for a few extra pixels of horizontal scrolling that don't actually exist. Quitting and restarting Vienna fixes this issue until the next time I switch to the 'opposite' configuration.
I found it impossible to get a screen grab of this because the jumpiness happens over time and a screen shot is a single frame. Nonetheless I will include this image where the column title Subject is now rendered blurry as an after effect of this horizontal movement.
I use no special 3rd party input device drivers, USB extensions, or other modifications. This is essentially a stock OS X install.
OS X 10.11.5
Vienna Version 3.0.9 :22b3ce2:

Hrm I might be able to finally test this out.

@testnotcode do you still have this issue? I haven't been able to reproduce it :(


[BUG] VM Import w/ vSphere v7.0.3 VM, breaks VM's underlying /etc/fstab (guest-os) settings w/ Multi-Disk or (possibly) Single Disk

Describe the bug
Note, this is not seen when using VM Imports w/ multi-disks from OpenStack (Devstack 2023.1/stable) seems to be present in vSphere imports.
Test Guest OS was Tumbleweed, installed server minimal.
Pretty much multi disk, two disks in this case, VM on vSphere v7.0.3 -> was successful but utterly broke the /etc/fstab as the UUID / "blkid" that was leveraged for building /etc/fstab to tell the drive to mount to a certain point is now broken.
To Reproduce
Steps to reproduce the behavior:

In vSphere v7.0.3, build a Tumbleweed server-minimal VM, instaling from ISO CD/DVD
Have two disks, 1 10GB disk, 1 2GB disk (in this instance, using "nvme1" which was available)
Of course, install main OS to 10GB disk
In vSphere, after install, enter the console of the VM:

build a partition the second 2GB disk, fdisk /dev/ second disk
then format that partition mkfs.ext4 /dev/
then build a mount point mkidr -p /mnt/tinylittledisk
then get the blkid to build out your /etc/fstab -> blkid
then use that "UUID" for your /etc/fstab, w/ /mnt/tinylittledisk ext4 defaults 0 0 (or whatever)
then reboot the VM on vSphere
log back into the VM, validate that yes indeed there is now automounted a /mnt/tinylittledisk that ties in to the Volume via fdisk -l

Then import that VM into Harvester
Both disks import successfully, but now /etc/fstab when the VM boots up (into Harvester) is toast

Expected behavior
VM Imported vSphere multi-disk VMs that have UUIDs for Disks utilized in /etc/fstab to not break
Possible Workaround

I tried, but timeboxing because there's too much other to do

The gist would be to mount a live iso and go through mounting all the points like:

https://www.turnkeylinux.org/docs/chroot-to-repair-system

But probably, after I got that all up and converted the /etc/fstab to just /dev/sda2 instead of uuid -> I probably didn't call sync on the disk.
Just exited chroot, which probably was the issue, because back on the screen now, through WebVNC the VM in Harvester is still posting the warning that the /dev/disk/by-uuid/UUID does not exist...
So I imagine, maybe if that was re-done but was ensuring to call "sync" maybe that would of helped? :shrug:  idk.
The data-integrity however looks good, fwiw, md5sums checkout on files.
Environment

Harvester ISO version: v1.3.2-rc2
Underlying Infrastructure: bare-metal

Additional context

@irishgordo do you observe the same behavior with similar setup with other distros like opensuse leap 15.6?

@ibrokethecloud -> I don't believe Leap encountered this, I will double-check on 9/3 -> and update this :+1: :smile:

@ibrokethecloud the same thing is happening with OpenSUSE Leap 15.6:

cc: @bk201 @khushboo-rancher