Make assertSatisfiesExactlyInAnyOrder() output information about which condition has failed

Feature summary
I just discovered that AssertJ has the satisfiesExactlyInAnyOrder and satisfiesExactly methods via this stackoverflow question.
I tested them and noticed that the error message when something fails for satisfiesExactly is a lot better compared to the one for satisfiesExactlyInAnyOrder. I hope this could be improved to also indicate which of the assertions fails like satisfiesExactly does (but without the index indication obviously).
Example
When running this test:
public class SatisfiesExactlyInAnyOrderTest {

  @Test
  void testInAnyOrder() {
    List<String> starWarsCharacterNames = List.of("Luke", "Leia", "Yoda");
    assertThat(starWarsCharacterNames).satisfiesExactlyInAnyOrder(
        name -> assertThat(name).contains("Han"),
        name -> assertThat(name).contains("L"),
        name -> assertThat(name).contains("Y"));
  }

  @Test
  void testExactly() {
    List<String> starWarsCharacterNames = List.of("Luke", "Leia", "Yoda");
    assertThat(starWarsCharacterNames).satisfiesExactly(
        name -> assertThat(name).contains("Han"),
        name -> assertThat(name).contains("L"),
        name -> assertThat(name).contains("Y"));
  }
}

This is the output for testExactly:
java.lang.AssertionError:
Expecting each element of:
  ["Luke", "Leia", "Yoda"]
to satisfy the requirements at its index, but these elements did not:

"Luke"
- element index: 0
- error:
Expecting actual:
  "Luke"
to contain:
  "Han"

And this the output for testInAnyOrder:
java.lang.AssertionError:
Expecting actual:
  ["Luke", "Leia", "Yoda"]
to satisfy all the consumers in any order.

I was hoping to get something like this:
java.lang.AssertionError:
Expecting actual:
  ["Luke", "Leia", "Yoda"]
to satisfy all the consumers in any order.

This consumer was never satisfied:
- error:
Expecting actual:
  "Luke"
to contain:
  "Han"

This would make it easier to discover which of the assertions inside of the satisfiesExactlyInAnyOrder actually fails.

This is not easy and maybe even possible because when you don't take the order into consideration what the comparison needs to do is compare one element of the collection under test to several elements of the expected collection, then if you don't find a match then what pair of actual and expected elements should be shown in the error message ? There is no reason to pick one in particular over another.
In your example you expect to see
This consumer was never satisfied:
- error:
Expecting actual:
  "Luke"
to contain:
  "Han"

But you also could have chosen Leia instead of Luke, and I don't see  a deterministic criteria that would allow to decide which one is more relevant to report.
Now imagine you have 50 elements in your collection and none match the 50 expected elements, you can't really report more details than the collection don't match.


[v4] Mutation Filters - mutation variables are missing from "options"

Describe the bug
When using mutation filters in react-query v3, mutation variables were accessible through mutation.options.variables. Upon migrating to v4, it seems that variables should be accessed through mutation.state since mutation.options.variables can be undefined.
Looking at the source code, it seems that both mutation.options and mutation.state have variables as an optional property. The docs seem to only provide an example of filtering mutations via variables using options, and no mention of state.
What is the distinction between options and state in regards to mutation filters? Prior to v4, mutation.options.variables always existed, but can now be undefined in v4.
Your minimal, reproducible example
https://codesandbox.io/s/peaceful-euclid-5876nl?file=/src/App.js
Steps to reproduce

Set up useMutation and useIsMutating using the same mutation key
Trigger a mutation and provide variables
In useIsMutating, add a predicate options and log mutation.options.variables and mutation.state.variables
See that the former can be undefined, whereas the latter always contains the mutation variables

Expected behavior
As a user, I expected to consistently see mutation variables in mutation.options.variables but I am only consistently seeing the variables in mutation.options.state.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
macOS - Chrome - v121.0.6167.160
Tanstack Query adapter
react-query
TanStack Query version
v4.36.1
TypeScript version
v5.3.3
Additional context
No response

I think we have removed mutation.option.variables in v5. The variables aren't defined when the mutation is defined, which is why they can't exist on options. So I wouldn't use them - just the ones on state.
On the state of the mutation, it can potentially undefined because you could theoretically check the Mutation after it has been created, but before it has been invoked. In react, the adapter makes sure to create-and-execute a mutation, so technically, it shouldn't happen that it's undefined, but on type level, it can be.
So please use mutation.state.variables and make sure to check if it's defined.


Feat: prom scraper log on recovery

Description
Prom scraper logs a recovery message when a scrape succeeds after a failure occurs.
Supersedes #73.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Testing performed?

[x] Unit tests
[ ] Integration tests
[ ] Acceptance tests

Checklist:

[x] This PR is being made against the main branch, or relevant version branch
[ ] I have made corresponding changes to the documentation
[ ] I have added testing for my changes

Cherry-picked the commit from #73 and fixed the data race it introduced into tests with a new commit.

If this is merged we can close #73.


Direct HTTPS website access broken

How to reproduce: go to https://testcontainers.org (hangs)
What works:

HTTP http://testcontainers.org
WWW https://www.testcontainers.org

It's very unfortunate as the broken variant is the one linked from a good number of your own GitHub repositories.

Ouch, thanks for flagging. I'll have a look this evening and see what's gone wrong :(

Hmm, I think this might have been a temporary issue - seems to be working for me know (Chrome, Safari, and curl for good measure). I wonder if gitbook was having a blip. Going to close; can reopen if it recurs.

FYI it is still not working for me.

OK, this is odd. What browser are you using? Can you get any more fine grained information on where it's hanging, e.g. using curl -vvv https://www.testcontainers.org?

As I said https://www.testcontainers.org is working, but https://testcontainers.org (no www) is not.

Sorry, I fixed this a couple of weekends ago and was distracted before updating the ticket. You were quite right, so I apologise for misunderstanding. I think I broke something in the transition to gitbook (which also included moving DNS control from cloudflare to AWS). The solution was to extend the existing Route53+S3 based domain apex redirect with Cloudfront, so that TLS also applied to the apex domain.


triggering subproject github action workflows on test deploys

Once releases of any form start getting made, support should be added to automatically trigger workflow runs on dependent projects, e.g. current projects like pkgcraft-python and pkgcraft-bash, as part of the pre-deployment test suite using github's REST API.
That should enable catching testable issues without having to manually kickoff workflow runs for all the dependent projects before a release is created.

Done in<PHONE_NUMBER>636c00ceb4dc6f171df20b2b0bbf19 and 46fc6bd4fb2eb969bbf9ea14a26d3da9b1540c52 for python and go bindings.


CmsUserStore should stop child rendering if not authenticated

The CmsUserStore checks to see if the user is authenticated anytime the page is loaded.  This causes an emitChange to be fired.  Because of this, any other actions that we want to fire on page load (FormStore.registerForm for example) are forced to setTimeout in order to avoid dispatching when another dispatch is firing.
We should prohibit any components outside of authentication from loading until the CmsUserStore has authenticated the user.  This will remove the need for setTimeout as well as perhaps improving security, since we limit loaded content.

I believe this is getting depricated with the upcoming changes to how Mortar handles Authentication.
The onus will be on the developer using Mortar to handle this, since Mortar no longer mounts the entire site.


tab stops not working?

First off thanks so much for creating this snippets package! It's helping me learn Aurelia.
One thing I have noticed, is that in my ES6 project, the tab stops do not seem work. I was investigating this and noticed the way you have annotated the tabs stops is slightly different than shown here:
http://flight-manual.atom.io/using-atom/sections/snippets/
Also I noticed some of the javascript snippets use Typescript syntax. Maybe you could provide an option in the package config to select ESNext or Typescript syntax?
using: Atom 1.9.9
Let me know if you have any suggestions- I would be happy to fork, if that would be best way to proceed.
Cheers

Hi @guidorice I'm sorry you are experiencing this, but none of the javascript snippets use Typescript.

Hi, are the tab stops working for you? Maybe it's just a problem with my setup- they have never worked at all, but just for these aurelia snippets.
re: the typescript, I thought that what I was seeing in some places was type definitions, for example:
"Aurelia: created(ov, mv) { ... }":
    prefix: "_cre"
    body: "created(owningView: View, myView: View) {\n\t${1}\n}${2}"

Oh, that's just Aurelia way of typehinting the parameters. It perfectly works for me and others that have tried it. What version of atom are you using?

Ah- weird! I am using 1.9.9 on OS X. For example if I type _req [ENTER] it fills in <require from="${url}"></require> and the cursor is after the closing tag. Hitting tab just inserts tabs to the right of there.

Enter or tab should work fine. So Enter works for you?

No ENTER has the same result as if I hit TAB.

Can you try this on another machine?

Sure, here are steps I took to repro, this time on another machine (Linux Ubuntu 16.04)

Upgraded Atom to latest 1.9.9
Disabled all other packages in Atom, except for aurelia-snippets, to make sure no conflicts come up.
npm install aurelia-cli -g
au new test-prj

Project Configuration
    Name: test-prj
    Platform: Web
    Transpiler: Babel
    CSS Processor: None
    Unit Test Runner: Karma
    Editor: Atom

cd test-prj/
atom .
open src/app.html
type _req[TAB]
snippet fills in   <require from="${url}"></require> with cursor at end of line. The tab stop does not occur.
confirmed same for other snippets, like _rpf and also confirmed ENTER has same behavior as TAB.

I also nuked my ~/.atom config, and started with vanilla settings, re-installed aurelia-snippets, and confirmed the same results again.

Is this still an issue?

Yes, still does not work. I have not had time to debug it any more, beyond what I already posted.


Creating Interface Classes

Code interface classes according to the discussion we had in #5.
The following image is just a sketch, to start the discussion and can be refined during coding.

We decided to write wrapper classes instead of directly inheriting from ART classes.
We will have one class that manages all the attack classes, their execution and their result metrics, how exactly these things are managed is up for discussion.
And one class for each attack that inherits from a general attack interface class. Also what methods and attributes attack classes have to have is still up for discussion.

@highclassfella i created a first draft of the interface. i tried to use formal interfaces as described here https://realpython.com/python-interface/
the tests have to be refined, but i have trouble to run the code


Update ValidateKeyVaultForCMK script to add more validation on key

The code in this PR:

updates ValidateKeyVaultForCMK script to add detailed validation for Key Vault and key as required by Power Platform enterprise policy
updates the documentation in ReadMe file as per the changes in ValidateKeyVaultForCMK script
updated the screenshot

@sericks007 &  @Mattp123
Can you take a look and make sure this is integrated with the appropriate docs?
If you can't merge into this repo, let me know.

@paulliew @JimDaly Can you please help in getting this PR merged.
This PR updates ValidateKeyVaultForCMK script to add detailed validation for Key Vault and key as required by Power Platform enterprise policy. This will enable customer to troubleshooting the exact configuration problem in the key vault when there is some failure in CM

@sokashya Please work with the assigned technical writer to make sure any Learn documentation related to the script changes are kept in sync.


Enhance PropType detection & Remove dist folder from source

This will add support for:

arrayOf
instanceOf - (with class name)
objectOf
oneOf - (with set of options)
shape

I called the special proptypes checkers with a set of valid arguments to try and identify them by their error messages.
Partially solves storybooks/react-storybook-addon-info#123
Solves #35

@arunoda is this going to be merged at some point? Cheers 🍻

Would also like to see this merged in

@elisherer This works great with start-storybook, very useful additions. However, after running build-storybook and running the built storybook-static/index.html there is an error in PropTable.render:

I've switched back to the non-forked react-storybook-addon-info without any other changes and the error is gone, so it seems that this PR is causing the built error.
If you run build-storybook && open storybook-static/index.html you should see it.
If this issue can be fixed, would be awesome to get this merged into master.

Looks like propTypes messages are required for the monkeypatching regex, so you have to use a custom webpack config that deploys in non-prod mode.

I tried
process.env.NODE_ENV = 'development'
process.env.BABEL_ENV = 'development'

But no dice

This does the trick:
NODE_ENV=development build-storybook
So I have a npm script like this:
    "build:styleguide": "NODE_ENV=development build-storybook",

+1 for this being merged 👍

@trevordmiller does this mean that in order for the build-storybook to work with this PR you must have "NODE_ENV=development"?

yes, in the implementation suggested. in production proptypes are not validated and that's where i "steal the react secret" arguments for prop types. we could do it also hard coded, but it wont be as future compatible. maybe someone can suggest a different angle.

Seems like this approach may need to be tweaked with the React 15.5 announcement from yesterday? With the separation of React.PropTypes into its own prop-types package.

@trevordmiller @ndelangen @elisherer Should we close this and reopen it once the addon is inside the monorepo and the changes for React 15.5 are made?

@mthuret Yeah that seems smarter, other wise this will mean a difficult merge for me to perform I think.


Unable to clear WMS layer parameters

I was able to use the TileLayer.WMS.setParams method to add custom parameters to a layer query, however there doesn't appear to be support for clearing a parameter once you add one. This is because setParams uses L.extend, so once the parameter is added it can't be cleared.
My use case is to allow users to specify various CQL filters and so I would like the user to be able to clear a value after setting it. I'm querying a GeoServer instance in this case and setting the cql_filter parameter to empty string, null, or undefined all result in a server error.
My current workaround is to detect the case when the cql_filter will be empty and manually delete it from the internal wmsParams attribute of the layer, but it would be nice if maybe setParams could do that automatically for empty/null/undefined values.

Hmm, you're right. What do you think is the best fix for this? Making setParams clear all params and setting them anew on top of default, or keeping the existing behavior but adding something like resetParams or clearParams?

I think doing something internally within setParams is probably the most intuitive. That also avoids the potential complication of double-redraws when clearing and then immediately setting.
In my opinion, the word 'set' implies replacing more than extending. I did see it was properly documented as a merge, but I didn't consider the implications of that until after I ran into the problem and wasted some time tracing through the code.
Therefore, I would support your first suggestion of clearing params and then setting anew on top of default, but that could be a breaking change for some users.
Alternatively, I would also support leaving the extend in place and then looping over the passed in params and removing any parameter that is passed as a null value. I've seen that convention used in other APIs, for example: d3 removing attributes. At a minimum this gives the developer full control with less risk of breaking compatibility, but it's slightly more cumbersome to use in my case and a little less obvious.

Hi @mourner and @chrisw1229
It seems to me like this is already working so perhaps this can be closed?
In the pen below simply type a US state name into the box (eg Colorado) and the map will redaw with only the state shown. The starting filter is based on population size and gets cleared.
http://codepen.io/rowanwins/pen/oXEzWz
Or am I mis-interpreting something?
Cheers
Rowan

@rowanwins The problem is when you add a parameter like CQL_FILTER and then want to completely remove that parameter. Because the Leaflet implementation does a merge of the old parameters and new parameters, the old parameter will stay there forever with no way to get rid of it.
In that example, an existing parameter is being overwritten with a new value, which does work. If you try to add a clear/reset feature to that example (i.e. user deletes the text from the box) it won't work as expected.

Thanks @chrisw1229 , that makes more sense now, I'll take a look into this and see what I can do.
Cheers

I have also run into this issue and passing in null in order to remove the parameter would be acceptable, if somewhat non-intuitive.
Another option might be adding an argument to setParams that would clear and set instead of merge.

Hi, any updates on this?
I would also support clearing a parameter by passing in a falsey value to setParams.
Pros:

Non-breaking
No double redraw issues

Cons:

Someone may want to set a wmsParam to '' or 0

That issue could be dealt with by passing in a Boolean clearNull (default false) just like noRedraw which would keep existing behaviour.

This has worked for me:
layer.setParams({cql_filter: 'INCLUDE'});
It shows all features from layer, and you can apply new filter again.


bst artifact log fails if project options are invalid

See original issue on GitLab
In GitLab by [Gitlab user @tristanvb] on Jan 6, 2019, 18:00
Summary
When running bst artifact log <artifact name>, BuildStream will try to resolve the project options of the toplevel project (this most probably can only happen if BuildStream is trying to load the project) - if the defaults are invalid options, then bst artifact log <artifact name> will fail.
Steps to reproduce
First, have a project with the following in the project.conf, perhaps adding this to an existing project can help reproduce:
options:
  build_arch:
    type: arch
    description: Build architecture
    values:
      - arm
      - aarch64

Or, use the freedesktop-sdk project which has these options.
Then, try to read a log file from the artifact cache on an intel machine.
Notice that the project option uses an arch option with only arm arches, and the default is left up to BuildStream to guess with uname.
What is the current bug behavior?
BuildStream exits with an error status and prints the following:
Error loading project: Invalid value for arch option 'build_arch': x86-64
Valid values: arm, aarch64

What is the expected correct behavior?
BuildStream should just show the log file of the artifact.
BuildStream does not need to load the project when given an artifact name, it need only load the project when given an element name.
Relevant logs and/or screenshots
Possible fixes
Didn't look at the implementation yet, perhaps the code currently tries loading an element and falls back to trying the artifact cache ?
Other relevant information

BuildStream version affected: /milestone %BuildStream_v1.x

In GitLab by [Gitlab user @cs-shadow] on Aug 4, 2020, 23:22
I was going through some old bugs and came across this one. A couple of thoughts based on a few minutes of poking around:
While this issue seems fairly innocuous on the surface, fixing it may require some significant changes internally. This is tricky because the checkout functionality is handled by Stream.artifact_log(), but we only get the Stream object after App.initialized() has been called. However, that method is also where we load the project.
We may need to untangle these bits very carefully if we want to separate them out, as opposed to being lumped together in the initliazed() context manager.

In GitLab by [Gitlab user @tristanvb] on Nov 17, 2020, 07:03
I think it should be simple enough to have App.initialized() give us a Stream object without loading any Project object for the purposes of calling some Stream methods which don't require a project.
We still need general App initialization in order to operate on artifact names like bst artifact log or bst artifact checkout, like initialized logging and loaded Context, it's only the Project that is unnecessary for a certain class of commands.

In GitLab by [Gitlab user @tristanvb] on Dec 2, 2020, 13:10
mentioned in merge request !2108

This has since been fixed with ArtifactElement
The local project is no longer consulted to construct fully qualified artifact names, it is only consulted when element names are passed to bst artifact commands.


[cmake] Incorrect CMake paths

I'm trying to package Raylib for NixOS and am running into some troubles with the pkgconfig.
I'm not well versed with CMake nor NixOS and so cannot provide much detail here. Suffice to say, I'm seeing a duplication of paths in the pkconfig output.
Here are two examples or the output:
From contributor
prefix=/nix/store/kxlh5s1p5ld9bxk22wrl1zpglx493apw-raylib-3.0.0
exec_prefix=${prefix}
libdir=${exec_prefix}//nix/store/kxlh5s1p5ld9bxk22wrl1zpglx493apw-raylib-3.0.0/lib
includedir=${prefix}//nix/store/kxlh5s1p5ld9bxk22wrl1zpglx493apw-raylib-3.0.0/include

My own workspace
prefix=/nix/store/zz0arpkbn47268lxllzq1rqsgp470d9b-raylib-3.0.0
exec_prefix=${prefix}
libdir=${exec_prefix}//home/adam/Workspace/nixpkgs-temp/raylib/out/lib
includedir=${prefix}//home/adam/Workspace/nixpkgs-temp/raylib/out/include

Effectively what I think I'm seeing is something like this:
prefix=/A
exec_prefix=/A
libdir=$prefix/A -> /A//A
includedir=$prefix/A -> /A//A

Comments suggest that this is actually an upstream issue and not actually Nix related (although it is being exposed by it).
It appears that the raylib.pc.in paths are incorrectly specified.

I @adamlwgriffiths, I'm not an expert on CMake, maybe @a3f can take a look to this issue.

Huh, there is both CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_FULL_LIBDIR,  so I'd have assumed the first is relative and the second is absolute. Seems that is not so.
Do you want to send a patch? Basically the same that https://github.com/fmtlib/fmt/pull/1657/files is doing.

I'm trying to get to grips with how Nix does things, so it may take me a while.

This is issue has nothing to do with NIx. We have an assumption in the CMake code that doesn't always hold true apparently, you can fix it our CMake script.

I understand that, but I'm running Nix and am just getting to grips with the basics. Ie, getting a cmake environment.

I've got a branch with this fix: https://github.com/adamlwgriffiths/raylib/tree/1380_cmake_paths
It appears to fix the issue when building using the Nix package manager.
prefix=/nix/store/52d9z0jp3wih5kah78px8zny8wcd8d9c-raylib-de67ae3f8be10799c085ca4669c31a7f15ac45b3
exec_prefix=/nix/store/52d9z0jp3wih5kah78px8zny8wcd8d9c-raylib-de67ae3f8be10799c085ca4669c31a7f15ac45b3
libdir=/home/adam/Workspace/nixpkgs-temp/raylib-head/out/lib
includedir=/home/adam/Workspace/nixpkgs-temp/raylib-head/out/include

However, I get some strange paths when I build it inside a self contained environment.
prefix=/var/empty/local
exec_prefix=/var/empty/local
libdir=${exec_prefix}/lib64
includedir=${prefix}/include

I'm not sure if this is an artifact of nix or an error in the change.


[Feature]: Retain necessary punctuation when abbreviating proceeding titles

Debug log ID
27XLUKGT-refs-apse
What happened?
It looks like the auto-abbreviation of proceeding titles was introduced in #2245, and it works very well IMO. There have been some earlier discussions on the Zotero forums at here and here and also here, but all of them look like this won't be solved in Zotero in the short term. So I guess the current hacking approach is to treat the proceedings title the same as the journal title, right? But there are some special punctuations used in some proceeding titles that I thought should be preserved, like the following:
2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)

The current BBT output is:
2022 IEEECVF Conf. Comput. Vis. Pattern Recognit. CVPR

What I expected is (after preserving the special punctuation):
2022 IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR)

Which is also confirmed by page 7 of the IEEE Reference Guide. I know there may be some manually hackable ways to do this, but I prefer not to.

You'll have to ask Zotero -- I use their Zotero.Cite.getAbbreviation to generate journal abbreviations, and I don't really know how it works. I know Juris-M used to allow specifying the style to be used for abbreviations, but I don't think Zotero has ever supported this. There is a list of overrides that the function consults (abbreviations.json) but it seems to be bundled inside Zotero, not easy to modify the list.
Do postscripts count as manually hacking?

You'll have to ask Zotero -- I use their Zotero.Cite.getAbbreviation to generate journal abbreviations, and I don't really know how it works. I know Juris-M used to allow specifying the style to be used for abbreviations, but I don't think Zotero has ever supported this. There is a list of overrides that the function consults (abbreviations.json) but it seems to be bundled inside Zotero, not easy to modify the list.
Do postscripts count as manually hacking?

No, I'm referring to manually hardcoding something into Zotero fields... Postscripts will be great, too!

You can change the output in pretty much any way in a postscript, but I don't know a good generalized way to generate journal abbreviations from full journal titles.

[generated code]

I'm not entirely sure what this code intends to do, but if it works for you, that's good obviously.

PS: I have tried many times to find this zotero.publicationTitle (why not zotero.proceedingsTitle?).

I can explain the reasoning behind it if you want but if you just want to know what fields are available in the postscript, export the entry as BetterBibTeX JSON with the Normalize option turned on.

How can I access the current option of abbreviation in postscripts? I want to run scripts only when this option is enabled.

Translator.options.useJournalAbbreviation will be true when the option is on.

How to keep the original order of fields in BibTeX after calling tex.add()? This is a minor issue, but I am curious anyway.

this should do it:
const order = Object.keys(tex.has)

// do some stuff here

for (const name of order) {
  const field = this.has[name]
  if (field) {
    delete this.has[name]
    this.has[name] = field
  }
}

Yeah, I deleted all the comments and forgot to bring them here. The following is one of the prompts to create the code (there are other prompts to improve, but this is the core idea):
1. There are two strings `stringA` and `stringB`;
2. Find all the words in `stringA` that have `/` in them, and in `stringB` there may be the same word(s) but without `/`: try to recover the original `/` in `stringB`;
3. Find all words in `stringA` which are surrounded by `(` and `)`, and in `stringB` there may be the same word(s) but without `(` and `)`: try to recover the original `(` and `)` in `stringB`;
4. Combine the above functions and make a simple and concise version.

Thanks a lot for this! The final version of postscripts to close this issue without the changes from Zotero's side:
if (Translator.BetterBibTeX) {
    const order = Object.keys(tex.has);
    if (zotero.itemType === 'conferencePaper' && Translator.options.useJournalAbbreviation) {
        function recover(full, abbr, regex) {
            const matches = full.match(regex);
            if (matches) {
                matches.forEach(match => {
                    const word = match.replace(/[\/()]/g, '');
                    abbr = abbr.replace(word, match);
                });
            }
            return abbr;
        }
        const btFull = zotero.publicationTitle;
        const btAbbr = tex.has.booktitle.value;
        const sRegex = /\b(\w+\/\w+)\b/g;
        const pRegex = /\((\w+)\)/g;
        tex.add({ name: 'booktitle', value: recover(btFull, recover(btFull, btAbbr, sRegex), pRegex) });
    }

    // do some other stuff

    for (const name of order) {
        const field = this.has[name];
        if (field) {
            delete this.has[name];
            this.has[name] = field;
        }
    }
}


[e2e]: container-based schedule main registry-username-secret

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/10650521564
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container-based.schedule.main.registry-username-secret.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container-based.schedule.main.registry-username-secret.yml
Trigger: schedule
Branch: main
Date: Sun Sep  1 03:12:41 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/10660037741
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container-based.schedule.main.registry-username-secret.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container-based.schedule.main.registry-username-secret.yml
Trigger: schedule
Branch: main
Date: Mon Sep  2 03:09:17 UTC 2024
Tests are passing now. Closing this issue.


Provide description in the Neovim plugin of how to set it up to start automatically

I'm not the greatest vimscript hacker, and neither are many others; it'd be really nice if you provided the exact config line that would start GHCi automatically when opening a Haskell file in Neovim as part of the docs.

You can use: autocmd BufWritePre *.hs execute ':Ghcid'


Sync eng/common directory with azure-sdk-tools for PR 1736

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1736  See eng/common workflow

/check-enforcer override


added option for QR decomposition if there is no truncation in apply_two_qubit_gate

I am using the tensornetwork package for quantum circuit simulation, QAOA to be specific, and need to repeatedly apply two-qubit gates, most of the times without truncation.
Speed optimisation is my primary goal, and since doing a full SVD when there is no truncation is wasteful, I would prefer having an option for QR decomposition in this case.
I tested this for a couple of my simulations, and it seems to be working.
Please consider this edit.
Thank you.

Gonna leave it up to @mganahl as to whether we want to do this or not.

@googlebot I fixed it

addressed in #913


Autoencoder issues

The published autoencoder weights do not seem to match the model defined in this repo. Specifically when I try to load the weights, the following keys are missing
post_quant_conv.bias
post_quant_conv.weight
quant_conv.bias
quant_conv.weight
Also would be really helpful if the actual yaml config used to train the SDXL autoencoder is published (the example in this repo does not seem to correspond to the original).

I just rechecked the weights, and these keys are contained in the VAE. Can you confirm that you are loading AutoencoderKL, not AutoencodingEngine, and that the output says missing instead of unexpected?

Thanks for the response. You are right. I was using the AutoencodingEngine. The AutoencoderKL has the keys. However, the example config for autoencoder in this repo does not seem compatible with AutoencoderKL. I get KeyError: 'ddconfig'. What would really help is the actual config used that corresponds to the published weights.

Yeah you are right, the AutoencoderKL takes slightly different arguments than AutoencoderEngine. The correct settings, can be read from the SDXL-config:
https://github.com/Stability-AI/generative-models/blob/45c443b316737a4ab6e40413d7794a7f5657c19f/configs/inference/sd_xl_base.yaml#L80-L98
If you use that it should be loadable (you will need to adjust whitespace and model: instead of first_stage_config as in the training example). I can add a standalone inference config in the near future.  The training examples only contain configs for AutoencodingEngine is that this is the newer version, with more flexibility. But there is no support for the legacy modules post_quant_conv and quant_conv as you found out.
If you want to train with this, be sure to add a lossconfig (see the trainings-config you already found for how to do that).
Let me know, if there are any more problems here.

Hi, I'm trying this exact scenario of retraining the sdxl vae. I've made the changes indicated to create a config file that looks like below so that its pointing to training AutoencoderKL class with the loss config of lpips, and checkpoint of sdxlvae
The problem I run into is that the encode methods on the AutoencoderKL and its parent AutoencoderEngine are different. I'm not sure which one is right one. When traning runs, as part of sanity check, the encode method gets called via:
run_sanity_check-->validation_step-->AutoencodingEngine.forward()-->self.encode(x, return_reg_log=True)

At this point, AutoencoderKL does not have an encode method that takes return_reg_log param. What is the right codepath here to make this match sdxl vae training?
config file
model:
  base_learning_rate: 4.5e-6
  target: sgm.models.autoencoder.AutoencoderKL
  params:
    input_key: jpg
    monitor: val/rec_loss
    embed_dim: 4
    ckpt_path: "/mnt/d/generative-models/configs/checkpoints/sdxl_vae.safetensors"

    lossconfig:
      target: sgm.modules.autoencoding.losses.GeneralLPIPSWithDiscriminator
      params:
        perceptual_weight: 0.25
        disc_start: 20001
        disc_weight: 0.5
        learn_logvar: True

        regularization_weights:
          kl_loss: 1.0

    regularizer_config:
      target: sgm.modules.autoencoding.regularizers.DiagonalGaussianRegularizer

    ddconfig:
       attn_type: vanilla-xformers
       double_z: true
       z_channels: 4
       resolution: 256
       in_channels: 3
       out_ch: 3
       ch: 128
       ch_mult: [1, 2, 4, 4]
       num_res_blocks: 2
       attn_resolutions: []
       dropout: 0.0

Thank you!

@jenuk Hi, thanks for the infor. I am tryting to test the AEkl model by encoding a real image an then reconstruct it. However, my code, does not work: after encoding, everyting is nan. I cannot figure out where is going wrong.
I am using the config file as you posted and the inference code as fellow:
model = instantiate_from_config(config.model)
model.to(device)
model.eval()
transforms = [T.ToTensor(),
                          T.Lambda(lambda x: x * 2. - 1.)]
transforms = T.Compose(transforms)
image = Image.open(fname)
image = transforms(image)
image = image[None,:,:,:]
xrec = model(image.to(device))
result = torch.clamp((xrec + 1.0) / 2.0, min=0.0, max=1.0)
image = Image.fromarray(result.astype(np.uint8))
image.save(osp.join(outpath, osp.basename(fname)))

Is there anything wrong? Thanks in advance!

@jenuk Hi, thanks for the infor. I am tryting to test the AEkl model by encoding a real image an then reconstruct it. However, my code, does not work: after encoding, everyting is nan. I cannot figure out where is going wrong.
I am using the config file as you posted and the inference code as fellow:
model = instantiate_from_config(config.model)
model.to(device)
model.eval()
transforms = [T.ToTensor(),
                          T.Lambda(lambda x: x * 2. - 1.)]
transforms = T.Compose(transforms)
image = Image.open(fname)
image = transforms(image)
image = image[None,:,:,:]
xrec = model(image.to(device))
result = torch.clamp((xrec + 1.0) / 2.0, min=0.0, max=1.0)
image = Image.fromarray(result.astype(np.uint8))
image.save(osp.join(outpath, osp.basename(fname)))

Is there anything wrong? Thanks in advance!

I have met the same problem. Have you solved it?


Update build to correctly handle RUNPATH and dependencies

These changes look good to me. Still waiting on the CI but I wanted to confirm that the opencv libs are loaded correctly when needed.


Add Github action to test code

Summary of the changes / Why this is an improvement
Target platforms are Linux, macOS and Windows
Checklist

[x] CLA is signed

Oh, I just saw that #39 covers my PR. Closing it.


How can we get the text from search bar and pass it to a function on clicking the search button on keyboard?

@vishnumm93 you could getValue onSubmitEditing 👍


let setting element models from different places

Before creating form, Users may need attach data to form elements. So Users can set model of elements before FormController.addFormElementsToView call.

Thanks for your contribution!
I'm trying to understand why this change is needed. Can you provide an example of a use-case that requires this change? Why aren't you able to set the model on the FormController directly? Some code snippets would help too if you have an example.

I wanted to set model value from form element. Below code works on asynTask's onpostexecute theoratically before or after formController.addFormElementsToView(container); call..
FormElementController selectionCont = new SelectionController(CreateRecordActivity.this, name,name, true, "Select", domains, true);
if(selectionCont.getModel()==null){
        selectionCont.setModel(formController.getModel());
 }
 selectionCont.getModel().setValue("create_attribute"+"_"+name,attribute);

But I was stuck to do model value settings over elementController not over formController.  My perspective to model concept may be wrong. I was thinking at first, each element has its own model data independent from its form model data.

Yes, the model is set at the FormController level, which is then passed to the individual elements to extract the values it needs. Does this approach work for you? Do you have a use-case where you'd like to set a different model for each element separately?

Also, you mentioned you wanted to add elements asynchronously. That should still work as long as the FormController is initialized properly and you also add them within the main thread.


black theme css fix

Fixes broken elements of the black theme that were broken by Google's latest CSS update.

Fixes issue #373


Post-running, regardless of condition

Hey, i am using the<EMAIL_ADDRESS>action and i have an issue where we push docker images to 2 different repositories, and we have an issue with just one repository and we want to implement the retry only for this one.
We push to 2 repositories using this configuration:
  build_and_upload_image:
    name: build_and_upload_image
    timeout-minutes: 60
    needs: release_drafter_publish
    if: always()
    runs-on: ubuntu-latest
    env:
      IMAGE_VERSION: ${{ needs.release_drafter_publish.outputs.version }}
    strategy:
      matrix:
        mode: [repository_A, repository_B]
    steps: ...

And we have an issue that when the matrix mode is repository_A and the retry get canceled (as the condition is ${{ failure() && (matrix.mode == 'repository_B') }}), the post retry action tries to run either way and failes.
Can you add a fix that the condition for the main action will apply to the post action? so when the main will not run the post will not run as well.
(For some reason the post tries to push the image and acts the same as the main action)
Thank you!

Hello @alonm-upstream
The action description has line
Executes only the main script of Docker actions, excluding pre-entrypoint and post-entrypoint scripts.

It throws error when Docker actions has pre or post entrypoint.
While it is relatively simple to bypass the pre or post stages, implementing a proper handling of these stages will require more time.
I will work on implementing this feature. However, I cannot provide a definite timeline for its completion, as I have another work and the solution may take some time to ensure that it is properly executed.

Hello @alonm-upstream
I've released new version of action. It supports pre and post stages of docker actions and handles conditions in pre-if and post-if fields.
Please, try v3.2.0.


Mast: Watch mgproclean.com

Mast requests the watch of the watch_keyword mgproclean\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

mgproclean\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Eliah Kagan in Charcoal HQ


fix: elasticache resources using cluster id vs arn for tag lookup

Fixes a bug where the cluster id was incorrectly being used in place of the arn to lookup tag data for the resources.
Resolves #208

:tada: This issue has been resolved in version 3.3.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Client side navigation ignores defer with nested route and URL param

This is a PR as a bug report for a weird issue I noticed with defer:
When navigating (client side) from one route with a deferred loader to it's child route, also with a deferred loader, the navigation is blocking (not deferred) IF there is ANY url param present on the child route.
I've put together a small test to reproduce the specific issue, though I haven't yet validated if there's more general cases where this might be triggered.
@jacob-ebey you might have figured this one out already but here's the repro I mentioned to you

Unfortunately, this is "expected" at the moment since changing a URL param triggers a revalidation on the parent route, and we don't re-fallback on revalidations of deferred data.
You can work around this by telling your parent loader not to revalidate on GET navigations:
export function shouldRevalidate({ formMethod }) {
  return formMethod == null || formMethod === "GET";
}

There's some more info in this comment but I think the hope is that eventually when React.use stabilizes we just give full control over when to fallback to the developer by just exposing the promise and letting you control it via Suspense keys (now that navigations are wrapped in startTransition)


getifaddrs() fails

I am working on an iOS app, and I find getifaddrs() fails (errno 6). This is not supposed to fail, and what I think is happening is that my app is using libWebSocket's own getifaddrs(). I think libWebSocket only provides its own getifaddrs() for platforms that don't have their own (i.e. windows), so I wonder if the iOS lib can be recompiled without getifaddrs() ?
I see in ofxLibwebsockets/libs/libwebsockets/include/lws_config.h
/* Define to 1 if we have getifaddrs */
#define HAVE_GETIFADDRS

No problem! Should have a moment later tonight to recompile. If you want to give it a shot, there's fairly detailed instructions how to in the Readme.
Will post here if I get to it sooner!

Gave it try, couldn't easily get it to build.
CMake Error at CMakeLists.txt:7 (project):
  The CMAKE_C_COMPILER:

    gcc

  is not a full path and was not found in the PATH.

Hey Oriol, can you try this one out?
https://www.dropbox.com/s/ekap27nvxr9lte7/libwebsockets.a?dl=0
Should work, just want to test before pushing it up

the lib works the same, but getifaddrs() still fails (errno 6)...
hard to tell what's going on

Yep I can confirm that getifaddrs() doesn't fail when I don't include ofxLibWebSockets in the project... So it must still be defined somewhere in there?

Hm! I did define the HAVE_GETIFADDRS, and can confirm the preprocessor's working. I don't know a ton about the function, so I'm not sure.
Here's what I did to compile, if you want to play with it:

change line 30 and 31 in iOS.cmake to:

CMAKE_FORCE_C_COMPILER(/usr/bin/gcc GNU)
CMAKE_FORCE_CXX_COMPILER(/usr/bin/g++ GNU)

manually pass in openSSL when making (not sure why, haven't had to do that in the past):

cmake -DLWS_OPENSSL_INCLUDE_DIRS=/usr/include/openssl -DLWS_OPENSSL_LIBRARIES=/usr/bin/openssl -DCMAKE_TOOLCHAIN_FILE=~/Dropbox/Code/OF/of_v0.X.X_github/addons/ofxLibwebsockets/extras/ios_libwebsockets/toolchain/iOS.cmake -GXcode ..

Rest should work! I had some weird errors compiling SSL within Xcode after making, so ended up compiling in OF's version... weird, but it did work.

I will give it another shot when I get a sec.


evaluate_functional_correctness can't run

I created a conda environment with python3.7 using the exact same command in the doc. Then, I used openai's text-davinci-002 to generate a samples.jsonl file with 3 results for each problem.
Calling evaluate_functional_correctness samples.jsonl, I got the error message as below. I also tried to evaluate the example results with evaluate_functional_correctness data/example_samples.jsonl --problem_file=data/example_problem.jsonl, and got the same error.
I wonder how to fix it?
Error message:
Reading samples...
6it [00:00, 7427.93it/s]
Running test suites...
0%|                                                                                | 0/6 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/opt/miniconda3/envs/codex/bin/evaluate_functional_correctness", line 33, in
sys.exit(load_entry_point('human-eval', 'console_scripts', 'evaluate_functional_correctness')())
File "/opt/miniconda3/envs/codex/bin/evaluate_functional_correctness", line 25, in importlib_load_entry_point
return next(matches).load()
File "/opt/miniconda3/envs/codex/lib/python3.8/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/opt/miniconda3/envs/codex/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 843, in exec_module
File "", line 219, in _call_with_frames_removed
File "/Users/boyuanchen/Desktop/human-eval/human_eval/evaluate_functional_correctness.py", line 30, in
sys.exit(main())
File "/Users/boyuanchen/Desktop/human-eval/human_eval/evaluate_functional_correctness.py", line 27, in main
fire.Fire(entry_point)
File "/opt/miniconda3/envs/codex/lib/python3.8/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/opt/miniconda3/envs/codex/lib/python3.8/site-packages/fire/core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/opt/miniconda3/envs/codex/lib/python3.8/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/Users/boyuanchen/Desktop/human-eval/human_eval/evaluate_functional_correctness.py", line 22, in entry_point
results = evaluate_functional_correctness(sample_file, k, n_workers, timeout, problem_file)
File "/Users/boyuanchen/Desktop/human-eval/human_eval/evaluation.py", line 75, in evaluate_functional_correctness
result = future.result()
File "/opt/miniconda3/envs/codex/lib/python3.8/concurrent/futures/_base.py", line 437, in result
return self.__get_result()
File "/opt/miniconda3/envs/codex/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
raise self._exception
File "/opt/miniconda3/envs/codex/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/boyuanchen/Desktop/human-eval/human_eval/execution.py", line 77, in check_correctness
p.start()
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/context.py", line 284, in _Popen
return Popen(process_obj)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in init
super().init(process_obj)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/popen_fork.py", line 19, in init
self._launch(process_obj)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
reduction.dump(process_obj, fp)
File "/opt/miniconda3/envs/codex/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'check_correctness..unsafe_execute
`

If you are on windows, this problem can be solved by declaring a global var of unsafe_execute just above the function.
And after this you would encounter Attribute error for unsafe_execute, that can be solved by installing multiprocess library and then replacing "multiprocessing" with multiprocess instead.
Another error on windows would be of pass@=0 instead of 0.4999, this can be solved by removing the timeout function in execution.py for sample sanity check only, for testing on generated samples you have to use timeout but have to find a way to use something different than setitimer() function which causes the pass@=0 issue.

when I run on mac,I get the same error,can anyone help?thanks a lot

reinstall multiprocess, and replace multiprocessing used in human_eval/execution.py， then here we go.

when I run on mac,I get the same error,can anyone help?thanks a lot

so sad!!!  I also have the same problem. Do u solve it, my friend? thx

After importing and chaning from multiprocessing to multiprocess. What worked for me was to use this
windows machine:
import threading
class TimeoutException(Exception):
pass
@contextlib.contextmanager
def time_limit(seconds: float):
timer = threading.Timer(seconds, lambda: (_ for _ in ()).throw(TimeoutException("Timed out!")))
timer.start()
try:
yield
finally:
timer.cancel()
linux machine
@contextlib.contextmanager
def time_limit(seconds: float):
def signal_handler(signum, frame):
raise TimeoutException("Timed out!")
signal.setitimer(signal.ITIMER_REAL, seconds)
signal.signal(signal.SIGALRM, signal_handler)
try:
yield
finally:
signal.setitimer(signal.ITIMER_REAL, 0)
pass

On a Mac with Python 3.10 installing multiprocess and removing imports and usages of multiprocessing worked for me.

After importing and change from multiprocessing to multiprocess. What worked for me was to use this
windows machine:
import threading

class TimeoutException(Exception):
    pass

@contextlib.contextmanager
def time_limit(seconds: float):
    timer = threading.Timer(seconds, lambda: (_ for _ in ()).throw(TimeoutException("Timed out!")))
    timer.start()
    try:
        yield
    finally:
        timer.cancel()

linux machine
@contextlib.contextmanager
def time_limit(seconds: float):
    def signal_handler(signum, frame):
        raise TimeoutException("Timed out!")
    signal.setitimer(signal.ITIMER_REAL, seconds)
    signal.signal(signal.SIGALRM, signal_handler)
    try:
        yield
    finally:
        signal.setitimer(signal.ITIMER_REAL, 0)
        pass

For Windows user, here is more things need to do:

addif __name__ == "__main__":  before the sys.exit(main()) otherwise you will get a error which recommends you to use "freeze_support()"
install multiprocess and removing imports and usages of multiprocessing or you will get "Ran out of input" error. Please ignore the IDE's "can't find **()" warning as the package multiprocess doesn't announce them in init.py but it still works.
change the time_limit function is necessary as the origin one didn't work properly.
TimeoutException class defination is optional

on MacOS. I am trying to change the part
`manager = multiprocessing.Manager()
result = manager.list()
p = multiprocessing.Process(target=unsafe_execute, args=(tmp_dir,))
p.start()
p.join(timeout=timeout + 1)
if p.is_alive():
    p.kill()`

with
import multiprocess from multiprocess import process, queues, managers
I have installed multiprocess as suggested. But, it seems not to work. What did you change this to @pnewhook ?

reinstall multiprocess, and replace multiprocessing used in human_eval/execution.py， then here we go.

This works well for me on windows 11. Thank you so much!

Thanks all! I have resolved the issue with the given advices.


Japanese translation

First of all, thanks for writing a great tutorial for vim-go!
Could you give me permission to translate this tutorial to Japanese?
Actually I've done translating 60% of it in my local machine.
If yes, when I finish the translation, can I send it as a pull request to this repository?
Or do you prefer the Japanese translation belong to my fork of this repository?

Hi @hnakamur
Thanks a lot! I'm totally ok if you want to translate this to Japanese. I love Japan and the people there :) It would make me really happy. I don't think you need to send a Pull Request. However please rename the repo to vim-go-tutorial-jp as I think it's much more better.  So it can live under your name. When you finish it let me know on Twitter: https://twitter.com/fatih and I'll retweet it 👍


Error on database update command

In project.json I point only dnxcore50
Dnx:
Version:      1.0.0-rc1-16031
Type:         CoreClr
Architecture: x64
OS Name:      Windows
OS Version:   10.0
Runtime Id:   win10-x64
EF provider Sqlite
F:\Code\asp.net\myproject\Site>dnx ef database update
System.BadImageFormatException: An attempt was made to load a program with an in
correct format. (Exception from HRESULT: 0x8007000B)
   at System.Runtime.Loader.AssemblyLoadContext.InternalLoadUnmanagedDllFromPath
(String unmanagedDllPath)
   at Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.LoadUnmanagedLibrary(St
ring name)
   at Microsoft.Dnx.Host.LoaderContainer.LoadUnmanagedLibrary(String name)
   at Microsoft.Dnx.Runtime.Loader.LoadContext.LoadUnmanagedDll(String unmanaged
DllName)
   at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unman
agedDllName, IntPtr gchManagedAssemblyLoadContext)
   at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(IntPtr filenam
e, Sqlite3Handle& ppDb, Int32 flags, IntPtr vfs)
   at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(String filenam
e, Sqlite3Handle& ppDb, Int32 flags, String vfs)
   at Microsoft.Data.Sqlite.SqliteConnection.Open()
   at Microsoft.Data.Entity.Storage.RelationalConnection.Open()
   at Microsoft.Data.Entity.Storage.Internal.SqliteRelationalConnection.Open()
   at Microsoft.Data.Entity.Storage.Internal.RelationalCommand.Execute[T](IRelat
ionalConnection connection, Func`3 action, String executeMethod, Boolean openCon
nection, Boolean closeConnection)
   at Microsoft.Data.Entity.Storage.Internal.RelationalCommand.ExecuteScalar(IRe
lationalConnection connection, Boolean manageConnection)
   at Microsoft.Data.Entity.Migrations.HistoryRepository.Exists()
   at Microsoft.Data.Entity.Migrations.Internal.Migrator.Migrate(String targetMi
gration)
   at Microsoft.Data.Entity.Design.MigrationsOperations.UpdateDatabase(String ta
rgetMigration, String contextType)
   at Microsoft.Data.Entity.Commands.Program.Executor.Execute(Action action)
An attempt was made to load a program with an incorrect format. (Exception from
HRESULT: 0x8007000B)

This is a problem with https://github.com/aspnet/microsoft.data.sqlite. It appears the library is attempting to load the wrong bitness (x86 vs x64)

@natemcmaster I definitively see the DNX package loader in the exception above, so this could be an issue @moozzyk's code.

cc @muratg

Might be related to the package layout. We create a lookup table where the lib name without the extension is the key and the path is the value. CoreClr calls us when they need to load a native lib and we resolve the path using the lookup above and have them load the lib from the path (this way we don't need to worry about loading native libs on different platforms).
If libs for both architectures are defined in the runtimes section then the last would win. The expectation is that the project.lock.json section for a specific architecture should not contain entries libs for a different architecture (at least in the runtimes section).

https://gist.github.com/Codenator81/c6f3634a7d6bc79d0896 my project.lock.json file if it helps
Version:      1.0.0-rc1-16048
Type:         CoreClr
Architecture: x64
OS Name:      Windows
OS Version:   10.0
Runtime Id:   win10-x64

I find problem.
As mentioned @moozzyk I check project.lock.json file. There were wrong dependencies for sqlite.
When I on coreclr do dnu restore there in lock file dependecies point to dot.net library but not coreclr.
When I change
 "EntityFramework.Sqlite/7.0.0-rc2-16153": {
        "type": "package",
        "dependencies": {
          "EntityFramework.Relational": "7.0.0-rc2-16153",
          "Microsoft.CSharp": "4.0.1-beta-23427",
          "Microsoft.Data.Sqlite": "1.0.0-rc2-15761",
          "System.IO.FileSystem": "4.0.1-beta-23427"
        },
        "compile": {
          "lib/dotnet5.4/EntityFramework.Sqlite.dll": {}
        },
        "runtime": {
          "lib/dotnet5.4/EntityFramework.Sqlite.dll": {}
        }
      },

to
 "compile": {
          "lib/netcore50/EntityFramework.Sqlite.dll": {}
        },
        "runtime": {
          "lib/netcore50/EntityFramework.Sqlite.dll": {}

everithing works good
I change this in all lock file )))
So solution is when do dnu restore need provide right runtime and compile packages
Sory for my English as well. I try best

On linux:
fail: Microsoft.Data.Entity.Query.Internal.QueryCompiler[1]
      An exception occurred in the database while iterating the results of a query.
      System.DllNotFoundException: Unable to load DLL 'sqlite3': The specified module could not be found.
       (Exception from HRESULT: 0x8007007E)
         at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(IntPtr filename, Sqlite3Handle& ppDb, Int32 flags, IntPtr vfs)
         at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(String filename, Sqlite3Handle& ppDb, Int32 flags, String vfs)
         at Microsoft.Data.Sqlite.SqliteConnection.Open()
         at Microsoft.Data.Entity.Storage.RelationalConnection.Open()
         at Microsoft.Data.Entity.Storage.Internal.SqliteRelationalConnection.Open()
         at Microsoft.Data.Entity.Query.Internal.QueryingEnumerable.Enumerator.MoveNext()
         at Microsoft.Data.Entity.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers)
         at lambda_method(Closure , QueryContext )
         at Microsoft.Data.Entity.Query.Internal.QueryCompiler.<>c__DisplayClass18_1`1.<CompileQuery>b__1(QueryContext qc)
Application startup exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AggregateException: One or more errors occurred. ---> System.DllNotFoundException: Unable to load DLL 'sqlite3': The specified module could not be found.
 (Exception from HRESULT: 0x8007007E)
   at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(IntPtr filename, Sqlite3Handle& ppDb, Int32 flags, IntPtr vfs)
   at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(String filename, Sqlite3Handle& ppDb, Int32 flags, String vfs)
   at Microsoft.Data.Sqlite.SqliteConnection.Open()
   at Microsoft.Data.Entity.Storage.RelationalConnection.Open()
   at Microsoft.Data.Entity.Storage.Internal.SqliteRelationalConnection.Open()
   at Microsoft.Data.Entity.Query.Internal.QueryingEnumerable.Enumerator.MoveNext()
   at Microsoft.Data.Entity.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers)
   at lambda_method(Closure , QueryContext )
   at Microsoft.Data.Entity.Query.Internal.QueryCompiler.<>c__DisplayClass18_1`1.<CompileQuery>b__1(QueryContext qc)
   at System.Linq.Queryable.Any[TSource](IQueryable`1 source)
   at WeebDoCMF.WDCore.Models.SeedData.<InitializeWeebDoCMFDatabaseAsync>d__0.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at WeebDoCMF.Startup.Configure(IApplicationBuilder app)
   at WeebDoCMF.Startup.ConfigureDevelopment(IApplicationBuilder app, ILoggerFactory loggerFactory)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNet.Hosting.Startup.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNet.Hosting.Startup.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()
fail: Microsoft.AspNet.Hosting.Internal.HostingEngine[7]
      Application startup exception
      System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AggregateException: One or more errors occurred. ---> System.DllNotFoundException: Unable to load DLL 'sqlite3': The specified module could not be found.
       (Exception from HRESULT: 0x8007007E)
         at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(IntPtr filename, Sqlite3Handle& ppDb, Int32 flags, IntPtr vfs)
         at Microsoft.Data.Sqlite.Interop.NativeMethods.sqlite3_open_v2(String filename, Sqlite3Handle& ppDb, Int32 flags, String vfs)
         at Microsoft.Data.Sqlite.SqliteConnection.Open()
         at Microsoft.Data.Entity.Storage.RelationalConnection.Open()
         at Microsoft.Data.Entity.Storage.Internal.SqliteRelationalConnection.Open()
         at Microsoft.Data.Entity.Query.Internal.QueryingEnumerable.Enumerator.MoveNext()
         at Microsoft.Data.Entity.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers)
         at lambda_method(Closure , QueryContext )
         at Microsoft.Data.Entity.Query.Internal.QueryCompiler.<>c__DisplayClass18_1`1.<CompileQuery>b__1(QueryContext qc)
         at System.Linq.Queryable.Any[TSource](IQueryable`1 source)
         at WeebDoCMF.WDCore.Models.SeedData.<InitializeWeebDoCMFDatabaseAsync>d__0.MoveNext()
         --- End of inner exception stack trace ---
         at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
         at System.Threading.Tasks.Task.Wait()
         at WeebDoCMF.Startup.Configure(IApplicationBuilder app)
         at WeebDoCMF.Startup.ConfigureDevelopment(IApplicationBuilder app, ILoggerFactory loggerFactory)
         at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
         at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
         at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
         at Microsoft.AspNet.Hosting.Startup.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
         at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()
         --- End of inner exception stack trace ---
         at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
         at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
         at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
         at Microsoft.AspNet.Hosting.Startup.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
         at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()

Looks like sqlite totally broken on coreclr? It works great before...
Current dnx:
Version:      1.0.0-rc2-16063
Type:         CoreClr
Architecture: x64
OS Name:      Linux
OS Version:   ubuntu 14.04
Runtime Id:   ubuntu.14.04-x64
Sorry for emotions ))

Possible duplicate of https://github.com/aspnet/Microsoft.Data.Sqlite/issues/128. Sqlite stopped working recently on coreclr due to recent changes in DNX.

@Codenator81 swapping DLLs from the dotnet5.4 to netcore50 TFM works because this version does not have the native library loading code. See https://github.com/aspnet/Microsoft.Data.Sqlite/blob/1bd890502aa86b553caa91f32825394c97e956e6/src/Microsoft.Data.Sqlite/Utilities/NativeLibraryLoader.cs#L4

Looks like everything has been addressed (or tracked elsewhere). Feel free to open a new issue if you have other issues.

Check on dnx 1.0.0-rc2-16128 coreclr x64. It fixed and Sqlite works without hacking in project.lock.json.


Recreating Arabic LanguagePack

@boffire, I see you ate closing some of your PRs. Any specific reason?

@menny hello,
It took a long time for processing.
Sorry.


Attachments disappears on iPhone's Mail app

I have a strange problem since I upgraded to Nodemailer v1.3.4 from v0.7
After some adjustments everything worked except attachments does not appear at iPhone's Mail app.
When a message is sent with Nodemailer, I can see the paperclip icon, the attachment is delivered as expected, and it is possible to download the attachment but it just disappears immediately after I tap to view the attachment and it does not show up later on.
This is issue is specific for viewing attachments on iPhone's Mail app. I've tested it on iOS 8.3
The attachments has no problem to be viewed on Gmail's web UI or Gmail's iPhone app.
Here is an example attachment delivered with Nodemailer
attachments:
   [ { contentType: 'image/jpeg',
       contentDisposition: 'attachment',
       transferEncoding: 'base64',
       generatedFileName: 'zIm6BAA.jpg',
       contentId: '6b2226d9ad96e922cffb63d191042cc3@mailparser',
       checksum: '7ee730a0c9f0001b92b9420734617c4a',
       length: 812733,
       content: <Buffer ff d8 ff db 00 43 00 03 02 02 03 02 02 03 03 03 03 04 03 03 04 05 08 05 05 04 04 05 0a 07 07 06 08 0c 0a 0c 0c 0b 0a 0b 0b 0d 0e 12 10 0d 0e 11 0e 0b 0b ...>,
       filename: 'zIm6BAA.jpg',
       cid: '6b2226d9ad96e922cffb63d191042cc3@mailparser' } ]

I narrowed down the issue to here:
https://github.com/andris9/Nodemailer/blob/f1f6f96523edc07b5dc3fd9f872a821d554c402e/src/compiler.js#L36
the problem occurs when this._createAlternative() is used. If this._createMixed() were to used, then the attachments does not disappear (on iPhone's Mail app).

Here is another finding. When attachments have cid attribute (even though when they are not intended to be used for inline/embedded attachments) then it results in using this._createAlternative() instead of this._createMixed() at compiler.jsas stated above (see: compiler.js#278). Which eventually causes attachments to disappear at iPhone's mail app.

This behavior is intentional. If an attachment has the cid value set, then it is considered as an addition to the main content, not something separate and the attachment is moved from the mixed node to the related node.
"Normal" attachment would be located in the multipart/mixed node like this:
- root
  - multipart/mixed
    - multipart/alternative
      - text/html
      - text/plain
    - attachment

Attachment with cid value is located in the related node together with the html content:
- root
  - multipart/alternative
    - multipart/related
      - text/html
      - attachment
    - text/plain

"Related" attachments are not regular downloadable attachments but are part of the actual content (eg. embedded images). Nodemailer does not know if the attachment with cid is actually linked from the content or not (the content might be a stream or URL etc. which is resolved when the client is already sending the message and by that time the structure of the message is already composed. If you do not want to have your non-related attachments in the related node, then remove the cid value.

That makes sense. Thanks!

What would be the solution to perform embedded images that would work with iOS then?

Try this package: https://github.com/crocodilejs/nodemailer-base64-to-s3


CPU Fans are not displaying properly

HWInfo is reporting the GPU and CPU fans fine but ModernGadgets is not.  I have attached a screen shot to show you what I am talking about.  I suspect I need to get the correct id's for this? I really have not clue on how to find this.  Any help would be great!

Thanks!

Did you read the setup tutorial? It gives a fairly good overview of how to configure the IDs. Click the book icon in the config tool to read it.

Also, you changed the degree symbols to Fahrenheit, but you didn't change it in HWiNFO. So you're getting Celsius temps with Fahrenheit labels.

I didnt see a link to the wiki.
https://github.com/raiguard/ModernGadgets/wiki
THanks I will give this a go.
On Mon, Dec 4, 2017 at 12:16 PM, Caleb Heuer<EMAIL_ADDRESS>wrote:

Also, you changed the degree symbols to Fahrenheit, but you didn't change
it in HWiNFO. So you're getting Celsius temps with Fahrenheit labels.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raiguard/ModernGadgets/issues/55#issuecomment-349033478,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOJMyks9UAFA5DoezpYJBRUKhZ4OWdeks5s9CkHgaJpZM4QzcRo
.

I think I found a bug I have got the CPU fan working correctly but it looks like the GPU fan is under the "motherboard" but if I set the GPU SensorID to that it breaks everything else on GPU and the GPU fan is then reported. :)

That’s why there’s an option for that in the GPU Meter subpages of the config tool. You can even see it in the screenshot. ;)

Did you get it working?

No.  I am thinking there is something different about this system that
might not be standard?  I have entered the MB id and still the fan with the
correct ID will not display.  Its not a huge deal as the TEMP does
display.  Just and oddity.
On Fri, Dec 8, 2017 at 8:28 PM, Caleb Heuer<EMAIL_ADDRESS>wrote:

Did you get it working?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raiguard/ModernGadgets/issues/55#issuecomment-350412895,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOJM1z7hbr86bf-1rXuI5ieMn7QEyY8ks5s-eIigaJpZM4QzcRo
.

Did you enable the toggle in the CPU Settings skin?

Please make certain to read all the instructions. You need to put the Entry ID for the GPU fan in, then go to the CPU Meter page and put in the motherboard Sensor ID and instance there as well, then go into CPU Settings and enable the toggle. Let me know if it works when you do all of that.

...did you get it working?

@raiguard you said:
Oh hey, I just noticed that you put in the Sensor ID for the GPU fan instead of the entry ID. That's probably what's causing your problem.
What is the entry ID then?  Sorry for taking so long to figure this out.  Did you mean like this?
If so it still is at 0 rpms.

Did you refresh the skin after you changed the setting?

yes.
On Sun, Feb 18, 2018 at 3:24 PM, Caleb Heuer<EMAIL_ADDRESS>wrote:

Did you refresh the skin after you changed the setting?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raiguard/ModernGadgets/issues/55#issuecomment-366544685,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOJM4OQZuyXHRjml1UdQf0AOm2aaN0Vks5tWIcJgaJpZM4QzcRo
.

Your IDs are all correct. The only way that it’s couldn’t be working is if you didn’t check the “use motherboard fan sensor” toggle in GPU Meter Settings.


Implement Recipes

API | Common

Why do you never update submodule?

Now with more testing!


Add automatic commiting of mkdocs.yml for docs generation

          1 Warning

:warning:
Please provide a changelog summary in the Pull Request description @KrauseFx

  Generated by :no_entry_sign: Danger


require cst v0.4.6 or higher because v0.4.5 was published to npm wihouth a lib dir

big problem, easy fix, hope this can get sneaked past the EOL ;-)

Just reinstall jscs


Can't build or go-get the pulsar-client-go module

Describe the bug
Can't import or go-get the pulsar-client-go module to my go application.
To Reproduce
Steps to reproduce the behavior:

import ("github.com/apache/pulsar/pulsar-client-go/pulsar")
build the binary CGO_ENABLED=0 GOOS=linux go build .

Expected behavior
Expected to see no issues during the build, but instead ran into:
Step 8/14 : RUN CGO_ENABLED=0 GOOS=linux go build ./core/*
 ---> Running in 03166c9fc6a2
# github.com/apache/pulsar/pulsar-client-go/pulsar
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/client.go:29:9: undefined: newClient
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/client.go:37:9: undefined: newAuthenticationToken
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/client.go:42:9: undefined: newAuthenticationTokenSupplier
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/client.go:47:9: undefined: newAuthenticationTLS
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/client.go:52:9: undefined: newAuthenticationAthenz
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/message.go:88:9: undefined: deserializeMessageId
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/message.go:93:30: undefined: earliestMessageID
/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/message.go:96:28: undefined: latestMessageID
The command '/bin/sh -c CGO_ENABLED=0 GOOS=linux go build ./core/*' returned a non-zero code: 2

Additional Context
Running go-get doesn't work either:
go get -u github.com/apache/pulsar/pulsar-client-go/pulsar
go: finding github.com/apache/pulsar/pulsar-client-go latest
go: finding golang.org/x/sys latest
# github.com/apache/pulsar/pulsar-client-go/pulsar
In file included from /home/tony/go/pkg/mod/github.com/apache/pulsar/pulsar-client-go@v0.0.0-20201013171758-edf09443e288/pulsar/c_client.go:24:
./c_go_pulsar.h:22:10: fatal error: pulsar/c/client.h: No such file or directory
   22 | #include <pulsar/c/client.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

Closed as stale.
The development of the Go client has been permanently moved to https://github.com/apache/pulsar-client-go. If it's still relevant, please open an issue there.

And Thank @flowchartsman for answering :)