Document how to get started without paying for API access

The getting started documentation suggests getting an API key in order to start using the tool. While that may be the best approach for significant levels of usage, it's off-putting for someone who wants to "try out" the tool, maybe as a first step in trying to understand what LLM tools can do. To make things worse, my experience is that the various AI companies are not particularly clear on what is available for free, and how much you can expect from "free tier" access. That's not surprising, as they are clearly looking to make a profit on the tools they have developed, but in the wider context of "AI assistants" there's a general sense of "look at what AI can do" rather than "look at whay you can get if you pay for it" - and trying things out via a tool like this is one way of trying to separate the hype from the reality in a tool-agnostic way.
While I appreciate that it's not the place of the documentation here to explain pricing and benefits of various LLM offerings, it would be extremely useful if there was a section in the documentation explaining how to get started without spending money on an API key. In addition, clearly distinguishing where features or capabilities rely on a paid API key and are unavailable, or impractical, with current free access, would make it a lot easier for someone interested in finding out more about LLM tools to get an idea of what's possible.

Some platforms give free credits, for example deepinfra gives $1.80 is one of the cheaper platforms for API inference. I think in all my personal usage over the past few months, I've used a total of $0.25 of that fund. If you copy in entire codebases at a time with llama-405b you may go through that allowance faster, but this is a reasonable starting place.

Thanks, but that's sort of my point. Finding which services provide free tiers, how much credit such tiers give, and how good the engine behind the free tier is, isn't easy. And it usually involves creating a login to a service, as well as possibly (I haven't checked on this) providing credit card details. I don't want to do any of that - I'm trying to establish whether LLMs are worth my time, without any up-front commitment[^1]. My experiments with the free web-based services (ChatGPT and the like) have been pretty disappointing, but I'm willing to consider that there may be better options.
What I'm asking for is some form of "how to get started for free" guide in the manual, that takes the user step by step through something that results in being able to try out a model that, in the view of the project maintainers, is a good starting point for an interested beginner who doesn't want to sign up for a (potentially) paid service.
[^1]: In particular, I'm very uncomfortable with the ethical basis of the training data, and I'm reluctant to give my details to organisations that appear to have such a fast-and-loose attitude towards personal data.

I guess the project can be extended to open LLMs, so that people can atleast try out the tool, without actually needing to buy an API key.

Google Gemini offers a generous free tier, which you can use with the https://github.com/simonw/llm-gemini plugin.
llm install llm-gemini

Get an API key from here: https://aistudio.google.com/app/apikey

Then you can set it like so:
llm keys set gemini
# Paste key here

And use it like this:
llm -m gemini-1.5-flash-latest 'a story about a duck and a walrus'


[FEATURE] Default to local storage

Issue to be solved
Because FCL uses session storage instead of local storage for storing the current user every time you open a new tab in your browser or your mobile browser you have to re-authenticate. This bumps some road bumps in the UX. I know this decision was originally made for security reasons, but after seeing the UX challenges I think it's time to revisit this topic and see if there is a way to make local storage the default option.
Suggest A Solution
No response
What are you currently working on that this is blocking?
No response

I totally agree, last time I checked also storage strategies were not exported. Exporting them also can be very nice. So people can just set via config easily.

by design fcl storage can be set up to use custom implementation like this:
const isServerSide = () => typeof window === "undefined"

const getLocalStorage = () => {
  try {
    const LOCAL_STORAGE = {
      can: !isServerSide(),
      get: async key => JSON.parse(localStorage.getItem(key)),
      put: async (key, value) => localStorage.setItem(key, JSON.stringify(value)),
    }
    return LOCAL_STORAGE
  } catch (error) {
    return null
  }
}

...

config.put("fcl.storage.default", getSessionStorage())

Is there a specific reason we don't expose them as alternatives?
‘config.put("fcl.storage.default", fcl.SESSION_STORAGE) ‘ etc

Yeah @bluesign I like that idea. We could just have what @nialexsan mentioned as options to set for the most common.


Do not waste your time on reporting issues in this repo - everything is closed by a bot without any human activity (build linked from readme badge is failing)

https://travis-ci.org/pages-themes/merlot is linked from badge in the readme https://github.com/pages-themes/merlot#the-merlot-theme

Well, turns out that I wasted time on reporting this issue.

I changed the title to discourage future waste of time by myself and others and I will unsubscribe from this issue to avoid future irritation.
In case that my further input here would be useful - contact me at<EMAIL_ADDRESS>


Upgrade to 0.9 breaks file-loader. Can't load svgs.

Laravel Mix Version: 0.9.2
Node Version (node -v): v6.9.2
NPM Version (npm -v): 3.10.9
OS: Windows 10

Description:
 error  in ./resources/assets/svg/zondicons/close.svg

Module build failed: TypeError: url.replace is not a function
    at Object.interpolateName (C:\app\ln\node_modules\loader-utils\index.js:276:13)
    at Object.module.exports (C:\app\ln\node_modules\file-loader\index.js:30:24)

 @ ./~/babel-loader/lib?cacheDirectory!./~/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/Datepicker/Datepicker.vue 21:0-57
 @ ./resources/assets/js/components/Datepicker/Datepicker.vue
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js

Steps To Reproduce:
import closeIcon from '../../../svg/zondicons/close.svg'

BTW, I don't know whether this i the source of the issue
To prevent file name collisions, vendor assets will now be moved to a dedicated vendor folder.

but I find these shenanigans with folder segregation questionable. You won't have naming conflicts anyway if you hash all assets so why introduce unnecessary complications?

This was from a PR a few weeks ago. I believe it was because you can end up with vendor assets that have the same name as your own assets. So this prevents file overwriting.
I'll have to check exactly why you're seeing this issue.

I'm seeing this error also since updating to 0.9.2

I receive this error too, but only on my production server. Then I updated NodeJS to v6.10.1 and npm to 4.1.2. Finally, I nuked my node_modules folder. Then it worked for me.

I already tried nuking node_modules with no results. There is some other quirk here.

Gotcha! After @manniL suggestion I figured this might something to do with differences in node_modules structure between yarn and npm. Therefore, temporarily switching to npm is another confirmed way to solve the issue.
In the end, it seems like string replace here needs to be adjusted accordingly. Ping @KristofMorva.

@adiachenko I can't really see it yet, what's the difference between npm and yarn structure? I have updated every package, and SVG files are copied well for me. I thought maybe https://github.com/webpack/loader-utils has changed, and it passes a non-string parameter (which will have no replace method), but the tests seem to be unchanged in that package.

@KristofMorva It doesn't seem like the source of the issue was that closure by itself.
I revisited it again and tried to break it down to more simple example.
Assume we've installed packages with yarn 0.21.3 on Windows 10. Whether you actually run the build on yarn or npm does not matter.
This will work:
    {
        test: /\.(woff2?|ttf|eot|svg|otf)$/,
        loader: 'file-loader',
        options: {
            name: 'fonts/[name].[ext]?[hash]',
            publicPath: Mix.options.resourceRoot
        }
    },

But this will give you TypeError: url.replace is not a function:
    {
        test: /\.(woff2?|ttf|eot|svg|otf)$/,
        loader: 'file-loader',
        options: {
            name: path => {
              return 'fonts/[name].[ext]?[hash]'
            },
            publicPath: Mix.options.resourceRoot
        }
    },

And here is the point in code where an error occurs in loader-utils.

Okay, I've solved the issue.
It seems like you need to nuke your yarn.lock file.
The reason why there were discrepancies between different dependency managers is because npm installed loader-utils 1.0.2 while yarn installed 0.2.6 from the lock file.
Once loader-utils is bumped to the latest version, the issue is gone.
Sorry, @KristofMorva for suspecting this might have something to do with your PR. 😄

@JeffreyWay Yes, indeed. Basically, it's a minor issue with yarnpkg workflow rather than Mix.

@JeffreyWay On a second though, this might have been avoided if Mix bumped file-loader version to 0.10.1 between releases. I'll create pull request for this in a moment.


Add support for $filter directive in $project

Starting from Mongodb v3.2 projections may contain $filter element for filtering arrays. It is of course a part of Aggregation Framework: https://docs.mongodb.com/v3.2/reference/operator/aggregation/filter/
Unfortunately there is no support for this feature in Fongo. Perhaps it is because Fongo is not up-to-date with Mongo 3.x features.
Here is the sample taken from the URL above - as you can see $filters can have sophisticated syntax. Especially cond block can have its own grammar. And there can  be references to existing values (in the example below they start with double $ character).

{
$filter: {
input: [ 1, "a", 2, null, 3.1, NumberLong(4), "5" ],
as: "num",
cond: { $and: [
{ $gte: [ "$$num", NumberLong("-9223372036854775807") ] },
{ $lte: [ "$$num", NumberLong("9223372036854775807") ] }
] }
}
}

All in all, it is a big taskm but it would be great to have support for $filter implemented in Fongo.

+1

What does +1 mean?

I would also like to see support for $filter in Fongo. We have aggregation queries using this new feature that are untestable with Fongo.


Release artifacts for v0.0.16

What type of PR is this?

Which issue does this PR fix: New version release
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
Testing done on this change:

Automation added to e2e:

Will this PR introduce any new dependencies?:

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 39.241%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4012

Relevant Lines:
10224

💛  - Coveralls


Use the openssl command-line interface instead of the openssl module

in the test helper task tests/tasks/fixture_psks.yml.
This is to avoid using the non ansible-core module.

[citest bad]


Compiling go code, inside host mounted folder prevent the binary file being executable

Description
limactl version 0.8.1
After picking up a shell session on the lima vm or running from inside a docker container, building go binaries inside a mount:
go build -o $MOUNTED_HOST_FOLDER ./cmd/server/main.go
results in creating the main file not executable:
-rw-r--r-- 1 lima dialout 35264925 Jan 27 15:00 main
Same done to a vm folder:
go build -o $HOME ./cmd/server/main.go
results in:
-rwxrwxr-x 1 lima lima 35264925 Jan 27 15:03 main
This prevents us from switching from Docker Desktop to lima + docker seamlessly without modification to our workflows expecting the binary to be executable after compilation.
NOTE: chmod on the file works as intended, we have a workaround but requires us some modifications.

Digging a little bit more into that running the go compiler with -x option, i believe it is loosing file permission after the cp command:
mkdir -p $WORK/b001/exe/
cd .
/usr/lib/go-1.17/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=n0j33Z7mjXck_-cJmBhq/RTaH5kmSl0Lrw7v13rk0/d6m-_ikKkEfFSAAursPz/n0j33Z7mjXck_-cJmBhq -extld=gcc /home/lima.linux/.cache/go-build/bf/bfbafae3d8611f2f93196d75bac8f11e17f21138ba5f019995ebaeb5f6af9eee-d
/usr/lib/go-1.17/pkg/tool/linux_amd64/buildid -w $WORK/b001/exe/a.out # internal
cp $WORK/b001/exe/a.out main
rm -r $WORK/b001/

I tried to cp an executable file to a mounted dir and it lost its executable bit

I can reproduce this, on my machine. It gets 644 on sshfs, and 755 in $HOME.

I've seen this also.

Go does some kind of special trick, to try to determine the umask. Apparently it goes horribly wrong, under sshfs.
        // The perm argument is meant to be adjusted according to umask,
        // but we don't know what the umask is.
        // Create a dummy file to find out.
        // This avoids build tags and works even on systems like Plan 9
        // where the file mask computation incorporates other information.
        mode := perm
        f, err := os.OpenFile(filepath.Clean(dst)+"-go-tmp-umask", os.O_WRONLY|os.O_CREATE|os.O_EXCL, perm)
        if err == nil {
                fi, err := f.Stat()
                if err == nil {
                        mode = fi.Mode() & 0777
                }
                name := f.Name()
                f.Close()
                os.Remove(name)
        }

Sadly it never logs the secret chown, but only the mv...
But it is clearly visible when using strace (as usual)

Reproducer:
package main
import (
	"fmt"
	"io/fs"
	"os"
)

func main() {
	perm := fs.FileMode(0777)
	dst := "test"

	mode := perm
	f, err := os.OpenFile(dst+"-go-tmp-umask", os.O_WRONLY|os.O_CREATE|os.O_EXCL, perm)
	if err == nil {
		fi, err := f.Stat()
		if err == nil {
			mode = fi.Mode() & 0777
		}
		name := f.Name()
		f.Close()
		os.Remove(name)
	}

	fmt.Printf("%s: %v\n", dst, mode)
}

test: -rwxrwxr-x
test: -rw-r--r--

Apparently it has been broken since day one, in the github.com/pkg/sftp server:
https://github.com/pkg/sftp/commit/058e1bee5829356e66c5632d03bc2ca6c92d70de
        f, err := os.OpenFile(toLocalPath(p.Path), osFlags, 0644)
        if err != nil {
                return statusFromError(p.ID, err)
        }

So always uses 0644, no matter what mode the packet sends.

I fixed the code, but it sorta made it worse. There is no agreement on using umask, so now the go binary is 0777.
According to docs, sftp is _supposedto apply umask andsftp-server` is supposed to *not apply any umask.
Currently, neither sshfs nor github.com/pkg/sftp applies any umask at all. There is an option, to have server override it.
Maybe it should be ported to the Go package, so that you end up with some sane default like 0666 file and 0002 umask ?


Compatibility with native Promise.race

We've run into an issue on a handful of websites where embedding zone.js after jwplayer.js broke setup of our players because of a mix of Promise types used in Promise.race. The issue only surfaced as we rolled out a release that included changes to a promise chain (addressed here).
jwplayer.js uses references to Promise stored in a module on script embed to prevent interference by third party libraries. zone expects Promise to be used globally, so if a site doesn't include zone.js before other libraries like ours, issues like this could arise.
Here's the issue boiled down to it's simplest form. First ZoneAwarePromise a is resolved, then native Promise b. Native Promise.race picks native Promise b instead of ZoneAwarePromise a. It should always pick a which is the case when the Promise type is consistent.
https://codepen.io/anon/pen/NLbPrW?editors=1010
/* in the head
<script>window.NativePromise = Promise</script>
<script<EMAIL_ADDRESS>*/
var NativePromise = window.NativePromise;

console.log('===============================');
console.log('native Promise:', NativePromise);
// console.log('native Promise.all:', NativePromise.all);
// console.log('native Promise.race:', NativePromise.race);
// console.log('native Promise.resolve:', NativePromise.resolve);
console.log('===============================');
console.log('global Promise:', Promise);
// console.log('global Promise.all:', Promise.all);
// console.log('global Promise.race:', Promise.race);
// console.log('global Promise.resolve:', Promise.resolve);
console.log('===============================');

var a = Promise.resolve('a');
var b = NativePromise.resolve('b');

console.log("Promise a:", a);
console.log("Promise b:", b);
console.log('===============================');
var c = NativePromise.race([a, b]);

c.then(function(all) {
  // The result should always be 'a'
  // In this scenario native Promise.race does not recognize that ZoneAwarePromise was resolved first
  console.warn("Final result:", all);
  console.log('===============================');
}).catch(function(error) {
  console.error("Exception:", error);
  console.log('===============================');
});

I hesitated to log this issue because in jwplayer.js we can opt to always use Promise globals, and site developers can embed zone.js first to resolve this issue. In practice these changes can be difficult our outside of our control, so I wanted to bring it up here with simple reproduction steps in case this is something that could be prevented by making ZoneAwarePromise behave as native Promises do in this scenario.

@robwalch, thank you for posting the issue, the reason the result is b because the thenCallback of NativePromise will be executed earlier than ZoneAwarePromise. Because ZoneAwarePromise use NativePromise.then as scheduler, so even promise a is resolved, it will still behind NativePromise b.
zone.js patch Promise, so the intent is letting app use global.Promise(ZoneAwarePromise) all the time, if there are some libraries still use NativePromise, just like you said, we can change the import order to let them use it.

Hi @JiaLiPassion,
Thank you for the explanation. Could native promises in Promise.race be detected to avoid the additional NativePromise.then scheduler? If not feel free to close.

This is not easy to implement such feature, so I will close this for now.


chore: update e2e tests to include multiple mandatory assets

Fix e2e test that looks for the correct number of exchange rates
Fix e2e test that looks for the correct number of medians/median deviations
Add BTC, ETH, and OSMO to the e2e mandatory asset list

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

LGTM +1 Will we have to update the e2e's mandatorylist each new asset?

As long as we have a decent sub sample of what the price-feeder has in its sample config I think we are good. The price-feeder integration test should make sure we are sending all the right prices. We got caught here since there was only one asset in the mandatory list.

@mergifyio backport release/v0.1.x


Bug: variants do not get exported, even with purging disabled

Hi there!
This plugin looks exactly like what I need for one of my projects. Sadly I cannot get it to work properly.
I use Nuxt for this project. The variants style's do not get generated.
Currently I've got the following configuration that is based on the default configuration that comes with nuxt's tailwind module
const defaultTheme = require( 'tailwindcss/defaultTheme' )
const { themeVariants } = require( 'tailwindcss-theme-variants' )

module.exports = {
    purge: {
        mode: 'layers',
        enabled: process.env.NODE_ENV === 'production',
        content: [
            'components/**/*.vue',
            'layouts/**/*.vue',
            'pages/**/*.vue',
            'plugins/**/*.js',
            'nuxt.config.js',
            // TypeScript
            'plugins/**/*.ts',
            'nuxt.config.ts'
        ]
    },
    theme: {
     // <removed-to-keep-issue-short>
    },
    variants: [
        'responsive',
        'hover',
        'focus',
        'active',
        'group-hover',
        'group-focus',

        'light',
        'light:hover',
        'light:focus',
        'light:active',
        'light:group-hover',
        'light:group-focus',

        'dark',
        'dark:hover',
        'dark:focus',
        'dark:active',
        'dark:group-hover',
        'dark:group-focus'
    ],
    plugins: [
        themeVariants({
            themes: {
                light: {
                    mediaQuery: '@media (prefers-color-scheme: light)'
                },
                dark: {
                    mediaQuery: '@media (prefers-color-scheme: dark)'
                }
            }
        })
    ]
}

Tailwinds VSCode plugin does actually show the right css that should get generated, however it simply does not when in dev mode with HMR or building for production.
The css for the variants does not get created/exported.
The classes are empty and have no styling at all when inspecting classes with devtools.
Reproduction

create a simple nuxt starter app: $ npm init nuxt-app <name> . After selecting the tailwind module you can just spam enter to apply all default configurations
Select the Tailwind module in the setup
Add my config
npm run dev
Try and use the tailwind variants in ~/pages/index.vue.

You should see this does not work. If not, its something wrong in my setup. In that case I happily help debugging it :)
If there is anything I can do to help let me know.

Oops, sorry I left this unanswered! I tried a few days ago, and indeed the styles don't work. I tried investigating the generated CSS but my unfamiliarity with Nuxt prevented me from finding such a file even after build and generate.
I also tried using Tailwind's own dark mode with media and that doesn't seem to work either! But what's weird is that that seems like it would be a common problem, though I wasn't able to find any existing issues / discussions / troubleshooting about it (after an admittedly short time searching).
While it's probably not helpful to point out, the given plugin configuration worked as expected in a Svelte project—after changing the variants configuration to only be for color utilities because the CSS was 43 MB otherwise!

No problem! Thank you for taking the time to look in to the issue!

I also tried using Tailwind's own dark mode with media and that doesn't seem to work either! But what's weird is that that seems like it would be a common problem, though I wasn't able to find any existing issues / discussions / troubleshooting about it (after an admittedly short time searching).

If I remember correctly, to have nuxt extract CSS in to separate CSS files you need to add nuxt.config.js with the following:
    // Build Configuration: https://go.nuxtjs.dev/config-build
    build: {
        extractCSS: true
    },

Nuxt's tailwind module currently still uses tailwind 1.9.4. That would explain tailwinds darkmode not working out of the box currently. I'm not familiar with how tailwind works in terms of plugins and nuxt's build process.

While it's probably not helpful to point out, the given plugin configuration worked as expected in a Svelte project—after changing the variants configuration to only be for color utilities because the CSS was 43 MB otherwise!

When SvelteKit is out of early access / beta I'm planning to migrate the entire project asap. Unrelated to this issue, it is some handy information haha.
If the extractCSS option doesn't give you more information I will open an issue on the nuxt tailwind module too. Maybe it is a compatibility kinda thing.

Got to go, so the most I can say right now is that upgrading to Tailwind 2 made the plugin work: https://tailwindcss.nuxtjs.org/setup/#tailwind-2
I still test for Tailwind 1.9 so I don't know why it didn't work there. Will try again eventually.

Nuxt tailwind's component has a merge ready for tailwind 2.0 by default. No testing needed maybe when that version comes around. Thanks for the info. I will it once i've got time

nuxt-tailwind upgraded to version 2.0 so this issue can be closed. I also found out that it is very easy to add your own variants: https://tailwindcss.com/docs/plugins#adding-variants so if someone still experiences this issue you might be better off adding your own.
Thanks for the help @JakeNavith !


Manually sync secrets from certificate authentication annotations

This change is

Coverage decreased (-0.2%) to 46.094% when pulling 1cc0a9596675df94152c7636a9a29db3d7fc476c on aledbf:ca-auth into dd7f8b4a972d9c7346da2b37419ff3529d3b38d0 on kubernetes:master.


Add rotor_assembly tests

Add the test file to check the correct work of rotor_assembly.py file.

test_rotor_assembly.py has been added to the master


[explorer] Implements Address Results Redesign

This implements a redesign of the Address Results Page as detailed in the Figma Diagrams. This led to changes to the Owned Objects and Pagination Wrapper components. There is also a minor change to Object Results to re-instate centering of the content. The tests have also been updated.
Screenshot with live API:

Screenshot of pagination in mobile view:

@Andrew47

 @Andrew47

Well spotted - see PR here for a fix: https://github.com/MystenLabs/sui/pull/3418


Change '-' pseudo input to "On" label:enhancement

Instead of the pseudo input '-' you could use the default feature to indicate when it's on "On"

Did you or anyone find a way to change this? From - to On or TV?


Manually add bluetooth device address to have battery level checked

problem
My Coros watch does not appear in my connected bluetooth devices on my phone so this app by default doesn't check the battery level. I want the app to be compatible with this device so I can get reminders when my watch battery is low. Especially because I use it as an alarm, I need to rely on it.
solution
The app can get a bluetooth hardware address added to it. Then, Worker checks the battery level of the device.
Short-term solution
To get this feature out quicker, we can add to the UI the ability to manually enter a bluetooth hardware address and we check that. It's not the most pretty solution, but it would solve the problem.
Long-term solution
Add a bluetooth device scan/discovery feature where you can scan for devices in discovery mode and add them to the app. This allows you to put a device in pairing mode, discover it, add it to the app. Then you can do what you have to do to pair the device.
This idea came about because of coros pace 2 watches. Through prototyping (commit), I was able to get the hardware address and the battery level.

Prototyping results
Looking through the coros Android app, every setting I could think of in the coros watch, and manuals online, I could not find anywhere that talked about how to find the bluetooth hardware address of the coros watch.
So, what I did was remove the coros watch from the coros Android app. This puts the watch into bluetooth discovery mode (my guess). In my Android bluetooth settings app, I tried to scan and discovery the watch. It was flaky, but I was able to discover the device and see "COROS PACE 2" in the list of devices I could pair with. I clicked on it to try and pair, waited up to 30 seconds, nothing happened.
So, instead, I ran the bluetooth discovery code in the app. I was able to find the watch and have batterybird discover the hardware address of the device! I finally found it!
After writing down the hardware address of the watch, I then went into the coros Android app, connected the watch to the app using the QR code they want you to use, and then it seemed like the watch went out of discovery mode. But, I am assuming the watch is now paired with my device since the coros app has to communicate with the watch somehow.
I then went into batterybird, hard-coded the watch hardware address, and ran gatt code against it directly. I was able to retrieve the battery level of the watch!
This makes me feel confident that we can add a feature like this to manually add bluetooth devices to the app that are not paired in the Android OS bluetooth settings app.
However, we may need to add some features to the app that walks people through this step-by-step. Thinking that we might need, for example, instructions telling you to put the device in pairing mode, batterybird performs discovery, you click on a device to add it, then you leave batterybird and connect the device using whatever proprietary method required.

 Manually add bluetooth device address to have battery level checked #3

Shipped! https://github.com/levibostian/BatteryBird/pull/53


Instructions for non-Docker use?

Wanting to use this on my web server, and uploaded the files. I have composer and tried composer install and it did some stuff, but the artisan command says permission denied. Any help with just installing this on an existing nginx web server VPS?

@circa-0 Hello!
I have added instructions for deployment to VDS as part of PR https://github.com/gomzyakov/laravel-blog/pull/230
You can read about the deployment process in file https://github.com/gomzyakov/laravel-blog/blob/main/docs/deploy.md


JAVA Error.

I get the following message everytime i run the app. it works fine but it's annoying

You have an old version. Download the latest update and install it. It should fix the problem.


Minimap scroll bar stops highlighting all the selected word occurrences

Issue Type: Bug
The minimap scrollbar sometimes fails to highlight all occurrences of the selected word.
Restarting VSCode fixes the problem.
This happens seemingly randomly. In the screenshot there are some highlights still displayed in the scrollbar, but sometimes there is just no highlight displayed at all (highlights in the main viewport are always fine however).
It seems to happen in C++ as well as python at least.
I suspect this has something to do with the linter (python flake8 in my case) which probably overloads something in it, no idea yet.
VS Code version: Code 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:13:08.304Z)
OS version: Linux x64 5.7.6-arch1-1 (Arch Linux)

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz (8 x 2366)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
1, 3, 3

Memory (System)
15.60GB (4.23GB free)

Process Argv
--no-sandbox

Screen Reader
no

VM
0%

DESKTOP_SESSION
undefined

XDG_CURRENT_DESKTOP
undefined

XDG_SESSION_DESKTOP
undefined

XDG_SESSION_TYPE
tty

Extensions (15)

Extension
Author (truncated)
Version

Bookmarks
ale
11.3.1

sourcepawn-vscode
Dre
0.1.4

vscode-diff
fab
1.4.0

autoconf
mae
0.1.0

dotenv
mik
1.0.1

python
ms-
2020.6.91350

cpptools
ms-
0.28.3

java
red
0.63.0

vscodeintellicode
Vis
1.2.9

vscode-java-debug
vsc
0.26.0

vscode-java-dependency
vsc
0.10.2

vscode-java-pack
vsc
0.9.1

vscode-java-test
vsc
0.23.0

vscode-maven
vsc
0.22.0

gitblame
wad
4.0.1

@glubsy This is as designed. There are two features at play here, and here is what is going on:
1. The built-in selection highlighter
This feature is built-in to the editor and is programming language agnostic. You can test this easiest in a .txt file. Basically if some text is selected, all instances of that text are highlighted inside the editor and on the editor overview ruler. This can be turned off via editor.selectionHighlight.
2. The DocumentHighlightProvider
This is a provider of document highlights that is registered from an extension. If such a provider is registered (which I think is the case for you, since you have installed the Python extension), then this provider is invoked when resting the cursor on a word or when a word is selected and it returns a list of *semantic occurrences and then the text of those occurrences is highlighted inside the editor and on the editor overview ruler.
When having a DocumentHighlightProvider, the built-in selection highlighter tries to take a back-seat and leave the semantic highlight provider own the highlighting. So the semantic occurrences will render in the outline view. But all instances of the text are still highlighted inside the editor, since they can be rendered with a different colour and they are useful for guidance if Ctrl+D/Cmd+D is used.
So long story short, I think while the language server is starting up, there is no DocumentHighlightProvider, so the selection highlighter executes at the beginning and highlights all occurrences. Once the extension is running, it begins to own the highlights and I believe the extension is doing things correctly, i.e. it only highlights an argument inside the function it sits in.

@alexdima Thanks for the insightful reply.

Once the extension is running, it begins to own the highlights and I believe the extension is doing things correctly, i.e. it only highlights an argument inside the function it sits in

Indeed that looks absolutely right! This is exactly what is happening: a few seconds after loading the file, something is starting in the background, then the behavior changes to what you described.
It's troubling that it didn't happen before and only started happening after I installed the flake8 linter for python. Some setting must have been changed in the process somewhere.
Anyway, I fixed my problem by changing the Language Server from Microsoft to Jedi. "python.languageServer": "Jedi"
Thanks for your time!


Updated note on versioning impact on SharePoint storage usage

Added text in existing Note describing versioning impact to SharePoint storage usage.
Please use this template to ensure easier processing of your pull request
Category

[x] Content fix
[ ] New article

Related issues

fixes #665
partially #issuenumber
mentioned in #issuenumber

Contents of the Pull Request

Added text in existing Note describing versioning impact to SharePoint storage usage.  This detail has been confirmed by Microsoft support teams, but I have not seen it clarified to detail the true impact of each version being counted at full size of the file.

Thanks, @duffymike!


Add Polish locale

Based primarly on: https://pl.wikipedia.org/wiki/Biblia_warszawska, but not entirely, namely, Torah is referenced via each books' name instead of its number (which Biblia Warszawska does). In addition, even for full names I shortened the book names by removing Księga (book) or św. (holy) and also stripped Solomon's name from Proverbs and Ecclesiastes.
I chose this translation as it is prevailing Polish evangelical translation.
It's worth noting, Polish translations often have different names and siglum for some of the books.

Thanks for your work. A bummer that BibleGateway doesn't inlcude more Polish translations :/

I ended up writing a script to convert SWORD modules to the same Obsidian format you've proposed :)
https://github.com/nieomylnieja/sword-to-obsidian
Thanks for the inspiration!

Also, to clarify, it's not only about BibleGateway not including more Polish translations, but the fact in only has NT for the ones it serves :/ So even If I don't like the existing options, I can't really get the full Bible anyway


Integration Test - Release - 2019/05/30 02:44:21

Auto create for integration test. IssueCommandFlow

@PRMergerTest3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Adding a Leaflet polygon/polyline

i try to add leaflet polygon but map pan stopped only zooming is working on chrome

Thanks for reporting this issue. It sounds like the issue you're experiencing is caused by attempting to click inside a leaflet polygon to drag the camera. Could you please confirm if the issue you're experiencing also occurs in our example on the docs page?
https://docs.eegeo.com/eegeo.js/latest/docs/examples/adding-a-polygon/
If this is the case, I will pass the issue on to our engineering team. In the meantime, the eeGeo polygon should function correctly with the camera. An example can be found here: https://docs.eegeo.com/eegeo.js/latest/docs/examples/adding-an-eegeo-polygon/

This issue has now been resolved.


Script task : "continue on error" is broken

It doesn't continue on :(

Fixed: it now continues on if the 'Proceed to next task when scripting error occurs' option is checked


Cleanup bats test suite

Convert e2e bats tests to bats_test_suite
Use bats_test_suite from the bazel_bats rule
Use bazel test instead of bazel run for e2e bats tests in CI

Codecov Report

Merging #323 (5e85380) into main (d8fa144) will decrease coverage by 0.04%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #323      +/-   ##
==========================================
- Coverage   83.17%   83.14%   -0.04%
==========================================
  Files         129      129
  Lines       15080    15080
==========================================
- Hits        12543    12538       -5
- Misses       2537     2542       +5

Impacted Files
Coverage Δ

src/many-ledger/src/storage/idstore.rs
91.46% <0.00%> (-3.66%)
:arrow_down:

src/many-kvstore/src/module/account.rs
87.87% <0.00%> (+0.43%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


When creating new instance of JS vm the toolbar goes below rather than above

could you post a screenshot please?

UI has been significantly changed, please tell us if the issue is still here.
closing now, please reopen if necessary


Suggestions for blocklist

I've watched the instruction GIF & tried it myself but I don't see a way to block a requester, just individual hits. It would really help me to have the search feature avoid all hits from a particular requester. Also, if you can do that I would like a way to import my own blocklist into it. Right now it exists in Hit Scraper but I also have it saved in a spreadsheet, so I can format it in different ways for compatibility. My requester blocklist is very large (I have 4 years' worth of blocks :) ) and this would be a lot more efficient than trying to catch their hits as they show up on Search, which is really prone to error.
Also - I just spent time blocking a whole lot of hits about recording a video of yourself at a particular time. It would be nice to have a wildcard for those kinds of hits so I don't have to take the time to block them individually.
And finally - I don't see a way to clear the blocklist, either individually by hit or as a whole. I clear hit titles (not requesters) from my own Hit Scraper list every week to keep it from getting too big (I use date separators); I'm afraid that might slow down the search plus, I don't necessarily want to block a hit permanently. Your list seems to keep the requester name and the hit title together, which would at least avoid the problem of missing a hit with the same title from a different requester.
About blocking just a requester - the MTurk Suite developer told me he's using requester IDs rather than names. That's a great idea, because it will catch requester name changes, which the Scaper blocklist doesn't do (and it's probably why my list there is so large). If you can find a way to implement requester blocking by ID rather than name I think it would be a much more efficient way to do it.
Thank you.

Thanks for these suggestions @kimadagem. To block a requester, click on any search result to expand it (just like on the Worker Mturk website), and you should see a "Block Requester" button in red. Click that in order to block a requester.
All blocks are done by group ID (for HITs) and requester ID (for requesters). You don't have to worry about a large blocklist slowing search in Mturk Engine.
Blocking keywords and deleting multiple entries from blocklists at a time is on my radar for a future update, but importing a blocklist from other programs isn't. Many versions of HitScraper did not use groupID or requesterIds, so it would be impossible to import a blocklist entry from that. Even if newer versions or other scripts did use IDs I can't spend the development time supporting other peoples' programs because then bugs or even minor changes in their implementation of a block list could mean buggy behavior in Mturk Engine.

Deleting multiple entries from blocklists landed in v1.7.0. I'll continue to improve it further as I brainstorm ideas to make browsing very large blocklists feasible.
Feel free to open another issue if you run into a bug with this feature.


Poland in location module

Currently, there is no way to create location data suitable for Poland.
My PR contains enhancement for Location module (#95) that resolves this issue.

Done


Build Error: After upgrading version 10 to 14

Command
build, serve
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
10.2.4
Description
I have project which has angular version of 10.2.4, it was working fine on thjat version. After that i wanted to upgrade angular version to 14.
so i updated all of my angular package version and increased node.js version too.
Node version - 14.20.0
When i try to run application after that facing below issue
Minimal Reproduction

download below simple app
web.zip

npm i

npm run start or ng serve

you will get error
Exception or Error
./src/main.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.

./src/polyfills.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.

Error: Failed to initialize Angular compilation - The target entry-point "@ngbmodule/material-carousel" has missing dependencies:
 - @angular/compiler/src/core

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

× Failed to compile.

Your Environment
{
  "name": "id8-ui",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng update",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "build-maven-local": "ng build",
    "build-maven-prod": "node ./node_modules/@angular/cli/bin/ng build --prod"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~14.0.3",
    "@angular/cdk": "~14.0.3",
    "@angular/common": "~14.0.3",
    "@angular/compiler": "~14.0.3",
    "@angular/core": "~14.0.3",
    "@angular/forms": "~14.0.3",
    "@angular/material": "~14.0.3",
    "@angular/platform-browser": "~14.0.3",
    "@angular/platform-browser-dynamic": "~14.0.3",
    "@angular/router": "~14.0.3",
    "@ngbmodule/material-carousel": "^0.7.1",
    "angular-oauth2-oidc": "^10.0.3",
    "chart.js": "^2.9.3",
    "crypto-js": "^4.0.0",
    "file-saver": "^2.0.5",
    "hammerjs": "^2.0.8",
    "ng2-charts": "^2.3.0",
    "ngx-file-drag-drop": "^5.1.1",
    "rxjs": "~6.6.3",
    "tslib": "^2.0.0",
    "xlsx": "^0.17.1",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.0.3",
    "@angular/cli": "^14.2.12",
    "@angular/compiler-cli": "~14.0.3",
    "@angular/language-service": "~14.0.3",
    "@types/crypto-js": "^4.0.1",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "^6.4.2",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~6.1.0",
    "typescript": "^4.7.4"
  }
}

Anything else relevant?
my old package.json
{
  "name": "id8-ui",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "build-maven-local": "ng build",
    "build-maven-prod": "node ./node_modules/@angular/cli/bin/ng build --prod"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~10.2.4",
    "@angular/cdk": "~10.2.4",
    "@angular/common": "~10.2.4",
    "@angular/compiler": "~10.2.4",
    "@angular/core": "~10.2.4",
    "@angular/forms": "~10.2.4",
    "@angular/material": "~10.2.4",
    "@angular/platform-browser": "~10.2.4",
    "@angular/platform-browser-dynamic": "~10.2.4",
    "@angular/router": "~10.2.4",
    "@ngbmodule/material-carousel": "^0.7.1",
    "angular-oauth2-oidc": "^10.0.3",
    "chart.js": "^2.9.3",
    "crypto-js": "^4.0.0",
    "file-saver": "^2.0.5",
    "hammerjs": "^2.0.8",
    "ng2-charts": "^2.3.0",
    "ngx-file-drag-drop": "^5.1.1",
    "rxjs": "~6.6.3",
    "tslib": "^2.0.0",
    "xlsx": "^0.17.1",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1002.2",
    "@angular/cli": "~10.2.2",
    "@angular/compiler-cli": "~10.2.4",
    "@angular/language-service": "~10.2.4",
    "@types/crypto-js": "^4.0.1",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.7"
  }
}

tsconfig.json file
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "enableIvy": false,
    "fullTemplateTypeCheck": false,
    "strictInjectionParameters": false,
    "disableTypeScriptVersionCheck": true
  }
}

The problem appears by @ngbmodule/material-carousel which is not compatible with Angular version 14.


Update certutil reason option description

The old version mentions [-1]
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc732443(v=ws.11)
Also the value [1] is used for different status

CRL_REASON_KEY_COMPROMISE** - Key compromise

@MikeyBronowski : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Added argument  use_sim_time

Added argument use_sim_time

So there's two ways of utilizing this launch file. If we are launching it from the command line, I don't know what the benefit would be for setting use_sim_time.
If we're including it from another launch file, rather than add the launch argument explicitly, I'm suggesting that instead you could use SetParameter before including the launch file and that would set the parameter in all the included nodes without the added complexity in this launch file.

Now I get the joke, :)
Feel free to close it if this adds some extra complexity I was not aware of SetParameter.


sider nzBreakpoint 设置没有效果

Version
1.5.0
Environment
ng 6
Reproduction link
https://ng-zorro.github.io/components/layout/zh
Steps to reproduce
无重新步骤
What is expected?
不出现....
What is actually happening?
折叠始终出现...
Other?


-i flag opens new sessions

Describe the bug
Just found smug and really liking saving so may keystrokes setting up windows and panes! Thanks so much!
It's my understanding that if I use the -i flag, the new windows and panes should be opened in the current tmux session. However, smug seems to always open new sessions. Behavior appears to be the same with or without the flag.
Smug config
session: stream

root: ~/workspace/music/

windows:
  - name: player
    layout: main-horizontal
    commands:
      - cd player
      - ./start.sh
    panes:
      - type: horizontal
        commands:
          - cd stream-list
          - ./start.sh

Expected behavior
I would expect that when I pass the -i flag, any new windows from my smug config get created in the current session directly after the current window (as if I had created the new window manually)
Output of cat ~/.config/smug/smug.log
tmux has-session -t stream:
exit status 1
tmux new -Pd -s stream -n smug_def -c /home/codegoalie/workspace/music/
tmux neww -Pd -t stream: -c /home/codegoalie/workspace/music -F #{window_id} -n player
tmux send-keys -t @2 cd disney-stream-player Enter
tmux send-keys -t @2 ./start.sh Enter
tmux split-window -Pd -h -t @2 -c /home/codegoalie/workspace/music -F #{pane_id}
tmux send-keys -t @2.%3 cd stream-lister Enter
tmux send-keys -t @2.%3 ./start.sh Enter
tmux select-layout -t @2 main-horizontal

Smug version
v0.2.6
OS you're using
Linux 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Hi. Thanks for the feedback. Fixed in v0.2.7

Works perfectly! Thanks!!! 🎉


Subscription rules/filters?

Hi
Azure Service Bus has this thing called Rules on a subscription, so two subscribers can subscribe to the same topic, but the first one only gets messages where Message.SomeProperty == "apple" and the other one only gets the "bananas".
This filtering isn't done by the subscribers, but takes place within ASB itself, so it's actually routing.
Can this be done with Masstransit?
Thanks

It cannot presently be configured using MassTransit, but it's one of the things I've look at making possible. The SubscriptionEndpoint in MassTransit will evolve at some point to allow the subscription to be configured in such a way.

This could be extremely helpful to those of us who like to penny pinch on Azure costs.  Currently need each developer to have their own service bus instance so they don't accidentally pick up each others messages.
only $10 a month per developer, but it does add up.

We have a similar scenario where this would help SO... TL/DR +1 .
We are designing an app where separating customer data is super important, but we can't deploy a service bus per customer site install as there is an Azure limit of 100 service bus namespaces per Azure subscription.
We have thought about going CloudAMPQ and using VHosts, but its a preference to stick with Azure SB for a few reasons including data sensitivity (PHI) and that everything else we are doing in the cloud is Azure PaaS.
I hence created (aka hacked in :) ) a POC in the MT source creating a correlation filter on the topic's subscription to correlate a message to a customer (filtering on the TO field), then modified the message send to populate the TO field on a message with a matching key.  Worked a treat.
But it would be lovely if this was out-of-the-box :)

@mjpearse care to share code? I don't need a prod ready solution just something to help devs a bit.
maybe we can get something started in thsi area.

Any update on this ? I need also to specify a rule on a topic subscription but MassTransit still don't have functionality for this.

Nobody has worked on it yet.

Hi @phatboyg,
this has not been released yet, correct ?

Yes, it's in the latest release.

Could give an example of proper usage ?
I tried e.g :
cfg.SubscriptionEndpoint(host, "test", "test", x =>                 {                     x.Rule = new RuleDescription { Name = "test", Filter = new SqlFilter("test= 'test'"))};                 });
or
               cfg.SubscriptionEndpoint(host, "test", "test", x =>                 {                     x.Filter = new SqlFilter("test= 'test'")                 });

I use the original MassTransit.AzureServiceBus package v5.1.4

@JakubSurfer What is the correct syntax to add a rule these days, with the new package?

I think you should try syntax from my older post :
cfg.SubscriptionEndpoint(host, "test", "test", x => { x.Rule = new RuleDescription { Name = "test", Filter = new SqlFilter("test= 'test'"))}; });
or
cfg.SubscriptionEndpoint(host, "test", "test", x => { x.Filter = new SqlFilter("test= 'test'") });

@JakubSurfer Thanks!

@JakubSurfer, I'm a bit confused about how to publish targeting different subscribers. like subscriber A accepts message where "test='a'" and B accepts message where "test = 'b'". Now, how to publish these messages?
Could you please help me with an example please. thanks!


Unable to import image files

Description
Unable to import image in TSX files.
Steps to reproduce

gatsby new my-website https://github.com/goblindegook/gatsby-starter-typescript
cd my-website
Open IDE and copy the image (PNG / JPG) file into src/assets folder
Try importing the file into TSX file (another-page.tsx or index.tsx)

import TestImage from '../assets/test.png';
Expected
Image should be imported as a module
Actual
Unable to import the image, refer the attached screenshot for error message.

Gatsby Info
System:
    OS: macOS 10.15.2
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.10.0 - ~/.nvm/versions/node/v12.10.0/bin/node
    npm: 6.14.5 - ~/.nvm/versions/node/v12.10.0/bin/npm
  Languages:
    Python: 2.7.16 - /usr/bin/python
  Browsers:
    Chrome: 83.0.4103.97
    Firefox: 73.0
    Safari: 13.0.4
  npmPackages:
    gatsby: ^2.0.7 => 2.15.25
    gatsby-page-utils: ^0.1.0 => 0.1.4
    gatsby-plugin-catch-links: ^2.0.2 => 2.1.10
    gatsby-plugin-emotion: ^4.0.4 => 4.1.7
    gatsby-plugin-feed: ^2.0.5 => 2.3.13
    gatsby-plugin-lunr: ^1.2.0 => 1.5.2
    gatsby-plugin-manifest: ^2.0.2 => 2.2.18
    gatsby-plugin-mdx: ^1.0.17 => 1.0.44
    gatsby-plugin-netlify: ^2.0.0 => 2.1.15
    gatsby-plugin-nprogress: ^2.0.5 => 2.1.7
    gatsby-plugin-offline: ^3.0.8 => 3.0.9
    gatsby-plugin-react-helmet: ^3.0.0 => 3.1.8
    gatsby-plugin-sharp: ^2.0.5 => 2.2.25
    gatsby-plugin-sitemap: ^2.0.1 => 2.2.14
    gatsby-plugin-typegen: ^0.2.0 => 0.2.0
    gatsby-plugin-typescript: ^2.0.0 => 2.1.9
    gatsby-plugin-typography: ^2.2.0 => 2.3.8
    gatsby-remark-copy-linked-files: ^2.0.9 => 2.1.21
    gatsby-remark-images: ^3.0.6 => 3.1.23
    gatsby-remark-prismjs: ^3.2.6 => 3.3.14
    gatsby-remark-smartypants: ^2.0.8 => 2.1.9
    gatsby-source-filesystem: ^2.0.1 => 2.1.26
    gatsby-transformer-remark: ^2.6.10 => 2.6.24
    gatsby-transformer-sharp: ^2.1.1 => 2.2.17
  npmGlobalPackages:
    gatsby-cli: 2.12.45

What happens if you add this to globals.d.ts?
declare module "*.png" {
  const content: any;
  export default content;
}

I haven't tried this. Let me give it a shot.

Perfect, it works! Thanks @goblindegook  👍


[BUG] frr+junos unnumbered bgp

Describe the bug
Can't get
Model: qfx5200-48y
Junos: 20.1R1.11

to peer with
FRRouting 7.3.1 on Linux compute-41b1734e-6df2-5761-8573-4bf5e9fcd75b 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

compute 1
# default to using syslog. /etc/rsyslog.d/45-frr.conf places the log
# in /var/log/frr/frr.log
log file /var/log/frr/bgp.log debugging

!
service integrated-vtysh-config
!
int lo
 ip address <IP_ADDRESS>/32
!
interface enp113s0f1
 ipv6 nd ra-interval 5
 no ipv6 nd suppress-ra
!
router bgp 65301
 bgp router-id <IP_ADDRESS>
 bgp bestpath as-path multipath-relax
 bgp bestpath compare-routerid
 neighbor fabric peer-group
 neighbor fabric remote-as external
 neighbor fabric description Internal Fabric Network
 neighbor fabric capability extended-nexthop
 neighbor enp113s0f1 interface peer-group fabric
 !
 address-family ipv4 unicast
  network <IP_ADDRESS>/32
 exit-address-family
 !
 address-family ipv6 unicast
  neighbor fabric activate
  neighbor fabric prefix-list host-routes-out out
 exit-address-family
!
ip prefix-list host-routes-out seq 100 permit <IP_ADDRESS>/32
!
line vty
!
end

compute 2
# default to using syslog. /etc/rsyslog.d/45-frr.conf places the log
# in /var/log/frr/frr.log
log file /var/log/frr/bgp.log debugging

!
service integrated-vtysh-config
!
int lo
 ip address <IP_ADDRESS>/32
!
interface enp113s0f1
 ipv6 nd ra-interval 5
 no ipv6 nd suppress-ra
!
router bgp 65302
 bgp router-id <IP_ADDRESS>
 bgp bestpath as-path multipath-relax
 bgp bestpath compare-routerid
 neighbor fabric peer-group
 neighbor fabric remote-as external
 neighbor fabric description Internal Fabric Network
 neighbor fabric capability extended-nexthop
 neighbor enp113s0f1 interface peer-group fabric
 !
 address-family ipv4 unicast
  network <IP_ADDRESS>/32
 exit-address-family
 !
 address-family ipv6 unicast
  neighbor fabric activate
  neighbor fabric prefix-list host-routes-out out
 exit-address-family
!
ip prefix-list host-routes-out seq 100 permit <IP_ADDRESS>/32
!
line vty
!
end

qfx
interfaces {
    et-0/0/24 {
        unit 0 {
            family inet {
                unnumbered-address lo0.0;
            }
            family inet6;
        }
    }
    et-0/0/25 {
        unit 0 {
            family inet {
                unnumbered-address lo0.0;
            }
            family inet6;
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address <IP_ADDRESS>/32;
            }
            family inet6;
        }
    }
}
routing-options {
    static {
        route <IP_ADDRESS>/0 next-hop <IP_ADDRESS>;
    }
    router-id <IP_ADDRESS>;
    autonomous-system 65303;
}
protocols {
    router-advertisement {
        interface et-0/0/24.0;
        interface et-0/0/25.0;
    }
    bgp {
        group frr {
            type external;
            traceoptions {
                file bgp-frr.log;
                flag all;
            }
            advertise-peer-as;
            family inet {
                unicast {
                    extended-nexthop;
                }
            }
            family inet6 {
                unicast;
            }
            local-as 65303;
            multipath {
                multiple-as;
            }
        }
        traceoptions {
            file bgp.log;
            flag all;
        }
    }
}

qfx bgp log
Nov  3 21:02:34.678657 BGP SEND fe80::b233:a6ff:fe70:4913+179 -> fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678661 BGP SEND message type 1 (Open) length 29
Nov  3 21:02:34.678665 BGP SEND version 4 as 65303 holdtime 90 id <IP_ADDRESS> parmlen 0
Nov  3 21:02:34.678670
Nov  3 21:02:34.678670 BGP SEND fe80::b233:a6ff:fe70:4913+179 -> fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678673 BGP SEND message type 3 (Notification) length 21
Nov  3 21:02:34.678678 BGP SEND Notification code 6 (Cease) subcode 5 (Connection Rejected)
Nov  3 21:02:34.678687 bgp_listen_accept:5610: NOTIFICATION sent to fe80::225:90ff:fe5f:603d+53674 (proto): code 6 (Cease) subcode 5 (Connection Rejected), Reason: Connection attempt from unconfigured neighbor: fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678693 Notify sent to fe80::225:90ff:fe5f:603d+53674 (proto), code 6, subcode 5
Nov  3 21:02:34.678741 task_delete: deleting task BGP_Proto.fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678747 task_close: close socket 88 task BGP_Proto.fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678750 task_reset_socket: task BGP_Proto.fe80::225:90ff:fe5f:603d+53674 socket 88
Nov  3 21:02:34.678804 task_job_delete_task: deleting all jobs for task BGP_Proto.fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:34.678811 task_job_deleted_task: no jobs found for task BGP_Proto.fe80::225:90ff:fe5f:603d+53674
Nov  3 21:02:46.886312 bgp_reuse_scan: Starting scan
Nov  3 21:03:06.745650 bgp_reuse_scan: Starting scan
Nov  3 21:03:26.598241 bgp_reuse_scan: Starting scan
Nov  3 21:03:46.577803 bgp_reuse_scan: Starting scan
Nov  3 21:04:06.578322 bgp_reuse_scan: Starting scan
Nov  3 21:04:26.416272 bgp_reuse_scan: Starting scan
Nov  3 21:04:34.182177 task_process_events_internal: accept ready for BGP_Listen.::+179
Nov  3 21:04:34.182201 task_accept: task BGP_Listen.::+179 socket 86 addr ::+179
Nov  3 21:04:34.182235 bgp_listen_accept: Connection attempt from unconfigured neighbor: fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182243 task_alloc: allocated task block for BGP_Proto priority 50
Nov  3 21:04:34.182253 bgp_listen_accept: Connection with incoming ifl 0xc6df500 instance 0xbdf2000(master)
Nov  3 21:04:34.182280 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88 option TOS(16) value 192
Nov  3 21:04:34.182290 bgp_listen_accept: accepting connection from fe80::225:90ff:fe5f:5f21+41324 (local fe80::b233:a6ff:fe70:4912+179)
Nov  3 21:04:34.182298 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88 option NonBlocking(8) value 1
Nov  3 21:04:34.182305 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88 option RecvBuffer(0) value 16384
Nov  3 21:04:34.182311 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88 option SendBuffer(1) value 16384
Nov  3 21:04:34.182318 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88 option Linger(2) value { 0, 0 }
Nov  3 21:04:34.182334
Nov  3 21:04:34.182334 BGP SEND fe80::b233:a6ff:fe70:4912+179 -> fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182338 BGP SEND message type 1 (Open) length 29
Nov  3 21:04:34.182342 BGP SEND version 4 as 65303 holdtime 90 id <IP_ADDRESS> parmlen 0
Nov  3 21:04:34.182347
Nov  3 21:04:34.182347 BGP SEND fe80::b233:a6ff:fe70:4912+179 -> fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182350 BGP SEND message type 3 (Notification) length 21
Nov  3 21:04:34.182355 BGP SEND Notification code 6 (Cease) subcode 5 (Connection Rejected)
Nov  3 21:04:34.182366 bgp_listen_accept:5610: NOTIFICATION sent to fe80::225:90ff:fe5f:5f21+41324 (proto): code 6 (Cease) subcode 5 (Connection Rejected), Reason: Connection attempt from unconfigured neighbor: fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182370 Notify sent to fe80::225:90ff:fe5f:5f21+41324 (proto), code 6, subcode 5
Nov  3 21:04:34.182412 task_delete: deleting task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182417 task_close: close socket 88 task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182421 task_reset_socket: task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324 socket 88
Nov  3 21:04:34.182484 task_job_delete_task: deleting all jobs for task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.182519 task_job_deleted_task: no jobs found for task BGP_Proto.fe80::225:90ff:fe5f:5f21+41324
Nov  3 21:04:34.684921 task_process_events_internal: accept ready for BGP_Listen.::+179
Nov  3 21:04:34.684954 task_accept: task BGP_Listen.::+179 socket 86 addr ::+179
Nov  3 21:04:34.684989 bgp_listen_accept: Connection attempt from unconfigured neighbor: fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.684998 task_alloc: allocated task block for BGP_Proto priority 50
Nov  3 21:04:34.685002 bgp_listen_accept: Connection with incoming ifl 0xc6df680 instance 0xbdf2000(master)
Nov  3 21:04:34.685018 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88 option TOS(16) value 192
Nov  3 21:04:34.685024 bgp_listen_accept: accepting connection from fe80::225:90ff:fe5f:603d+53734 (local fe80::b233:a6ff:fe70:4913+179)
Nov  3 21:04:34.685032 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88 option NonBlocking(8) value 1
Nov  3 21:04:34.685041 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88 option RecvBuffer(0) value 16384
Nov  3 21:04:34.685046 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88 option SendBuffer(1) value 16384
Nov  3 21:04:34.685052 task_set_option_internal: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88 option Linger(2) value { 0, 0 }
Nov  3 21:04:34.685066
Nov  3 21:04:34.685066 BGP SEND fe80::b233:a6ff:fe70:4913+179 -> fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685070 BGP SEND message type 1 (Open) length 29
Nov  3 21:04:34.685077 BGP SEND version 4 as 65303 holdtime 90 id <IP_ADDRESS> parmlen 0
Nov  3 21:04:34.685083
Nov  3 21:04:34.685083 BGP SEND fe80::b233:a6ff:fe70:4913+179 -> fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685086 BGP SEND message type 3 (Notification) length 21
Nov  3 21:04:34.685091 BGP SEND Notification code 6 (Cease) subcode 5 (Connection Rejected)
Nov  3 21:04:34.685100 bgp_listen_accept:5610: NOTIFICATION sent to fe80::225:90ff:fe5f:603d+53734 (proto): code 6 (Cease) subcode 5 (Connection Rejected), Reason: Connection attempt from unconfigured neighbor: fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685104 Notify sent to fe80::225:90ff:fe5f:603d+53734 (proto), code 6, subcode 5
Nov  3 21:04:34.685146 task_delete: deleting task BGP_Proto.fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685154 task_close: close socket 88 task BGP_Proto.fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685158 task_reset_socket: task BGP_Proto.fe80::225:90ff:fe5f:603d+53734 socket 88
Nov  3 21:04:34.685222 task_job_delete_task: deleting all jobs for task BGP_Proto.fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:34.685230 task_job_deleted_task: no jobs found for task BGP_Proto.fe80::225:90ff:fe5f:603d+53734
Nov  3 21:04:46.268312 bgp_reuse_scan: Starting scan

@djivey if you've got some pro services hours see if they can take a look at this.  I noticed that the qfx5k only started supporting unnumbered ebgp in 20.1, but I think I'm good.  Not sure what I am missing here.
If you want to reproduce this, take the latest from the frr branch and highstate computes.  Change /etc/systemd/network/private.network to
[Match]
Name={{ your private interface }}
[Network]
DHCP=no

You should be able to ping around to the link local ipv6 addresses once you get everything going.  The challenge is getting ipv4 routes to be transported over ipv6 link-local iaw https://tools.ietf.org/html/rfc5549 which I just can't seem to figure out.  Let me know if you need more info...

Juniper feature overview and version:
https://apps.juniper.net/feature-explorer/feature-info.html?fKey=7931&fn=Redistribution of IPv4 routes over IPv6 routes into BGP
https://www.juniper.net/documentation/en_US/junos/topics/topic-map/multiprotocol-bgp.html#id-understanding-redistribution-of-ipv4-routes-with-ipv6-next-hop-into-bgp

It looks like junos isn't allowing autodiscovery of remote as/neighbors.  Adding allow all in the bgp group configuration makes those particular messages go away, but the bgp session still isn't started.  I can make a separate bgp group for every single interface individually configured with ip6 neighbors in the traditional fashion and it works properly, but that kind of defeats the purpose.  Looking for hyper-minimalist configuration where switch doesn't know anything about its neighbors and it can inject new routes into the fabric on the fly as devices are add/removed.

I'm starting to gather that juniper might not support autodiscovery of remote AS - which is not great, but manageable.  Every switch and server would have its own AS, which wouldn't be too bad, as long as neighbors don't have to be manually configured with IPs for every link.

Also seeing this behavior: https://github.com/FRRouting/frr/issues/6433

Juniper support for this is currently planned for release in JUNOS 21.1 late first quarter 2021.


feat: add support for succeed state

What type of PR is this?

/kind enhancement

What does this PR do / why we need it:
This PR adds support to succeed state
Which issue(s) this PR fixes:
Fixes #32
How to test changes / Special notes to the reviewer:

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 6.89%. Comparing base (17d7955) to head (2099130).

Files
Patch %
Lines

internal/controller/statemachine_controller.go
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff            @@
##            main     #35      +/-   ##
========================================
- Coverage   6.94%   6.89%   -0.05%
========================================
  Files          6       6
  Lines        317     319       +2
========================================
  Hits          22      22
- Misses       294     296       +2
  Partials       1       1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


tpcds createtable error

tests\optimizers\tpcds\sql\create_ Table.sql All statements cannot be executed

tests\optimizers\tpcds\sql\create_ Table.sql All statements cannot be executed

hi, could you describe the steps led to the error?

@hustnn any update on this issue?

I checked this script is only for internal testing purpose, it is used by changing the engine type to memory, we don't have the official tpcds testing guide at this moment, need to enhance it at document level.

@zhbdesign @hustnn I just check the DDL. The table contains nullable sorting key, so we need to add settings allow_nullable_key=1 in the create SQL. Note that this is a storage setting, not query setting.


Corrects features depending on the LA workspace

The features previously mentioned do not depend on the Log Analytics workspace having the Security/SecurityCenterFree solutions. The ones introduced in the proposed change do depend on the Log Analytics workspace.

@ElazarK

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


add settings with routing

An alternative approach to #213
I setup custom routes in our Vite config. see manual route configuration
Note that we can use the routes folder in. tandom. I added the routes/test.tsx but did not add to Vite.config.ts
In app/features/settings/routes there's a layout that renders the rest of the routes as children inside of the sidebar

did this in #216


early stopping bugs: 1. training data is not ignored; 2. first_metric_only is actually checking the first metric of the first validation data

Environment info
Operating System: Linux
CPU/GPU model: CPU
C++/Python/R version: Python
LightGBM version or commit hash: 2.2.4
There might be bugs here:
https://github.com/microsoft/LightGBM/blob/15566421bcc96d46bac353dee17b981a12827604/python-package/lightgbm/callback.py#L212-L234
env.evaluation_result_list contains the evaluations for all the metrics and all validation data(including the training data if added). So the behavior of early stopping is not the way the document says:

But the training data is ignored anyway. To check only the first metric, set the first_metric_only parameter to True in params.

test code only has one validation data, so the bug did not get caught:
https://github.com/microsoft/LightGBM/blob/15566421bcc96d46bac353dee17b981a12827604/tests/python_package_test/test_engine.py#L1547-L1586
Here is the code to demonstrate the issue. Only one line was added to early_stopping callback to print env.evaluation_result_list for each iteration.
import warnings
from operator import gt, lt
import numpy as np
import lightgbm as lgb
from lightgbm.callback import EarlyStopException
from lightgbm.callback import _format_eval_result
from lightgbm.compat import range_

def early_stopping(stopping_rounds, first_metric_only=False, verbose=True):
    best_score = []
    best_score_avg = []
    best_iter = []
    best_iter_avg = []
    best_score_list = []
    best_score_avg_list = []
    cmp_op = []
    enabled = [True]

    def _init(env):
        enabled[0] = not any((boost_alias in env.params
                              and env.params[boost_alias] == 'dart') for boost_alias in ('boosting',
                                                                                'boosting_type',
                                                                                'boost'))
        if not enabled[0]:
            warnings.warn('Early stopping is not available in dart mode')
            return
        if not env.evaluation_result_list:
            raise ValueError('For early stopping, '
                             'at least one dataset and eval metric is required for evaluation')
        if verbose:
            msg = "Training until validation scores don't improve for {} rounds."
            print(msg.format(stopping_rounds))
        for eval_ret in env.evaluation_result_list:
            best_iter.append(0)
            best_score_list.append(None)
            if eval_ret[3]:
                best_score.append(float('-inf'))
                # best_score_avg = float('-inf')
                cmp_op.append(gt)
            else:
                best_score.append(float('inf'))
                # best_score_avg = float('inf')
                cmp_op.append(lt)
        best_score_avg.append(None)
        best_iter_avg.append(None)
        best_score_avg_list.append(None)

    def _callback(env):
        if not cmp_op:
            _init(env)
        if not enabled[0]:
            return
        # added line to print env.evaluation_result_list
        print(env.evaluation_result_list)
        for i in range_(len(env.evaluation_result_list)):
            score = env.evaluation_result_list[i][2]
            if best_score_list[i] is None or cmp_op[i](score, best_score[i]):
                best_score[i] = score
                best_iter[i] = env.iteration
                best_score_list[i] = env.evaluation_result_list
            elif env.iteration - best_iter[i] >= stopping_rounds:
                if verbose:
                    print('Early stopping, best iteration is:\n[%d]\t%s' % (
                        best_iter[i] + 1, '\t'.join([_format_eval_result(x) for x in best_score_list[i]])))
                raise EarlyStopException(best_iter[i], best_score_list[i])
            if env.iteration == env.end_iteration - 1:
                if verbose:
                    print('Did not meet early stopping. Best iteration is:\n[%d]\t%s' % (
                        best_iter[i] + 1, '\t'.join([_format_eval_result(x) for x in best_score_list[i]])))
                raise EarlyStopException(best_iter[i], best_score_list[i])
            if first_metric_only:  # the only first metric is used for early stopping
                break

    _callback.order = 30
    return _callback

data = np.random.random((500, 10))
y = [1] * 250 + [0] * 250
lgb_train = lgb.Dataset(data, y, free_raw_data=True)

data = np.random.random((500, 10))
y = [1] * 250 + [0] * 250
lgb_test = lgb.Dataset(data, y, free_raw_data=True)

params = {
    'objective': 'binary',
    'verbose': 1,
    'metric': ['binary_logloss', 'auc']
}

gbm = lgb.train(params=params,
                train_set=lgb_train,
                valid_sets=[lgb_train, lgb_test],
                num_boost_round=6,
                callbacks=[early_stopping(1, first_metric_only=False, verbose=True)]
                )

And here is the printed output:
[1]	training's auc: 0.741264	training's binary_logloss: 0.675381	valid_1's auc: 0.475968	valid_1's binary_logloss: 0.695726
Training until validation scores don't improve for 1 rounds.
[('training', u'auc', '0.741264', True), ('training', u'binary_logloss', '0.6753807446588581', False), ('valid_1', u'auc', '0.475968', True), ('valid_1', u'binary_logloss', '0.6957255240695474', False)]
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[2]	training's auc: 0.804496	training's binary_logloss: 0.659374	valid_1's auc: 0.471824	valid_1's binary_logloss: 0.698373
[('training', u'auc', '0.804496', True), ('training', u'binary_logloss', '0.6593740400597452', False), ('valid_1', u'auc', '0.471824', True), ('valid_1', u'binary_logloss', '0.6983732401328614', False)]
Early stopping, best iteration is:
[1]	training's auc: 0.741264	training's binary_logloss: 0.675381	valid_1's auc: 0.475968	valid_1's binary_logloss: 0.695726

yeah, it is work in progress. refer to https://github.com/microsoft/LightGBM/pull/2209

We have already gotten the issue about that: #2371. Please follow up the discussion there.
It has been fixed in #2209.


gnused: 4.5 -> 4.7

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gnused/versions.
meta.description for gnused is: '"GNU sed, a batch stream editor"'.

Checks done (click to expand)

built on NixOS
/nix/store/d1zryd5rhvn10k7my3rbhb1jr7zfp6iz-gnused-4.7/bin/sed passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 4.7 with grep in /nix/store/d1zryd5rhvn10k7my3rbhb1jr7zfp6iz-gnused-4.7
directory tree listing: https://gist.github.com/5bca7f710082515cffa37f68e4a1a390
du listing: https://gist.github.com/35a381bd579e955e04f47733d770646b

Rebuild report (if merged into master) (click to expand)

83842 total rebuild path(s)
27193 package rebuild(s)
27035 x86_64-linux rebuild(s)
21175 i686-linux rebuild(s)
15144 x86_64-darwin rebuild(s)
20488 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
AMB-plugins
AgdaSheaves
AgdaStdlib
CoinMP
DisnixWebService
EBTKS
EmptyEpsilon
FIL-plugins
Fabric
LASzip
Literate
MMA
NSPlist
OVMF
OVMF-CSM
PlistCpp
QuadProgpp
R
SDL
SDL2
SDL2_gfx
SDL2_image
SDL2_mixer
SDL2_net
SDL2_ttf
SDL_gfx
SDL_image
SDL_mixer
SDL_net
SDL_sixel
SDL_sound
SDL_stretch
SDL_ttf
SkypeExport
TotalParserCombinators
Xaw3d
_1password
_2048-in-terminal
_20kly
_2bwm
_389-ds-base
_90secondportraits
_915resolution
_9pfs
a2jmidid
a2ps
a52dec
aacgain
aacskeys
aalib

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/d1zryd5rhvn10k7my3rbhb1jr7zfp6iz-gnused-4.7 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A gnused https://github.com/r-ryantm/nixpkgs/archive/a5a89cd86f4a24e14813b0466942d78461420637.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/d1zryd5rhvn10k7my3rbhb1jr7zfp6iz-gnused-4.7
ls -la /nix/store/d1zryd5rhvn10k7my3rbhb1jr7zfp6iz-gnused-4.7/bin

Duplicate of https://github.com/NixOS/nixpkgs/pull/52576


[add] check Duplicate

Hello.
This patch also check to duplicate.
Could you check this Pull Request?

If you don't need this pull request, feel free to close it. 🙇

Should I need squash?

Should I need squash?
@kazukazuinaina Please squash if possible.

@h-michael
Ok, I sqhashed!

@h-michael
Thanks for review


Symbol Rotation/Translation Backwards

This issue was imported from CodePlex
BryanRoscoe wrote 2014-08-08 at 22:11
You should rotate then translate but currently the code translates then rotates. This rotates the object around the origin from where it was translated to.
BryanRoscoe wrote 2014-08-08 at 22:14
In Symbol.cs you need to switch the rotate and translate like I have here.
 _offset.Y); //You need to rotate first adjust.Rotate((float)_angle); adjust.Translate(dx, -dy); g.Transform = adjust;

        OnDraw(g, scaleWidth);

        g.Transform = old;        }```

Dear Bryan, feel free to create pull request with your changes. After that we'll review your changes and merge them into repo. Thanks.

No response much time. Closing.


License

Hi, is your license the same as Ruby 1.8 (GPLv2+ or Ruby) or Ruby 1.9 (BSD or Ruby)?
Thanks for the clarification,
Bohuslav.

It was originally the same as Ruby 1.8. I didn't realize that Ruby 1.9 had changed.
I'll have to think about whether I want to follow 1.9 or just pick my own license. I'll make it clearer in the next release.
Dave
On 2012-02-03, at 7:23 AM, Bohuslav Kabrda wrote:

Hi, is your license the same as Ruby 1.8 (GPLv2+ or Ruby) or Ruby 1.9 (BSD or Ruby)?
Thanks for the clarification,
Bohuslav.

Reply to this email directly or view it on GitHub:
https://github.com/hallidave/ruby-snmp/issues/11


Module does not support configuring Kubernetes multi-master

This might be stretching a bit your motivations on your module, but so far this is the easiest module to read (and likely easiest to maintain/improve) from my 2 weeks research for setting up your own Kubernetes cluster.
I went through kops, kube-aws, typhoon, juju, etc. All of them are too biased on how your environment needs to be to setup Kubernetes. Then don't have to be like that. Just as one example, there's no way to setup Kubernetes on a pre-existing AWS subnet.
On this module, things are way different. It does what's supposed to do: setup Kubernetes.
Based on that, it'd be amazing to see multi-master support on this module. That requires more setup, such as independently building an etcd cluster (with ASG), potentially being based of a shared EBS volume.
I'll try to describe more (or potentially expand on having a PR). Besides being in a rush to delivery the new infrastructure in 2-3 weeks, a single master would be ok for a couple months for me, but the company I work for would require a multi-master fairly soon.

This module is using kubeadm. I like it because of its flexibility and simplicity. But it has some downsides - in particular it doesn't currently support HA masters (see the Limitations).
I will link this issue to kubernetes/kubeadm#261 so that we can track the progress.

hey fyi kubeadm now supports multi master. I was going to fork this and figure it out unless someone else already has.

@bit-herder I'm now using this pretty much only for development and testing. So to be honest with you, I do not really need it and I will probably not have time to implement the multi-master support anytime soon. So if you find some time to look into it and implement it, it would be great if you can open PR to have it merged here or just let me know about it and I can link to your fork. That would be great.

ok great. yeah we ended up doing this, ill clean up the code and PR it for you.

@bit-herder  I'd be interested in seeing your work on getting this to work multi-master if this isn't behind closed doors?


Create guidance on KMS keys and how to use them with code examples for image builder

User Story
Create guidance and code examples for different ways to use kms keys with image builder (a team kms key, business unit key, general key etc) that will allow other teams to setup a key for their own images.
Value
As EBS encryption is set to enabled by default images are use the default key in the image builder account. This will allow teams to not be dependant on one key that is shared across all account, giving them option to use their own if they choose to.
Questions / Assumptions
This has been tested in Issue #1254. To make sure that user use the correct permission a template would a good approach to ensure this.

Definition of done

[ ] Template added to the a correct repository
[ ] another team member has reviewed

Reference
How to write good user stories

Initial reference put in to how it was set up and links to the associated pull requests so the code can be seen.
Need to add some examples of how it can be used with shared KMS keys such as ebs-hmpps to show how these can be used.

Changes completed.


Add @jclay as maintainer

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

it is raising the following error:
[ 12%] Building CXX object CMakeFiles/mapd_thrift.dir/gen-cpp/extension_functions_types.cpp.o
In file included from /home/conda/feedstock_root/build_artifacts/omniscidb_1595954439738/work/QueryEngine/RuntimeFunctions.cpp:21:
/home/conda/feedstock_root/build_artifacts/omniscidb_1595954439738/work/QueryEngine/RuntimeFunctions.h:20:10: fatal error: 'cassert' file not found
#include <cassert>
         ^~~~~~~~~
1 error generated.
make[2]: *** [QueryEngine/CMakeFiles/QueryEngineFunctionsTargets.dir/build.make:86: QueryEngine/RuntimeFunctions.bc] Error 1
make[1]: *** [CMakeFiles/Makefile2:1735: QueryEngine/CMakeFiles/QueryEngineFunctionsTargets.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 13%] Linking CXX static library libmapd_thrift.a
[ 13%] Built target mapd_thrift
make: *** [Makefile:171: all] Error 2

as the change is not related to this error. not sure what would be the reasons for that.


CC is cc, not gcc

at least on all the machines I have access to, even on ubuntu linux, you get a cc binary... cc is also common on MacOSX and FreeBSD for the C compiler... (where there might be no gcc installed)...

(not sure how alpine does it, please check before merge)


Clean up license names + add more licenses and disambiguations

(This is built on your latest commit but I'm not sure if I should open this PR here or on the upstream repo)
This PR introduces better handling of license name variants via the clean_license_name function. It takes a license name and:

removes the "custom:" prefix
turns it into lowercase
removes whitespace, commas, quotes, dashes and underscores

This means that, for example, "cc-by-sa 3.0" and "custom:CCBYSA3.0" are treated as the same license. The --list-licenses option prints the most popular variant.
I've also spent some time adding more licenses and packages into the "unambiguous" db.

AFL-3.0 - Academic Free License, recognized by FSF as free but not GPL compatible
Beerware - very permissive "joke" license
BSL - approved by OSI, same as "Boost" from what I understand
EDL - used by Eclipse's jaxb-ri, it's basically just BSD-3
ImageMagick - not recognized by OSI or FSF but Debian allows it
Unicode-DFS - recognized by OSI and FSF in various forms
UCD - used by xorg-font-util, not recognized by OSI or FSF but Debian allows it
WTF - same as WTFPL
unambiguous_db now contains a bunch of xorg/x11 packages (all of which use some variant MIT/X11), some Mesa packages, some non-free packages, and some others like youtube-dl, zsh and zathura.

Thank you for the pull request! Sorry for the late response; for some reason, I did not get a notification email from GitHub about this; maybe this is because the PR was opened on a fork.
In any case, this looks good to me, and I'm happy that you took the initiative to do this work, opened https://github.com/orospakr/vrms-arch/pull/24, and created the new AUR package. Thank you again; I hope that our changes get upstreamed.


Update spdlog to newer version

Currently Kunai uses an old version of spdlog, it would be very useful installing and testing a newer version, and once the code is stable update the spdlog version used in the CMake.

Considering the fact that retro-compatibility is had,
What would be the best way to test the current version bump?


Updated cray-service version to 10.0.2 for k8s 1.22

Summary and Scope
For the k8s 1.22 upgrade, this PR makes the following changes

rebuilds to pick up base-charts:  cray-service 10.0.2, and cray-postgresql 1.0.1
It documents which version is for k8s 1.22 or later
Configures the deprecated k8s api checker to fail when there are deprecated APIs

Issues and Related PRs

Resolves CASMHMS-5881

Testing
Tested on:

No additional testing beyond the automated tests

Were the install/upgrade based validation checks/tests run?(goss tests/install-validation doc)
Were continuous integration tests run? Y/N   If not, Why? N
Was an Upgrade tested?                 Y/N   If not, Why? N
Was a Downgrade tested?                Y/N   If not, Why? N
Risks and Mitigations
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[x] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable

These should not be needed. With the versioning targetting 10.0 and 1.0, when rebuilt they will pick up the latest version of the base chart and postgres chart.
I saw this behavior happen with my ETCD changes. I was targeting 1.0 ETCD chart and the ETCD chart included went from 1.0.9 to 1.0.10.


Too many positional arguments on reflectable-2.2.1

Hi,
I got this error message  :
[SEVERE] Failed to snapshot build script .dart_tool/build/entrypoint/build.dart.
This is likely caused by a misconfigured builder definition.
[SEVERE] ../../flutter/.pub-cache/hosted/pub.dartlang.org/reflectable-2.2.1/lib/src/builder_implementation.dart:5207:46: Error: Too many positional arguments: 0 allowed, but 1 found.Try removing the extra positional arguments.  InterfaceType get type => InterfaceTypeImpl(this);                                             ^../../flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-0.39.4/lib/src/dart/element/type.dart:705:3: Context: Found this candidate, but the arguments don't match.  InterfaceTypeImpl({  ^^^^^^^^^^^^^^^^^../../flutter/.pub-cache/hosted/pub.dartlang.org/reflectable-2.2.1/lib/src/builder_implementation.dart:5214:24: Error: Too many positional arguments: 0 allowed, but 1 found.Try removing the extra positional arguments.      InterfaceTypeImpl(this);                       ^../../flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-0.39.4/lib/src/dart/element/type.dart:705:3: Context: Found this candidate, but the arguments don't match.
InterfaceTypeImpl({  ^^^^^^^^^^^^^^^^^
pub finished with exit code 78

This seems to be also encounter by the static analysis :
Fix lib/src/builder_implementation.dart. (-46.50 points)
Regards

Yes, reflectable needs to model classes in the semantic style (where the superclass of a given class class A extends B with M {} is the mixin application B with M), because that's what operations like ClassMirror.superclass must return. But the analyzer takes a more syntactic perspective and considers the superclass to be the class (or parameterized type, in case it's generic) denoted by the syntax in the extends clause.
So we could create a completely separate set of classes wrapping the analyzer classes modeling such things as classes, or we could create this single "bridging" class that models a mixin application. Both choices are inconvenient to maintain, because we need to depend on the analyzer API beyond what was expected.
In this case it breaks because the constructor of InterfaceTypeImpl was changed (in dart-lang/sdk@9e7c401d4fe72898f2c5c626c19d6b6858f2bbe3), and MixinApplication needs to create an InterfaceTypeImpl in a couple of situations.
Hopefully we can find a way to provide the newly added parameters, and then it should work again. I'll take a look at this next week.

Reflectable 2.1.1+1 has been published; it requires the analyzer to have version 0.39.0-0.39.3 and hence avoids the breakage reported here. A solution that works with 0.39.4 is upcoming.


http://stackoverflow.com/questions/30478022/issues-with-oauth-2-0-library-for-google-apps-scripts-for-meetup

I'm having the same problem as this guy here:
http://stackoverflow.com/questions/30478022/issues-with-oauth-2-0-library-for-google-apps-scripts-for-meetup#comment49051729_30485742
My redirect URI
https://script.google.com/macros/d/****/usercallback
// ---- Oauth2 Google Script code

function getMeetupService() {
  return OAuth2.createService('meetup')

      // Set the endpoint URLs, which are the same for all Google services.
      .setAuthorizationBaseUrl('https://secure.meetup.com/oauth2/authorize')
      .setTokenUrl('https://secure.meetup.com/oauth2/access')

      // Set the client ID and secret, from the Google Developers Console.
      .setClientId(CLIENT_ID_MEETUP)
      .setClientSecret(CLIENT_KY_MEETUP)

      // Set the name of the callback function in the script referenced
      // above that should be invoked to complete the OAuth flow.
      .setCallbackFunction('authCallback')

      // Set the property store where authorized tokens should be persisted.
      .setPropertyStore(PropertiesService.getUserProperties())
      .setTokenFormat(OAuth2.TOKEN_FORMAT.JSON);

}

function authCallback(request) {
  var meetupService = getMeetupService();
  var isAuthorized = meetupService.handleCallback(request);
  if (isAuthorized) {
    return HtmlService.createHtmlOutput('Success! You can close this tab.');
  } else {
    return HtmlService.createHtmlOutput('Denied. You can close this tab');
  }
}

function clearService(){
  OAuth2.createService('meetup')
  .setPropertyStore(PropertiesService.getUserProperties())
  .reset();
}

_eventId = null;
function startService(eventId) {
  var meetupService = getMeetupService();
  if (!meetupService.hasAccess()) {
    var authorizationUrl = meetupService.getAuthorizationUrl();
    return authorizationUrl;
  } else {
    return null;
  }
}

Answer:
The state token is invalid or has expired. Please try again.
The returned property "code" to usercallback use signs "+" where it should be "_"

I'm trying to use an example to get a dashboard. It works fine. https://github.com/oshliaer/apps-script-oauth2/blob/meetup/samples/Meetup.gs Does your code have a fundamental difference?

The meetup sample in this repo seems to work fine, closing this issue for now.


Googlebilling compatibility with Android 14

Please ensure you have given all the following requested information in your report.
Issue details, reproduction steps/code
We need to upgrade Google Play Billing Library to 5.2.1 or PBL 6.0.1 or higher to work on Android 14.
Upgrade instructions here: https://developer.android.com/google/play/billing/migrate-gpblv6
Version of gdx-pay and/or relevant dependencies
1.3.5 and older
Please select the affected platforms and payment service implementation

[ ] Amazon
[X] googlebilling
[ ] apple robovm
[ ] Huawei

Resolved


navbar and hero-body improvements

Signed-off-by: Priyanshu Singh<EMAIL_ADDRESS>
As part of initial changes I could think, I have made improvement to the navbar and hero section of the website.
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Fixes #

not huge changes, i have made changes to the hero section background and navbar.

I love it!

Thanks!


Remove RNG traits

Duplicate of #270 adapted to the current status.
The documentation about what happened to the traits will go into the migration guide. See: #284.
Closes #270
Closes #128

r? @ryankurte
(rust-highfive has picked a reviewer for you, use r? to override)

Ok let's get this merged then.
bors r=ryankurte


Review syntax for creating an ArrayList of a specific size

Currently, this can be done by using e.g.
var a set to new ArrayList<of Int>(10)

Not important enough to justify the effort for now


chore: remove MoveStorage and use StorageAdapter instead

Info:
A minimal change, @asmie can check after he comes back from vacation.
So, I'm merging this one without approval.


Fix parity1

For some time unit tests have been failing concerning the reconstruction of data in the parity1 vdev. They also take >60 seconds to fail, some running even longer for not much data. This seems to be due to some changes which have happened at some point between c555d808a74471f1046b8b3ad79b252c5f91e826 and 93467e4.
Needs investigation which part actually breaks, so far it seems to be failing proper reconstruction as noticed at betree/src/vdev/parity1.rs:241.

Additionally to the tests with expected failures the writes_without_failure also fails. When reading the written data backin the checksum does not match with the internally stored one, so we'll have to check write procedures.

mirror tests still take quite some time but at least all tests in the stack pass now.


Update metrics-core to 4.1.25

Updates io.dropwizard.metrics:metrics-core from 4.1.18 to 4.1.25.
GitHub Release Notes - Version Diff
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!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.dropwizard.metrics", artifactId = "metrics-core" } ]

labels: test-library-update, semver-patch

Superseded by #156.


starter: Bump stack version to put src and image in index

Checklist:

[x] Read the Code of Conduct and Contributing Guidelines.

[x] Followed the commit message guidelines.

[x] Stack adheres to Appsody stack structure.

Modifying an existing stack:

[x] Updated the stack version in stack.yaml

We made some changes to the behaviour of appsody stack create and appsody stack package in the last release. Now, when you package your stack the fully qualified image is put in the index.yaml along with the source url of the stack. The latter will enable people to copy non public stacks when they run appsody stack create. This PR just bumps the version to put these values in.

LGTM.