Fallback attributes for slots

What problem does this feature solve?
The fallback attributes work for child components that's fine.
The problem I intuitively wanted them to work for slots:
// FormRow.vue
<template>
    <slot class="form-row-col"></slot>
</template>

// I hoped all children will be assigned the class form-row-col:
<template>
    <smart-form :data="user">
        <form-row>
            <form-input name="name"></form-input>
            <form-input name="email"></form-input>
        </form-row>
    </smart-form>
</template>

Moreover the problem is exaggerated by multiple slot children...
I would like to have some simple solution for this problem.
Any workaround by the way?
I definitely dont want to use scoped slots here and fallback the class manually.
What does the proposed API look like?
Make support for fallback attributes for slots.

Hope to see support in Vue core
Meanwhile, you can use the Slot or Primitive component from radix-vue
https://www.radix-vue.com/utilities/primitive.html
https://www.radix-vue.com/utilities/slot


Use Kakoune's history expansion to implement incremental buffer synchronization

For semantic tokens to work on large files on every keystroke, it might help to send updates incrementally. I think we can use Kakoune's %val{history} and %val{history_id} for quick synchronization of buffers between Kakoune and kak-lsp.
I've wanted to do it for a long time, but it seems hard.
I'm opening this issue in hope that someone else is also interested or has comments/feedback about this.
It might actually be the case that this wouldn't improve performance in any noticeable way, in which case it's probably not be worth the complexity.

The naive implementation of semantic-tokens with NormalIdle hooks indeed sends potentially sends a request on every key stroke, even if we didn't modify the buffer.
However, we already have a mechanism in place to only send something whenever the buffer actually changed - this is how we send textDocument/didChange. It won't hurt to add a conditional shell block there to also update semantic tokens at the same time.
In case that's not enough, we might need to look further.
%val{history} sounds very nice, I didn't know it existed. So the idea is to only send edits/diffs to kak-lsp; then kak-lsp can compute the buffer contents. Hard to tell what the bottlenecks are, I'll try to find out eventually.

However, we already have a mechanism in place to only send something whenever the buffer actually changed - this is how we send textDocument/didChange. It won't hurt to add a conditional shell block there to also update semantic tokens at the same time.

Right, I have actually tested this out, and there is still a problem on a ~2000 line C file with semantic highlighting with clangd for every keystroke typed in insert mode. This is the delay I'm looking to improve, and it still involves the buffer changing.
The problem might not be here, though. It could be from Kakoune processing the response to the semantic tokens request, in which case I can think of two ways to help:

Maybe there is an issue with the performance of sending any command to Kakoune every keystroke, and https://github.com/kak-lsp/kak-lsp/issues/553 could help.
Maybe the bottleneck is really how big the semantic tokens update command is, and it could be improved with requesting only part of it. Now that I think about it, incrementally updating semantic tokens probably doesn't actually require doing incremental buffer updates.

So the idea is to only send edits/diffs to kak-lsp; then kak-lsp can compute the buffer contents
Depending on the server implementation, things could stop after the first part. The LSP spec includes facilities for requesting tokens only on specific file ranges or diffs/deltas.


TypeBox support with working types

It would be nice if we could use TypeBox functionalities with Elysia t in a type safe manner. The issue is was already mentioned in #66: Property '[Kind]' is missing in type 'TObject<{}>' but required in type 'TSchema'.ts(2345)
Elysia types do work with TypeBox, but the types need to be casted to avoid typescript errors. I wonder if this could be fixed someway, to have proper typing.
Reproduction + my current (kind of boring and annoying) workaround:
import { t, UnwrapSchema } from 'elysia';
import { Value } from '@sinclair/typebox/value';

const test = t.String({ default: 'test' });

const testValue = Value.Create(test);

// Argument of type 'TString' is not assignable to parameter of type 'TSchema'. Property '[Kind]' is missing in type 'TString' but required in type 'TSchema'. ts(2345)

// but this is only a type error, the function still works.

const testValueFixed: UnwrapSchema<typeof test> = Value.Create(test as any);

// type error workaround

This works:
const a = getSchemaValidator(
  t.Object({
  	username: t.String()
  }),
       // This is a reference model to resolve, aka. Elysia.model
       // Use to resolve named schema
  {}
)

This does not work:
const a = TypeCompiler.Compile(
  t.Object({
  	username: t.String()
  })
)

And the feature request is, is there any way to fix the type error when using the native TypeBox functions, by adding the Property '[Kind]', which is required in TSchema? to avoid the error mentioned before.

Not sure if this helps, but you can extract the Static type from a schema via <schema>.static:
const testSchema = t.String({ default: "test" });
// TestSchema is of type string
type TestSchema = typeof testSchema.static;

Typebox didn't hit v1 yet and have many breaking changes in each release. The fix is to synchronize typebox version with elysia's. Actually i don't put @synclair/typebox to my package.json at all, I can do it because bun (and pnpm) hoists dependencies in node_modules
schema.ts

controller.ts

Elysia installed with a specific version of Typebox. If you install TypeBox separately a version is going to mismatch.
To fix this, we can add a override fields in package.json to synchronize both version of TypeBox.
{
    "override": {
        "@sinclair/typebox": "0.32.4"
    }
}

Feels free to reopen the issue if this doesn't help.


How can I  add regex=? (regular expression) into the struct tagname and customer the validate function.

Example:
type Test struct{
Name string validate:"regexp=??"
}

This is workaround:
I couldnt make comma's to work:
type (
	Pagination struct {
		Page int    `query:"page" validate:"gt=0,lte=100000"`
		Size int    `query:"size" validate:"gt=0,lte=1000"`
		Sort string `query:"sort" validate:"max=30,^[a-zA-Z]$"`
	}
)

err := customValidator.RegisterValidation("regexp", util.RegexTag)

func RegexTag(fl validator.FieldLevel) bool {
	field := fl.Field().String()
	if field == "" {
		return true
	}
	regexString := fl.Param()
	regex := regexp.MustCompile(regexString)
	match := regex.MatchString(field)
	return match
}

Hi @deankarn
Mabye this issue could be implemented here aswell:
https://github.com/go-validator/validator/issues/57

Hi @kfirfer
Thanks for the interest in adding a regex tag. I still however maintain that adding one would:

will make the code less readable
overcomplicate the internals of the library

Adding a tag with a pre-compiled regex only takes a minute and then is re-usable on many structs if desired.

One scenario when this generic regexp= tag is desired when you want to use it with API generators like OpenAPI.
The OpenAPI specification is based on the JSON Scheme that defines the pattern field that is based on the ECMA 262 regular expression dialect.
The pattern property in the OpenAPI specification is used for validating schema objects.
It is handy, because you can use this pattern property described in your OpenAPI YAML to tell generator to put the pattern (regular expression) inside desired struct tag field of generated struct models to automatically validate them across your API.
Because of that, I have switched to the go-validator/validator project that support the regexp= tag field.


realm database can't be shared between Main app and message filter extension.

Questions: How can I get access to realm database in  Message Filter Extension. Please let me know.
Expected Results
Message Filter Extension should work with realm database shared by App.
Actual Results
Getting below error :
Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=2 "Unable to open a realm at path '/private/var/mobile/Containers/Shared/AppGroup/0FF7F4ED-9645-4065-8C44-2495A32371EA/db.realm.management': make_dir() failed: Operation not permitted." UserInfo={Error Code=2, NSFilePath=/private/var/mobile/Containers/Shared/AppGroup/0FF7F4ED-9645-4065-8C44-2495A32371EA/db.realm.management, Underlying=make_dir() failed: Operation not permitted, NSLocalizedDescription=Unable to open a realm at path '/private/var/mobile/Containers/Shared/AppGroup/0FF7F4ED-9645-4065-8C44-2495A32371EA/db.realm.management': make_dir() failed: Operation not permitted.}: file /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-9<IP_ADDRESS>/src/swift/stdlib/public/core/ErrorType.swift, line 181
Code Sample
Code of pod File
def shared_pods
    pod 'RealmSwift'
end
target 'SMS Filter' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!
    shared_pods
end
target 'MessageFilterExtension' do
    # Pods for MessageFilterExtension
    use_frameworks!
    shared_pods
end

Code of App Delegate :
Database.shared().setupRealm()
Code of Database file
import Foundation
import RealmSwift

class Database{

    class func shared() -> Database
    {
        var database: Database? = nil
        /*!
         *sharedModel of LaunchModel class.
         */
        if database == nil
        {
            database = Database()
        }
        return database!
    }

    func setupRealm() {
        Realm.Configuration.defaultConfiguration = getRealmConfiguration()
    }

    func getRealmConfiguration() -> Realm.Configuration {

        let directory: NSURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.Dhanashree.shareRealm")! as NSURL

        let realmPath = directory.appendingPathComponent("db.realm")

        var configuration = Realm.Configuration.defaultConfiguration
//        configuration.deleteRealmIfMigrationNeeded = true
        configuration.fileURL = realmPath

        print("Realm setup realm Path: \(configuration.fileURL!.path)")

        return configuration
    }
}

Code of MessageFilterExtension File :
func handle(_ queryRequest: ILMessageFilterQueryRequest, context: ILMessageFilterExtensionContext, completion: @escaping (ILMessageFilterQueryResponse) -> Void) {
       Database.shared().setupRealm()
}

Version of Realm and Tooling
Realm framework version: 3.0.2
Realm Object Server version: ?
Xcode version: 9.1
iOS/OSX version: 11.1

I am facing the same issue, so i did a quick investigation. And to my understanding there are two possible causes for this issue.

Filter extensions has a 6mb memory limit, which i see kernel is killing the extension as soon as a realm with 1object has been initiated.

@tgoyne  I'm not sure there is a minimum amount of memory required for realm that is more than 6mb, or it's assuming there will be more available and tries to use it.

@euwars do you have a sample repo you can send our way?

+1
I am facing the same issue too.

@Changzw Do you have a code sample we could take a look at? What version of Realm are you using?

Closing because of inactivity.
If anyone is still seeing this issue in realm-cocoa >5.x please address @leemaguire 's questions ^ above.


smartagentreceiver: Add support for collectd based monitors

Depends on #111
Updates required to configure collectd singleton when the smartagent receiver is configured to run collectd based monitors.
The receiver picks up the default collectd config from the smartagent extension package. To override default values in the collectd config, one would configure the smartagent extension and the receiver will configure the collectd singleton based on those overrides.

Do you mind updating the base branch to sa-extension to make this easier to review?

Do we have any automated tests that verify monitors that verify how everything works when collectd is present? From what I see that tests that we have only verify behavior when collectd is not present.

Do we have any automated tests that verify monitors that verify how everything works when collectd is present? From what I see that tests that we have only verify behavior when collectd is not present.

This is on the roadmap for the receiver integration tests since it will require the agent bundle to be available during test runs.  Ideally it would be similar to the proposed https://github.com/signalfx/splunk-otel-collector/pull/107 but utilize a collectd (and then sfxcollectd) integration and assert against all expected metrics.

LGTM, but I believe @rmfitzpatrick is in a better position to approve.


Light miner: Diagnostics page should NOT display blockchain details

grpc client for communication with gatewayrs
Issue

Link:
Summary: Ground work to make the diagnostic change required by this ticket

How
Write a small client for local.proto grpc service.
Try and maintain compatibility with old interface.
Keep it separate from jsonrpc interface even if this means a little bit of copied code.
Screenshots

References

Checklist

[*] Tests added
[*] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names

opened on master by mistake


Not able to close angular2-mdl-ext/expansion-panel

Hello team,
I am referring the single panel expansion example from here, but I am not able to close or toggle the expansion panel. Following is my HTML code:
      <mdl-expansion-panel>         <mdl-expansion-panel-header>           <mdl-expansion-panel-header-list-content>Primary Title</mdl-expansion-panel-header-list-content>           <mdl-expansion-panel-header-secondary-content>Secondary value</mdl-expansion-panel-header-secondary-content>         </mdl-expansion-panel-header>         <mdl-expansion-panel-content>           <mdl-expansion-panel-body>
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's               standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to               make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,               remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing               Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions               of Lorem Ipsum.
           </mdl-expansion-panel-body>           <mdl-expansion-panel-footer>             <mdl-button>Cancel</mdl-button>             <mdl-button>Save</mdl-button>           </mdl-expansion-panel-footer>         </mdl-expansion-panel-content>       </mdl-expansion-panel>
This is the exact code copied from the above url.

did you also include the css?


goobook: 1.6 -> 1.9

goobook: 1.6 -> 1.9

The version bump fixes goobook, as Google has deprecated their old authentication scheme for Contact management.

$ nox-review pr 9618
[...]
curl: (22) The requested URL returned error: 404 Not Found
error: cannot download mesos-0.23.0.tar.gz from any mirror
builder for ‘/nix/store/n7915fshdj2a161qm0h7nscr6jfibdyv-mesos-0.23.0.tar.gz.drv’ failed with exit code 1
building path(s) ‘/nix/store/ia3dgbzx5sbh03xfnpmmd3qhd0vh7f3j-libsoup-2.50.0’
cannot build derivation ‘/nix/store/9clhi4s2jf7v2xvh6baxdgiidim2z9gx-mesos-0.23.0.drv’: 1 dependencies couldn't be built

http://www.apache.org/dist/mesos/ there is only mesos 0.24 available...


Create instances in tests when contracts are created using register_contract

The following code is gated on tests because we don't create the instance in tests. That needs to be fixed.
https://github.com/stellar/rs-soroban-sdk/blob/bfddbc380e2b23c71069bd612b89177400437a80/soroban-sdk/src/storage.rs#L367-L375

The instance is now created for tests and the conditional linked has been removed.


Add explicit type parameters to serialization formats

Forces file types themselves to declare an explicit T, rather than inferring it indirectly through read and write calls.  This has the added advantage of making it a compile-time error to get a lazy reader or writer over a file that doesn't contain a Vec<T>.

I audited CR and essentially the way it works now is we end up declaring a triple like this:
martian_filetype!(MyFile, "myf");
impl FileStorage<MyType> for MyFile {}
pub type MyFormat = BinaryFormat<MyFile>;

With this patch, this becomes
martian_filetype!(MyFile, "myf");
pub type MyFormat = BinaryFormat<MyFile, MyType>;

It's definitely a trade-off; I'd love to come up with a solution that allows the same decoupling of "what's inside" from "how it's serialized" like FileStorage provides, but with the explicitness of this patch.  At least for now, though, this covers our current use cases!


Tell GHC to ignore package environments (where possible).

All the necessary package ids are passed on the command line already;
any package environments picked up elsewhere (e.g., via
GHC_ENVIRONMENT, which is now being set by Stack) are, at best,
superfluous and at worst causing problems.
This is necessarily best-effort, as telling GHC to ignore a package
environment with only command-line flags was added after the package
environment feature itself. I've added a note to the README for any
users left in an unfortunate situation by this.

Shouldn't we (also) add unsetEnv somewhere?

That was my first thought as well, but where? Build_doctests only exports some flags for the user to pass to doctest. cabal-doctest would have to do something like wrap doctest and export a does-it-all function. I'm not sure that's a bad idea, but it definitely is a fundamental change to its operation.

@quasicomputational we do recommend what kind of main to write, e.g. in https://github.com/phadej/cabal-doctest#simple-example and https://github.com/phadej/cabal-doctest/blob/master/simple-example/tests/doctests.hs
I'd also ask users to depend on base-compat, so one don't need to use CPP to get unsetEnv.
That would add one line to .cabal file and one line to doctest.hs.

Note: doctest depends on base-compat, so it's "free" dependency.

Makes sense. I've added it to all the examples.

Cabal documentation says

Since Cabal 3.0, defaults to never. Before that, defaulted to creating them only when compiling with GHC 8.4.4 and older (GHC 8.4.4 is the first version that supports the -package-env - option that allows ignoring the package environment files).

I'll test that, and fix if it's so.

Ah, thanks. I couldn't find a definitive mention of when it was added in the GHC docs, and I'd assumed it wouldn't be added in a patch - being new in 8.4.4 would be possible, since I think that's the version I tested with from that series.


UriPathSelector cannot find Registration if the processDefinitionKey contains a point

UriPathSelector cannot find Registration if the processDefinitionKey contains a point.
For example my path "/camunda/task/{type}/test.ManualDeployProcess/UserTask/create"

Any news here? We just wasted ~3 days trying to debug this issue :)

Well, this is still a community project done in my spare time, so, no: no news on this. Since I mainly do spring boot projects and the camunda starter provides a similar event registration as the reactor extension, I didn't do much work on this in the past.
However, I used your reminder to bring the extension up to the latest versions and accept this as a bug.
It would be perfect, if you could provide a PR with a failing test, I will than look into it. Deal?

Hey, thanks for the response. I though its a camunda-backed project due to being in camunda org.
Anyway, yes, I will try to come up with failing test PR :)

Ah .. I get the confusion. No, camunda has a community extension program, where contributors can release custom extensions under the camunda.org label. Some of these make it to official products (spring boot, assert), but most of them are maintained by regular guys, which includes focus shifts from time to time ...


Undefined method hide_action - using Rails 5

I'm using Rails 5. After I install the gem and run rails g authorization:install I get the following error:
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:94:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'declarative_authorization'.
Gem Load Error is: undefined method `hide_action' for ActionController::Base:Class
Backtrace for gem load error is:
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/declarative_authorization-0.5.7/lib/declarative_authorization/in_controller.rb:9:in `included'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/declarative_authorization-0.5.7/lib/declarative_authorization.rb:16:in `include'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/declarative_authorization-0.5.7/lib/declarative_authorization.rb:16:in `<top (required)>'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:91:in `require'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:86:in `each'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:86:in `block in require'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:75:in `each'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:75:in `require'
/Users/blahblah/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.7/lib/bundler.rb:106:in `require'

Let me know if this is something that the maintainers want to fix - I would be happy to help with this.

Hey @tomkadwill, if you're interested, I've been working on a gem designed to be a drop-in Rails 5 replacement for Declarative Authorization called Authoreyes.  It uses the exact same authorization rules DSL syntax.  I'm using in on a production app right now.  I'm not sure how the rest of the community feels about it, but I would love to have some Decl Auth users try it out and provide feedback or contributions.

Thanks @zeiv, I'll give it a try :)

@tomkadwill I know it's been awhile, but for you or people in the future who find this, I'd recommend our fork of declarative_authorization. ae_declarative_authorization adds Rails 5 support, among many other improvements, and we're actively maintaining it since it's a huge part of our app.

@dvicory is there any documentation for upgrading from declarative_authorization to your fork? Or everything will continue to work the same there is nothing specific to be changed/added after switching over to your fork?
Thanks

@Dabizlja, there's no explicit documentation on how to do it. What I can say is our internal change from our monkey patched declarative_authorization (mostly optimizations) to ae_declarative_authorization was very easy. ae_declarative_authorization started life from another person's fork of this repo, then we applied our optimization monkey patches. Even with all that history to the gem, we still didn't have to make changes beyond switching requires and the dependency.
Since the first release, we've continued to add support for more things like Rails 6 and Grape. I know each of these changes were done with an eye towards backwards compatibility to minimize our internal burden of upgrading since we use it extensively. I don't think I can guarantee drop-in compatibility for later releases, but I find it likely the upgrade would be painless and likely consist of simply changing the dependency and perhaps a few requires, as the major API surface shouldn't have changed.
One big thing I know we included was the removal of the rules browser (looking at the old issue now it seems it may have not worked anyway).
Please try it out and if there's something interesting about your upgrade process, please do let us know with a new issue in ae_declarative_authorization so that we could add or fix documentation.


⚠ Bofrost.at has degraded performance

In 21537a3, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1526 ms

Resolved: Bofrost.at performance has improved in e38e0e0 after 6 minutes.


(SUP-3696) Added S0043 to determine whether there are nodes with Puppet agent versions ahead of the primary server

Added indicator S0043 to determine whether there are nodes with Puppet agent versions ahead of the primary server. Updated README with documentation for S0043.

@taikaa thanks for this, would it be possible run a pdk validate -a and see if it'll resolve the rubocop issues ?

Hi @MartyEwings looks like the RHEL7 testing infra is failing. I removed the facter warning message in my latest commit so that users won't be falsely alarmed if the key is missing from the Analytics API response. In testing I realized upon first starting up my server the Analytics response may not have this data yet (restarting Puppet Server does update the data right away). I'll squash my commits whenever I get the go ahead. Thank you!


refactor: use event.path instead of event.node.req.url

…al utils

🔗 Linked issue
#73
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This PR:

Introduces event._originalPath internal (resolves #435)
Introduces event._path internal and uses it to cache+override event.path getter value
Deprecates getRequestPath(event) to prefer event.path
Updates app (important!!), router and request URLs to use event.path instead of event.node.req.url

With this, we reduce dependency in event.node
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Have made some additional tests seems all is fine also with compatibility.
Heads up @danielroe @antfu @Atinux if you discovered any issues with next release please ping me to quickly check.


Importing net/http prevents goroutine deadlock error in particular case

What version of Go are you using (go version)?

$ go version

go version go1.14.5 darwin/amd64 # brew install go
go version go1.14.6 linux/amd64  # docker run golang:buster

Does this issue reproduce with the latest release?

Following Expected code raises  fatal error: all goroutines are asleep - deadlock!.
And this is expected code, because errc is not buffered.

Working as expected code
package main

import (
	"fmt"
	"log"
	"sync"
)

// var _ http.Client

func main() {
	done := make(chan struct{})
	defer close(done)

	idc, errc := doJob(done)

	c := make(chan int)
	var wg sync.WaitGroup
	wg.Add(1)
	go func() {
		defer wg.Done()
		for id := range idc {
			c <- id
		}
	}()
	go func() {
		wg.Wait()
		close(c)
	}()

	for b := range c {
		fmt.Println(b)
	}

	if err := <-errc; err != nil {
		log.Fatal(err)
	}
}

func doJob(done <-chan struct{}) (<-chan int, <-chan error) {
	idc := make(chan int)
	errc := make(chan error) // not buffered. Should be buffered  as make(chan error, 1)

	go func() {
		defer close(idc)
		for i := 1; i < 10; i++ {
			select {
			case idc <- i:
			case <-done:
				return
			}
		}
		errc <- nil
	}()

	return idc, errc
}

But, following code importing net/http does not raise error, just hangs.

importing 'net/http' code
package main

import (
	"fmt"
	"log"
	"sync"
)

// This is TRICK
var _ http.Client

func main() {
	done := make(chan struct{})
	defer close(done)

	idc, errc := doJob(done)

	c := make(chan int)
	var wg sync.WaitGroup
	wg.Add(1)
	go func() {
		defer wg.Done()
		for id := range idc {
			c <- id
		}
	}()
	go func() {
		wg.Wait()
		close(c)
	}()

	for b := range c {
		fmt.Println(b)
	}

	if err := <-errc; err != nil {
		log.Fatal(err)
	}
}

func doJob(done <-chan struct{}) (<-chan int, <-chan error) {
	idc := make(chan int)
	errc := make(chan error) // not buffered. Should be buffered  as make(chan error, 1)

	go func() {
		defer close(idc)
		for i := 1; i < 10; i++ {
			select {
			case idc <- i:
			case <-done:
				return
			}
		}
		errc <- nil
	}()

	return idc, errc
}

What did you expect to see?
Both of above codes should raise fatal error: all goroutines are asleep - deadlock!
What did you see instead?
First code:  fatal error: all goroutines are asleep - deadlock! 👍
Second code:  program stops(not finish) 🤔

Thank you for raising this issue. The deadlock detector is intended to be a best effort approach — it’s pretty easy to detect a deadlock if there are no runnable goroutines — but it is equally detestable with a small goroutine waiting on a timer.
Variations of this issue have been discussed in the past. I would appreciate it if you would review the closed issues and if you feel this is a duplicate of either an open or closed issue on this topic would you consider closing it as a duplicate.
Thank you

Thank you for the information. I now understand deadlock is best effort, and for this reason it could  not to be detected sometimes.
I will close this issue. Thank you again.

Thank you for understanding.


Resolves #3039 API changes for Resident Tasks

Resolves #3039 by allowing to create AppDefinitions that define persistent volumes, allow container type MESOS and enable defining residency information. Note: the added models are not yet handled anywhere, this is just the API adjustment part. Changes in particular:

updated Protobuf to allow for persistent volumes and residency information
moved serialization logic to dedicated serializers
added json formats
updated AppDefinition json schema
added validation
added unit test and integration tests

Generally looks good - please see my comments.

addressed your comments in a separate commit. If that's ok, I'll squash.

Thanks! LGTM. Please squash and I will merge.

squashed!

TUUUUUUUUUUUUUUUUUUUUT
    .  o ..
     o . o o.o
          ...oo
            __[]__
         __|_o_o_o\__
         \""""""""""/
          \. ..  . /
     ^^^^^^^^^^^^^^^^^^^^


Revert changes to HORIZON_SSL monitor

And change what monitor the HORIZON_SSL pool is using.
This commit configures the HORIZON_SSL pool to use the
HTTP monitor which checks the backend nodes using port 80.
This commit fulfills the feedback given in:
https://github.com/rcbops/rpc-openstack/pull/1668#issuecomment-272914892.
The reason this is done is due to the new behavior introduced
in OSA Newton. SSL is expected to be terminated at the LB, and
is no longer implemented on the horizon containers. For more
information on that change, please see:
https://review.openstack.org/#/c/277199/
Connects https://github.com/rcbops/rpc-openstack/issues/1632

I think connections to the public VIP will barf, we need to remove the 'backend_ssl' attribute from that too or else the F5 will attempt to initiate an HTTPS connection to :80.  The other changes look good.
Line 305:        'backend_ssl': True

@dpham-rs Done. Thanks for the feedback!

recheck_ceph


Display nested/hierarchical Java project.

Expect
The Multi-Module Maven Project to be displayed as hierarchical.

What I've tried.

Settings > Java Project Manager > Java > Dependency: Package Prestation > hierarchical

In User

In Workspace

Nothings change in the Java Project View

Actual

The Maven view in VS Code also be able to display as hierarchical.

Environment
OS: Windows 11 Home Single Language 22H2
VS Code version 1.78.2
Extension Pack for Java version 0.25.11
Project Manager for Java version 0.22.0

The current implementation is more like the Package View in Eclipse:

The next step should be to support the Project View:

as described in this issue.

It would be great if this will be provided for the Multi-root Workspaces and Multiple Projects in same parent directory.


Add a GH Action to test the Application Build

Description
Add a Github Action that checks out the repo on every commit and pull requests and installs all the dependencies and checks the build. This would ensure that people are not making lazy contributions and follow the contribution guidelines strictly.

Hi @HarshCasper, could I work on this?


How do i add a new system like the wii u

??

The "systems" in ES are just pre-made folders with theme images, etc. You can define a platform in the es_system.cfg file by just naming it wiiu. You can set the theme to just wii because they look pretty much the same lol.
Try something like this

wiiu
Wii U
~/.emulationstation/roms/nameofwiiupath
.lnk
**emulator exe %ROM%
wiiu
wii

Thanks gonna try

it worked very nice. now i just need to create the text svg or png for the logo do you know the dimentions for that?

Basically, you should just copy the wii folder from the themes folder and rename it "wiiu". Get a .png icon from an image search and place it in that folder. From there, open the .xml file in the wiiu folder and change all the directories to the new wiiu folder you created, the image refrence from the old wii .svg to the new .png, and name to "Nintendo Wii U" from "Nintendo Wii"

Got it working.  The images I found doesn't exactly look great but fine temporarily.

Whoah. How did you get a Wii U Rom?

Emulator http://cemu.info/ still early it dont really play anything perfectly but its moving pretty fast.
games not hard to find.

Yeah, but how do you get the wii u roms. Do you use a program to extract the iso from the disk?

I downloaded the games online.  Just the once I have on disk of course.

The games are WUD format.

Ok, but which website?

can we not use github to exchange links to illegal software, please.
http://lmgtfy.com/?q=wii+u+roms

Oh Yeah, I forgot. The legal way to do this is to find a software that can extract the iso from the wii u disk, not a wii disk.

I tried to configure my emulationstation to setup cemu emulator. I have no success. I have this config and cemu starts, but dont launch any game.
	<system>
		<name>wiiu</name>
		<fullname>WiiU</fullname>
		<path>~\.emulationstation\roms\wiiu</path>
		<extension>.wud</extension>
		<command>%HOMEPATH%\.emulationstation\systems\cemu\cemu.exe "%ROM_RAW%"</command>
		<platform>wiiu</platform>
		<theme>wiiu</theme>
	</system>

Someone knows how to make it work correctly?

@Lowitle I also had this issue. This is what I used:
	<system>
		<name>wiiu</name>
		<fullname>WiiU</fullname>
		<path>~\.emulationstation\roms\wiiu</path>
		<extension>.wud</extension>
		<command>%HOMEPATH%\.emulationstation\systems\cemu\cemu.exe -f -g "%ROM_RAW%"</command>
		<platform>wiiu</platform>
		<theme>wiiu</theme>
	</system>

The -f tells CEMU to launch the game in full screen mode, and the -g allows you to provide a game file to launch. Source

Hello and thanks for all the very usefull information.
Howerver, I have used the IncognitoJam script but I get some messages of error "Unable to create file keys.txt" (twice) when I try to launch a WiiU game through EmulationStation. Do you have, guys, any idea?
Thx for your help. If I close the error windows it works at the end but that 's not very " esthetic"....

Tchennn I have the same problem plus it won't recognize a controller when launched from emulationstation.  Not sure what the deal is, as I used to be able to launch cemu this way about six months ago.

Hi korreckj328,
I have found a solution, but not so academic....
First I have created .bat files in order to launch each of my wiiu roms, then in a new folder I have created shortcuts for each of the .bat files. Finally, I have modified EmulationStation config file to launch the roms from the shortcuts... and it works!!!

Hi @Tchennn .
I was wondering if u can give me an example of any of ur bat files. I tried to make one but cemu gave me an error.
This is my bat file:
"C:\Portable_Game_Station_1.5.emulationstation\systems\cemu\Cemu.exe" -g "C:\Portable_Game_Station_1.5.emulationstation\roms\wiiu\mariokart8\code\Turbo.rpx" -f"
exit
it does not work.
in my system config file i have the one that IncognitoJam posted. I've only change the extension (.wud .WUD to  .bat .BAT).
Can u please help me?.
Sorry for my english !
Take care!

Hi @MrTom4hawk
@echo off
"C:\Users\Arcade.emulationstation\systems\cemu_1.11.3\cemu.exe" -g "C:\Users\Arcade.emulationstation\Roms\wiiu\MKARTVIII\MARIO KART 8 [AMKP0101]\code\Turbo.rpx" -f
exit
too much " in your code!
best

If I may, I found a better solution.
The problem is that cemu.exe looks in the working directory for it data files (keys.txt, the controllerProfiles folder, etc.) and if it is launched from a directory that is not it's folder (such as the directory containing EmulationStation) it won't be able to find the files.
The solution (until EmluationStation is updated to use the working directory of it's target) is to replace:
<command>C:\Users\{username}\.emulationstation\systems\cemu\cemu.exe -f -g "%ROM_RAW%"</command>
with:
<command>START /D C:\Users\{username}\.emulationstation\systems\cemu\ cemu.exe -f -g "%ROM_RAW%"</command>
NOTE THE SPACE between the directory and cemu.exe. Here, the START command runs "cemu.exe" using the working directory (specified by the flag /D) of "C:\Users\{username}\.emulationstation\systems\cemu". Make sure to set the working directory to the directory containing cemu.exe, then not only can we launch cemu.exe without it's full path but it will look in it's own directory for it's required files.

@BryceGre @Tchennn  Hi!, thx for the help u guys!.
I'm not at home right now. I'm gonna try to do this on monday.
I have 1 question.
Here is my cemu folder exact location.
D:\Portable_Game_Station_1.5\ .emulationstation\systems\cemu\Cemu.exe
So... the systems.cfg file goes like this:
START /D D:\Portable_Game_Station_1.5.emulationstation\systems\cemu\ cemu.exe -f -g "%ROM_RAW%"
is that correct??... and with the space between the directory and cemu.exe too?
Thank u very much for everything!

@MrTom4hawk Yes that's correct, assuming that you meant to have a backslash between "Portable_Game_Station_1.5" and ".emulationstation" but GitHub is hiding it. (it did that to me too for some reason)
With the backslash it should look like this:
START /D D:\Portable_Game_Station_1.5\.emulationstation\systems\cemu\ Cemu.exe -f -g "%ROM_RAW%"

@BryceGrees yes, for some reason github is hiding the backlash.
Ok!. Thx so much!.

Thank you for finding the START /D option. A couple questions. 1. It does not seem to work with %HOME%.emulationstation\systems\ I have to actually specify a path which works fine. Any idea on how to use %HOME% so it isn't locked to a specific drive letter? 2. How do you run loadline games thru ES? I can get it to work fine with wud and wux but I think that's because they are only one file. Thanks for your help.

Hi! @xev1n
This is my conf system file.

wiiu
WiiU
~\.emulationstation\roms\wiiu
.rpx .RPX
START /D D:\Portable_Game_Station_1.5\.emulationstation\systems\cemu\ Cemu.exe -f -g "%ROM_RAW%"
wiiu
wiiu

Works like a charm. Thx to @BryceGre by the way.

@BryceGre Yes Windows. Thanks for this I will try it out. Do you know if I can specify multiple rom paths in the systems.cfg file. My thinking is I can just path to each and every Wii U game that uses .rpx files/loadiine games. I am going to try this out on my own as well, was just wondering if you had any experience with this? Thanks again!

@xev1n I took a look at the code and, unfortunately, it doesn't support multiple paths for roms. It's a good idea though.


decrease puma workers to see if it fixes those r14 errors

I rule and have completed some work on Case Manager that's ready for review!
Reducing puma workers to 2 to see what effect it has on heroku R14 errors we're getting. See #998
This pull request makes the following changes:

Reduces puma workers from 3 to 2

It relates to the following issue #s:

Bumps #998

Going to try this for a week and see how it goes. Invoking admin mode and merging.


Remove all annotations inside a range of frames

This is very useful option to remove all options from one frame to another.
I want to reannotate part of video. It is not good idea to search for keyframes and turn off them or
delete lines in xml file and upload annotation.

@Alexander-Petrikov ,
Do I understand correctly that you want to remove annotations from frame N till frame N+K? Are you trying to annotate an existing dataset? I just want to understand your annotation flow.

Yes, I want to remove annotation on video from frame N till frame N+K, very K is big.
I have annotated video. In part of video bounding boxes have too big size and I want to reannotate this part (not all). I don't want to search for keyframes.

Hey, I've submitted pull request #3617  to this issue. Can someone have a look at it

@gudipudiramanakumar , thanks for your contribution.


Mention that "DirectQuery/Live connection (per second)" is per capacity and not per dataset

Its not 100% clear that "DirectQuery/Live connection (per second)" is a per capacity metric and not per dataset. A customer planning for a Premium Capacity deployment with DirectQuery its a very important measure to consider and I believe we should make it clearer:
I would recommend changing to:
"2 These limits only apply to the datasets workload per Capacity"

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

ID: 00bf7e05-4c27-38a6-4951-29dff857e10d
Version Independent ID: 00bf7e05-4c27-38a6-4951-29dff857e10d
Content: What is Power BI Premium Gen2? - Power BI
Content Source: powerbi-docs/enterprise/service-premium-gen2-what-is.md
Service: powerbi
Sub-service: powerbi-premium
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Hi @RuiRomano,
I started an email thread for this.
Thanks,
Kesem


can't run

Error: Could not find or load main class MainKt
Caused by: java.lang.ClassNotFoundException: MainKt

@e4basil It should work now. feel free to reopen if it doesn't work :) By the way, congratulation on opening the first issue :wink:


travis deploy fails after timeout

While running deploy on travis my build freezes:
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received

Link: https://travis-ci.org/wemake-services/wemake-vue-template/builds/375803900#L1265
That's what I do:
  npm install -g now

  # Building new instance:
  now deploy \
    --token="$NOW_TOKEN" \
    --no-clipboard \
    --public \
    --npm \
    --dotenv=config/.env \
    --local-config=../now.json

  # Setting new instance as a default one:
  now alias --token="$NOW_TOKEN" --local-config=../now.json

Link to the full source code: https://github.com/wemake-services/wemake-vue-template/blob/master/tests/deploy.sh#L19
That's how my deploy looks inside dashboard:

Everything works fine locally.

This should be working just fine as of Now 2.0 (considering you will adapt your code)! 😊


2665 cities from data.gov

load cities from data.gov instead of csv file

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 4.49438% with 85 lines in your changes missing coverage. Please review.

Project coverage is 52.66%. Comparing base (400af13) to head (5d45fcb).
Report is 72 commits behind head on dev.

Files
Patch %
Lines

anyway/parsers/cities.py
0.00%
56 Missing :warning:

main.py
0.00%
13 Missing :warning:

anyway/models.py
26.66%
11 Missing :warning:

anyway/parsers/streets.py
0.00%
5 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #2680      +/-   ##
==========================================
- Coverage   53.22%   52.66%   -0.56%
==========================================
  Files         119      122       +3
  Lines        9924    10154     +230
==========================================
+ Hits         5282     5348      +66
- Misses       4642     4806     +164

Flag
Coverage Δ

unittests
52.66% <4.49%> (-0.56%)
:arrow_down:

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

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


Sync Better Bibtex configuration between computers

I'm sorry if this is hiding somewhere in the documentation, or in a previous issue, but: is there a way to export my BetterBibtex configuration preferences from one machine and load them into a Zotero installation on another? (just knowing what system file to copy over would be sufficient!)

This was once possible but has since been deprecated by the Firefox developers.
All your preferences (not just BBTs) live in <profile dir>/prefs.js. The BBT prefs have no system dependencies (the autoexports have system-dependent paths but they live in the DB, not the prefs), but there's a whole host of other prefs in that file and some are bound to make FF misbehave if blithely copied over. The specific better-bibtex lines will be safe to copy.

Great, thanks.
On Wed, Aug 17, 2016 at 4:16 AM, retorquere<EMAIL_ADDRESS>wrote:

This was once possible but has since been deprecated by the Firefox
developers
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Firefox_Sync/Syncing_custom_preferences
.
All your preferences (not just BBTs) live in /prefs.js. The
BBT prefs have no system dependencies (the autoexports have
system-dependent paths but they live in the DB, not the prefs), but there's
a whole host of other prefs in that file and some are bound to make FF
misbehave if blithely copied over. The specific better-bibtex lines will
be safe to copy.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/retorquere/zotero-better-bibtex/issues/546#issuecomment-240382700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEMGnFd78rVsJahwo8ccqoviA1OLm_K0ks5qgu2QgaJpZM4Jl6kZ
.

--
t.<PHONE_NUMBER>

Additionally, I've put our questions to mozilla to see if they have plans
to replace this rather useful feature, but they're not as fast as they used
to be when it comes to answering these things.

I've put out a test build at https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.72-circle-2750.xpi . If you install that and enable https://www.mozilla.org/en-US/firefox/sync/, it ought to work, although the Firefox people say sync may often take a while to actually happen.

Is this still of interest? Otherwise I'd like to close this issue.

Go ahead and close - copying the preferences solves my own problem just fine.


Validator accepts code that it shouldn't

See https://github.com/mbebenita/Broadway/pull/57 , it looks like the validator accepts
var max = stdlib.Math.max;
[..]
r = min(255, max(0, r)|0)|0;

even though there should be a coercion on r.

In the current spec, the signature for max is (int, int…) → signed. r has type int, so I don't see anything in the spec making this fragment invalid. Is this also a spec bug?
OdinMonkey's part appears to check that max arguments are signed, in apparent disagreement with the spec. The error message says int though.

Looks like a spec bug to me. We don't know if the input variable is signed or unsigned (or neither) at that point, and it's not going to be signed by the call target, so we have to sign it (or unsign it) here.

Note from the readme (4th paragraph down):
"This repo also hosts JS source code which performs asm.js validation, however as of this update, this code is not up to date with the latest working draft and is not extensively tested. Patches to update it or fix bugs are welcome though."
I think this is a known problem with the validator.

What we have here is a discrepancy between the spec and OdinMonkey, and it looks like an actual spec bug. When that's resolved, we'll fix the validator too.


Improve UI Text for deleting a chart

Is your enhancement related to a problem? Please describe.
Currently, we show the same text in the warning overlay when deleting a draft or a published chart:

This may cause uncertainty for users as drafts cannot be embedded at this time. In addition, we do not explicitly mention that the action cannot be undone.
Describe the solution you'd like
If technically feasible, i think it would be a nice improvement to have a dedicated text for deleting a draft.

Keep in mind that removing this visualization will affect all the places where it might be already embedded!
Proposal
Are you sure you want to delete this draft?
This action cannot be undone.
Describe alternatives you've considered
None
Usecases and impact
This would provide more clarity to users on the impact of the (irreversible) actions taken.

@KerstinFaye assigning this to you to get your input, as our UI-Text specialist :)

@sosiology Thanks a lot for this finding. Definitely it's important to adapt the text. And I think your suggestion makes a lot of sense. It's simple and super clear.
The German version would be:
Möchten Sie diesen Entwurf wirklich löschen?
Diese Aktion kann nicht rückgängig gemacht werden.
I would also suggest to shorten the German version for the published chart:
Möchten Sie diese Visualisierung wirklich löschen?
Das Löschen des Diagramms betrifft alle Einbettungsstellen.
And to align with your simple suggestion for the draft, I would also adapt the text for the published English version:
Are you sure you want to delete this chart?
Deleting the chart affects all embedding places.

@bprusinowski This is the additional string for deleting a draft that I mentioned.


Make searchForPhrase independent of Jisho API

I suggest to drop being dependent upon Jisho API for word search. Two reasons:

Official Jisho API does not provide all the data in its word/phrase endpoint e.g. information about JLPT level is missing.
searchForPhrase method is just routing data from Jisho API and anyone could make a simple fetch call. So its usefulness in current version is a bit questionable.

Btw. very useful repo ;)

Hi, thanks for your suggestion. So you suggest scraping jisho.org for word data, instead of using the API?
You're right that the site has data that the API does not have, and it would be nice to have that data. (I'd like to get the JLPT level for my purposes too) On the other hand, the API has some data that the search results overview doesn't, although that data is somewhat less important (for example links to external sources).
I'm of the opinion though that if there's data in the API, we should use the API to get it, since using the API is officially supported, less prone to bugs, won't break when Jisho's page format changes, and is simpler to maintain on my end (effortless, really), compared to scraping. It's true that simply providing a method that calls the API doesn't really save anyone very much effort, but it is cohesive with the aims of the package, and doesn't hurt.
I was thinking a good solution here would be to add a boolean argument to the searchForWord function. The function would always call the API, and in addition, if the boolean argument were true, it would scrape the JLPT data and such from the Jisho website and add that to the results from the API. However it seems that the Jisho website and the API actually return different results, so that would complicate trying to merge that data.
I'll keep this suggestion in mind. Due to different priorities, I'm unlikely to do anything about it anytime soon, but I'd like to do something about it eventually. I'd also be happy to accept a PR that adds either a function to scrape the website, or a boolean argument to the searchForWord function like I mentioned above.

New version 1.2.0 has a scrapeForPhrase function that scrapes most of the information off of the word/phrase page. You can get JLPT tags and other information by using that. Please see the updated README for more info.
Implemented in a0dad0552edc30d5fab78d1917f3bf09c9996f22
Closing, feel free to comment or open another issue if it's missing some data that you would like me to try to add.


Use this plugin for shutters

Since all the shutters in my home are controlled via URL (i open certain url for up and another for down command) so  i decided to use the homebridge-http plugin.

How would it be possible to change this for Up and DOWN?

Set up a Scene in HomeKit and just ask Siri to activate the scene. Easiest way around this and works pretty well.

Thanks!
How would i go about opening my garage door (also controlled by visiting single URL)?
Use same URL for on and off?

So it's a toggle URL?
Just use same URLs for both I'd guess.

Thanks!
I was just for a way to "clean up the thing" and i thought i could just "rename commands" and add them to another class, so my shutters wouldn't show up ad power outlets ...

It's deep in the bowels of accessories and characteristics - can probably be done if you want to dig into it and rewrite the module...


Update _getExperiment.mdx

get experiment takes a user

🚀 Deployed on https://63d7ef9ed52187419c0d0ca8--cozy-fox-0defec.netlify.app


FileNotFoundError when I first run igs2gs

I installed igs2gs by cloning repo. When i tried to run igs2gs after training splafacto, I met FileNotFoundError.
 File "nerfstudio/instruct-gs2gs/igs2gs/igs2gs_pipeline.py", line 122, in get_train_loss_dict     plt.imsave("testing_seq_edits/original_image_"+str(idx)+".jpg", original_image.squeeze().permute(1, 2, 0).detach().cpu().numpy())   File "anaconda3/envs/nerfstudio/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2200, in imsave     return matplotlib.image.imsave(fname, arr, **kwargs)   File "anaconda3/envs/nerfstudio/lib/python3.8/site-packages/matplotlib/image.py", line 1689, in imsave     image.save(fname, **pil_kwargs)   File "anaconda3/envs/nerfstudio/lib/python3.8/site-packages/PIL/Image.py", line 2436, in save     fp = builtins.open(filename, "w+b") FileNotFoundError: [Errno 2] No such file or directory: 'testing_seq_edits/original_image_0.jpg'
I added os.path.exists("testing_seq_edits") or os.makedirs("testing_seq_edits") just before line 122 to fix.
But it seems not perfect cause every igs2gs share this folder so i cannot run multiple model at once.

Thanks for letting us know. I have removed the image saving lines from igs2gs_pipeline.py


Implement Backward Compatibility for Events

Description
The new feature for fetching multiple events #315 is introducing a new command format and it would break current usage, so this PR makes sure the users will get a warning and that the old command format will still work.

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report

Merging #337 (7606ed1) into master (6fcb540) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #337   +/-   ##
=======================================
  Coverage   52.99%   52.99%
=======================================
  Files          36       36
  Lines        1802     1802
=======================================
  Hits          955      955
  Misses        729      729
  Partials      118      118

Flag
Coverage Δ

unittests
52.99% <ø> (ø)

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

Continue to review full report at Codecov.

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


support custom API server address & CA bundle

The related issue: https://issues.redhat.com/browse/ACM-9559

/hold

/lgtm

/unhold


Inf values in afb.table.csv's

The script locations/data_processing/age_at_first_birth_DHS.R generates afb.table.csv files for different countries, and these files contain multiple instances of the value 'Inf' in the "afb" column (see attached). This causes the Inf values to be included in the data percentiles for afb in the Experiment class, affecting the baseline values referenced in this issue.

Resolved with #264


[RFC] XGBoost 1.0.0 Release Candidate

The last release (0.90) came out on May 20, 2019, and after 8 months of effort, we proudly announce the 1.0.0 release. In the next two weeks, the community is invited to try out the release candidate (RC).
Feedback period: until the end of February 14, 2020. No new feature will be added to the 1.0.0 release; only critical bug fixes will be added.
@dmlc/xgboost-committer
Now available

Python package. RC1 available on PyPI. Try it out with the command

pip3 install xgboost==1.0.0rc1

R package. RC1 available from the Releases section. Download the tarball file xgboost_<IP_ADDRESS>.tar.gz and run

R CMD INSTALL xgboost_<IP_ADDRESS>.tar.gz

JVM packages. RC1 available from the Releases section. Download the JAR files xgboost4j_2.12-1.0.0-RC1.jar and xgboost4j-spark_2.12-1.0.0-RC1.jar and run

mvn install:install-file -Dfile=./xgboost4j_2.12-1.0.0-RC1.jar -DgroupId=ml.dmlc \
    -DartifactId=xgboost4j_2.12 -Dversion=1.0.0-RC1 -Dpackaging=jar
mvn install:install-file -Dfile=./xgboost4j-spark_2.12-1.0.0-RC1.jar -DgroupId=ml.dmlc \
    -DartifactId=xgboost4j-spark_2.12 -Dversion=1.0.0-RC1 -Dpackaging=jar

to install the JARs into your local Maven repository. Now you should be able to add XGBoost4J and XGBoost4J-Spark as Maven dependencies:
<dependency>
    <groupId>ml.dmlc</groupId>
    <artifactId>xgboost4j_2.12</artifactId>
    <version>1.0.0-RC1</version>
</dependency>
<dependency>
    <groupId>ml.dmlc</groupId>
    <artifactId>xgboost4j-spark_2.12</artifactId>
    <version>1.0.0-RC1</version>
</dependency>

TODOs

[x] Create a new branch release_1.0.0.
[x] Create Python wheels and upload to the Releases section and PyPI (use pre-release mechanism)
[x] Create JAR files for the JVM packages and upload to the Releases section
[x] Create a tarball for the R package and upload to the Releases section
[ ] Write a summary of 1.0.0 release

Outstanding patches that should make it into the 1.0.0 release:

[ ] https://github.com/dmlc/xgboost/pull/5256
[ ] https://github.com/dmlc/xgboost/pull/5258

This is great! Happy to report it works well with:

Homebrew - with OpenMP support :tada: - https://github.com/ankane/homebrew-core/commit/1f39811c129a2a36d391368d5791fdff257b5f94
the Ruby library - after adding an extra parameter to XGBoosterPredict - https://github.com/ankane/xgboost/commit/d475f3fa21d44926ec0ca0a33259b9b9a90aca42

(both commits in branches)

@ankane That's good to know. Thanks! One tidbit: XGBoost now requires CMake 3.16+ for Mac target, so we no longer require the extra CMake flags. So we should be able to remove the following lines:
      args << "-DOpenMP_C_FLAGS=\"-Xpreprocessor -fopenmp -I#{libomp.opt_include}\""
      args << "-DOpenMP_C_LIB_NAMES=omp"
      args << "-DOpenMP_CXX_FLAGS=\"-Xpreprocessor -fopenmp -I#{libomp.opt_include}\""
      args << "-DOpenMP_CXX_LIB_NAMES=omp"
      args << "-DOpenMP_omp_LIBRARY=#{libomp.opt_lib}/libomp.dylib"

https://github.com/ankane/homebrew-core/blob/1f39811c129a2a36d391368d5791fdff257b5f94/Formula/xgboost.rb#L22-L26
That is, cmake .. will just work, as long as CMake 3.16+ is installed.

It worked without the flags outside of Homebrew (https://github.com/ankane/ml-builds/compare/xgboost-1-0), but needed them inside the Homebrew environment for some reason. I believe Homebrew modifies some of the build flags in their compiler shim.

@ankane Ah I see. Glad to hear that we finally have OpenMP-enabled XGBoost in Homebrew!

@hcho3 Out of curious

xgboost-1.0.0rc1-py2.py3-none-manylinux1_x86_64.whl

Does py2 in the file name imply we support Python2?

@trivialfis No, it does not, since we have this line
https://github.com/dmlc/xgboost/blob/fe8d72b50b132af6e24dfa6eb2e08d18430247e8/python-package/setup.py#L66
However, let me rename the wheel to use py3 exclusively.

@akimboyko, do you guys want to take a look on this RC?

@hcho3 You did right!
Building JARs is like building wheels. It is not java part which is problematic but rather native libxgboost.so library. What you generally want from this library is to depend on the oldest possible version of LIBC. The idea is that libc is backward compatible on a binary level. So everything which compiled with libc version X will work for any version Y as long as Y >= X
What you do not want to do is build this native library on a new Ubuntu (let's say 19.10) and start a distributed training on a cluster with old Ubuntu (for example, 18.04 LTS). Dynamic linker won't find a new libc symbols your libxgboost.so will be referencing. I've done this at least once by accident :)
You can use nm command to see all undefined symbols in a so file

Adding a limitation about needing a nonzero reg_lambda parameter. cc @trivialfis

@hcho3 I don't think that's a very serious problem, as least not among machine learning libraries.  Just state that if NAN is encountered try adjusting lambda.

"Known limitations" will be part of the Release Note.

Got it .  Thanks!

@trams That's good to hear. In the future, I may want to spend more time on the distributed portion of XGBoost.

@hcho3 Can add Python 3.8 support by adding this?

'Programming Language :: Python :: 3.8'

It looks like all blockers are resolved. I will push out 1.0 release by end of this week.

RC2 is now available.

As promised, I will now commence my work on 1.0.0 release. Mainly, I will need to review 311 commits that have been made since 0.90 and summarize what they are about.

@trivialfis @RAMitchell It would help me tremendously if you can write one or a few paragraphs about some "highlights" of your work. For example: cleaning up configuration and serialization. Dask integration. I want to make sure that I am not leaving out anything substantial :)

a couple of highlights:

New, native Dask interface for multi-GPU and multi-node scaling

~20% improved multi-GPU training performance with dask (see: https://github.com/dmlc/xgboost/pull/4951)

First-class xgboost support for cuDF DataFrames and cuPy arrays

Serialize models to JSON

Complete model serialisation via pickle

Interaction constraints with GPU training (https://xgboost.readthedocs.io/en/latest/tutorials/feature_interaction_constraint.html)

Parameter validation - detection of unused/incorrect parameters

GPU accelerated ranking objectives: NDGC, Map, Pairwise. 2x improved training performance on GPUs: https://devblogs.nvidia.com/learning-to-rank-with-xgboost-and-gpu/

@JohnZed Wow, thanks so much!

Updated.

1.0.0 release is now out. I'm about to finish up the full release note for 1.0.0, but for now I am uploading Python wheels first.

Great!  Let me know I can look into the release note.  Quiet a bit of change this time

Ruby gem is out and Homebrew PR submitted https://github.com/Homebrew/homebrew-core/pull/50467


Exception while trying to report linter executable not being found

Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 256, in on_post_save
    callback.on_post_save(v)
  File "C:\Users\gautamz07\AppData\Roaming\Sublime Text 3\Packages\SublimeLinter\sublimelinter.py", line 441, in on_post_save
    self.file_was_saved(view)
  File "C:\Users\gautamz07\AppData\Roaming\Sublime Text 3\Packages\SublimeLinter\sublimelinter.py", line 445, in file_was_saved
    syntax_changed = self.check_syntax(view)
  File "C:\Users\gautamz07\AppData\Roaming\Sublime Text 3\Packages\SublimeLinter\sublimelinter.py", line 205, in check_syntax
    Linter.assign(view, reset=True)
  File "C:\Users\gautamz07\AppData\Roaming\Sublime Text 3\Packages\SublimeLinter\lint\linter.py", line 728, in assign
    for name, linter_class in persist.linter_classes.items():
  File "./functools.py", line 251, in wrapper
  File "C:\Users\gautamz07\AppData\Roaming\Sublime Text 3\Packages\SublimeLinter\lint\linter.py", line 1588, in can_lint
    elif status is None:
UnboundLocalError: local variable 'executable' referenced before assignment

See https://forum.sublimetext.com/t/plugins-in-sublime-stop-working-occasionally/16547 for context.

Same here:
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 389, in run_callback
    expr()
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 522, in <lambda>
    run_callback('on_activated', callback, lambda: callback.on_activated(v))
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/SublimeLinter/sublimelinter.py", line 278, in on_activated
    self.check_syntax(view)
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/SublimeLinter/sublimelinter.py", line 205, in check_syntax
    Linter.assign(view, reset=True)
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/SublimeLinter/lint/linter.py", line 734, in assign
    if not linter_class.disabled and linter_class.can_lint(syntax):
  File "./python3.3/functools.py", line 251, in wrapper
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/SublimeLinter/lint/linter.py", line 1602, in can_lint
    status = 'WARNING: {} deactivated, cannot locate \'{}\''.format(cls.name, executable)
UnboundLocalError: local variable 'executable' referenced before assignment

Btw, this is happening when I open js files.
The syntax highlight is to JavaScript (Babel), and I have SublimeLinter-contrib-eslint_d installed. The same happens with sublime SublimeLinter-contrib-eslint.
$ which eslint_d
/usr/local/bin/eslint_d

In SublimeLinter User Setting I have:
        "syntax_map": {
            "JavaScript (Babel)": "javascript",
            "html (django)": "html",
            "html (rails)": "html",
            "html 5": "html",
            "php": "html",
            "python django": "python"
        },
        "paths": {
            "linux": [],
            "osx": [
                "/usr/local/bin"
            ],
            "windows": []
        },


Added functionality for flaky tests, more granular step definitions and upload of evidence

This PR introduces the ability to choose what evidence is to be uploaded due to Xrays 100MiB limit. It also adds the possibility to detect flaky tests and it removes failed reruns from the json import file (also because of the 100MiB limit) When debug option is enabled there will be a new file created, xray-payload-debug.json that contains the report file before duplicates has been removed and flaky tests has been detected. I also added the option to set summary

I'll just run the modified code in our CI


Save CSVs with PyArrow

I noticed that saving the output file sub_FEATURES.csv was unreasonably slow and apparently this is a Pandas issue, changed to saving function to use PyArrow instead and got a 7.5x speed-up in saving:. For a 1GB, all np.float64 dataset:

pandas_df.to_csv(): Time to save: 45.128990650177 seconds.
pyarrow.csv.write_csv(): Time to save: 6.1338911056518555 seconds.

Reading CSVs however is faster using Pandas so I did not change that, only removed the index_col=0 argument since PyArrow does not save an extra column with row index, which seems unnecessary to me anyway.

Time to read CSV (pyarrow): 14.770382642745972 seconds.
Time to read CSV (pandas): 8.440594673156738 seconds.

Note 1: that when loading CSVs generated with previous versions of the program, now they will have an unnamed column with the row indexes, which should not break compatibility if accessing columns by name rather than index.
Note 2: I haven't checked the minimum PyArrow version needed to use this very basic functionality, I just added the one that was installed in my environment to the dependencies, but can probably go much farther back

PS. Pandas will at some point in the future add an option to save CSVs with PyArrow, as discussed here, but it does not look like it's being worked on at the time

@toni-neurosc First of all thanks a lot for contributing to py_neuromodulation! That's really great!
Regarding this PR I could reproduce the timing of saving, but contrary to your results I found that reading a .csv file is also much faster with pyarrow. This is true when reading with pyarrow directly, but I also get the same speed-up when reading with pd.read_csv(PATH, engine="pyarrow").
Could you share how you tested the pyarrow csv read?
I tested it using this minimal example:
import pandas as pd
import numpy as np
import time
import pyarrow
from pyarrow import csv

# Time Write pandas: 30.8 seconds, Time read: 6.6 seconds
# Time Write pyarrow: 7.9 seconds, Time read: 0.65 seconds

# Time Write pandas with pyarrow engine currently not possible, Time read: 0.7 seconds

# Define the size of the DataFrame
n_rows = 10**6
n_cols = 100

# Create a DataFrame with random values
df = pd.DataFrame(
    np.random.randint(0, 100, size=(n_rows, n_cols)),
    columns=["col" + str(i) for i in range(n_cols)],
)

for SAVE_PYARROW in [True, False]:
    print(f"SAVE_PYARROW: {SAVE_PYARROW}")
    start_time = time.time()

    if SAVE_PYARROW:
        csv.write_csv(pyarrow.Table.from_pandas(df), "data.csv")
    else:
        # Save the DataFrame to a CSV file
        df.to_csv("data.csv", index=False)

    # Calculate the elapsed time
    elapsed_time = time.time() - start_time

    print(f"Time elapsed: {elapsed_time} seconds")

for READ_PYARROW in [True, False]:
    print(f"READ_PYARROW: {READ_PYARROW}")
    start_time = time.time()

    if READ_PYARROW:
        table = csv.read_csv("data.csv")
        df_pyarrow = table.to_pandas()
    else:
        # Read the CSV file into a DataFrame
        df_pd = pd.read_csv("data.csv")

    # Calculate the elapsed time
    elapsed_time = time.time() - start_time

    print(f"Time elapsed: {elapsed_time} seconds")

print("Use pandas pyarrow engine to read the csv file time")
start_time = time.time()
df = pd.read_csv("data.csv", engine="pyarrow")
elapsed_time = time.time() - start_time
print(f"Time elapsed: {elapsed_time} seconds")

Probably it's version independent, but I tested it with pyarrow 14.0.2 and pandas 2.1.4.
Also I should probably say that I tested it with a pretty good CPU (Threadripper 2990WX with 32 cores), that might be a factor for the speed-up.

Hi Timon, happy to help!
I checked again and I can reproduce both my results and yours. It seems to depend on file size, or perhaps on the shape of the dataframe, since my file is only 4x bigger but takes way more than 4x longer to load.
My code for testing was thing:
import pandas as pd
import numpy as np
import time
from pyarrow import csv
import py_neuromodulation as nm

## Generate chunky features CSV
NUM_CHANNELS = 5
NUM_DATA = 1000000
sfreq = 1000  # Hz
feature_freq = 3  # Hz

np.random.seed(0)

data = np.random.random([NUM_CHANNELS, NUM_DATA])
stream = nm.Stream(sfreq=sfreq, data=data, verbose=False)
stream.run(parallel=True)

# Test PyArrow
def read_csv(file):
    return csv.read_csv(file).to_pandas()

t = time.time()
df = read_csv("sub/sub_FEATURES.csv")
print(f"Time to load PyArrow: {time.time() - t} seconds")

# Test Pandas
t = time.time()
df = pd.read_csv("sub/sub_FEATURES.csv")
elapsed = time.time() - t
print(f"Time to load Pandas: {time.time() - t} seconds")

My code generates a 963 MB CSV file, with shape 9991 rows x 5227 cols, and the times are:
Time to load PyArrow: 15.755833625793457 seconds
Time to load Pandas: 8.531198978424072 seconds

When I ran your code in my computer, it generated a 276MB file, and here PyArrow was way faster:
READ_PYARROW: True
Time elapsed: 0.6403310298919678 seconds
READ_PYARROW: False
Time elapsed: 2.7735869884490967 seconds
Use pandas pyarrow engine to read the csv file time
Time elapsed: 0.677858829498291 seconds

Then, changing np.random.randint (integers) for np.random.random (floats) produced a 1.79 GB file, and read times are still faster for PyArrow:
READ_PYARROW: True
Time elapsed: 1.7801580429077148 seconds
READ_PYARROW: False
Time elapsed: 12.708122491836548 seconds
Use pandas pyarrow engine to read the csv file time
Time elapsed: 2.566972017288208 seconds

Just to be sure, reading the file generated by my code with your script:
READ_PYARROW: True
Time elapsed: 10.525209903717041 seconds
READ_PYARROW: False
Time elapsed: 8.005020141601562 seconds
Use pandas pyarrow engine to read the csv file time
Time elapsed: 18.455359935760498 seconds

So your script is faster than mine with the same data, why? Turns out, because this:
table = csv.read_csv("sub/sub_FEATURES.csv")
df = table.to_pandas()

is for some reason faster than this:
df = csv.read_csv("sub/sub_FEATURES.csv").to_pandas()

Python is weird sometimes. Anyway even so Pandas is faster reading the CSV generated by py_neuromodulation stream.run(), so maybe test my code in your computer and see if it's the same for you.


TestMaxSeriesLimit skipped in TSI inmem

TestMaxSeriesLimit is skipped in tsi branch w/ t.Skip("TODO(edd): AWAITING SERIES CHECK FUNCTIONALITY").  Enabling this test fails.  This will create a regression.
It also looks like the config option has changed to max-series-per-shard from max-series-per-database which will need to be documented in the release notes.

I think this limit should switch back to max-series-per-database and only apply to inmem indexes so that the functionality remains the same.  That's how we handle the max-values-per-tag limit as well.
We can add a max-series-per-shard limit for tsi1 indexes later if needed.

Fixed in 9fb8f1ec1d66c9ac367c4b9dc80738aa72751891.

I kept the the max-series-per-shard. I wanted to get @pauldix's feedback before ripping it out. @pauldix, do we need series limits on TSI?

We could have them, but I prefer not to. At the very least if we have them they should be zero by default.

@pauldix I agree. I removed it in d2b396b.

max-series-per-database is working again, but not the same as before.
It should only apply on writes.  It's currently applied when shards are loaded causing shards to fail to load.  May need to disable the limit at startup and set it again after loading.

@jwilder Fixed in 2edfb1c. The limit is ignored during load.

Works like before.


ISPN-8719 ToEmptyBytesKeyValueFilterConverter not compatible with

versions before 9.2

Added iterator methods to Codecs
Put appropriate methods on each Codec version

https://issues.jboss.org/browse/ISPN-8719

I have added tests and they all seem to work except for ProtocolVersion.2.3 where for some reason the result is getting jumbled and the messageId is found to be 0 causing a NPE. I am not sure where the bug is as the server side seems to be sending the correct bytes back. I need to look into it further still.

So the cause with version 2.3 is due to the fact that the retrieveEntries in newer clients always uses the 2.4 protocol even when 2.3 is set. Also newer clients can't communicate to any server of version 2.2 or older in general. So that means no client since 8.1 could ever talk to any version older than that.

Also fixed a 2.5+ client talking to 2.4 since it was always passing meta but that is not returned in 2.4. This would make reading entries return incorrect values and/or possibly hang.

This looks great. We will eventually need some integration tests for testing against combinations of servers/clients.


S4TF for macOS fails to build with LLDB Python3 support

I am using macOS Catalina 10.15.3 beta and Xcode 11.3.
I am trying to build S4TF for macOS with LLDB Python3 support so that I can use swift-jupyter.
Steps:
brew install python
brew install python@2
(Close and reopen terminal)
pip2 install numpy future six
sudo chown -R $(whoami) /usr/local/lib/pkgconfig
chmod u+w /usr/local/lib/pkgconfig
brew install cmake ninja
brew cask install java
(Download bazel-0.27.1-installer-darwin-x86_64.sh)
chmod +x bazel-0.27.1-installer-darwin-x86_64.sh
./bazel-0.27.1-installer-darwin-x86_64.sh
mkdir swift-source
cd swift-source
git clone https://github.com/apple/swift.git -b tensorflow
./swift/utils/update-checkout --clone --scheme tensorflow
cd swift
utils/build-toolchain-tensorflow
The script almost finishes but then ends on the following error code while trying to build swiftpm-macosx-x86_64:
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:742:2: error: derivative not in the same file as the original function
@derivative(of: tan, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:747:2: error: derivative not in the same file as the original function
@derivative(of: asin, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:751:2: error: derivative not in the same file as the original function
@derivative(of: acos, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:755:2: error: derivative not in the same file as the original function
@derivative(of: atan, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:759:2: error: derivative not in the same file as the original function
@derivative(of: sinh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:763:2: error: derivative not in the same file as the original function
@derivative(of: cosh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:767:2: error: derivative not in the same file as the original function
@derivative(of: tanh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:772:2: error: derivative not in the same file as the original function
@derivative(of: asinh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:776:2: error: derivative not in the same file as the original function
@derivative(of: acosh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:780:2: error: derivative not in the same file as the original function
@derivative(of: atanh, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:784:2: error: derivative not in the same file as the original function
@derivative(of: expm1, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:788:2: error: derivative not in the same file as the original function
@derivative(of: log1p, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:792:2: error: derivative not in the same file as the original function
@derivative(of: erf, wrt: x)
^
/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/lib/swift/macosx/Darwin.swiftmodule/x86_64.swiftinterface:796:2: error: derivative not in the same file as the original function
@derivative(of: erfc, wrt: x)
^
:0: error: failed to load module 'Darwin'
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift/Darwin.swiftmodule/x86_64.swiftinterface:720:15: error: use of unresolved identifier 'lgammaf_r'
let value = lgammaf_r(CFloat(x), &sign)
^~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift/Darwin.swiftmodule/x86_64.swiftinterface:725:15: error: use of unresolved identifier 'lgamma_r'
let value = lgamma_r(CDouble(x), &sign)
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift/Darwin.swiftmodule/x86_64.swiftinterface:730:15: error: use of unresolved identifier 'lgammal_r'
let value = lgammal_r(CLongDouble(x), &sign)
^~~~~~~~~
--- bootstrap: error: Command '['env', 'SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk', 'SWIFTCI_USE_LOCAL_DEPS=1', 'DYLD_LIBRARY_PATH=/Users/daniel/swift-source/build/buildbot_osx/swiftpm-macosx-x86_64/x86_64-apple-macosx/bootstrap/lib:/Users/daniel/swift-source/build/buildbot_osx/llbuild-macosx-x86_64/lib', 'SWIFT_EXEC=/Users/daniel/swift-source/swift/swift-nightly-install/Library/Developer/Toolchains/swift-tensorflow-LOCAL-2020-01-10-a.xctoolchain/usr/bin/swiftc', 'SWIFTPM_PD_LIBS=/Users/daniel/swift-source/build/buildbot_osx/swiftpm-macosx-x86_64/x86_64-apple-macosx/bootstrap/pm', '/Users/daniel/swift-source/build/buildbot_osx/swiftpm-macosx-x86_64/x86_64-apple-macosx/bootstrap/bin/swift-build', '--disable-sandbox', '--disable-index-store', '--build-path', '/Users/daniel/swift-source/build/buildbot_osx/swiftpm-macosx-x86_64', '--configuration', 'release']' returned non-zero exit status 1
./utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting
./utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting
daniel@Daniels-iMac swift %

Oops, sorry about that! It's bad that we didn't catch this macOS toolchain regression. The regression was introduced in https://github.com/apple/swift/pull/28933: it wasn't caught because apple/swift CI doesn't test macOS toolchain builds.
This issue is a duplicate of TF-1101, which I believe @marcrasi is investigating.

I have just merged https://github.com/apple/swift/pull/29137, which should fix this. I have not confirmed yet, because toolchain builds on my mac are being a bit flaky for seemingly-unrelated reasons. I'll close this issue when I or someone else confirms that it's fixed.

Hi marcrasi,
I get the following error now while the build script is trying to build swiftPM:/Users/daniel/swift-source/swiftpm: error: manifest parse error(s):
swift (LLVM option parsing): for the   --enable-experimental-cross-file-derivative-registration option: may only occur zero or one times!
Cheers,
Dan

Yep, I can reproduce that now. I'll try out a few things and hopefully discover a fix soon.


High memory use when token is invalid

Describe the bug
When the token is incorrect, there is a memory spike. Cause looks to be the databricks-sql-python lib (https://github.com/databricks/databricks-sql-python/issues/179).
Steps To Reproduce

Setup env.

python -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install memory_profiler matplotlib dbt-databricks~=1.5.0

Setup dbt project.

# ~/.dbt/profiles.yml
databricks:
  target: dev
  outputs:
    dev:
      type: databricks
      schema: dbt_jyeo
      host: <yourhost>.cloud.databricks.com
      token: <yourtoken>
      http_path: /sql/1.0/endpoints/<yourendpoint>

# root/dbt_project.yml
name: "my_dbt_project"
version: "1.0.0"
config-version: 2
profile: "databricks"
models:
  my_dbt_project:
    +materialized: table
    +file_format: delta

-- root/models/foo.sql
select 1 id

Using a token that's valid, run:
$ mprof run --output normal.dat dbt run
mprof: Sampling memory every 0.1s
running new process
08:53:12  Running with dbt=1.5.2
08:53:14  Registered adapter: databricks=1.5.5
08:53:16  Found 1 model, 0 tests, 0 snapshots, 0 analyses, 415 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics, 0 groups
08:53:16
08:53:17  databricks-sql-connector adapter: Successfully opened session 01ee247f-5beb-1fbc-b01f-177f69f758a7
08:53:18  databricks-sql-connector adapter: Closing session 01ee247f-5beb-1fbc-b01f-177f69f758a7
08:53:19  databricks-sql-connector adapter: Successfully opened session 01ee247f-5d31-14ca-ae88-3848529a54ce
08:53:20  databricks-sql-connector adapter: Closing session 01ee247f-5d31-14ca-ae88-3848529a54ce
08:53:21  Concurrency: 1 threads (target='dev')
08:53:21
08:53:21  1 of 1 START sql table model dbt_jyeo.foo ...................................... [RUN]
08:53:22  databricks-sql-connector adapter: Successfully opened session 01ee247f-5ecc-1f87-86e0-add48116142d
08:53:27  databricks-sql-connector adapter: Closing session 01ee247f-5ecc-1f87-86e0-add48116142d
08:53:27  1 of 1 OK created sql table model dbt_jyeo.foo ................................. [OK in 6.81s]
08:53:29  databricks-sql-connector adapter: Successfully opened session 01ee247f-62e4-17ff-aff2-f79efa639e71
08:53:29  databricks-sql-connector adapter: Closing session 01ee247f-62e4-17ff-aff2-f79efa639e71
08:53:29
08:53:29  Finished running 1 table model in 0 hours 0 minutes and 13.69 seconds (13.69s).
08:53:29
08:53:29  Completed successfully
08:53:29
08:53:29  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
$ mprof plot normal.dat

Now, edit the token so that it is invalid (like removing some characters from it), run:
$ mprof run --output error.dat dbt run
mprof: Sampling memory every 0.1s
running new process
08:56:02  Running with dbt=1.5.2
08:56:03  Registered adapter: databricks=1.5.5
08:56:04  Found 1 model, 0 tests, 0 snapshots, 0 analyses, 415 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics, 0 groups
08:56:04
08:56:07  databricks-sql-connector adapter: Error during request to server: : Invalid access token.: {"method": "OpenSession", "session-id": null, "query-id": null, "http-code": 403, "error-message": ": Invalid access token.", "original-exception": "", "no-retry-reason": "non-retryable error", "bounded-retry-delay": null, "attempt": "1/30", "elapsed-seconds": "2.977200984954834/900.0"}
08:56:07
08:56:07  Finished running  in 0 hours 0 minutes and 3.03 seconds (3.03s).
08:56:07  Encountered an error:
Runtime Error
  Runtime Error
    Database Error
      Error during request to server: : Invalid access token.
$ mprof plot error.dat

Expected behavior
Memory not to spike to 2 GB for some reason?
Screenshots and log output
Debug logs on errored run - doesn't seem useful:
============================== 20:56:02.087081 | 6799eb4c-5179-42b0-9256-e94870531cb1 ==============================
20:56:02.087081 [info ] [MainThread]: Running with dbt=1.5.2
20:56:02.088240 [debug] [MainThread]: running dbt with arguments {'printer_width': '80', 'indirect_selection': 'eager', 'write_json': 'True', 'log_cache_events': 'False', 'partial_parse': 'False', 'cache_selected_only': 'False', 'profiles_dir': '/Users/jeremy/.dbt', 'version_check': 'True', 'fail_fast': 'False', 'log_path': '/Users/jeremy/src/dbt-sandcastles/dbt/databricks/logs', 'debug': 'False', 'warn_error': 'None', 'use_colors': 'True', 'use_experimental_parser': 'False', 'no_print': 'None', 'quiet': 'False', 'log_format': 'default', 'introspect': 'True', 'static_parser': 'True', 'warn_error_options': 'WarnErrorOptions(include=[], exclude=[])', 'target_path': 'None', 'send_anonymous_usage_stats': 'True'}
20:56:03.640508 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'project_id', 'label': '6799eb4c-5179-42b0-9256-e94870531cb1', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x109687850>]}
20:56:03.667248 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'adapter_info', 'label': '6799eb4c-5179-42b0-9256-e94870531cb1', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b065b50>]}
20:56:03.668028 [info ] [MainThread]: Registered adapter: databricks=1.5.5
20:56:03.710387 [debug] [MainThread]: checksum: 2435fa7be9fcfa6ffe15da8f202ddc09867bf7d6308330064299ccb85c8646b5, vars: {}, profile: , target: , version: 1.5.2
20:56:03.712012 [debug] [MainThread]: Partial parsing not enabled
20:56:04.861308 [debug] [MainThread]: 1699: static parser successfully parsed foo.sql
20:56:04.925382 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'load_project', 'label': '6799eb4c-5179-42b0-9256-e94870531cb1', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b2620d0>]}
20:56:04.935211 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'resource_counts', 'label': '6799eb4c-5179-42b0-9256-e94870531cb1', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b27da30>]}
20:56:04.936045 [info ] [MainThread]: Found 1 model, 0 tests, 0 snapshots, 0 analyses, 415 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics, 0 groups
20:56:04.936798 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'runnable_timing', 'label': '6799eb4c-5179-42b0-9256-e94870531cb1', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b065dc0>]}
20:56:04.939568 [info ] [MainThread]:
20:56:04.941355 [debug] [MainThread]: Acquiring new databricks connection 'master'
20:56:04.943119 [debug] [ThreadPool]: Acquiring new databricks connection 'list_schemas'
20:56:04.956693 [debug] [ThreadPool]: Using databricks connection "list_schemas"
20:56:04.957372 [debug] [ThreadPool]: On list_schemas: /* {"app": "dbt", "dbt_version": "1.5.2", "dbt_databricks_version": "1.5.5", "databricks_sql_connector_version": "2.7.0", "profile_name": "databricks", "target_name": "dev", "connection_name": "list_schemas"} */

    show databases

20:56:04.957811 [debug] [ThreadPool]: Opening a new connection, currently in state init
20:56:07.954693 [info ] [ThreadPool]: databricks-sql-connector adapter: Error during request to server: : Invalid access token.: {"method": "OpenSession", "session-id": null, "query-id": null, "http-code": 403, "error-message": ": Invalid access token.", "original-exception": "", "no-retry-reason": "non-retryable error", "bounded-retry-delay": null, "attempt": "1/30", "elapsed-seconds": "2.977200984954834/900.0"}
20:56:07.956484 [debug] [ThreadPool]: Databricks adapter: <class 'databricks.sql.exc.RequestError'>: Error during request to server: : Invalid access token.
20:56:07.957100 [debug] [ThreadPool]: Databricks adapter: attempt: 1/30
20:56:07.957594 [debug] [ThreadPool]: Databricks adapter: bounded-retry-delay: None
20:56:07.957989 [debug] [ThreadPool]: Databricks adapter: elapsed-seconds: 2.977200984954834/900.0
20:56:07.958367 [debug] [ThreadPool]: Databricks adapter: error-message: : Invalid access token.
20:56:07.958745 [debug] [ThreadPool]: Databricks adapter: http-code: 403
20:56:07.959208 [debug] [ThreadPool]: Databricks adapter: method: OpenSession
20:56:07.959709 [debug] [ThreadPool]: Databricks adapter: no-retry-reason: non-retryable error
20:56:07.960121 [debug] [ThreadPool]: Databricks adapter: original-exception:
20:56:07.960470 [debug] [ThreadPool]: Databricks adapter: query-id: None
20:56:07.960802 [debug] [ThreadPool]: Databricks adapter: session-id: None
20:56:07.961284 [debug] [ThreadPool]: Databricks adapter: Error while running:
/* {"app": "dbt", "dbt_version": "1.5.2", "dbt_databricks_version": "1.5.5", "databricks_sql_connector_version": "2.7.0", "profile_name": "databricks", "target_name": "dev", "connection_name": "list_schemas"} */

    show databases

20:56:07.961992 [debug] [ThreadPool]: Databricks adapter: Database Error
  Error during request to server: : Invalid access token.
20:56:07.963055 [debug] [ThreadPool]: Databricks adapter: Error while running:
macro list_schemas
20:56:07.963919 [debug] [ThreadPool]: Databricks adapter: Runtime Error
  Database Error
    Error during request to server: : Invalid access token.
20:56:07.964797 [debug] [ThreadPool]: On list_schemas: No close available on handle
20:56:07.966655 [debug] [MainThread]: Connection 'master' was properly closed.
20:56:07.967149 [debug] [MainThread]: Connection 'list_schemas' was properly closed.
20:56:07.967594 [info ] [MainThread]:
20:56:07.968599 [info ] [MainThread]: Finished running  in 0 hours 0 minutes and 3.03 seconds (3.03s).
20:56:07.970006 [error] [MainThread]: Encountered an error:
Runtime Error
  Runtime Error
    Database Error
      Error during request to server: : Invalid access token.
20:56:07.971475 [debug] [MainThread]: Command `dbt run` failed at 20:56:07.971265 after 5.93 seconds
20:56:07.972068 [debug] [MainThread]: Sending event: {'category': 'dbt', 'action': 'invocation', 'label': 'end', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x10856a220>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b065dc0>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x11b262d30>]}
20:56:07.972573 [debug] [MainThread]: Flushing usage events

System information
The output of dbt --version:
Core:
  - installed: 1.5.2
  - latest:    1.5.2 - Up to date!

Plugins:
  - databricks: 1.5.5 - Up to date!
  - spark:      1.5.0 - Up to date!

The operating system you're using:
macOS
2 GHz Quad-Core Intel Core i5
16 GB 3733 MHz LPDDR4X

The output of python --version:
Python 3.9.13

Additional context
Couple of other version tests using a bad token:
dbt-databricks 1.4

dbt-spark 1.5 (ODBC)

Using dbt-spark, the memory consumption seems more reasonable and doesn't spike:
dbt-spark adapter tested using the following profile:
# ~ /.dbt/profiles.yml
spark:
  target: dev
  outputs:
    dev:
      type: spark
      schema: dbt_jyeo
      method: odbc
      driver: /Library/simba/spark/lib/libsparkodbc_sbu.dylib
      host: <yourhost>.cloud.databricks.com
      endpoint: <yourendpoint>
      token: <yourtoken> # make this invalid
      port: 443
      connect_timeout: 10

Did some previous memory usage testing previously: https://github.com/jeremyyeo/dbt-performance/blob/main/202304_dbt-spark-databricks-memory-usage/stats.ipynb - dbt-databricks adapter does consume more memory than dbt-spark typically - but this scenario (token error) seems to be much worse.

I suspect this is an issue with dbt-core or an upstream change in dbt-spark creating the memory spike. In April 2023 we investigated what appeared to be a memory leak when running Databricks jobs in dbt cloud that exhibited a similar spike just as the dbt command concluded.

I don't believe the leak comes from databricks-sql-connector since we manually injected mprof statements into the connector's source code to see if the memory spiked within the connector or within dbt and the result was dbt.
This research resulted in this PR to dbt-core which fixed the OOM at the time. https://github.com/dbt-labs/dbt-core/pull/7371
For this issue, we need to see if we can

Reproduce this issue with dbt-databricks
Reproduce it with databricks-sql-connector

@jeremyyeo if this issue still reproduces for you, can you open the bug on the sql connector if you haven't already?

@benc-db There is already an open issue on databricks-sql-connector for this here: https://github.com/databricks/databricks-sql-python/issues/179
But we can't reproduce it. Like I mentioned in my comment above, this appears to be an issue in either dbt-core or dbt-spark. It could be in our connector but without reproduction steps we can't do RCA or validate a fix.


New docker documentation page

Also, a few minor tweaks in other docs.

@elibarzilay,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


how to include the node module of this library in an angular project?

Please see this link: https://stackoverflow.com/questions/46656779/call-to-node-module-failed-with-error-prerendering-failed-because-of-error-err
I get an error:
ERROR in ./ClientApp/app/app.module.shared.ts
Module not found: Error: Can't resolve 'ngx-treeview' in '\ClientApp\app'
@ ./ClientApp/app/app.module.shared.ts 6:21-44
Any help to solve this?

Sorry, I can't help you to find root cause. But I still keep track this issue.


Remove runtime external dependency

Enhance... Enhance...
Remove runtime external dependency and move hex to rgb conversion into src

Fixed


Add program_id to configuration

:-1: there's no default Payoneer program id (you get different program ids for different currencies), Teespring only has one program id bc our payouts are currently only in USD

ooooohhhhh k. Closing because this makes no sense.


Unable to install

This may be a dumb question but how do I get past this error? I have the latest VLC software but don't want to downgrade to v2.1.5
Not sure how to get active x. Check out the images. Thanks a lot.

Same problem with me.

You need to use the VLC setup .exe, not the zip