Prompt mode context

Prompting might lead to a question from the model to explain or demonstrate further. Answering yes in a follow-up prompt will not yield an explanation or a demonstration since the model regards the user's response as a new prompt.

Hey @despaircode sorry for delay -- can you give an example? I've done this in goal mode and it works well. And with normal prompting it's pretty similar to a chatbox so you can do similar things like say "continue" if the answer is cut off.


Implement Iterator for Scanner

What property can be improved?
Testability of the Parser class
How can that property be improved?
Right now, the Parser relies on the specific Scanner implementation, which is not necessary by design. All it needs is a sequence of Tokens that it can transform. Making it dependent on the Scanner makes testing more difficult, error-prone, and verbose, as another TestScanner class is used at the moment. The Scanner should therefore implement the Iterator interface which would allow the Parser to operate on an Iterator as well.

The Iterable interface is not necessary since the Scanner is mainly used in the Parser who needs to call hasNext() and next() anyway.


[bug]: Autocomplete broken (even in docs demo) - popover does not appear while typing

Describe the bug
I expect the autocomplete popover to appear as soon as I start typing, but it doesn't. I'm on latest (1.4.4). failure is created by minimal reproduction with only required props enableAutocomplete={true} and autocomplete options like so
  const autocompleteOptions = [
    { id: "1", text: "outdoor" },
    { id: "2", text: "indoor" },
    { id: "3", text: "level 1" },
    { id: "4", text: "level 2" },
    { id: "5", text: "east" },
    { id: "6", text: "south" },
    { id: "7", text: "west" },
    { id: "8", text: "north" },
  ];

How to reproduce
Check the demo example, the autocomplete popup does not appear. https://emblor.jaleelbennett.com/api-reference
Link to reproduction
https://github.com/JaleelB/emblor
Additional information
No response

@lucasdellabella Did you by any chance hit the popover trigger dropdown?
https://github.com/user-attachments/assets/9e65ed20-531b-495a-b96d-64b5fd80ebaf
I probably should have the drop-down appear on input focus but that isn't a bug

@JaleelB Yeah, autocomplete is a bit funky so thought there was just some bigger general issue (e.g. if i already have typed into the input field, and then try to open the popup, the popup is broken). Can make a feature request, i already forked, may be able to make the change myself in which case I'll open a PR.
Do you want it just as a boolean setting, "openAutocompletePopoverOnFocus?: boolean"?

@JaleelB Yeah, autocomplete is a bit funky so thought there was just some bigger general issue (e.g. if i already have typed into the input field, and then try to open the popup, the popup is broken). Can make a feature request, i already forked, may be able to make the change myself in which case I'll open a PR.
Do you want it just as a boolean setting, "openAutocompletePopoverOnFocus?: boolean"?

Make it the default functionality. It makes sense for it to be that way. A prop just complicates that

https://github.com/user-attachments/assets/bfc40884-9785-42e7-b4fc-f2acc33b5de2
The changes discussed have been implemented in the latest version of the package


WIP V9 #query9 and #write9

Please review and comment..
This version handles on a single point, with multiple tags...

If you're looking to submit support for breaking changes in InfluxDB's API as a PR to the main repo, I would suggest looking at implementing some kind of versioned API support - creating 2 parallel implementations that are loaded depending on how the client is configured (most of the code would be shared, but that's not a big deal).
If you're just looking to hack something together quickly to use, I wouldn't bother preserving the old write functionality, just re-implement the write and write_point methods accordingly.


Change nginx controller image to 0.9.0-beta.1

This change is

Coverage remained the same at 44.24% when pulling 3a37607138e3bbdb83dd393241d1fdd3a6232176 on bprashanth:nginx-release into 910b706f8f1a81aee917846021f17d4db46c7944 on kubernetes:master.

/lgtm


API Error 403 Forbidden

Hello!
When attempting to import Datadog dashboards with Terraformer, according to the docs, I get the following error:
API error 403 Forbidden: {"errors": ["Forbidden"]}

I'm using the following command:
 terraformer import datadog --resources=dashboard --filter=datadog_dashboard=<my-dash-id> --api-key=<my-api-key> --app-key=<my-app-key>

However it works fine to import states of dashes using Terraform's commands using the same keys. Here are Terraform's commands that import the states of dashes:
terraform import datadog_dashboard.<name-of-dash> <my-dash-id>

Does anyone have an idea on the reason to why I'm getting this API error?
Thanks!
Edit:
I'm using Datadog EU, so is it necessary to state the API url for EU in Terraform's commands?

Solution: Needed to add api key, app key and host url to zshrc file

Hey,
I curently have the same problem, do you have by any chance more explanations on how you solved this ? my error :
2021/04/30 10:22:05 datadog importing... monitor
2021/04/30 10:22:06 datadog error initializing resources in service monitor, err: 403 Forbidden
2021/04/30 10:22:06 datadog Connecting....
my command :
terraformer import datadog --resources=monitor --api-key="" --app-key=""

Are you passing real values for the keys?


feat: custom typeguard based validation

The motivation is to allow users to pass their own type guards which is the ultimate form of freedom imho.
My usecase is that i want to validate country codes, an enum which i pull from an external repo (here: https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/blob/master/all/all.json)
I don't want to have a pass of authoring on that list to avoid introducing corruption of data, so I'd rather write a type guard instead such as:
import iso3166Data from './all.json'

type Alpha2 = typeof iso3166Data[number]['alpha-2']
const Alpha2Codes = iso3166Data.map(entry => entry['alpha-2'])

export const isAlpha2(arg: any): arg is Alpha2 => Alpha2Codes.includes(arg)

The proposed features would allow this:
const Alpha2Schema = typeGuard(isAlpha2),
const countryCode = parse(Alpha2Schema, 'FR') // typed as Alpha2

of course you may argue that i could use the typeguard directly, but i'm trying to validate a form using object(), so i'd need it as a schema.

For your use case you could also use enumType or special:
const FOO_BAR = ['foo', 'bar']

type FooBar = (typeof FOO_BAR)['number']

function isFooBar(arg: any): boolean {
  return FOO_BAR.includes(arg)
}

const EnumSchema = enumType(FOO_BAR);
const SpecialSchema = special<FooBar>(isFooBar);

I didn't know special would exactly act as what i was trying to achieve, but it looks like it. closing in favor 🙏


[Staging] Can't create new folder on Dashboard

Steps

Only in staging
Go to my dashboard.
Click add a folder
Enter a name and hit add

Expected
To create a new folder.
Actual
An error message comes up and a new folder is not created.

@ginavuu This is just Staging? And is / has this been a consistent error for you?

I am also seeing this- both in staging and production, consistently. The selected top-level folder at the time was "dashboard".
Possibly helpful: when the error occurs, the following message appears on the console:
PUT  https://staging.osf.io/api/v1/folder/ [HTTP/1.1 404 NOT FOUND 26ms]

Yeah, that's bad. https://github.com/CenterForOpenScience/osf.io/blob/develop/website/routes.py#L979 should be catching that route.

Thanks to @lyndsysimon , we've traced the problem: the route has a decorator @must_be_valid_project, which raises a 404 if there is no <pid> or <nid> in the URL. (broke on April 20 when the decorator was added)
The decorator was necessary to ensure that the specified dashboard node exists (and explains the 404 error code), but it makes assumptions that do not match the form of this API route.
One proposed solution is to change the route to one of the form /folder/<pid> and update all pages that use that route. It would also help to add a test. Will discuss with @brianjgeiger   after QA.

Who wants it? :smiling_imp:

Apparently, @samchrisinger  and @sloria do, as of ~3pm.  See:
4589170aff0537af87648e456b96e6a8762c45c0
A regression test on the add_folder route might still be helpful. Otherwise, folder creation is now working for me in production and on staging.

@abought That commit was only merged into develop. Are you still seeing this bug on production?

I am able to create folders on production. (Not sure what was happening yesterday- it's possible I had two open tabs mixed up. Glad it's working.)

Going to close this now - TY


Improve Flutter API docs for overlapping method names

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Flutter API documentation http://api.flutter.dev such as for the Navigator class, currently prioritizes static methods over instance methods when they share the same name.
This is evident in the Navigator class where the static pop method is highlighted while the instance pop method is not visible. Developers may overlook important functionalities or misunderstand a class's full capabilities due to this.
For instance, on the Navigator class documentation page, the instance pop / maybePop / push methods are not mentioned.
Proposal
Enhancing the Flutter API documentation to equally display static and instance methods.

The Navigator class only has static pop / maybePop / push methods and no instance methods of the same name. The instance methods you may be referring to are on the NavigatorState accessible via Navigator.of.

You are right.
When I try to have both instance and static method the analyzer throws a warning:

Class 'MyClass' can't define static member 'pop' and have instance member 'MyClass.pop' with the same name.  Try renaming the member to a name that doesn't conflict.


run rspec need to add bundle exec

when I use knapsack with rspec. When try to run it with command rspec, it give errors:
/Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `require': cannot load such file -- knapsack (LoadError)
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `block in require'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:232:in `load_dependency'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `require'
	from /Users/fakeuser/Sites/turbo/spec/spec_helper.rb:4:in `<top (required)>'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `require'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `block in require'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:232:in `load_dependency'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:247:in `require'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1280:in `block in requires='
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1280:in `each'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1280:in `requires='
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb:108:in `each'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb:108:in `process_options_into'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb:21:in `configure'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:101:in `setup'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:88:in `run'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:73:in `run'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:41:in `invoke'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/rspec-core-3.3.2/exe/rspec:4:in `<top (required)>'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:241:in `load'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:241:in `block in load'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:232:in `load_dependency'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:241:in `load'
	from /Users/fakeuser/.rvm/gems/ruby-2.1.5/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call'
	from /Users/fakeuser/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /Users/fakeuser/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from -e:1:in `<main>'

but when run it with bundle exec rspec, it works like a charm.
have anyone know the reason?

Hi @wendy0402
This is a common problem. bundle exec rspec executes in the context of your bundle so you should use it instead of just rspec. Take a look http://stackoverflow.com/a/8275912/905697


Translated 'how-to-setup-freecodecamp-locally.md' into Korean

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

@nancydocode Please revert the change which deletes the curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops.english.md file from the repo.

@RandellDawson I am sorry. I deleted it because the changes in that file should not be merged into the original file and I found out it on this PR.

Well, you need to remove the commit which deleted the file, because if we merge the PR, we would delete the file from the repo.

@RandellDawson I reverted the document. Would this way work? I am sorry to bother you.

Looks fine now.


Getting warning implementing ObjectSubclass

Hi everyone,
I am new to the rust and trying to play around with gtk4-rs.
I subclassed the ApplicationWindow. Everything is compiling but impl ObjectSubclass for TestWindow { is showing an error:

Not all trait items implemented, missing: Interfaces, Instance, Class [E0046]
the trait bound TestWindow: ObjectSubclassType is not satisfied [E0277] the trait ObjectSubclassType is not implemented for TestWindow

The central trait for subclassing a GObject type.
Links together the type name, parent type and the instance and class structs for type registration and allows subclasses to hook into various steps of the type registration and initialization.
See register_type for registering an implementation of this trait with the type system.

Below is the code snippet, but again, this code is compiling successfully and I can see this error only in IDE (IntelJ)
// imp
#[derive(Default)]
pub struct TestWindow;

#[glib::object_subclass]
impl ObjectSubclass for TestWindow {
    const NAME: &'static str = "MyGtkAppTestWindow";
    type Type = super::TestWindow;
    type ParentType = gtk::ApplicationWindow;
}

impl ObjectImpl for TestWindow {

    fn constructed(&self, obj: &Self::Type) {
        self.parent_constructed(obj);
        obj.set_title(Some("First GTK Program"));
        obj.set_default_size(350, 70);

        let button = gtk::Button::with_label("Click me!");

        button.connect_clicked(|_| {
            std::process::exit(0);
        });

        obj.set_child(Some(&button));
    }
}

impl WidgetImpl for TestWindow {}

impl WindowImpl for TestWindow {}

impl ApplicationWindowImpl for TestWindow {}

mod imp;

use glib::Object;
use gtk::{glib, Application};
use glib::object::IsA;

glib::wrapper! {
    pub struct TestWindow(ObjectSubclass<imp::TestWindow>)
        @extends gtk::ApplicationWindow, gtk::Window, gtk::Widget;
}

impl TestWindow {
    pub fn new<P: IsA<Application>>(application: &P) -> Self {
        let window: TestWindow = Object::new(&[("application", &application)])
            .expect("Failed to create TestWindow");

        window
    }
}

impl Default for TestWindow {
    fn default() -> Self {
        panic!("Application instance must be provided");
    }
}

Would be great, if someone could help me.
Thanks!

That's probably a limitation of the Intellij's Rust integration where it can't detect optional associated types. I don't reproduce that here with VSCode & Rust Analyzer

Thank you @bilelmoussaoui ! Glad to know it is an IDE issue

There's nothing we can do here, you won't notice the issue once Intellij's Rust integrations supports macros properly.


Re-alert based on alert title

Thanks for the great tool!
Is it possible to realert based on an alert title instead of a rule name?
For example I have a rule that alerts by key when a host stops sending logs. Can I tell elastalert to only mute the alert based on “Drop in logs for host ABC” instead of the entire rule “Drop in logs”? (I still want to know if other hosts stop sending logs too).
I guess my broader question is: on what exactly does realert decide that an alert is "duplicate" - especially when the alert is not based on a single document, but based on a trend.
Thanks!

Looking at the documentation, I can see that it will on distinguish between alerts for a single rule if the query_key is set - is there another way to select a field that should be considered "uniquely identifying an alert" and mute on that one instead, without using a query key?


jquery.toolbar with Bootstrap 3.0.3 isn't display correctly.

When I use jquery.toolbar with bootstrap 3.0.3, the button and menu isn't display correctly.

I find a solution doing my own jquery.toolbar.bootstrap3.css and puting this styles:

.btn-toolbar{
	width: 35px;
 	height: 35px;
	line-height: 2px;
}

.tool-item{
	  width: 35px;
	  height: 100%;
}

maybe you can find better solution.

@ghernandezr Thx for the hotfix, it works perfectly, hope for integrating to master branch

This worked for me (inside my css file):

{
-webkit-box-sizing: content-box;
}

It seems as bootstrap overwrite default value of box-sizing for all elements by following CSS rule:
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

So, you probably have to add:
.tool-container, .tool-item, .btn-toolbar {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

@smeinecke That deserves a Thank you!

This "Fix" does not work if you want to use Bootstrap 3 Button toolbars. I ran into this problem today and wondered about the strange rendering of my Buttons on certain pages.
The problem here is a naming collision with Bootstrap 3: https://getbootstrap.com/docs/3.3/components/#btn-groups-toolbar
Maybe a more satisfying solution to rename the .btn-toolbar class to something else?


[Messaging Clients] Token Refresh Interval Fix

Summary
The focus of these changes is to fix two errors in the calculation for the authorization token refresh interval.  The calculation should have been consistently using UTC time. Additionally, parameters for the calculation were reversed, causing tokens to be refreshed more aggressively than they should have been.
Last Upstream Rebase
Tuesday, October 27, 9:04am (EDT)

/azp run net - eventhub - tests

/azp run net - servicebus - tests


Can we add to the current shellHook instead of dying silently?

https://github.com/Mic92/sops-nix/blob/a0e8ec2e2b0f4575e1b4da5713d691c80ca5d055/pkgs/sops-pgp-hook/sops-pgp-hook.bash#L28
My current shellHook is
  shellHook = ''
    export NIX_PATH=nixpkgs=${src.nixpkgs}
    nix build -f deployments.nix one-runner -o deploy-one-runner
    nix build -f deployments.nix canary-runner -o deploy-canary-runner
  '';

which is quite useful. I did not understand at first why the SOPS_PGP_FP env var was not automatically set. May I suggest that we concatenate the current shellHook with the pgpHook? I'll try to write a PR for this.

Also rather than SOPS_PGP_FP I would now suggest .sops.yaml as this works better with multiple hosts

Also rather than SOPS_PGP_FP I would now suggest .sops.yaml as this works better with multiple hosts

Hey @Mic92 thanks for the pointer. Could this be somewhere in the README? I came to sops-nix being unfamiliar with sops itself, and I suspect other people would be in the same situation.

Hey @Mic92 thanks for the pointer. Could this be somewhere in the README? I came to sops-nix being unfamiliar with sops itself, and I suspect other people would be in the same situation.

Hey @Mic92 thanks for the pointer. Could this be somewhere in the README? I came to sops-nix being unfamiliar with sops itself, and I suspect other people would be in the same situation.

Yes. That should be added. I learned that while using sops more after I created sops-pgp-hook.bash

Hey @Mic92 thanks for the pointer. Could this be somewhere in the README? I came to sops-nix being unfamiliar with sops itself, and I suspect other people would be in the same situation.

Yes. That should be added. I learned that while using sops more after I created sops-pgp-hook.bash


Improving support for ${target_name} expansion

I have found there are times when it is helpful to have some variable expansion. In particular, I have a postBuildScripts that I'd like to execute. In this case it is copying some files and would be great if I could use ${target_name} in this case to expand the name to use the target name so I can cut and paste this into files.
Right now it doesn't do anything, so it remains ${target_name}.
This is what I'd like to ideally do:
    postBuildScripts:
      - script: |
          cp ${DERIVED_FILES_DIR}/${target_name}-Swift.h ${BUILT_PRODUCTS_DIR}/${target_name}.framework/Headers
          cp -rv ${BUILT_PRODUCTS_DIR}/${target_name}.swiftmodule ${BUILT_PRODUCTS_DIR}/${target_name}.framework/Modules
        name: Copy SWIFT_OBJC_INTERFACE_HEADER_NAME and swiftmodule

Note that I have improved the above script by assigning the target name to a single variable first and then using that internally. But it will still be a nice to have.

What if you intend to or accidentally define ${target_name} as normal bash variable though?
How could we differentiate them?

Great question. Perhaps there is no good solution for this with scripts.
I did also try and use ${target_name} in not script cases and it also didn't seem to work. It only seems, per the spec, to work with targetTemplates

It only seems, per the spec, to work with targetTemplates

Sorry I didn't get your point.
But my point is, that (IMO) this would be too complicated feature to have.🙅♂

I think that you can get around the limitation of the fact that target_name isn't expanded in all properties of the template by expanding it into a build setting and then referencing that... Something like this:
InternalFrameworkBase:
  templates: [VersionedInfoPlist]
  platform: iOS
  settings:
    base:
      MYPREFIX_TARGET_NAME: ${target_name}
  postBuildScripts:
    - name: Copy SWIFT_OBJC_INTERFACE_HEADER_NAME and swiftmodule
      script: |
        cp ${DERIVED_FILES_DIR}/${MYPREFIX_TARGET_NAME}-Swift.h ${BUILT_PRODUCTS_DIR}/${MYPREFIX_TARGET_NAME}.framework/Headers
        cp -rv ${BUILT_PRODUCTS_DIR}/${MYPREFIX_TARGET_NAME}.swiftmodule ${BUILT_PRODUCTS_DIR}/${MYPREFIX_TARGET_NAME}.framework/Modules

@toshi0383 Understandable
@liamnichols A co-worker ended up using a macro to solve it.

I'd like to keep this open as I see value in this

@yonaskolb: do you see any downsides for using the ${} pattern for replacements while generating given that it’s also used at build time?
I’m just wondering if using a different pattern has ever been considered?

Riffing on @liamnichols question a bit. Has there been any thought in perhaps allowing to define an alternate pattern for replacement. If this could be set either at a global level or on a property level.
Admittedly I haven't looked at any of the code. Just throwing it out there, since it would be helpful in the scripting case since you can define your shell which may change what pattern you'd need.

Maybe we can replace ${target_name} to something like {% target_name %}.💪


build: add openshift docker image

Issue: https://github.com/moov-io/ach/issues/726

Codecov Report

Merging #727 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #727   +/-   ##
=======================================
  Coverage   93.13%   93.13%
=======================================
  Files          65       65
  Lines        5796     5796
=======================================
  Hits         5398     5398
  Misses        239      239
  Partials      159      159


chore: use tinyglobby instead of fast-glob in Vitest

This reverts commit 70baaaa9f67fff6f9fac45417a58b736185fbe3b.
Description
Discussed here: https://github.com/vitest-dev/vitest/pull/6688#issuecomment-2526500577
There are a few things I'm not sure of here:

why the snapshot is failing when I updated it
why building updated the packages/ui/client/auto-imports.d.ts file
why lint is failing on spacing issues on a bunch of files I didn't touch

Please feel free to push any changes to do necessary cleanups. I hope this is 90% of the way there and saved you some effort in putting together the PR
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[ ] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[ ] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

why lint is failing on spacing issues on a bunch of files I didn't touch

The lockfile contains plenty of changes, including updating @antfu/eslint-config which is likely causing the lint errors. Please stage only the specific lines of lockfile to avoid such errors.

The lockfile contains plenty of changes, including updating @antfu/eslint-config which is likely causing the lint errors. Please stage only the specific lines of lockfile to avoid such errors.

Thanks! That suggestion helped a lot and fixed the issue. I was surprised it was updating other things, but I guess that happened since this PR started by reverting another one, so thanks for catching it!


CAD-2078: add KES remaining in days.

It would be nice to have another line inside the KES tab specifying in how many days the actual KES should be renewed. For mainnet, I think it is something like cardano_node_Forge_metrics_remainingKESPeriods_int * 129600 * 1 / 3600 / 24.

I think, in the near future, I'll change the design of how KES information is displaying. But currently, we (at least) already display these 5 numbers.


Link to Github help

The README stresses that this repo is intended for forks, but Github newbies
may have no idea what these are about, so we link to the official docs!
We provide more links to GitHub help for newbies : branch management, issues, milestones labels and wikis

Hey Alex thank's for helping to improve the README.

👍  lgtm


[HDInsight][Data Plane] Hdinsight job client supports token credential

Contributing to the Azure SDK
This PR is about updating HDInsight data plane SDK, this PR doesn't use the new swagger to generate new code, just adding some new logic in customization code.
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

Hi team, could you please  help review this PR?

Hi @weshaggard @JoshLove-msft @ArcturusZhang ,
Hoping you are everything goes well. Could you please help review this PR?  Thanks.


Get fields of result

In vanilla node-mysql you can get the fields of a returned query like this:
con.query("...", (err, results, fields) => { console.log(fields) } )

But with node-promise-mysql it seems to have lost that ability:
con.query("...")
    .then((results, fields) => {
        console.log(fields) // undefined
    });

This feels like something that has been overlooked, I was hesitant to post this as an issue as I might just be looking in the wrong place; but I can't figure out how to get the columns.
Thank you in advance!

There's a branch that I'm working on that brings this back.
On Thu, 5 Jul 2018, 12:23 Charlie<EMAIL_ADDRESS>wrote:

In vanilla node-mysql you can get the fields of a returned query like this:
con.query("...", (err, results, fields) => { console.log(fields) } )
But with node-promise-mysql it seems to have lost that ability:
con.query("...")
.then((results, fields) => {
console.log(fields) // undefined
});
This feels like something that has been overlooked, I was hesitant to post
this as an issue as I might just be looking in the wrong place; but I can't
figure out how to get the columns.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lukeb-uk/node-promise-mysql/issues/94, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AEjy1Fhq_dXdcr2EE5X7AvYq6Pp5dz4wks5uDfcygaJpZM4VDtTh
.

Is there any way I could access that branch? If it's stable that is. I don't need the majority of the package's functionality.
NB: Jesus that was a quick reply

Thanks man! Is there any way I could unpack the array before passing it as arguments so I could still use it in the clean results => { ... } way instead of having to do ([results, fields]) => { ... } every time?

Ah that's a shame. Seems like a pretty pointless restriction.

It's what's in the spec 🤷♂
If this issue is resolved, please close it

Ah sorry about that, forgot closing issues was a thing. :P


PDF page size does not match the HTML page size

I'm currently working with multipage PDF, where I define HTML pages using especific width and height values and then I'm using those same values to define the size of the PDF pages as well. The thing is that the results I'm getting on the generated PDFs are most of the time inconsistent, as you can see bellow.
Sometimes the HTML page renders a bit smaller than the PDF page, generating a small gap at the bottom:

Oher times, the HTML page renders a bit taller thn the PDF page, and the content overflows to the next PDF page:

I've tried virtually every possible solution on the internet (including all the ones proposed in similar issues of this repo, like in #2278), with no luck yet.
Among other things, I've already tried and didn't solve the problem:

Using different measure units, such as mm and pt.
Including preferCSSPageSize: true in Puppetter options and using @page CSS rule.
Playing around with display, position, font-size and line-height CSS properties of the HTML pages and their inner content.

Environment

Puppeteer version: 5.5.0
Platform / OS version: Windows 10 Home Edition 2004
Node.js version: v12.18.3

Steps to reproduce the problem
Here's a super simplified way to reproduce the issue, using multiple HTML pages in blue background:

Setup Node project: npm init -y
Install puppeteer : npm i puppeteer
Create an index.js file with the following code:

const puppeteer = require("puppeteer");

(async () => {
    let browser;

    try {
        browser = await puppeteer.launch({
            headless: true,
            args: ["--disable-web-security"],
        });

        const htmlDocument = `
        <!DOCTYPE html>

                <meta charset="UTF-8" />
                <meta name="viewport" content="width=device-width, initial-scale=1.0" />
                <title>Document</title>

        `;

        const page = await browser.newPage();

        await page.setContent(htmlDocument, { waitUntil: "networkidle2" });

        await page.pdf({
            path: "./index.pdf",
            printBackground: true,
            preferCSSPageSize: true,
            margin: {
                top: 0,
                right: 0,
                bottom: 0,
                left: 0,
            },
        });

        await browser.close();
    } catch (err) {
        if (browser) {
            await browser.close();
        }

        throw err;
    }
})();

Run node index.js
Open the index.pdf file

Expected result
The PDF pages should match the size of the HTML pages.
What happens instead
The PDF and the HTML pages size does not match. As a result, the PDF pages have white gaps on the edges and in some cases, the HTML pages overflow from one page to the next.
I would appreciate any help or suggestion to address this issue. Thanks in advance.

@mcama
Hey - did you find a solution?

@mcama Hey - did you find a solution?

No, unfortunately. I ended up using PDFKit, a different and more complex solution -similar to the HTML Canvas API- however, it produces highly robust and precise results.

There is a way around this!
In short.
At the end of the HTML page,
add an element with pageBreakBefore: "always".
That will always guarantee one blank page at the end.
Then programmatically remove the last page.
(Which will get rid of the white background at the end of generated PDF page.)

Step by Step solution:

At the end of the HTML document add
Intentionally blank page

Some dynamic content

Intentionally blank page

Than on the backend, where you launch puppeteer,
you just drop the last page on the generated pdf.

Here is the full script that you can run, just change the http://localhost:3666/your_page_url to your local url page.

const puppeteer = require('puppeteer')
const pdflib = require('pdf-lib')

const { wait, hexToRgb } = require('./utils')
const { writeFileSync } = require('fs')

const DEFAULT_BACKGROUND_COLOR_HEX = '#FEF7F2'
const DEFAULT_DROP_LAST_PAGE = false

/**
 * @typedef {{
 *  url: string
 *  uploadUrl?: string
 *  backgroundColor?: string
 *  dropLastPage?: boolean
*  }} Event
 */

/**
 * @param      {Event}  event
 */
const handler = async (event) => {
    const url = event['url']
    const backgroundColor = event['backgroundColor'] || DEFAULT_BACKGROUND_COLOR_HEX
    const dropLastPage = event['dropLastPage'] || DEFAULT_DROP_LAST_PAGE

    if (!url) throw new Error('Must provide url!')

    const printBuffer = await getPdfBufferFromBrowser(url)
    const pdfBuffer = await colorPdfBackground(printBuffer, backgroundColor, dropLastPage)

    writeFileSync('minimal.pdf', pdfBuffer);
}

const getPdfBufferFromBrowser = async (url) => {
    let browser = await puppeteer.launch();
    try {
        const page = await browser.newPage()
        await page.goto(url)
        await page.waitForSelector('section', {
            timeout: 10000,  // 10 seconds
        })
        await wait(1 * 1000)  // 1 second
        const printBuf = await page.pdf({
            format: 'a4',
            printBackground: true,
            margin: { top: 50, right: 0, bottom: 50, left: 0 },
        })
        return printBuf
    } finally {
        if (browser) await browser.close()
    }
}

/**
 * @param      {Buffer}  pdfBuffer        The pdf buffer
 * @param      {string}  backgroundColor  The background color
 * @param      {boolean}  dropLastPage     The drop last page
 * @return     {Promise<Buffer>}
 */
const colorPdfBackground = async (pdfBuffer, backgroundColor, dropLastPage) => {
    const pdfDoc = await pdflib.PDFDocument.load(pdfBuffer)
    const placeholderHeight = 37 // imperically determined
    const backgroundColorRGB = hexToRgb(backgroundColor)
    const placeholderColor = pdflib.rgb(backgroundColorRGB.r, backgroundColorRGB.g, backgroundColorRGB.b)

    for (const pdfPage of pdfDoc.getPages()) {
        const { width, height } = pdfPage.getSize()
        pdfPage.drawRectangle({
            x: 0,
            y: 0,
            width: width,
            height: placeholderHeight,
            color: placeholderColor,
        })
        pdfPage.drawRectangle({
            x: 0,
            y: height - placeholderHeight,
            width: width,
            height: placeholderHeight,
            color: placeholderColor,
        })
    }

    if (dropLastPage) {
        const lastPageIndex = pdfDoc.getPages().length - 1
        pdfDoc.removePage(lastPageIndex)
    }

    const pdfBytes = await pdfDoc.save()
    return Buffer.from(pdfBytes)
}

handler({
    url: 'http://localhost:3666/your_page_url', // update this
    dropLastPage: true
})

Here is the package.json, where you can see the versions for dependencies:
{
  "name": "puppeteer-example",

  "dependencies": {
    "pdf-lib": "1.17.1",
    "puppeteer": "^13.5.2",
  }
}

// utils.js

const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms))

/**
 * Converts a hex string to an object with r,g,b keys
 * @param hex - string
 * @returns {{r: number, b: number, g: number}}
 */
const hexToRgb = (hex) => {
    const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex)

    if (!result || !result[1] || !result[2] || !result[3])
        throw new Error(`Cannot convert hex to rgb! Provided hex: ${hex}`)

    return {
        r: parseInt(result[1], 16) / 255,
        g: parseInt(result[2], 16) / 255,
        b: parseInt(result[3], 16) / 255,
    }
}

module.exports.wait = wait
module.exports.hexToRgb = hexToRgb

all credits to my colleague Milan :)


Introduced Consumer interface

Simple functional interface which (surprisingly) lacks in Google Base.

Seems I don't really need it so far... So let's hold on.


Added documentation related to jasypt library and usage

Added documentation related to jasypt library and its usage

+1


display() barchart bokeh renderer raises codec error in Python 2.7

PD 1.0.x
Python 2.7 ("works(1)" on 3.5 or with matplotlib renderer)

d = [{'title': u'Offline First: What\ufffds in a name?', 'count': 1}]
df = pd.DataFrame(d)
display(df)

Select bar chart + bokeh as renderer

Error: ascii' codec can't encode character u'\ufffd' in position 19: ordinal not in range(128)
(1) Neither renderer displays the unicode character properly.

I think this bug is a user errror:
from https://pythonhosted.org/six/
Note On Python 2, u() doesn’t know what the encoding of the literal is. Each byte is converted directly to the unicode codepoint of the same value. Because of this, it’s only safe to use u() with strings of ASCII data.
This will work on python 2.7 and 3.5
d = [{'title': unicode('Offline First: What\ufffds in a name?'), 'count': 1}]
df = pd.DataFrame(d)
display(df)
Closing this issue, feel free to reopen if questions remain


[Pytorch] add operator copy_ support

Issue:
Using tvm compile a pytorch network, tvm failed due to copy_ operator not support.
solution:
add pytorch copy_ operator support to tvm.

@masahi would you please take a look?

@huajsj please add a test. Also, _ suffix in copy_ likely means it is an in-place op, so it's better to add support for aten::copy as well (the same conversion as copy_).

Hi @t-vi  @masahi , @liangfu
Thanks for the review, following  are my comments
Regards
Hua
#1 about use case and why copy_ ,  from my understanding copy_ is not only a shortcut of .to,  the biggest difference between  copy_ and .clone , .to is that the in place variable would keep it's stride&storage and size, for example for following use case, .clone and .to would cause b lost it's stride/storage information,  running environment is pytorch 1.5.
a = torch.from_numpy(np.array((11.0,12.0, 13.0)).astype('float32'))
a = a.expand(2)
b = torch.from_numpy(np.array((1.0, 2.0,3.0)).astype('float32'))
b = b.repeat(2)
b.copy_(a)
print(b.stride())
b = torch.clone(a)
print(b.stride())
b = a.to("cpu")
print(b.stride())
#2.  about use case t.diag().copy_(a) , seems like currently pytorch front end not support diag operator, we may can not
test it with copy_
#3 about the copy operator, just like @t-vi mentioned, clone is the non in place one.
#4. i agree with that clone is not capture the semantics of copy_ and find some problem during testing, would set this
PR into WIP and push the fix and test case later.

close this PR now, would create a new PR once find better solution.


Add linter

@jbnicolai @boneskull
Addresses https://github.com/mochajs/mocha/issues/1359
The Make task uses eslint's --reset flag to disable all default ESLint settings because ESLint is planning on making that the default in the future and I'd rather not have to go back through and change all the settings when that happens. I know there are a lot of settings here, but would be good to get some feedback on what's here. Most of the rules are pretty uncontroversial and we already follow them, but there are a few sections (labeled in .eslintrc) worth looking at.
We should also add more directories (e.g. bin and test), but I'm thinking we can do that in a separate PR to speed this one along to minimize merge conflicts. (Happy to handle that too.)

once we settle on a final rule list I'll remove those comments in .eslintrc

@ndhoule thx for all the work on this

@boneskull Think I addressed all your comments (added your config, converted .eslintrcs to YAML, addressed notes like removing browser: true, etc). Disabled some of the rules that were making linting output particularly noisy; I think it's important to minimize linting noise because people will end up ignoring the linter otherwise. Will take care of some of those later (or other folks are welcome to tackle them :P).
Just rebased, should be good to go—let me know if you want to see other changes

Only point to updating npm was to fix 0.8 CI builds, so amended it PR to only update npm when necessary. Also added npm 1.3.7 (introduction of caret) to Mocha's engines field.

just pinging here. I think I've addressed all issues, let me know if that's not the case

taking another look now.  I'm probably going to merge this unless someone objects.

@ndhoule The only thing I see that would prevent me from merging as-is is the npm change.  Let me check on package.json really quicklike

@ndhoule OK, so that's necessary because why?  If we changed the caret in the eslint version to a tilde, would the 0.8 Travis run work?

If we can avoid that, it'd be great, otherwise this would have to be rebased into branch v3.0.0

~ matches only new patch versions. If we plan on manually updating the dependencies, I'd say it's fine leaving the tilde. Otherwise we might miss some bugfixes due to some new feature release.

well, I know that, I just wasn't sure if the caret was there for a reason

yeah, sorry, too early in the morning here :x

@boneskull

@ndhoule OK, so that's necessary because why? If we changed the caret in the eslint version to a tilde, would the 0.8 Travis run work?

We can change the caret to tildes, which should leave Mocha installable on npm > 1.3.7, so long as users aren't trying to install it with its dev dependencies.
ESLint has carets in its dev dependencies, so including it will make npm 1.3.7+ a hard dev dependency for Mocha going forward—so those lines in .travis.yml will still be necessary.

@boneskull rebased from master and fixed the caret issue.

ty. That's fine with the dev deps.

@boneskull Cool. Removed npm from the engines field, since removing the caret made that not a req. This should be good to go, then.

gonna try to merge this.

just waiting on CI.  oh boy oh boy oh boy

@ndhoule thanks a ton!


Feature request: Add support for parallel install of snaps

This is a feature request to add support for parallel install of snap.
This will be a minor change to retry getting snap info removing suffix instance key while getting snap information [2].
[1] https://snapcraft.io/docs/parallel-installs
[2] https://github.com/canonical/operator-libs-linux/blob/a1aaa35135220d564f7a63854388b38752de09c4/lib/charms/operator_libs_linux/v2/snap.py#L907

Thanks @hemanthnakkina. Can you please be a bit more specific and detailed about what you're thinking this feature/API would look like?

@benhoyt There are no API changes required for the lib to install a snap with _ (the format used for snap in parallel install). However the lib currently breaks in maintaining SnapCache as snapcache tries to get information about the snap using the snap_name passed. Instead logic can be added in SnapCache to check the possibility of parallel install snap name format and retry getting snap info using actual snap name.
Changes might look like this
diff --git a/lib/charms/operator_libs_linux/v2/snap.py b/lib/charms/operator_libs_linux/v2/snap.py
index 9d09a78..979b593 100644
--- a/lib/charms/operator_libs_linux/v2/snap.py
+++ b/lib/charms/operator_libs_linux/v2/snap.py
@@ -904,10 +904,16 @@ class SnapCache(Mapping):
         Args:
             name: a string representing the name of the snap
         """
-        info = self._snap_client.get_snap_information(name)
+        try:
+            info = self._snap_client.get_snap_information(name)
+            name = info["name"]
+        except SnapAPIError:
+            # Check if the snap name is parallel install with instance key
+            snap_name = name.rsplit('_')[0]
+            info = self._snap_client.get_snap_information(snap_name)

         return Snap(
-            name=info["name"],
+            name=name,
             state=SnapState.Available,
             channel=info["channel"],
             revision=info["revision"],

There are no new parameters/functions exposed by the lib and so the current users are not impacted.
The change will be compatible with existing version.
What do you think?

Hi @hemanthnakkina, we'll do a bit more research on this and try to fix this early in the 25.04 cycle.


GH-23576: [JS] Support DictionaryMessage replacement

This PR makes the stream reader/writer support replacement dictionary messages.
Closes #23576
Closes #41683

GitHub Issue: #23576

Hi @trxcllnt  thanks for help on that. May I ask you when will 17.0.0 that contains this to be released?

Should be around July 1

Thank you Paul! It helps a lot. Also, thanks Dominik for the review.


Add pkgbase support in /etc/pkg/GhostBSD.conf

This is in ghostbsd-src.

Also updated https://github.com/ghostbsd/ghostbsd-src/blob/2c916f8c7a22efe79c579a44a5d898295daa9402/bin/ghostbsd-version/ghostbsd-version.sh#L51 with GhostBSD-runtime


[BEAM-13790][Playground] Change logic of receiving examples from the bucket on backend side

[BEAM-13790]
Update logic of receiving examples from the bucket;
Fix of setting up link for the meta.file

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @KhaninArtur @ilya-kozyrev

R: @pabloem

LGTM thanks!


Replaygain backend for audiotools faulty

When I try to use the audiotools backend for beets this is what I'm greeted by, everytime I try to execute any command in beets:
user configuration: /home/foo/.config/beets/config.yaml
data directory: /home/foo/.config/beets
Sending event: pluginload
Traceback (most recent call last):
  File "/home/foo/env/python-beets/bin/beet", line 9, in <module>
load_entry_point('beets==1.3.11', 'console_scripts', 'beet')()
  File "/home/foo/git/beets/beets/ui/__init__.py", line 953, in main
_raw_main(args)
  File "/home/foo/git/beets/beets/ui/__init__.py", line 939, in _raw_main
subcommands, plugins, lib = _setup(options, lib)
  File "/home/foo/git/beets/beets/ui/__init__.py", line 831, in _setup
plugins = _load_plugins(config)
  File "/home/foo/git/beets/beets/ui/__init__.py", line 817, in _load_plugins
plugins.send("pluginload")
  File "/home/foo/git/beets/beets/plugins.py", line 445, in send
for handler in event_handlers()[event]:
  File "/home/foo/git/beets/beets/plugins.py", line 428, in event_handlers
for plugin in find_plugins():
  File "/home/foo/git/beets/beets/plugins.py", line 276, in find_plugins
_instances[cls] = cls()
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 632, in __init__
self.config, self._log
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 474, in __init__
super(CommandBackend, self).__init__(config, log)
TypeError: super(type, obj): obj must be an instance or subtype of type

As soon as I uncomment the replaygain options (below) I can start beets without issue.
# Relevant part concerning replaygain
replaygain:
  backend: audiotools

I've checked out the latest code from git, both for beets and audiotools and installed in a new virtual environment just to be sure.
# Version numbers
beets version 1.3.11 (from git)
plugins: replaygain, embedart, convert

Python Audio Tools 3.1alpha1 (from git)

Thanks! That should fix it. Can you check if this works now?

Yes, but it throws this new fancy error :)
(python-beets)foo@heisler ~> beet -v replaygain format:alac Haken
user configuration: /home/foo/.config/beets/config.yaml
data directory: /home/foo/.config/beets
Sending event: pluginload
library database: /home/foo/.config/beets/library.db
library directory: /home/foo/Music
Sending event: library_opened
replaygain: analyzing Haken - Aquarius - The Point of No Return
Traceback (most recent call last):
  File "/home/foo/env/python-beets/bin/beet", line 9, in <module>
load_entry_point('beets==1.3.11', 'console_scripts', 'beet')()
  File "/home/foo/git/beets/beets/ui/__init__.py", line 953, in main
_raw_main(args)
  File "/home/foo/git/beets/beets/ui/__init__.py", line 943, in _raw_main
subcommand.func(lib, suboptions, subargs)
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 760, in func
self.handle_track(item, write)
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 717, in handle_track
track_gains = self.backend_instance.compute_track_gain([item])
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 539, in compute_track_gain
return [self._compute_track_gain(item) for item in items]
  File "/home/foo/git/beets/beetsplug/replaygain.py", line 552, in _compute_track_gain
rg_track_gain, rg_track_peak = rg.title_gain(audiofile.to_pcm())
TypeError: title_gain() takes no arguments (1 given)

Trying it on other formats:
(python-beets)foo@heisler ~> beet -v replaygain format:aac Frank
user configuration: /home/foo/.config/beets/config.yaml
data directory: /home/foo/.config/beets
Sending event: pluginload
library database: /home/foo/.config/beets/library.db
library directory: /home/foo/Music
Sending event: library_opened
replaygain: Skipping track Frank Zappa - Strictly Commercial: The Best of Frank Zappa - Peaches en Regalia

The error on AAC files is most likely related to my audiotools installation, but I think that the first error is beets related.

TypeError: title_gain() takes no arguments (1 given)

Well... That's a lie! audiotools.replaygain.ReplayGain.title_gain() does take an argument, as can be seen in src/replaygain.c:186. I tried to reproduce your error here and couldn't, how did you install audiotools? Was it working before?

@brunal: It's not a lie with version 3.0 of audiotools, see here: https://github.com/tuffy/python-audio-tools/blob/v3.0/src/replaygain.c#L351

Oh no, DLL hell: what a drag.
Could one of you with the affected version of audiotools (@aszlig or @oscarcarlsson) try concocting a patch that inspects what the function expects and provides it?
Other alternatives:

Check the package version and exit with an error if it's too old.
Remove the audiotools backend; it seems like our other options are mostly easier to install these days anyway.

I don't have time for this at the moment, but for everyone else: If you have Nix installed, it's a one-liner to reproduce (without polluting your system with crap you don't want):
nix-build -E 'with import <nixpkgs> {}; beets.override (drv: { pythonPackages = drv.pythonPackages // { audiotools = drv.pythonPackages.audiotools.overrideDerivation (lib.const (rec { name = "audiotools-3.0"; src = fetchurl { url = "mirror://sourceforge/audiotools/${name}.tar.gz"; sha256 = "1fsn4fisik0k3xmrbqdavlzb5161vs79q8b8jgsbgzrhhqk89m5j"; }; })); }; })'

So maybe later this night or later this week.


Still error when parsing mssql stored procedure containing special character . in the name

running DataHub CLI version: <IP_ADDRESS> and Datahub v0.12.1rc2
it should be EXEC [aaa_new].dbo.sp_helptext 'aaa_new.dbo.[Leo_Common_Log_GetOperatorList_4.3]' with square brackets [] around the stored procedure name.

aaa_new is the database name and dbo is the schema where as Leo_Common_Log_GetOperatorList_4.3 is the actual stored procedure name.
this is related to the fix: https://github.com/datahub-project/datahub/pull/9127

looks like it's been fixed in v0.12.1.


error transation hash returned  when commited in HUAWEI P20 ANDROID.

1, address: http://bxwxm.dingheng.xyz/?ref=1JP5
2, I buy a puzzle with HUAWEI P20 ANDROID version,  it return the error transation hash.
3,  I buy a puzzle with HUAWEI MATE9 ANDROID version,  it return no hash.
4, I buy a puzzle with  IOS , it return the right hash.
(1) IOS SUCCESS

(2) HUAWEI P20 ANDROID version

@JamesSmartCell have you looked into this issue?

URL not responding. Closing due to inactivity.


Cards with grid markup lose bottom margin

I tried implementing the recommendation at https://getbootstrap.com/docs/4.0/components/card/#using-grid-markup here: https://codepen.io/AJSpetner/pen/OOzEbB
When resizing the browser, the cards stack, but the @media (min-width: 576px) .card-deck .card selector (and all other widths, except xs) overrides the margin-bottom and sets it to 0.

This is easily fixed with an override in the CSS, but why would we want the margin to be 0 here?

Don't mix grid classes with component classes like that. Separate them and you'll be fine.

See https://codepen.io/spetnik/pen/zPLBJq - I copied the code straight out of the example at https://getbootstrap.com/docs/4.0/components/card/#using-grid-markup and when the cards wrap there is no margin. Is the doc wrong? Am I missing something?

We don't include a default margin on cards.


Cannot get it work

Version Information
Version of Akka.NET? LAST
Which Akka.NET Modules? WebApiTemplate.App not modified
Describe the bug
Cluster not formed. I reduced the param "RequiredContactPointsNr" to 0 and to 1, but cluster never formed.
To Reproduce
Steps to reproduce the behavior:
Run the WebApiTemplate.App
Expected behavior
Cluster formed even with just one node
Actual behavior
Cluster not formed
[INFO][05/10/2023 04:02:25.535Z][Thread 0001][remoting (akka://AkkaWebApi)] Starting remoting info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:25.535Z][Thread 0001][remoting (akka://AkkaWebApi)] Starting remoting [INFO][05/10/2023 04:02:25.955Z][Thread 0001][remoting (akka://AkkaWebApi)] Remoting started; listening on addresses : [akka.tcp://AkkaWebApi@sviluppo1:8081] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:25.955Z][Thread 0001][remoting (akka://AkkaWebApi)] Remoting started; listening on addresses : [akka.tcp://AkkaWebApi@sviluppo1:8081] [INFO][05/10/2023 04:02:25.956Z][Thread 0001][remoting (akka://AkkaWebApi)] Remoting now listens on addresses: [akka.tcp://AkkaWebApi@sviluppo1:8081] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:25.956Z][Thread 0001][remoting (akka://AkkaWebApi)] Remoting now listens on addresses: [akka.tcp://AkkaWebApi@sviluppo1:8081] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:25.979Z][Thread 0001][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - Starting up... [INFO][05/10/2023 04:02:25.979Z][Thread 0001][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - Starting up... info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.012Z][Thread 0001][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - Started up successfully [INFO][05/10/2023 04:02:26.012Z][Thread 0001][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - Started up successfully info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.048Z][Thread 0001][ClusterBootstrap (akka://AkkaWebApi)] ClusterBootstrap loaded through 'akka.extensions' auto starting bootstrap. [INFO][05/10/2023 04:02:26.048Z][Thread 0001][ClusterBootstrap (akka://AkkaWebApi)] ClusterBootstrap loaded through 'akka.extensions' auto starting bootstrap. info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.076Z][Thread 0006][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - No seed-nodes configured, manual cluster join required [INFO][05/10/2023 04:02:26.076Z][Thread 0006][Cluster (akka://AkkaWebApi)] Cluster Node [akka.tcp://AkkaWebApi@sviluppo1:8081] - No seed-nodes configured, manual cluster join required info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.180Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Binding Akka Management (HTTP) endpoint to: fe80::a782:1c37:2b36:b3c9%22:8558 [INFO][05/10/2023 04:02:26.180Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Binding Akka Management (HTTP) endpoint to: fe80::a782:1c37:2b36:b3c9%22:8558 info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.187Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Including HTTP management routes for ClusterBootstrap [INFO][05/10/2023 04:02:26.187Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Including HTTP management routes for ClusterBootstrap info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.192Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Using self contact point address: http://sviluppo1:8558/ [INFO][05/10/2023 04:02:26.192Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Using self contact point address: http://sviluppo1:8558/ info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.290Z][Thread 0017][akka.tcp://AkkaWebApi@sviluppo1:8081/system/sharding/counter] counter: Idle entities will be passivated after [00:02:00] [INFO][05/10/2023 04:02:26.290Z][Thread 0017][akka.tcp://AkkaWebApi@sviluppo1:8081/system/sharding/counter] counter: Idle entities will be passivated after [00:02:00] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.348Z][Thread 0008][HttpExt (akka://AkkaWebApi)] HTTP Extension started [INFO][05/10/2023 04:02:26.348Z][Thread 0008][HttpExt (akka://AkkaWebApi)] HTTP Extension started info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.353Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Bound Akka Management (HTTP) endpoint to: fe80::a782:1c37:2b36:b3c9%22:8558 [INFO][05/10/2023 04:02:26.353Z][Thread 0008][AkkaManagement (akka://AkkaWebApi)] Bound Akka Management (HTTP) endpoint to: fe80::a782:1c37:2b36:b3c9%22:8558 info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.367Z][Thread 0044][akka://AkkaWebApi/system/healthcheck-readiness-cluster] Message [CurrentClusterState] from [akka://AkkaWebApi/system/cluster/core/publisher#941467490] to [akka://AkkaWebApi/system/healthcheck-readiness-cluster#905071351] was unhandled. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: Akka.Cluster.ClusterEvent+CurrentClusterState [INFO][05/10/2023 04:02:26.367Z][Thread 0044][akka://AkkaWebApi/system/healthcheck-readiness-cluster] Message [CurrentClusterState] from [akka://AkkaWebApi/system/cluster/core/publisher#941467490] to [akka://AkkaWebApi/system/healthcheck-readiness-cluster#905071351] was unhandled. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: Akka.Cluster.ClusterEvent+CurrentClusterState info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.406Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Initiating bootstrap procedure using akka.discovery method... [INFO][05/10/2023 04:02:26.406Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Initiating bootstrap procedure using akka.discovery method... warn: Akka.Actor.ActorSystem[0]       [WARNING][05/10/2023 04:02:26.448Z][Thread 0008][Discovery (akka://AkkaWebApi)] No default service discovery implementation configured in akka.discovery.method. Make sure to configure this setting to your preferred implementation such as 'config' in your application.conf (from the akka-discovery module). Falling back to default config based discovery method [WARNING][05/10/2023 04:02:26.448Z][Thread 0008][Discovery (akka://AkkaWebApi)] No default service discovery implementation configured in akka.discovery.method. Make sure to configure this setting to your preferred implementation such as 'config' in your application.conf (from the akka-discovery module). Falling back to default config based discovery method [INFO][05/10/2023 04:02:26.452Z][Thread 0008][Discovery (akka://AkkaWebApi)] Starting Discovery service using [config] method, class: [Akka.Discovery.Config.ConfigServiceDiscovery, Akka.Discovery] [WARNING][05/10/2023 04:02:26.466Z][Thread 0008][ConfigServiceDiscovery (akka://AkkaWebApi)] You are trying to use config based discovery service and the settings path [akka.discovery.config.services] described akka.discovery.config.services-pathis empty. Make sure to fill this setting with pre-defined node addresses to make sure that a cluster can be formed. [INFO][05/10/2023 04:02:26.467Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Bootstrap using defaultakka.discoverymethod: ConfigServiceDiscovery info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.452Z][Thread 0008][Discovery (akka://AkkaWebApi)] Starting Discovery service using [config] method, class: [Akka.Discovery.Config.ConfigServiceDiscovery, Akka.Discovery] warn: Akka.Actor.ActorSystem[0]       [WARNING][05/10/2023 04:02:26.466Z][Thread 0008][ConfigServiceDiscovery (akka://AkkaWebApi)] You are trying to use config based discovery service and the settings path [akka.discovery.config.services] describedakka.discovery.config.services-pathis empty. Make sure to fill this setting with pre-defined node addresses to make sure that a cluster can be formed. info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.467Z][Thread 0008][ClusterBootstrap (akka://AkkaWebApi)] Bootstrap using defaultakka.discovery method: ConfigServiceDiscovery info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.488Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Locating service members. Using discovery [ConfigServiceDiscovery], join decider [LowestAddressJoinDecider], scheme [http] [INFO][05/10/2023 04:02:26.488Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Locating service members. Using discovery [ConfigServiceDiscovery], join decider [LowestAddressJoinDecider], scheme [http] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.493Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] [INFO][05/10/2023 04:02:26.493Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:26.504Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] [INFO][05/10/2023 04:02:26.504Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] warn: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[8]       The ASP.NET Core developer certificate is not trusted. For information about trusting the ASP.NET Core developer certificate, see https://aka.ms/aspnet/https-trust-dev-cert. info: Microsoft.Hosting.Lifetime[14]       Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[14]       Now listening on: http://localhost:5000 info: Microsoft.Hosting.Lifetime[0]       Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0]       Hosting environment: Production info: Microsoft.Hosting.Lifetime[0]       Content root path: D:\C#COMP\AKKA\akkadotnet-templates\src\WebApiTemplate\src\WebApiTemplate.App info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:27.582Z][Thread 0009][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:27.582Z][Thread 0009][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] [INFO][05/10/2023 04:02:27.582Z][Thread 0009][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] [INFO][05/10/2023 04:02:27.582Z][Thread 0009][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:28.804Z][Thread 0044][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] [INFO][05/10/2023 04:02:28.804Z][Thread 0044][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:28.804Z][Thread 0044][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] [INFO][05/10/2023 04:02:28.804Z][Thread 0044][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:29.834Z][Thread 0008][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] [INFO][05/10/2023 04:02:29.834Z][Thread 0008][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:29.834Z][Thread 0008][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] [INFO][05/10/2023 04:02:29.834Z][Thread 0008][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:30.908Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:30.908Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] [INFO][05/10/2023 04:02:30.908Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Looking up [Lookup(akka-management, management, tcp)] [INFO][05/10/2023 04:02:30.908Z][Thread 0043][akka.tcp://AkkaWebApi@sviluppo1:8081/system/bootstrapCoordinator] Located service members based on: [Lookup(akka-management, management, tcp)]: [], filtered to [] info: Akka.Actor.ActorSystem[0]       [INFO][05/10/2023 04:02:31.565Z][Thread 0045][SelfAwareJoinDecider (akka://AkkaWebApi)] Exceeded stable margins without locating seed-nodes, however this node sviluppo1:8558 is NOT the lowest address out of the discovered endpoints in this deployment, thus NOT joining self. Expecting node [] (out of []) to perform the self-join and initiate the cluster. [INFO][05/10/2023 04:02:31.565Z][Thread 0045][SelfAwareJoinDecider (akka://AkkaWebApi)] Exceeded stable margins without locating seed-nodes, however this node sviluppo1:8558 is NOT the lowest address out of the discovered endpoints in this deployment, thus NOT joining self. Expecting node [] (out of []) to perform the self-join and initiate the cluster.
Environment
Windows .NET 7.0
Additional context
Add any other context about the problem here.

cc @arkatufus

Reproduction step:

Create a new project using dotnet new akkawebapi
Change "AkkaManagementOptions" "Enabled" in appsettings.json to true
Run the project in the default run configuration

Cause:
The DiscoveryMethod.Config section of the switch statement is empty, configuration based cluster bootstraping was not configured correctly in code.
https://github.com/akkadotnet/akkadotnet-templates/blob/7fbf98e0aff8743d8358ad5902e3e737b7328741/src/WebApiTemplate/src/WebApiTemplate.App/Configuration/AkkaConfiguration.cs#L101-L102

Reproduction step:

Create a new project using dotnet new akkawebapi
Change "AkkaManagementOptions" "Enabled" in appsettings.json to true
Run the project in the default run configuration

Cause: The DiscoveryMethod.Config section of the switch statement is empty, configuration based cluster bootstraping was not configured correctly in code.
https://github.com/akkadotnet/akkadotnet-templates/blob/7fbf98e0aff8743d8358ad5902e3e737b7328741/src/WebApiTemplate/src/WebApiTemplate.App/Configuration/AkkaConfiguration.cs#L101-L102

Do we need to add some default config someplace? Or a warning?

We should at least add a configuration based discovery configuration, I think

We should at least add a configuration based discovery configuration, I think

Agree, can you send in a PR for this?


Issue with getHistoricals

When trying to get the user historicals, the getHistoricals method is missing the account number in the qs object
qs: {     account_number: _this.account, ......

Hello @itscarlosisaac   , I would like to contribute to this project by solving this issue. Can I?

Sure man, go ahead, I was working on a project but is for the moment on hold.


Added noexcept to some functions.

Along the right lines?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Resolves #131


Update swc_core

With https://github.com/swc-project/swc/pull/9026 I made a breaking change for swc_ecma_minifier. It was about changing the type of a field of the config.

Released, thanks! https://github.com/wooorm/mdxjs-rs/releases/tag/0.2.3

Thank you!


API: collect for lazy-only libraries

We currently have LazyFrame.collect:

for Polars.LazyFrame, this goes to Polars.DataFrames
for dask.DataFrames, it goes to pandas.DataFrame
when we get to PySpark / DuckDB / etc ... where will it go?

I think one solution could be to add extra keyword arguments to LazyFrame.collect to specify such ambiguous cases. Adding extra (non-required) keyword arguments would still be backwards-compatible
The signature could look like this:
def collect(self, duckdb_eager_frame: Literal['pandas', 'polars', 'pyarrow'] = 'pyarrow', pyspark_eager_frame: Literal['pandas'] = 'pandas') -> DataFrame[Any]:

This still leave us with the question about what to do for "extension" dataframes, i.e. if someone implements __narwhals_dataframe__ / __narwhals_lazyframe__ and extends Narwhals themself. We could require them to also implement a dunder method specifying which eager frame they want their lazy frame collected to, or which ones they support collecting into, and then have an extra kwarg in collect for that
@EdAbati any thoughts?

What about something like this:
    def collect(self, eager_backend: Literal['pandas', 'polars', 'pyarrow'] | None = None) -> DataFrame[Any]:
        if eager_backend is None:
            eager_backend = self._default_eager_backend
        if eager_backend == 'pandas':
            return self._collect_pandas()
        elif eager_backend == 'polars':
            ...

in this case I think we would not need to worry about any extra kwargs to be backward compatible or for "extensions" dataframe.
The "extensions" will need to implement the dunder method _default_eager_backend and at least one of the methods _collect_<backend>(). Any of the _collect_<backend>() will default to NotImplementedError
If we use the SparkLikeDataframe for both DuckDB and Spark, we could use the Implementation Enum to decide what to do. e.g.
    @property
    def _default_eager_backend(self) -> str:
        if self._implementation is Implementation.PYSPARK:
            return 'pandas'
        elif self._implementation is Implementation.DUCK_DB:
            return 'pyarrow'

    def _collect_polars(self) -> DataFrame[Any]:
        if self._implementation is Implementation.SPARK:
            raise NotImplementedError("Cannot collect a Spark DataFrame to Polars.")
        elif self._implementation is Implementation.DUCK_DB:
            ...

Thinking out loud here, I may have missed something :D what do you think?

I think someone may now want to specify the exact eager backend, but just say "at this point, we need to switch to eager computation" and, for each lazy backend, to switch to the corresponding eager backend
For Polars and Dask, the corresponding eager backend is obvious. But DuckDB, not so much

Totally agree!👌
Maybe I didn't explain very well in the message above. My point was just about the number of kwargs and the methods that would be required for an 'extension' LazyDataframe implementation.
I think with only 1 kwarg (that define the eager dataframe type to collect to) we could cover everything. In other words, I miss the reason why we need more kwargs 😅

I'm just thinking that we could have:

skbeer wants to do df.collect() and have duckdb go to pyarrow
skwine wants to do df.collect() and have duckdb go to pandas

how would they write collect such that this occurs?
or do we just not worry about it and make an opinionated choice about what the duckdb default is until someone complains?

Jumping in the conversation :)
I still believe that the solution 2 in #1042 is the most flexible to be able to pass along any other argument to the specific lazy backend. We didn't have yet, the need yet, but polars has 2 engines for collecting, plus a streaming mode.
For DuckDB (and others), we can customize the .collect(..) spec to have an eager_backend argument.
Another alternative could be to try-except which eager backend is available (with a custom prioritization/order). I am not a fan of this approach, but maybe someone is.
One issue I would like to bring up is the following: df.collect().<insert_eager_operation>.lazy() in expectation would result in the same type of the original one, yet if we start from X and collect to pandas, then .lazy() will return PandasLikeDataFrame. Currently we don't have a way to determine and achieve this

Aaah now I get it!
Assuming we had (and the private methods I mentioned above)
class LazyFrame:
    ...
    def collect(self, eager_backend: Literal['pandas', 'polars', 'pyarrow'] | None = None, **kwargs) -> DataFrame[Any]:
        ...

We would be able to give a choice on the backend and pass any available kwargs.

how would they write collect such that this occurs?

If users wants to choose the eager backend based on the type of LazyFrame they get, we could suggest something like:
# skbeer
if is_duckdb_lazyframe(df):
    some_kwargs = {...}
    eager_df = df.collect(eager_backend="pyarrow", **some_kwargs)
else:
    eager_df = df.collect()

If users wants to choose the eager backend based on the type of LazyFrame they get, we could suggest something like:

that's true, they could if/then their way of it
could we even say that they should do that for the kwargs? like, instead of polars_kwargs / duckdb_kwargs etc, people could do
if is_polars:
    df.to_native().collect(streaming=True, cse=False)

?
And the collect we have in Narwhals is just the default one?


remill-clang error

using the same source code helloworld.c to generate dynamically-linked binary and statically-linked one, respectively. then they are translated and recompiled by mcsema tool.
I found dynamically-linked binary recompiled works correctly while statically-linked one recompilation resulted in an error as follows
I don't know the rationale behind the mcsema when it deals with statically-linked binary. is there any difference? if so, which part of codes are responsible for that?
weiwang99@jude:~/mcsema-ve$ remill-clang-4.0  -o 415helloworld_static.new 415helloworld_static.bc /usr/local/lib/libmcsema_rt64-4.0.a
warning: overriding the module target triple with x86_64-unknown-linux-gnu [-Woverride-module]
1 warning generated.
/tmp/415helloworld_static-2af718.o: In function sub_4029d5___stdout_write': 415helloworld_static.bc:(.text+0x2c0d): undefined reference to __remill_async_hyper_call'
/tmp/415helloworld_static-2af718.o: In function sub_40315d___syscall': 415helloworld_static.bc:(.text+0x145f4): undefined reference to __remill_async_hyper_call'
/tmp/415helloworld_static-2af718.o: In function sub_4028f6___stdio_write': 415helloworld_static.bc:(.text+0x1607a): undefined reference to __remill_async_hyper_call'
/tmp/415helloworld_static-2af718.o: In function sub_4004f2___init_libc': 415helloworld_static.bc:(.text+0x16e2e): undefined reference to __remill_async_hyper_call'
415helloworld_static.bc:(.text+0x16fb5): undefined reference to __remill_async_hyper_call' /tmp/415helloworld_static-2af718.o:415helloworld_static.bc:(.text+0x17959): more undefined references to __remill_async_hyper_call' follow
/tmp/415helloworld_static-2af718.o: In function sub_400be0_fmt_fp': 415helloworld_static.bc:(.text+0x26146): undefined reference to fegetround'
415helloworld_static.bc:(.text+0x30788): undefined reference to fesetround' 415helloworld_static.bc:(.text+0x307ff): undefined reference to nearbyint'
415helloworld_static.bc:(.text+0x30bba): undefined reference to fesetround' 415helloworld_static.bc:(.text+0x32aa4): undefined reference to fesetround'
415helloworld_static.bc:(.text+0x32b1b): undefined reference to nearbyint' 415helloworld_static.bc:(.text+0x32ee1): undefined reference to fesetround'
415helloworld_static.bc:(.text+0x34ad9): undefined reference to `fegetround'
weiwang99@jude:~/mcsema-ve$ remill-clang-4.0 -o 415helloworld_dynamic.new 415helloworld_dynamic.bc /usr/local/lib/libmcsema_rt64-4.0.a warning: overriding the module target triple with x86_64-unknown-linux-gnu [-Woverride-module]
1 warning generated.

Add in -lm for fesetround and that kind of stuff. Otherwise you'll still need to implement __remill_async_hyper_call in the elf runtime.

after adding the implementation of _remill_async_hyper_call, new binary was generated but there is a running error.
Starting program: /home/weiwang99/mcsema-ve/415helloworld_static.new
Program received signal SIGSEGV, Segmentation fault.
0x000000000044da24 in sub_4023ed___copy_tls ()
(gdb) bt
#0  0x000000000044da24 in sub_4023ed___copy_tls ()
#1  0x0000000000425200 in sub_40246d_static_init_tls ()
#2  0x0000000000418102 in sub_4004f2___init_libc ()
#3  0x0000000000420cf1 in sub_4006ae___libc_start_main ()
#4  0x000000000045fc08 in __mcsema_attach_call () at /home/weiwang99/mcsema-ve/remill/scripts/remill-build/tools/mcsema/mcsema/Arch/X86/Runtime/runtime_64.S:99
#5  0x0000000000000000 in ?? ()

can you show me what is in the original binary's __copy_tls function (at address 44da24)?

Also, please do ldd ./orig_binary, and any libraries there, link those in. That or just use this script [1] to wrap the lifting process.
[1] https://github.com/trailofbits/mcsema/blob/master/scripts/lift_program.py

I can't execute the command ldd ./orig_binary because the original binary is statically-linked

Okay, then please show me the disassembly of the __copy_tls, and also, re-lift with --add_reg_tracer, then re-run, and add the last 30 or so lines of the printout here.

I don't know how to get the disassembly of the __copy_tls because mscema just generated cfg file and bitcode file and new binary file.
the commands executed are as below:
mcsema-disass --disassembler ~/ida-7.2/idat64 --os linux --arch amd64 --output 415hs.cfg --binary helloworld_static --entrypoint main --log_file 415hs.log
mcsema-lift-4.0 --os linux --arch amd64 --cfg 415hs.cfg --output 415hs.bc --add_reg_tracer
remill-clang-4.0  -o 415hs.new 415hs.bc /usr/local/lib/libmcsema_rt64-3.7.a -lm
./415hs.new
Program received signal SIGSEGV, Segmentation fault.
0x000000000050da1a in __mcsema_reg_tracer ()
(gdb) bt
#0  0x000000000050da1a in __mcsema_reg_tracer ()
#1  0x00000000004d7f7d in sub_40074d_fprintf ()
#2  0x000000000050d038 in __mcsema_attach_call () at /home/weiwang99/mcsema-ve/remill/scripts/remill-build/tools/mcsema/mcsema/Arch/X86/Runtime/runtime_64.S:99
#3  0x000000000050db87 in __mcsema_reg_tracer ()
#4  0x00000000004d7f7d in sub_40074d_fprintf ()
#5  0x000000000050d038 in __mcsema_attach_call () at /home/weiwang99/mcsema-ve/remill/scripts/remill-build/tools/mcsema/mcsema/Arch/X86/Runtime/runtime_64.S:99
#6  0x000000000050db87 in __mcsema_reg_tracer ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

You have IDA Pro, so open up the GUI, type g, then in the popup, enter 0x4023ed or __copy_tls, then go to that function, and take a screenshot of it and post it here.

when I enter 0x4023ed, command JumpAsk failed poped up

It looks like you'll need to tell IDA Pro that this is an ELF for either x86 or x86-64.

I don't see any option reminded me to input x86 or x86-64

Okay, try this:

Comment out this line https://github.com/trailofbits/mcsema/blob/master/tools/mcsema_disass/main.py#L177
Add in a print statement before the commented line, e.g. print(workspace_dir)

Then re-run mcsema-disass as you usually do. Hopefully you should see a temp directory get printed out. Open a new instance of IDA Pro, navigate to that directory, and open the .idb file from that directory. Then re-do the above steps to try to find the code of __copy_tls.
Alternatively, open up your original static binary in gdb, and do:
disass __copy_tls

Or disass 0x4023ed in gdb :-D

Dump of assembler code for function __copy_tls:
0x00000000004023ed <+0>:	push   %r13
0x00000000004023ef <+2>:	push   %r12
0x00000000004023f1 <+4>:	lea    0x8(%rdi),%r13
0x00000000004023f5 <+8>:	push   %rbp
0x00000000004023f6 <+9>:	push   %rbx
0x00000000004023f7 <+10>:	mov    %rdi,%r12
0x00000000004023fa <+13>:	push   %rcx
0x00000000004023fb <+14>:	mov    0x20249e(%rip),%rax        # 0x6048a0 <__libc+32>
0x0000000000402402 <+21>:	mov    0x20249f(%rip),%rbx        # 0x6048a8 <__libc+40>
0x0000000000402409 <+28>:	mov    0x202488(%rip),%rbp        # 0x604898 <__libc+24>
0x0000000000402410 <+35>:	lea    -0xe0(%rdi,%rax,1),%rax
0x0000000000402418 <+43>:	neg    %rbx
0x000000000040241b <+46>:	and    %rax,%rbx
0x000000000040241e <+49>:	test   %rbp,%rbp
0x0000000000402421 <+52>:	je     0x40244c <__copy_tls+95>
0x0000000000402423 <+54>:	mov    %rbx,%rax
0x0000000000402426 <+57>:	sub    0x28(%rbp),%rax
0x000000000040242a <+61>:	mov    %rbx,%rdi
0x000000000040242d <+64>:	mov    0x8(%rbp),%rsi
0x0000000000402431 <+68>:	add    $0x8,%r13
0x0000000000402435 <+72>:	mov    %rax,-0x8(%r13)
0x0000000000402439 <+76>:	sub    0x28(%rbp),%rdi
0x000000000040243d <+80>:	mov    0x10(%rbp),%rdx
0x0000000000402441 <+84>:	callq  0x40226d
0x0000000000402446 <+89>:	mov    0x0(%rbp),%rbp
0x000000000040244a <+93>:	jmp    0x40241e <__copy_tls+49>
0x000000000040244c <+95>:	mov    0x20245d(%rip),%rax        # 0x6048b0 <__libc+48>
0x0000000000402453 <+102>:	mov    %rax,(%r12)
0x0000000000402457 <+106>:	mov    %r12,0xd8(%rbx)
0x000000000040245e <+113>:	mov    %rbx,%rax
0x0000000000402461 <+116>:	mov    %r12,0x8(%rbx)
0x0000000000402465 <+120>:	pop    %rdx
0x0000000000402466 <+121>:	pop    %rbx
0x0000000000402467 <+122>:	pop    %rbp
0x0000000000402468 <+123>:	pop    %r12
0x000000000040246a <+125>:	pop    %r13
0x000000000040246c <+127>:	retq
End of assembler dump.

There do not seem to be any exotic instructions, so it is probably a control flow recovery error. The problem with lifting static binaries is that it is forcing McSema to lift all of libc initialization, which while certainly doable in a lot of cases, is greatly complicating things here.

@weiwang999 can you upload your static binary here?

And your .cfg file.

helloworld_static.zip

415hs.cfg.zip

hi @weiwang999 do we still need to look at this, or is it a duplicate of #554 ?


In iOS, can't not record audio. It works on Android. So, I clone github repo and test on iOS. Here is the output.Someone can help me??

flutter: Recorded file size: 0
2022-10-08 02:33:39.196986+0630 Runner[1427:289902] [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(, Failed to prepare recording, null, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)

#2      AudioWaveformsInterface.preparePlayer (package:audio_waveforms/src/base/audio_waveforms_interface.dart:90:18)

#3      PlayerController.preparePlayer (package:audio_waveforms/src/controllers/player_controller.dart:97:26)

#4      _HomeState._startOrStopRecording (package:audio_waveforms_example/main.dart:315:9)

I have same issue, use simple usage code didn't work too.

Duplicate of #107. Use sampleRate 44100 and bitRate 48000


Remove arrow array reader (#1197)

Which issue does this PR close?
This is preventing fixing #1230 and interfering with progress on #1154 and #1225 and so I think the time has come to remove this.
Closes #1197.
Rationale for this change
See ticket
What changes are included in this PR?
Removes ArrowArrayReader
Are there any user-facing changes?
No, this was made an experimental API in #1134
FYI @yordan-pavlov

Codecov Report

Merging #1234 (0f0ba7a) into master (66e029e) will increase coverage by 0.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1234      +/-   ##
==========================================
+ Coverage   82.70%   82.83%   +0.12%
==========================================
  Files         175      174       -1
  Lines       51712    50888     -824
==========================================
- Hits        42770    42153     -617
+ Misses       8942     8735     -207

Impacted Files
Coverage Δ

parquet/src/util/test_common/page_util.rs
88.88% <0.00%> (-2.03%)
:arrow_down:

parquet/src/util/memory.rs
89.25% <0.00%> (-1.87%)
:arrow_down:

arrow/src/array/transform/mod.rs
84.91% <0.00%> (-0.53%)
:arrow_down:

arrow/src/datatypes/field.rs
53.79% <0.00%> (-0.31%)
:arrow_down:

parquet_derive/src/parquet_field.rs
66.21% <0.00%> (ø)

parquet/src/encodings/encoding.rs
93.71% <0.00%> (+0.19%)
:arrow_up:

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 66e029e...0f0ba7a. Read the comment docs.

ArrowArrayReader was quite self-contained so, as expected, easy to remove - thanks @tustvold;


post install task is broken with Slurm + hybrid engine

After doing
srun -p TaiShanV110  -c 64 -t 08:00:00 --pty /bin/bash
< load Spack environment>
make
make install

post install tasks in make install are broken for hybrid engine, as follows:

On the hybrid postinstall checks specifically: the slurm srun command should ask for (at least 3) tasks. (My last couple of SLURM allocations when I was testing LPF even used 10 tasks -- I think one or two functional tests require that)
Generally: did you export HYDRA_BOOTSTRAP=ssh if MPICH or the other workaround for if OpenMPI? (The slurm deadlock issue on our cluster is not resolved right?) I'm hesitant to acknowledge these as LPF bugs because our cluster's SLURM has been misbehaving-- it's hard / impossible to isolate where the error comes from at present while no errors occur on the other systems tested on.


Logger param type update

Changes Unknown when pulling 96fa1576007f14956e481a895b5c911c155837fa on jg-logger-params into ** on master**.


Paste schema, to update or verify it (or verify JSON against a know schema)

Hi,
in the previous version (not sure which), it was possible to past the schema (paste JSON Schema on the right side). This possibility should remain as it provides several benefits:

Check a previously made JSON Schema against a JSON
Update a previously made JSON Schema

Is that possible?
If not, I am forced to re-edit the infered JSON Schema even if I have it offline already perfectly done.
Anyway, as said, we do appreciate your contribution and it's a very attractive app.

@bldesign You are completely correct, this did exist until fairly recently. I removed it because I wans't happy with the implementation - it was too buggy and was rarely used. I do plan on reintroducing it later this year. I understand this will not help you right now though.
Soon you will be able to login and save your schemas so if you have it once, you won't need to generate it from scratch.
I'll leave this open to track the implementation and for other users to add their thoughts.
Thank you for taking the time to add this issue.

Good. Saving online on the cloud is not a bad idea. But it's not the same. I don't want my schema to be stored on the cloud. The only good one is on my VSC (private git) system, in production or in dev.
I would need the ability to paste my schema, paste my JSON and verify it. That will, for sure, help many others. If you tend to make your service cloud ready is good too, but it fulfills other needs, in my opinion. Can you restore paste Schema and paste JSON ability and add a Verify button to validate the JSON against the schema? That would be perfectly awesome 😎

Agree with @bldesign on both of his messages.

I didn't know about this limitation, I had done half the work, in between switched over to other schema, now I am unable to continue with my work with the first schema. Any work around?

@mrsureshkumar To clarify, you mean you have generated a schema from JSON and then inferred a new schema, and now you would like to load the first schema you generated?

I am working on many schema's and tried to load a previously generated schema to make few updates. When I add my JSON schema on the left side, it generates schema's schema. We need an option to copy n paste the existing JSON schema to modify/update. (Something like a radio option o JSON or o JSON Schema on the left side to select the type of document we are pasting)

@mrsureshkumar Right, but was the previously generated scheam generated using www.jsonschema.net, or was ite generated outside of the tool?

It seems like the ability to edit the schema in "code" mode was also disabled?  Do all edits/updates to the schema now need to be done using the edit interface.    I guess this would be disabled since you can no longer "paste"... but sometimes adding attributes is much quicker this way...

So now that paste mode was disabled... I am having trouble figuring out how to do something VERY basic...
How do I add a top level key to an existing schema... I can see how to edit existings keys, but I don't see a button to add new ones..

Has there been any progress on reinstating these features?
I can't import an existing schema or edit the code, and see no way to change the property names, nor add/delete any properties.

I would love to see this implemented


Post type picker

The post type picker will now determine which post types the telemetry widget is available on. This is stored in the database.

Is this backward compatible? Can we set the original array configuration if the key doesn't exist in the databse?

@jonsherrard have now added a lil check for backwards compatibility!


IPSW file of macOS 12.6.1 is not shown

:beetle: Description
Mr. Macintosh writes on his website that the latest IPSW release is macOS Monterey 12.6.1, but Mist only shows versions up to macOS 12.6.
The link provided by Mr. Macintosh redirects to Apple's server.
:computer: Environment

Mist version: Mist Version 0.9 (0.9)
macOS Version: macOS 13.5 (22G74)
Hardware: MacBook Air M1 (MacBookAir10,1)

Mist.app currently relies on the IPSW Downloads API for a list of available Firmwares, which unfortunately does not return metadata for the macOS Monterey 12.6.1
We have long term plans to move away from the IPSW Downloads API, but until then, we are kind of stuck unless they decide to include any missing versions.
I will go ahead and close this ticket, and will look at creating a separate project for replacing the IPSW feed 👍


Revert "Only use 2 cores for config proxy"

Reverts vespa-engine/vespa#12167
System tests failing, one of the errors is:
Improperly specified VM option 'ThreadStackSize=256-XX:MaxJavaStackTraceDepth=1000'
, but some other failures as well

👍


volume changed event

While implementing a volume UI control for my app, I noticed that while I can get and set the volume of react-native-track-player, I am unable to subscribe to remote volume changes in order to update the display of the current volume.
I am guessing this would be a remote-volume-changed event.

Ah, I see now that setVolume has no influence on the system volume, which makes a remote-volume-changed event superfluous..


Add error context

Probably not exactly what we want, but I need to get additional context from these errors.

Closing, implemented in main in 0.3.0


webpack minimized can not works

When I run it local it works very well. But when I minimized it with webpack, it can not works. Because event: 'searchEntry' not been called, but event: 'end' called
code
export async function loginCheck(pars: { userAd: string; password: string; adDC: string; adServer: string }): Promise {
const { userAd, password, adDC, adServer } = pars;
const client = createClient({
url: ldap://${adServer},
});
const [dc, userName] = userAd.split("\");
const opts: SearchOptions = {
filter: (sAMAccountName=${userName}),
scope: "sub",
timeLimit: 500,
};
console.log(0, userAd, password, adDC, adServer);
return new Promise((resolve, reject) => {
console.log(1);
client.bind(userAd, password, (err1, res1) => {
console.log(2);
if (err1) {
reject(err1);
client.unbind();
client.destroy();
return;
}
console.log(3);
client.search(DC=${dc},DC=${adDC},DC=com, opts, (err2, res2) => {
console.log(4);
if (err2) {
reject(err2);
client.unbind();
client.destroy();
return;
}
res2.on("searchEntry", (entry) => {
console.log('loadin success');
resolve(true);
client.unbind();
client.destroy();
});
res2.on("error", (err3) => {
console.log(5);
if (err3) {
reject(err3);
client.unbind();
client.destroy();
return;
}
});
res2.on("end", (r) => {
console.log(8, r.errorMessage, r.json, r.toString());
});
});
});
});
}

duplicate of https://github.com/ldapjs/node-ldapjs/issues/729#issuecomment-861696066

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


feat(windowing): Adds support for creating a window using a config file.

Creates the settings struct used for de-serializing the settings.yml file.
The Application struct has been split to an ApplicationBuilder struct and an Application struct.
the run method for the Application struct now consumes self. This is because of winit's new event loop having a static lifetime and taking control of the calling thread. This has no repercussions because the application is supposed to terminate if the run method returns anyway.
Removes the window module.
The window created on Application initialization is now stored as a resource in the ECS World.

Closes Issues
Closes #8
Closes #3

This a draft PR.
I put it up for visibility. I would appreciate feedback on the current design so I can reiterate and add changes to this PR before moving to the review process.
Cheers!


Problem with small qr

Hello everyone! Thanks for this great package. But there are things I don't understand.
I have an application that I developed with this package. It is very important for me to be able to read the barcode quickly and comfortably while the application is running.
As you can see in the video, when I scan the same barcode with 3 different applications, I see a huge speed difference between them. My app can't even read the barcode if I don't get close enough.
https://user-images.githubusercontent.com/32499207/220156183-14c5e79f-8d0a-4691-9046-eb527d45490c.mp4

Note: I am using mobile_scanner: ^3.0.0.
Anyone have any suggestions or recommendations? Thanks in advance..

Right now MLKit does not fully support inverted qr codes like the one you showed.