added an optional plugin which control sampling by specifying a "percentage" instead of "agent.sample_n_per_3_secs"

This trivial plugin provides a plugin.sampling.sample_rate config to control sampling rate (n out of 10000). It overrides default SamplingService. Our team is using it to work around what had been discussed in #5997 and thought this might be useful to some others.
Add an agent plugin to support

[x] Add a test case for the new plugin, refer to the doc
[ ] Add a component id in the component-libraries.yml
[ ] Add a logo in the UI repo

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #5997.
[ ] Update the CHANGES log.

I am confused, during the discussion, I said https://github.com/apache/skywalking/issues/5997#issuecomment-743729015. I can't see the question had been answered and provided reasonable explanation.

I am confused, during the discussion, I said https://github.com/apache/skywalking/issues/5997#issuecomment-743729015. I can't see the question had been answered and provided reasonable explanation.

For example, imagine in a scenario where there is an operation's QPS changes during the day, say 10000 in the evening and 100 in the morning. If I want a portion of all the samples to be sampled, a fixed sample_n_per_3_secs would not work very well because it's kind of hard to determine what value should be used for it. If I set it relative to QPS = 100, too less samples would be sampled when QPS = 10000. If I set it relative to QPS = 10000, all the traces in other time might be sampled. Besides I need know the current QPS in order to set it right. In this case if one can just specify a number indicating the percentage rate, it would be way easier to achieve this.
Also we do understand that the sample rate would not be accurate, that's expected. This plugin doesn't intend to be accurate either.
In summary this plugin just provides another way to specify how often one would like traces to be sampled, please consider its use cases. Not all users need this of course, but maybe some users would consider this useful.

For example, imagine in a scenario where there is an operation's QPS changes during the day, say 10000 in the evening and 100 in the morning. If I want a portion of all the samples to be sampled, a fixed sample_n_per_3_secs would not work very well because it's kind of hard to determine what value should be used for it. If I set it relative to QPS = 100, too less samples would be sampled when QPS = 10000. If I set it relative to QPS = 10000, all the traces in other time might be sampled. Besides I need know the current QPS in order to set it right. In this case if one can just specify a number indicating the percentage rate, it would be way easier to achieve this.
Also we do understand that the sample rate would not be accurate, that's expected. This plugin doesn't intend to be accurate either.
In summary this plugin just provides another way to specify how often one would like traces to be sampled, please consider its use cases. Not all users need this of course, but maybe some users would consider this useful.

If I set it relative to QPS = 100, too less samples would be sampled when QPS = 10000. If I set it relative to QPS = 10000, all the traces in other time might be sampled.

Personally, I can't see the real value of this. Because of the inaccurate issue you have mentioned, the agent-side sampling only makes sense when you are facing high-traffic-load. Which percent-sampling mechanism doesn't really help. When the traffic goes to over 10+ times than it usually is, sampling rate keeps unchanged, and much more data has been sampled.

If I set it relative to QPS = 100, too less samples would be sampled when QPS = 10000. If I set it relative to QPS = 10000, all the traces in other time might be sampled.

Personally, I can't see the real value of this. Because of the inaccurate issue you have mentioned, the agent-side sampling only makes sense when you are facing high-traffic-load. Which percent-sampling mechanism doesn't really help. When the traffic goes to over 10+ times than it usually is, sampling rate keeps unchanged, and much more data has been sampled.

Personally, I can't see the real value of this. Because of the inaccurate issue you have mentioned, the agent-side sampling only makes sense when you are facing high-traffic-load. Which percent-sampling mechanism doesn't really help. When the traffic goes to over 10+ times than it usually is, sampling rate keeps unchanged, and much more data has been sampled.

I think sampling by specifying a "percentage" can be a optional configuration for users.
Jaeger provides a similar configurationProbabilistic

Personally, I can't see the real value of this. Because of the inaccurate issue you have mentioned, the agent-side sampling only makes sense when you are facing high-traffic-load. Which percent-sampling mechanism doesn't really help. When the traffic goes to over 10+ times than it usually is, sampling rate keeps unchanged, and much more data has been sampled.

I think sampling by specifying a "percentage" can be a optional configuration for users.
Jaeger provides a similar configurationProbabilistic

Jaeger option belongs to them. We are asking for use case, rather than referencing. SkyWalking should always focus on the use case, what benefits users could have, rather than what configurations other projects have.

Jaeger option belongs to them. We are asking for use case, rather than referencing. SkyWalking should always focus on the use case, what benefits users could have, rather than what configurations other projects have.

We are moving fast on Agent CDS(Config Discovery Service) https://github.com/apache/skywalking/issues/6114.
With that, it also reduces the requirement of using percentage mechanism to do sampling. Actually, you could do automatical sampling easily through that.

We are moving fast on Agent CDS(Config Discovery Service) https://github.com/apache/skywalking/issues/6114.
With that, it also reduces the requirement of using percentage mechanism to do sampling. Actually, you could do automatical sampling easily through that.

Yes, dynamic configuration will do. We're recently also experimenting with that but official support would be optimal. Looking forward to that. Thanks!

Yes, dynamic configuration will do. We're recently also experimenting with that but official support would be optimal. Looking forward to that. Thanks!


Set DEPLOY_DIR var in BM jobs

https://github.com/openstack-k8s-operators/install_yamls/pull/339/files#diff-274a7c302ea3acca968d0bda33efaca145d8e14cb3b905c6f7a56b87fcd5ef38R18 adds DEPLOY_DIR var in BMAAS EDPM compute deployment.
This var needs to be set to collect proper logs and artifacts once the deployment completes.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

recheck

recheck

recheck


Adding checks for broken bottleneck files

An exception is raised when a broken cached bottleneck files is read. Such a file can be created as a result of sudden system failure.
This commit refers the issue #2296 (https://github.com/tensorflow/tensorflow/issues/2296). Although closed but the problem still persists. Please view comments by @rizasif92 at the end. The changes contain nothing but error handling.

Can one of the admins verify this patch?

I signed it!

@petewarden I agree with your solution and was thinking to implement it. I have made the changes as suggested, and tested them as well; I am attaching a screenshot of the output. Kindly review and let me know if anything else is required.
Thank you :)

@petewarden done

@tensorflow-jenkins test this please

@rizasif it looks like you added some 4 character indents, which breaks the sanity check. TF uses 2 character indents. Please fix.

Indentation changes made, kindly re-run the tests. Thanks :)

@tensorflow-jenkins test this please

Thanks @rizasif. @petewarden can you take another look? If the logics right to you, approve and I'll get it merged.

Did the tests pass? :/

@rizasif it looks like you still have some bad indents, e.g.
FAIL: Found 1 non-whitelited pylint errors:
tensorflow/examples/image_retraining/retrain.py:353: [E0001(syntax-error), ] unexpected indent

@rmlarsen the code seems to be working at my end; so we might have to do this a few more times to resolve these indentation issues. I hope this commit works fine. @tensorflow-jenkins please test :)

@rizasif Thanks :)
@tensorflow-jenkins test this please

@rizasif thanks for the contribution!

Pleasure's all mine @rmlarsen
Thank you so much for all the support. Hope to see you guys again. Take Care :)


Missing files and directories leading to workflow failure

I have tried to run this analysis both via launcher and reana-client CLI but received the following error:
job: :
 WARNING: In non-interactive mode release checks e.g. deprecated releases, production architectures are disabled.
WARNING: There already exists /var/reana/users/000/workflows/000/cwl/outdir/0k038_2j/CMSSW_5_3_32 area for SCRAM_ARCH slc6_amd64_gcc472.
cp: cannot stat `../../../../code/HiggsExample20112012': No such file or directory
zsh:cd:6: no such file or directory: HiggsExample20112012/HiggsDemoAnalyzer
zsh:cd:8: no such file or directory: ../Level3
----- Begin Fatal Exception 07-Apr-2022 16:43:35 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named demoanalyzer_cfg_level3data.py
Exception Message:
python encountered the error: <type 'exceptions.IOError'>
[Errno 2] No such file or directory: 'demoanalyzer_cfg_level3data.py'
----- End Fatal Exception -------------------------------------------------
cp: cannot overwrite non-directory `/var/reana/users/000/workflows/000/cwl/outdir/be00up3t/code' with directory `/var/reana/users/000/workflows/000/cwl/outdir/0k038_2j/code'
cp: cannot overwrite non-directory `/var/reana/users/000/workflows/000/cwl/outdir/be00up3t/data' with directory `/var/reana/users/000/workflows/000/cwl/outdir/0k038_2j/data'

Error

Probably some files missing or some paths need to be corrected.

Also, we already have a ticket for CWL workflow not working, so we can close this issue as a duplicate of #17.


No prompt for username when attempting remote server

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
In VS Code when attempting to connect to a remote server I am promted for the URI but no prompt for username. It goes immediately to asking for a password.
VS Code Version
1.72.2
Jupyter Extension Version
2022.9.120
Jupyter logs
No response
Coding Language and Runtime Version
No response
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
No response

For clarity, I am trying to connect to this remote server - https://aafc.maps.arcgis.com/
This is a subscription based ESRI product for which we have an account

@mcburneym I'm sorry for not getting back to you, are you still running into this iussue

@mcburneym I'm sorry for not getting back to you, are you still running into this iussue

Yes I am. If i switch attempt to switch from Jupyter Server: Local to Remote and put in the server referenced above I am prompted for a Password but no request for a username.


[Add] ideone

Site URL
https://ideone.com/
Description of the above provided site
Ideone is an online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
Category
Frontend
Sub Category
code editor
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Please assign this issue to me @CBID2

Done @S-ishita


Admin: new data object leaves main pane blank

I've been having this problem recently on a site, although it had been working well previously. Basically whenever I submit the admin form to create a new object (page or any other type), the main pane becomes empty. The LHS menus is still there, and there are no JS or request errors. Some details of my setup:
CMS 3.5.3
PHP 5.6
Linux Mint 18.1, Apache/2.4.18
I've been debugging the admin JS a bit, and I found an issue at https://github.com/silverstripe/silverstripe-admin/blob/080c7875ea00f635953db7719cf645af78231668/client/src/legacy/LeftAndMain.js#L727
As far as I understand, that line is intended to ignore requests where "Pseudo-redirects via X-ControllerURL might return empty data". However, I noticed my server is returning a string "\n" for POST requests to /admin/pages/add/AddForm. Since the response is not empty, the main admin pane is replaced with the new content (\n).
Immediately after this, the ajax request to GET the form for the newly created object is successful, but the same handleAjaxResponse function doesn't seem to know where to insert this content, as the main pane is now apparently incorrect.
A workaround is to replace  https://github.com/silverstripe/silverstripe-admin/blob/080c7875ea00f635953db7719cf645af78231668/client/src/legacy/LeftAndMain.js#L727 with
if (!data || data === '\n') return;

This works for me, but I would guess the problem is not with this JS, but the server, which is sending one newline character where the response should, I believe, be empty.
Do you think there's a bug with the backend? Could it be a wrong configuration in my server?
Thanks!

Sounds like this could possibly be the whitespace-before-opening-php-tag bug?

possibly - this has been inactive for  >6months so I'm going to close it - happy to re-open if we get some more info on it


Feature Request: Ability to mark all volumes/images/containers at once in order to remove them

Have a checkbox which marks all volumes/containers/images for deletion
Would be very useful to mark them all :-)

Are you talking about the ability to select all entities in a table with one action? (e.g select all containers in the container view, all the images in the images view, etc...) ?

Exactly! :-)

I've seen this request on other canals as well, this was originally present in the first versions of Portainer but removed later because it was messing with the UI. It should be complicated to re-implement.

Closed by #437


Bitmap glyph not affected by offsets

Hi, I'm running alacritty on Archlinux with X11, and the font ttyp0. I am using the latest version available of both alacritty and ttyp0 from AUR.
I'm using the agnoster theme with fish, and the little arrow glyph is misplaced.

Here is the font config that i'm using
font:
  normal:
    family: UW ttyp0
    style: Regular

  bold:
    family: UW ttyp0 bold
    style: Bold

  italic:
    family: UW ttyp0
    style: Italic

  size: 12.0

  offset:
    x: 0.0
    y: 0.0

  glyph_offset:
    x: 0.0
    y: -2.0

I tried to modify the y offset of the glyph to something really high, and nothing moved.

Note that a recent change in Alacritty altered the type of the offset from a float to an integer. So to make this work you'll have to use integer values instead of floating point numbers.
To make sure that there is no problem with the configuration file, please make sure that when launching alacritty from the CLI, that no errors are printed to stderr.
If this should still cause issues, please report back. Otherwise if this solved the issue, please close it.


python312Packages.huggingface-hub: 0.24.6 -> 0.24.7

Description of changes
Changelog: https://github.com/huggingface/huggingface_hub/releases/tag/v0.24.7

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.


wrong filename; README syntax highlight

The config.tpl needed to be renamed to srlconfig.tpl.
README.md yaml config documentation enriched with code marks for better readability.

approved


Make "This web page was generated from a Jupyter ..." more visible

Right now the warning is hidden at the bottom of the web page and could easily be missed.
https://pyviz-dev.github.io/lumen/user_guide/pipeline.html

This issue should be moved to nbsite.

There's a meta-issues on this here: https://github.com/holoviz/holoviz/issues/320


Defunctionalize the PlutusIR Program

EDIT: Title was Figure out how to translate higher order datatypes, but as it can be seen from the discussion, we've came to the conclusion that using TLA+ functions was a dead end. We will now spend time on a fully featured defunctionalizer, which will enable us to use only TLA+ operators.

We fell victim to not using typed to guide our translation. Take this stub of TLA produced by attempting to translate the MultiSigStateMachine contract:
DestAdditiveMonoid12(CConsAdditiveMonoid13(LAMBDA ds4, ds5 : DestBool0(ds4,True1,ds5),False2), ...)

Now, lets look at how we (naively) produced the code for CConsAdditiveMonoid13:
CConsAdditiveMonoid13(x0,x1) ==
  [cons |-> "CConsAdditiveMonoid13",arg0 |-> x0,arg1 |-> x1]

Note how it receives an expression x0, but because we passed a LAMBDA to it, TLA+ complains that "LAMBDA expression used where an expression is required".
How should we translate CConsAdditiveMonoid13 then? Should we pass a TLA+ function (as opposed to an operator) to it?
As a matter of fact, doing some eta expansion is also rejected by TLA:
CConsAdditiveMonoid13(x0(_,_),x1) ==
  [cons |-> "CConsAdditiveMonoid13",arg0 |-> (LAMBDA x,y : x0(x,y)),arg1 |-> x1]

@0xd34df00d
Because TLA+ is untyped, we do not need to monomorphize before defunctionalizing as long as we create application functions for the different arities. Moreover, I believe we only really need to defunctionalize data constructors, we can always use TLA+ operators for higher order functions. For instance, if we have the following three functions-as-data occurences:
... SomeTypeConstructor (\x -> show x)

... CConsMonoid (\x y -> x + y) 0

... foldr (\a b -> a + b + 42) 10 xs

Ideally, it could get translated to:
App2(lam,x,y) ==
    CASE lam.cons OF
        "Label1" -> x + y []
        ...

App1(lam,x) ==
    CASE lam.cons OF
        "Label3" -> show x []
        ...

... SomeTypeConstructor([cons |-> "Label3"], xs)

... CConsMonoid([cons |-> "Label1"], 0)

... foldr(LAMBDA a b : a + b + 42, 10, xs)

We can now defunctionalize (and monomorphize) at the System F level.


zfs: patch exportfs path for sharenfs functionality

Fixes functionality of
zfs set sharenfs=on tank/something

:+1:

18.03:
[detached HEAD f4fdebf685f] zfs: patch exportfs path for sharenfs functionality
Author: Richard Marko<EMAIL_ADDRESS>Date: Wed Apr 18 22:07:42 2018 +0200
1 file changed, 2 insertions(+)


Update react-router features in comparison.md

Recent react-router release (v7) adds a few type-safety improvements. See https://github.com/remix-run/react-router/blob/release-next/CHANGELOG.md#typesafety-improvements

I want to hold off on making any changes in our docs till the RRv7 team goes to Release Candidate. I'm confident that they've got a good type-safety story for their big V7 release, but I'd first want to see what their DX for types looks like.
Currently, our global registering method allows the user to use Router without having to declare their types. Pedro's recent tweet on their current iteration of RRv7 looks to still require the user to declare the parameters on the component, loader, etc, from the generated file. Plus, we still haven't seen what the Link to completion looks like.
Till the wizards working on RRv7 have moved to the release candidate phase, I'm holding off on making changes here.


Revisit iOS interop API

Changes
Revisit iOS interop API to build upon new implementation of InteropView.
Main functional additions are:
Support of onReset, fine-grain touches strategy control (cooperative with explicit time delay, eager, none), support of user-provided callbacks for Compose managed interop view state changes.
Fixes 5719, 5876
Testing
TBD, new/updated demo pages.
This should be tested by QA
Release Notes
Breaking changes - iOS

UIKitView and UIKitViewController in package androidx.compose.ui.interop are deprecated. New API are mentioned in deprecation message. Deprecated invocations should work fine unless custom onResize is used, it is disallowed now and will print a warning.

Features - iOS

New UIKitView and UIKitViewController API in package androidx.compose.ui.viewinterop. Support of onReset to reuse the interop composable emitted node and avoid excessive native views reallocations, fine-grain touches strategy control (cooperative with explicit time delay, non-cooperative where no touches are received by Compose, ignoring touches).

Hope you can review and merge this PR as soon as possible. The change in touch strategy is having a big impact on our project, and we really need to push out a version that behaves correctly for our clients.
Thanks! 😊

Hope you can review and merge this PR as soon as possible. The change in touch strategy is having a big impact on our project, and we really need to push out a version that behaves correctly for our clients.
Thanks! 😊

You mean new touches strategy brought in recent alpha?

Hope you can review and merge this PR as soon as possible. The change in touch strategy is having a big impact on our project, and we really need to push out a version that behaves correctly for our clients.
Thanks! 😊

You mean new touches strategy brought in recent alpha?

Yes, in youtrack is this.

No worries, it's in its presumably final state, so it will be merged after reviewed.
But please, don't use alpha and dev builds for production.

No worries, it's in its presumably final state, so it will be merged after reviewed.
But please, don't use alpha and dev builds for production.

Understand, but because we are happy to conduct active exploration, we will provide customers with some experimental versions.

1.7.0-dev1783
In a full-screen WebView, to ensure smooth scrolling, you must set
properties = UIKitInteropProperties(
                    interactionMode= UIKitInteropInteractionMode.Cooperative(
                        delayMillis = 1,
                    ),
                    isNativeAccessibilityEnabled = false
)

I still don't quite understand the purpose of delaying touch events. Why is delay necessary? In most cases, delayMillis doesn't make much sense, as in scrollable scenarios, no one would hold down and wait for the page to become scrollable.

1.7.0-dev1783 In a full-screen WebView, to ensure smooth scrolling, you must set在全屏 WebView 中，为了保证平滑滚动，您必须设置
properties = UIKitInteropProperties(
                    interactionMode= UIKitInteropInteractionMode.Cooperative(
                        delayMillis = 1,
                    ),
                    isNativeAccessibilityEnabled = false
)

I still don't quite understand the purpose of delaying touch events. Why is delay necessary? In most cases, delayMillis doesn't make much sense, as in scrollable scenarios, no one would hold down and wait for the page to become scrollable.我仍然不太明白延迟触摸事件的目的。为什么需要延迟？在大多数情况下，delayMillis 没有多大意义，因为在可滚动的情况下，没有人会按住并等待页面变为可滚动。

Why no use interactionMode = UIKitInteropInteractionMode.NonCooperative?
In most cases, a lightweight UIView just needs a tap event, and WKWebView is a heavyweight UIView, so it has its own scroll event. Scroll delay is the problem that scrolling gestures are not consumed by UIView in a long list of mixed rendered UIViews.

@vickyleu no, you need to set NonCooperative


pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar dependency can't be download

On branch branch 2.3-TDP, the dependency pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar can't be downloaded.
I think it used to be able to be pulled from conjar but now fails even with the mirror see #4 and #5
I found discussions about this dependency (which is a transitive dependency from Calcite) https://issues.apache.org/jira/browse/HIVE-25173
I found no workaround but to manually place the jar in my ~/.m2/repository. I've downloaded the jar here https://repository.mapr.com/nexus/content/groups/mapr-public/conjars/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/
We can maybe add this mapr repository as a base repo in the parent pom.xml

pentaho aggdesigner has been excluded from build


BoxView: History Message Should Use "box status" Instead of "box state"

This PR changes the history message from "box state" to "box status" in order to comply with user-facing terminology.

 2.0 BoxView History message should use "box status" not "box state" to be consistent with user-facing language #tiny


In the AfterImage.pyx, the method get_last() of Class Queue.

in the AfterImage.pyx , Class Queue:

    cdef insert(self,double v):
        self.q[self.indx] = v
        self.indx = (self.indx + 1) % 3
        self.n += 1

    cdef get_last(self):
        return self.q[self.indx]

when n is 1 or 2,  calling the 'get_last' will always get 0.
when n is 3, calling the 'get_last' will get the  first element in queue not the last.
I'd like to ask if it should be written like this : return self.q[(self.indx-1)%3]

You're right! Thanks for catching this.
By the way, this pyx version performs extrapolation. A faster version is the NDSS version without extrapolation. The python file is now in the repo as Afterimage_NDSS.py


4.0.0.alpha1 timeout issues with sidekiq

I am seeing a ton of jobs failing when running Sidekiq that are all related to connectivity issues with my Mongo database. I'm stress testing the machine with lots of load, so I queued over 18,000 jobs each with a 5 second retry upon failure. Some of the jobs (I'm guessing the ones with a worker that was able to successfully retrieve a connection thread) worked out just fine. Then I have a ton of others with errors like this, here's a gist: https://gist.github.com/stevef/8138907
There's also timeout errors coming from Moped that look like the following: Timeout::Error: Waited 0.5 sec
Note, I'm running Rails 4 with Mongoid code checked out from the master branch in https://github.com/mongoid/mongoid. From what I read, previous versions of Mongoid required explicit closing of connections when a Sidekiq job was done processing. Mongoid 4 is supposed to do that automatically. I can't confirm if it's doing it or not. It seems the problem is two fold when jobs get queued too fast connections aren't available or are timing out. Some workers are successful in opening a connection. Some jobs have to wait until a retry to parse.
Here's a gist of the stracktrace: https://gist.github.com/stevef/220aeea641f2e1704c89

Why is there no documentation regarding the connection pool in the Mongoid docs?

@jeremyhaile docs are a bit behind. Wanna send a PR to https://github.com/mongoid/mongoid-site or open an issue there?
thanks

@arthurnn Done. I added an issue here: https://github.com/mongoid/mongoid-site/issues/259


Cross building

So this isn't anything urgent but popped into my head and thought it would be best to start the conversation now before 2.12 is released and we might have more pressure.
2 questions:

How to parameterize the rule with respect to scala version? (don't think it's complicated but haven't looked into it).
How to cross build a target to both 2.11 and 2.12 like sbt supports. This is useful for both rolling out the upgrade in an organization and for OSS libraries.

I think this is similar to #14
I agree we should work on it.
The ideal case is that we just point at different repositories and maybe some functions to get the particular version numbers out.
We can certainly factor common code to something like scala_common.bzl and then call that from scala2_11.bzl and scala2_12.bzl etc...
I don't think it is too hard, I just have not taken a stab.
Probably scala2_10.bzl might be the first to do since many still use scala 2.10 and there are many libraries published that we could check with.

this could be a useful approach: https://github.com/bazelbuild/rules_scala/pull/84

Indeed. I think one of the other rules uses it (rust? Go?)
On יום ד׳, 10 באוג׳ 2016 at 23:35 P. Oscar Boykin<EMAIL_ADDRESS>wrote:

this could be a useful approach: #84
https://github.com/bazelbuild/rules_scala/pull/84
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/issues/80#issuecomment-238995491,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIF6Ypb3faPQFhyvpabhposk4aWA0bks5qejYZgaJpZM4JTZ4n
.

https://github.com/bazelbuild/rules_scala/pull/84 doesn't let you cross build, right? It just gives you a way to globally change the version?
A couple more thoughts

Cross-building (as opposed to just choosing one version) is very important.
a. Most popular Scala libraries cross-build against two or more versions of Scala.
b. Even if a project is not for pubic consumption, it can take some time to migrate a large codebase and dependencies to a new Scala version. I used SBT + https://github.com/lucidsoftware/sbt-cross to do this during 2.10 -> 2.11, and it was very helpful.
The cross-built versions project can differ in more than just Scala version, e.g. some 2.11 projects need scala-xml, while in 2.10, this dependency was not separate.
It would be nice to keep just the one worker process, and use classloaders to load the different Scala compilers.

I agree cross-building is somewhat interesting, but it is a very low priority for me personally. I'm happy to review PRs.
Bazel is generally used for private (logical) monorepos. There is no support for publishing, for instance. We could have multiple parallel builds, or we could say that the cross building solution is to have your CI bump the scala version you are using.
At Twitter, where we used the similar pants build system, there was no support for this, and in general keeping a large monorepo green with more than one version of scala, I think will be very challenging, not to mention tooling to support versioning the external jars correctly, something bazel does not understand (that scala has multiple parallel artifacts for each different release of scala).

see #251

Checking in if this is something that will be supported. Otherwise, in order for us to adopt Bazel, we'll have to get all of our services on the same Scala version (which isn't ideal).

I think this thread is still the state of the art. You can switch scala versions and so you can manage to have your CI set two different versions, but having a two versions in the same build is not yet supported.
It sounds like you want to build some parts of the code with only version A and others with one version B. Is that right?
A key challenge is this: we want to support interoperability with java (java can depend on scala). But we can’t add two versions of the scala library on the class path. So we need some way to error if that happens.
I don’t think we have found a design where multiple versions of scala in the same build in bazel works great.

SGTM, thanks for the tip on the CI switch

I wonder what Databricks did internally to support cross_scala_library from this post. That looks exactly like what I was looking for, but based on this thread it doesn't look like this is supported here and I couldn't find any of their code in the open.

Wrote a blog post cross build anything with Bazel documenting the stateful cross building (aka switch at CI approach).


Using uncommon file extensions for flutter-internal files risks customer web servers refusing to serve them

Background
Within the build output of any flutter app, there exists a unique file, the asset manifest (currently named AssetManifest.smcbin). This file contains metadata about assets that are available to the app at runtime. In particular, it provides the framework a cross-platform means to discover higher-resolution variants of image assets.
https://github.com/flutter/flutter/pull/122505 changed the extension and underlying format of the file. Before this, it was JSON (AssetManifest.json). This changed the file to be a serialized binary object (AssetManifest.bin, encoded using StandardMessageCodec). A follow-up hotfix changed the filename again to AssetManifest.smcbin, which is the current name as of writing.
Issue
Ideally, changing the extension (or any other aspect) of AssetManifest.smcbin should not impact customers, as this file is a framework-internal implementation detail. However, customers deploying flutter web apps have been impacted with vague, frustrating issues. Here are known examples, with some affecting several customers:

https://github.com/flutter/flutter/issues/124883

This is what prompted the change from AssetManifest.bin to AssetManifest.smcbin, which may have been a mistake in hindsight. See the following issues in this list.

https://github.com/flutter/flutter/issues/128230

By default, some (most?) production IIS web servers are configured to not serve files for which it does not recognize the extension. Clients requesting these files will get a vague 404 response.

https://github.com/flutter/flutter/issues/127038

Similar to the previous issue. To my knowledge, the web server did not know what to use for the content-type header, so it wouldn't serve the file.

The main purpose of this issue is to document this (to be added as a code comment) and raise awareness of this issue, as it could be a problem for other features that rely on requesting files with uncommon extensions (hopefully none).
Takeaway questions: is there a way for us to improve this situation for customers? Is there some sort of way to, in the build output, hint to web servers that this file is safe to serve to clients? Can we make these type of issues easier to catch and debug? Is there some other , well-known, file extension we could use that would be safer (such as .bin, at the risk of reintroducing #124883).

Regarding https://github.com/flutter/flutter/issues/124883, do we know what heuristic IDM is using to block the file? If it's just the extension name we could name this file anything, like .txt right?

Regarding #124883, do we know what heuristic IDM is using to block the file? If it's just the extension name we could name this file anything, like .txt right?

The exact reason for why IDM was doing this is unclear. However, changing the file extension away from .bin was sufficient to address this issue, which is why we chose to do it (the risk of doing this was unknown at the time). The file extension doesn't matter to the flutter framework, so, as far as it's concerned, we can rename the file to be anything, even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

Since this file is an implementation detail of the framework, I wouldn't think of this in terms of "accurate" vs "inaccurate", all that matters is that we download and read the correct filename string.

even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

Since this file is an implementation detail of the framework, I wouldn't think of this in terms of "accurate" vs "inaccurate", all that matters is that we download and read the correct filename string.
I say this from the perspective of Flutter. It would be great if we could verify any future changes with IIS.

It's not always as simple as that, due to CORS restrictions and such. Often web servers have special treatment of HTTP headers based on the content type that they have inferred, and that can sometimes affect the way the scripts on the page can actually access these resources. In this case, it's likely that this file will always be same-origin, which means that most of the time this won't be a problem, but serving a resource with an incorrect content type can sometimes have surprising results.

Often web servers have special treatment of HTTP headers based on the content type that they have inferred

You mean inferred based on file extension, or contents?
It's common for web servers to choose content type solely based off of file extension, and choose their HTTP header behavior based off of the content type.

can sometimes affect the way the scripts on the page can actually access these resources

like not being able to read the raw bytes?
Yes, the browser blocks you from reading the HTTP response if the CORS requirements aren't met. Again, I'm not sure if that specifically is likely to happen here, but in general the extension type of a file can definitely be a signal to the web server to change its behavior, so I think we should try to be reasonably accurate with our file extensions to be as compatible as possible with standard web servers.

I think the constraint is that we do not control the server. We should design it in a way that works with existing website hosting servers.

@andrewkolos Feel free to assign a priority for this one. I'm not sure how to prioritize it myself.

There's been some good discussion of this issue here and on the #hackers-web Discord channel (6/8/23).
My plan is to revert the hotfix that renamedAssetManifest.smcbin to AssetManifest.bin, closing #128230 and reopening #124883. .bin is a file extension that is appropriate while also being more commonly recognized by software.
In the future (e.g. next minor version), we could change how the asset manifest works for flutter web specifically. For example, we could directly embed the contents of the asset manifest into the web entrypoint, or, if we continue to have problems with the binary format, we could generate a second JSON version of the asset manifest and have flutter web use that instead.


fix test_repo_cloner_clone_remote_repo_ssh_url

Background
The test is checking that opal common can clone a private repo.
we sometimes need to clone a private repo when the policy code synced to opal is stored on a private git repo.
the only way to authenticate to a private github repo is with SSH, and not with HTTPS.
cloning with HTTPS is done with a clone url like this: https://github.com/authorizon/fastapi_websocket_pubsub.git
cloning with SSH is done with a clone url like this: git@github.com:authorizon/fastapi_websocket_pubsub.git
why the test is failing
when running in CI (github actions) if the repo is private or (currently) when running locally on a machine of a developer who does not have the private ssh key to this repo: https://github.com/authorizon/fastapi_websocket_pubsub
The test is failing on line: https://github.com/authorizon/opal/blob/380eed6812a5452935bb93f37f733690280550b2/opal_common/git/tests/repo_cloner_test.py#L111
in CI we do this, and although the clone is failing, the test expects to fail:
with pytest.raises(GitFailed):
            # result =
            RepoCloner(
                repo_url=VALID_REPO_REMOTE_URL_SSH,
                clone_path=target_path
            ).clone()

what we should do instead:

open disposable private github repo
create an ssh key pair with this command:

ssh-keygen -t rsa -b 4096 -m pem -C "<your email>"

creates to files (one with .pub ext which is the public key and one without ext which is the private key)

add the public key you creates as a deploy key on github (on the disposable repo settings)

the test needs to get the ssh key

            RepoCloner(
                repo_url=VALID_REPO_REMOTE_URL_SSH,
                clone_path=target_path,
                ssh_key=PRIVATE_SSH_KEY_FOR_TEST. <- can get from env var (default empty string)
            ).clone()

can test that works with
PRIVATE_SSH_KEY_FOR_TEST=  pytest -s path/to/test.py
key contents should be the contents of the private ssh key file, but with newlines encoded as _
in ipython
x = """ <contents> """
x.replace('\n', '_')

@asafc do you still think this test is needed or we good with the current status of it?


Append generated form to body, not grid node

Appends generated form to body, because when using GridView inside a form, submit event of newely generated form propagates to parent form, resulting in parent form submission.

Cannot take this change because it will break the capability of using pjax with grid.
In general, you should avoid enclosing the whole grid within a form.


FLAG CONFIG_OAUTH2_VALIDATE_COMMON__NAME

Current Behavior
Validate common name flag is not working properly as in the logs of oauth the first 2 logs line showing blank common name ill be attaching the logs below and it failed to validate the common name on the other hand if i don't use this flag then first 2 logs doesn't show the common name but on successful authentication it show the common name in the logs
LOGS WHEN VALIDATE_COMMON_NAME Flag is turned on with idtoken.email
level=WARN msg="user validation: common_name mismatch: openvpn client is empty" ip=<IP_ADDRESS>:58566 cid=2 kid=1 session_id=zSZQiybIkkWLA58z common_name="" idtoken.subject=112549187817525499082<EMAIL_ADDRESS>idtoken.preferred_username="" user.subject=112549187817525499082 user.preferred_username="" error_id=91dc984f40fb6d4fef886db14928ece2d92101388e0a2fd7d68f60512876cf8d
level=INFO msg="client disconnected" ip=: cid=2 common_name="" reason=DISCONNECT session_id="" session_state=""
LOGS WHEN VALIDATE_COMMON_NAME Flag is turned off
level=INFO msg="client established" ip=<IP_ADDRESS>:54232 vpn_ip=<IP_ADDRESS> cid=4 common_name=mubasit.khan reason=ESTABLISHED session_id=UHYdv/QiDjo8fk3j session_state=Initial
Expected Behavior
Like my Common name should validate with idtoken.email and if validation is completed then should be able to connect
Steps To Reproduce
No response
Environment

openvpn-auth-oauth2 Version:1.19.1
OpenVPN Server Version: 2.6.9
Server OS: Linux Ubuntu
OpenVPN Client (Windows, OS):
OIDC Provider: Gsuite

openvpn-auth-oauth2 logs
Apr 06 06:11:08 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:11:08.255-04:00 level=INFO msg="accept OpenVPN client cid 3, kid 1" ip=<IP_ADDRESS>:55137 cid=3 kid=1 session_id=dK/cFymJt3IzyJd7 common_name="" idtoken.subject=112549187817525499082<EMAIL_ADDRESS>idtoken.preferred_username="" user.subject=112549187817525499082 user.preferred_username=""
Apr 06 06:11:13 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:11:13.614-04:00 level=INFO msg="client established" ip=<IP_ADDRESS>:55137 vpn_ip=<IP_ADDRESS> cid=3 common_name="" reason=ESTABLISHED session_id=dK/cFymJt3IzyJd7 session_state=Initial
Apr 06 06:12:07 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:07.632-04:00 level=INFO msg="client disconnected" ip=<IP_ADDRESS>:55137 cid=3 common_name="" reason=DISCONNECT session_id=dK/cFymJt3IzyJd7 session_state=Initial
Apr 06 06:12:14 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:14.166-04:00 level=INFO msg="new client connection" ip=<IP_ADDRESS>:54232 cid=4 kid=1 common_name="" reason=CONNECT session_id=UHYdv/QiDjo8fk3j session_state=Initial
Apr 06 06:12:14 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:14.166-04:00 level=INFO msg="start pending auth" ip=<IP_ADDRESS>:54232 cid=4 kid=1 common_name="" reason=CONNECT session_id=UHYdv/QiDjo8fk3j session_state=Initial
Apr 06 06:12:14 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:14.840-04:00 level=INFO msg="initialize authorization via oauth2" ip=<IP_ADDRESS>:54232 cid=4 kid=1 common_name=""
Apr 06 06:12:16 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:16.959-04:00 level=INFO msg="successful authorization via oauth2" ip=<IP_ADDRESS>:54232 cid=4 kid=1 session_id=UHYdv/QiDjo8fk3j common_name="" idtoken.subject=112549187817525499082<EMAIL_ADDRESS>idtoken.preferred_username="" user.subject=112549187817525499082 user.preferred_username=""
Apr 06 06:12:16 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:16.959-04:00 level=INFO msg="accept OpenVPN client cid 4, kid 1" ip=<IP_ADDRESS>:54232 cid=4 kid=1 session_id=UHYdv/QiDjo8fk3j common_name="" idtoken.subject=112549187817525499082<EMAIL_ADDRESS>idtoken.preferred_username="" user.subject=112549187817525499082 user.preferred_username=""
Apr 06 06:12:23 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:23.198-04:00 level=INFO msg="client established" ip=<IP_ADDRESS>:54232 vpn_ip=<IP_ADDRESS> cid=4 common_name=mubasit.khan reason=ESTABLISHED session_id=UHYdv/QiDjo8fk3j session_state=Initial
Apr 06 06:12:41 ARP-792 openvpn-auth-oauth2[1019981]: time=2024-04-06T06:12:41.876-04:00 level=INFO msg="client disconnected" ip=<IP_ADDRESS>:54232 cid=4 common_name=mubasit.khan reason=DISCONNECT session_id=UHYdv/QiDjo8fk3j session_state=Initial

openvpn server logs
No response
Anything else?
No response

CONFIG_OAUTH2_VALIDATE_COMMON__NAME is not a boolean which requires true or false. Instead it accepts a string value which be any claim from your idtoken.
If you wish to compare the command with the email field, use CONFIG_OAUTH2_VALIDATE_COMMON__NAME=email

but on successful authentication it show the common name in the logs

It sounds like you are using username-as-common-name, read the FAQ here what todo here: https://github.com/jkroepke/openvpn-auth-oauth2/wiki/FAQ#username-as-common-name


Authentification ?

Hello,
Thank you for developing cmp-tabby !
I am not able to make it work. Shouldn't I provide an authentication token for the server to answer to the requests ?

I'm just learning about Tabby myself (and trying to get this plugin working). I'm looking over the configuration and am wondering if what you're looking for is the Tabby configuration.toml.
https://tabby.tabbyml.com/docs/extensions/configurations#server
Essentially the auth token relates to Tabby [server] configuration and not this plugin.

Also, if you don't mind me asking, have you had any luck getting this to work? I have the cmp-tabby configured and loaded but it never shows up in my cmp completion (vim-tabby works just fine).


feature: multi-character labels

Did you check the docs?

[X] I have read all the flash.nvim docs

Is your feature request related to a problem? Please describe.
When using max_length = 1 and there are many matches, it seems impossible to jump to the farthest ones.
Describe the solution you'd like
Use multi-character labels when single-character labels are not enough.
Describe alternatives you've considered
Don't use max_length = 1 and type more characters for far matches.
Additional context
No response

I just come up with another alternative: highlight the next character when more characters are needed before a label is assigned. In this way, the next character visually looks like part of a "multi-character label".

Another consideration is that a character could be at the end (i.e. at the end of a line or before a non-ASCII character) with no "next character" to type. So it's preferable to support multi-character labels.

Thank you for the suggestion, but I'm not interested in adding this.
Flash is a search based navigation plugin. You typically just enter more characters to narrow down where you want to go.
setting max_length can be useful, but you're right that this way you won't be able to jump to all targets if there are more than all available labels.


java.util.Date ParamConverterProvider overriding custom one

I was trying to use my custom java.util.Date ParamConverterProvider in my application but it is never being called, well, I should say it's not being passed in any instances of java.util.Date from my form POJO that I pass into my JAX-RS methods with the @BeanParam annotation.
I have the need to use a POJO for my HTML FORM which uses the url-encoded method so I don't have to list out every single parameter in my method signature.
I made a POJO like this:
public class UserFormData {

 @FormParam("expireDate")
 Date expireDate;

 @FormParam("firstName")
 String firstName;

 .... More Fields

}

Then in my POST method in my controller I have something like:
@POST
public void handle(@BeanParam UserFormData userData) {
  log.info("Got my data: {}", userData);
}

I posted this to the Quarkus StackOverflow group and they responded telling me to use the @BeanParam annotation. This works fine as long as I don't have any Date parameters in my bean (which is not what I want)
https://stackoverflow.com/questions/73912142/how-to-handle-form-url-encoded-to-pojo-with-quarkus/73931334#73931334
Doing an experiment and eliminating dependencies out of my project I found that removing Renarde itself fixes the issue BUT I need to use it :)
Looking at the source for Renarde it looks like you're registering a default provider for java.util.Date already?
https://github.com/quarkiverse/quarkus-renarde/blob/main/runtime/src/main/java/io/quarkiverse/renarde/util/MyParamConverters.java
Can I override this version to use my version so I can define my own date formats? I don't see a priority attribute on the Provider annotation.
When I leave the Date fields in my class I get a 400 Bad Request response and no errors on the server. Commenting out the date fields lets the form submission process but obviously is not what I want since I can't use my Date fields.
Thanks!

What I can do is make sure the renarde provider has a lower priority than the default one.
Meanwhile, as a workaround, you can add  @Priority(Priorities.USER-1) to your ParamConverterProvider, your provider should be used first.


Add completion for uninstall

Uses only deps not devDeps

Thanks @rsxdalv for the PR. It's on the gallery.


gscan2pdf: 2.12.5 -> 2.12.6

Description of changes
Updating pkgs.gscan2pdf to the latest version.
Also re-enabling a no-longer failing test.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Announcement: https://sourceforge.net/p/gscan2pdf/mailman/message/37634763/

Result of nixpkgs-review pr 167205 run on x86_64-linux 1

1 package built:

gscan2pdf


added the code for virtual assistant in python along the requirements…

… and readme file
Fix to  Issue # 20
===============================
This a virtual assistant is python which works by givin audio commands
===============================
Checklist

[x] I read the contributing guidelines
[x] I structured my project as stated in the contributing guidelines
[x] My project uses dependencies
[ ] I starred the repo
[x] I had fun contributing!

@sainikhitha-sayyaparaju
Thabks! Feel free to star the repo.


InvalidArgumentError

I'm trying to do a 3d image regression using NiftyNet and the highres3dnet, but I am getting the following error.

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [1,1,1,80,1] rhs shape= [1,1,80,1]

The error is traced back to

File "/.conda/envs/Greens/lib/python2.7/site-packages/niftynet/engine/application_driver.py", line 256, in run_application
self.graph = self._create_graph(self.graph)
File "/.conda/envs/Greens/lib/python2.7/site-packages/niftynet/engine/application_driver.py", line 357, in _create_graph
save_relative_paths=True)

what can I do?

I had a similar error as well. In my case I could solve it when changing the dimension in the header of the input .nii file
from
dim             : [  3 448 448 210   0  0  0   0]
to
dim             : [  3 448 448 210   1   1   1   1]

Thanks @sia79! This is now fixed by https://github.com/NifTK/NiftyNet/commit/e5c7a8dee18483c86a7e708c9d8b535c581dcd6a.


Assign a user to a card

I've added assign command to a card. The command is "card assign <card_id>". Then you can select the user from the list.
I'm not sure about which features should be prioritized or should I use branches for new features etc. as this is my first contribution to an open source project.
Thanks.

@onurbozkurt thanks for the PR!
I think this is totally fine, we actually had an issue for this at https://github.com/qcam/3llo/issues/6.

I've updated both reviews.

Hi again. My new commits are added to the PR automatically and I couldn't remove them. So I had to revert my last commit. Sorry for the mess but as I said, this is my first time. Should I use branches to prevent this?

@onurbozkurt no worries 😉 it’ll be fine when I squash.
While it’s alright to leave this but just a friendly tips if you want to fix this. You could try using git squashing feature (via git rebase -i) to rewrite your commit tree then force push to your branch.

@onurbozkurt thanks for the awesome work! 🎉


Example missing

The example referred to on the last "Important" box is missing.  The box mentions "In the example below, the operation fails because it tries to create an item that already exists (409 HttpStatusCode.Conflict)". There is no example below the box showing how to deal with a failed response.

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

ID: a7d615dc-09c7-6f03-1265-52587d6b6863
Version Independent ID: aa7df422-40e7-bda7-f4c3-257c0ff8b412
Content: Transactional batch operations in Azure Cosmos DB using the .NET or Java SDK
Content Source: articles/cosmos-db/nosql/transactional-batch.md
Service: cosmos-db
Sub-service: nosql
GitHub Login: @StefArroyo
Microsoft Alias: esarroyo

@hesperanca
Thanks for your feedback! We will investigate and update as appropriate.

You are right. An extra sample would be redundant, so the language will be updated to say:

If there's a failure, the failed operation will have a status code of its corresponding error. All the other operations will have a 424 status code (failed dependency). If the operation fails because it tries to create an item that already exists, a status code of 409 (HttpStatusCode.Conflict) is returned. The status code enables one to identify the cause of transaction failure.


stderr is closed

Description
progressbar doesn't work with our testing system because it finds stderr closed
Code
Here, SimulationProgressBar() is just a simple wrapper around ProgressBar. I can share it with you.
 I can check on it.
Arthur

By default it actually references progressbar.utils.streams.original_stderr.
https://github.com/WoLpH/python-progressbar/blob/86a28c9d01c731c04687b43b11f042ca2bd11403/progressbar/bar.py#L59-L66
Looking at your code I'm guessing it might (not sure) work if you move used_bar = ... within the with CaptureOutput(...) block. If that doesn't work either, you can always replace fd by doing bar.fd = sys.stderr (or any other writable object).

Hi Rick
Thanks for your quick reply. These changes to DefaultFdMixin enable my code to work:
 from . import utils
-
+from .utils import StreamWrapper

 logger = logging.getLogger(__name__)

@@ -56,12 +56,14 @@ class ProgressBarBase(abc.Iterable, ProgressBarMixinBase):

 class DefaultFdMixin(ProgressBarMixinBase):

-    def __init__(self, fd=sys.stderr, **kwargs):
+    def __init__(self, fd=None, **kwargs):
+        fd = sys.stderr if fd is None else fd
+        streams = StreamWrapper()
         if fd is sys.stdout:
-            fd = utils.streams.original_stdout
+            fd = streams.original_stdout

         elif fd is sys.stderr:
-            fd = utils.streams.original_stderr
+            fd = streams.original_stderr

         self.fd = fd
         ProgressBarMixinBase.__init__(self, **kwargs)

However, they make some of your tests fail, so they're not a solution.
My idea is that progressbar and other programs that use it may all manipulate stderr and stdout. progressbar could minimize its conflicts with these other programs by grabbing the current stderr and stdout from sys as late as possible -- when a ProgressBar or other type of bar is instantiated -- rather than before that.
E.g., I made a similar change to progress with this commit which works with our testing framework and does not harm progress. But your progress bar has more functionality because it simultaneously shows progress toward the final value (I'm running simulations) and the ETA for completion.
Unfortunately, I don't have time to develop this further, but would gladly test any solutions you offer.
Regards
Arthur
the conflicts between it and

The problem is that progressbar needs to grab them really soon to be able to work together with logging. That's the reason for grabbing it so early.
Perhaps a recapture method could help here, but I can see very few use cases where this is beneficial. Capturing and replacing the output to work together with regular output is one of the more useful features of this progressbar.

Thanks Rick. I had presumed that progressbar deliberately grabbed and held onto stderr for a long time. For now I'll simply catch and ignore I/O operation on closed file exceptions that occur during testing.


Navbar critical fixes

:tada: This PR is included in version 4.4.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Open a new tab does not update getWindowHandles()

What are you trying to achieve? (Expected behavior)
I woul like to open a new tab in chrome and switch between the new tabs
// using the browser shortcut to create a new tab
$handles = $wd->getWindowHandles();
var_dump($handles);
$wd->getKeyboard()->sendKeys(
array(WebDriverKeys::CONTROL, 't'),
);
$handles = $wd->getWindowHandles();
var_dump($handles);
What do you get instead? (Actual behavior)
There is a new tab but the getWIndowsHandles function delivers just one handle. So I cant switch to another handle
Details
Php-webdriver version: 1.5.0 ( lmc steward 2.3)
PHP version: 7.0.13
Selenium server version: 3.8.1
Operating system: windows 10
Browser used + version: chrome Version 64.0.3282.186

Hi, I am experiencing the same. Does anyone have some feedback on this issue?

Hi, I am using javascript to open new tab:
$result = $driver->executeScript("window.open('about:blank','_blank');", array());
$handles = $driver->getWindowHandles();
print_r($handles);

Array
(
    [0] => CDwindow-188BB450509BB168A6930650A970BC86
    [1] => CDwindow-7FD87F7A121DC3CE3D7F76EA96E7D2C0
)

I experienced a similar issue, but realized it was a timing issue. Was able to resolve the issue with a sleep, and eventually a custom wait function.

I just checked unit tests for this case - it seems everything is working properly...  Make sure you use something like $driver->wait()->until(WebDriverExpectedCondition::numberOfWindowsToBe(2)); before you try to switch to the new window - like we do in tests


Questions: oleaut32.dll

Hello, there
When I tried to open com object by using com-rs, I got the access violation
exit code: 0xc0000005, STATUS_ACCESS_VIOLATION
And when I debug this logic, I saw that the pointer from create_instance is mapped to oleaut32.dll.

Could you give me a hint how I can use this properly?
BR
Heejin Jeong

Hey there. Can you post a minimal reproduction of this issue? It's hard to tell what's going on from a screenshot. Thanks!

Hello
I dig into more and seem the the file I want to is written in ActiveX technology. Would it be possible to use com-rs for accessing active x ctrl?
Br
Heejin


hugo new site should add a .gitkeep to the content directory.

Description
Suppose that I generate a new site with hugo new site. A content directory will be created for me. If I immediately add a new page via hugo new, then there will a file within the content directory, so it will be tracked with Git. However, if I commit my changes without creating a page, then the result commit will capture a snapshot of my site that does not include a content directory. This will cause hugo new <section>/<page-title>.md to fail with the message Error: no existing content directory configured for this project.
Steps to Reproduce

Create a new Hugo site.

$ hugo new site quickstart
$ cd quickstart

Check in the site state with Git.

$ git init
$ git add --all
$ git commit -m "Initial commit - blank Hugo site"

Reproduce the working tree from that commit. E.g. via a git clone, or a git reset --hard.

# ... add some more git history.
# ... then backtrack to the first commit
$ git reset --hard <initial commit SHA>
# Note that my content directory is now gone
$ file content
content: cannot open `content' (No such file or directory)

Try to add a new page.

$ hugo new posts/post-name.md
Error: no existing content directory configured for this project

Suggested fix
hugo new site should create a content/.gitkeep. This would ensure that the output of hugo new site, when saved to Git, represents a working project state.
What version of Hugo are you using (hugo version)?

$ hugo version
hugo v0.111.2+extended darwin/amd64 BuildDate=unknown

Does this issue reproduce with the latest release?
Yes, I am using the latest release

Hmmmmm, there is actually a valid point here but not sure about the strategy.
I myself naturally fall into the same situation and end up creating .gitkeep files all around.
I guess the point is do we want to tie Hugo to Git and a certain project structure or keep it abstract? Not everyone wants or uses Git. Plus, what you have described could also be accomplished with a simple Bash script.
I personally lie more towards the abstract side of the argument but interested to hear others’ thoughts.
Cheers.

Commenting as I was about to go and implement this however I kind of agree on your point regarding keeping Hugo abstract. Although my 'go to' on any project is to initialise a git repo the moment I begin, I appreciate that not everyone does this.
Interested to hear other opinions, and if it is decided that it would be beneficial I'd be happy to raise a PR

Ok, revisiting my thoughts and perhaps thinking out loud a little bit.
BTW, I also initialise a Git repository right after everytime I do a new Hugo site. I still think it would be wrong to implement this behaviour into Hugo by default. In that case, it might be better to enable such a feature via a flag. I just checked available flags for Hugo and --enableGitInfo is one for add Git revision, date, author, and CODEOWNERS info to the pages. So Hugo is aware of Git if it wants afterall.
Therefore, during a setup with the command hugo new site [SITE_NAME], the user can add a flag such as --introduceGit so that the project folder is setup as a Git repository at the same time. If others want it, they can introduce other flags for other versioning systems.
From my perspective, the --introduceGit should do:

git init,
add .gitkeep files to various folders,
add .gitignore,
perhaps also do an initial commit.

I could still see myself doing a custom Bash script for a project setup with more custom options but this flag could benefit some users.
Thoughts.
p.s. you are more than welcome to criticise my flag name :]

--introduceGit should do git init

Unless Git isn't installed, in which case it should...
My take on this issue is:

If you want to keep a directory, put something in it (user's choice, not Hugo's)
If you want to do other things, script it (user's choice, not Hugo's)
We have already have enough command options to choke a horse


fix: allow locking git dependencies with pip

When you had a pip git requirement such as git+https://github.com/OCA/maintainer-tools, fetch_pip_metadata was failing with:
Traceback (most recent call last):
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/bin/.fetch_pip_metadata-wrapped", line 9, in <module>
    sys.exit(fetch_pip_metadata())
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/lib/python3.10/site-packages/fetch_pip_metadata/__init__.py", line 126, in fetch_pip_metadata
    lock = lock_file_from_report(report, project_root=args.project_root)
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/lib/python3.10/site-packages/fetch_pip_metadata/lock_file_from_report.py", line 240, in lock_file_from_report
    name, package = lock_entry_from_report_entry(install, project_root)
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/lib/python3.10/site-packages/fetch_pip_metadata/lock_file_from_report.py", line 154, in lock_entry_from_report_entry
    info = lock_info(download_info)
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/lib/python3.10/site-packages/fetch_pip_metadata/lock_file_from_report.py", line 132, in lock_info_from_vcs
    sha256 = nix_prefetch_git(url, rev)
  File "/nix/store/v28wx7mr5m9wasbnmsij4dqfrgl0d28q-python3.10-fetch_pip_metadata/lib/python3.10/site-packages/fetch_pip_metadata/lock_file_from_report.py", line 29, in nix_prefetch_git
    subprocess.run(
  File "/nix/store/bc45k1n0pkrdkr3xa6w84w1xhkl1kkyp-python3-3.10.12/lib/python3.10/subprocess.py", line 503, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/nix/store/bc45k1n0pkrdkr3xa6w84w1xhkl1kkyp-python3-3.10.12/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/bc45k1n0pkrdkr3xa6w84w1xhkl1kkyp-python3-3.10.12/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'nix-prefetch-git'
Traceback (most recent call last):
  File "/nix/store/0715rzxpxka6b12x7nl6i25gbxp9m80g-refresh/bin/refresh", line 37, in <module>
    lock_data = run_refresh_scripts(refresh_scripts)
  File "/nix/store/0715rzxpxka6b12x7nl6i25gbxp9m80g-refresh/bin/refresh", line 33, in run_refresh_scripts
    refresh_scripts[name] = run_refresh_script(value["script"])
  File "/nix/store/0715rzxpxka6b12x7nl6i25gbxp9m80g-refresh/bin/refresh", line 19, in run_refresh_script
    subprocess.run(
  File "/nix/store/bc45k1n0pkrdkr3xa6w84w1xhkl1kkyp-python3-3.10.12/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/nix/store/2qfpia31lh9dajnf9s6dm0rp5dw109d3-script.sh']' returned non-zero exit status 1.

@moduon MT-1075

Thanks a lot :)


comparison of parsed, Truncated dates fails in docker containers

What version of Go are you using (go version)?
go version go1.7.1 and 1.6 linux/amd64
go version go1.7.1 and 1.6 darwin/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build610621160=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

What did you do?
When you compare dates that are both truncated with time.Truncate, and one of them is parsed with time.Parse, the test fails in docker containers. It works locally on OSX and Linux, go version 1.6 and 1.7. Below is the code and link to play.golang.org.
package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	date2 := time.Now()
	parsed, _ := time.Parse(time.RFC3339, date2.Format(time.RFC3339))
	if now.Truncate(time.Hour) != parsed.Truncate(time.Hour) {
		fmt.Println("Dates differ in docker", now.Truncate(time.Hour), parsed.Truncate(time.Hour))
	} else {
		fmt.Println("Dates are equal on the host", now.Truncate(time.Hour), parsed.Truncate(time.Hour))
	}
}

https://play.golang.org/p/JKXJrjUun3
What did you expect to see?
I expected the comparison to be true.
What did you see instead?
Was false.

You cannot compare times with == or !=. You must use the t1.Equal(t2) method.
The reason is that time.Now() always has the magic "local" location. time.Parse when given a numeric timezone will use the "local" location if that is a valid offset for the local timezone, and otherwise will create a new Location with the fixed offset.
I suspect your Docker container has UTC as the default timezone, but your local machine has a different timezone.

@quentinmit but what if both dates are created on the same docker with the same UTC ? Should it not be equal ? I checked the location field in both dates and was equal. In this case you described should not the behavior be predictable no matter where we execute?

The location fields in both dates are not equal. See
https://play.golang.org/p/XpmFLX_A9n


Implement GetHashCode method HtmlNode class

Hello @riyadparvez ,
We will try to look at this request soon,
Best Regards,
Jonathan

Hello @riyadparvez ,
Unfortunately, after looking at the work required to implement correctly GetHashCode, I don't believe we will implement it for now.
Best Regards,
Jonathan


Made member functions of kissfft class const-correct.

Also made member functions static where appropriate.

I tested the changed code for a couple of cases. It appears to work properly giving the same results as before.

Thanks!


perf(utils/buffer): use promise all for better performance

Changed to use Promise.all in the timignSafeEqual function to improve performance.
Measurement Results and Discussion
Here we share benchmark results for timingSafeEqual and (using Promise.all) timingSafeEqual2 .
https://github.com/yasuaki640/timingSafeEqual-bench/actions/runs/9646432337/job/26602824121
(Click on the Run Benchmarks section to see the benchmark results )
We observed a 1.6 ~ 2x performance improvement (except for the last case) for the test cases present in buffer.test.ts.
The only performance degradation was in the following case
https://github.com/honojs/hono/blob/a9d5313a5a3b23dee963b765bda0a95f7b94bec7/src/utils/buffer.test.ts#L72
(The timingSafeEqual-bench repository has the following measurements)
https://github.com/yasuaki640/timingSafeEqual-bench/blob/ab3f59b0edc28e1607bbea139490023e88cdb2f1/timingSafeEqual.bench.ts#L232-L242
Probably due to the overhead of Promise.all itself.
However, to begin with, the mean execution time of this case is two orders of magnitude smaller than the other cases, and we are passing a (extremely short processing time) test function such as () => undefined.
Therefore, we believe that using Promise.all is more beneficial than the degradation of this case, noting the performance improvement in all other cases.
The author should do the following, if applicable

[ ] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

Hi @yasuaki640
The implementation and measuring performance are both great. I'll merge this now. Thanks!


Kwikset 910 functionality?

I noticed two Kwikset 910 deadbolts on the manufacturer website.  Z-wave and Zigbee. which one works with lock code manager?  I primarily need to use the scheduling function of lock codes

I have a kwikset 910 zwave and it's works when setting codes. I haven't tried the scheduling feature yet. I also haven't been able to get the data of which codes/users are unlocking and locking the bolt. That is a feature I would like to get working.

thank you so much for replying!  I wasn't sure anyone would.
I had the Schlage BE469.  its a nice deadbolt, and with that one the push notifications did work and did tell you which user unlocked or locked the deadbolt but the scheduling did not work.  Also codes assigned using the app could not be deleted.
Would you be willing to try the scheduling of the codes in your app and let me know if it works with your Kwikset 910?
Grateful,
John Arnold
---- Jonathan Rosenberg<EMAIL_ADDRESS>wrote:
I have a kwikset 910 zwave and it's works when setting codes. I haven't tried the scheduling feature yet. I also haven't been able to get the data of which codes/users are unlocking and locking the bolt. That is a feature I would like to get working.

Reply to this email directly or view it on GitHub:
https://github.com/ethayer/user-lock-manager/issues/33#issuecomment-173695342

I could probably give it a try this weekend. I am traveling a lot for work this week.


[MRG] Add viz of auto-noisy segment detection

This is currently non-interactive (purely static viz) until we've decided how to best add interactivity.

Shall we aim to have this in the report ?

Shall we aim to have this in the report ?

Very good point. Yes I think we should. Need to adapt the pipeline to work with the new BIDSPath first, though, before proceeding with this PR!

can you share an example plot?

The figures are now automatically added to the report

@hoechenberger can you share  a rendered artifact on circle when you have one?

@agramfort Absolutely!
… I see it just failed, need to fix that :(

Also forgot to mention:
This now stores the scores returned by find_bad_channels_maxwell() as a JSON file, which is later used to retrieve those values when creating the figures.

@agramfort
https://511-167957354-gh.circle-artifacts.com/0/reports/ds000248/sub-01_task-audiovisual_report.html#6

thx @hoechenberger
cc @SophieHerbst

Feedback I got from non-neuroscience friends who know their sh*it about design and accessibility:

the gray vertical lines are awful
the colormap may not be optimal; should try out "inferno", "plasma", "magma"
interactivity typically adds a huge improvement in UX and usefulness to such figures

no objection !

Very nice @hoechenberger!
Do we now have a documentation somewhere of how the 'score' is computed (ideally in the bad channel detector function)?

Do we now have a documentation somewhere of how the 'score' is computed (ideally in the bad channel detector function)?

From the "Notes" section of the find_bax_channels_maxwell() doc:

I tried to follow this through by stepping through the code line by line. I'm fine until including step 4; but step 5 either doesn't happen as described, or I'm misunderstanding something. What we do in the code in step 5, to my understanding, is we check if zscore(dk) > limit, where limit is user-supplied (and 7 by default).
What we return as the "noisy score" is zscore(dk).
@larsoner could you shed some light onto this? I'm I missing something, or is the documentation outdated?

Friendly ping to @larsoner – could you help me here? :)

I tried to follow this through by stepping through the code line by line. I'm fine until including step 4; but step 5 either doesn't happen as described, or I'm misunderstanding something. What we do in the code in step 5, to my understanding, is we check if zscore(dk) > limit, where limit is user-supplied (and 7 by default).

A zscore(d) is just (d-mean)/std. So if you're checking d>mean+limit*std, equivalently you're checking (d-mean)/std>limit, i.e. zscore(d)>limit

A zscore(d) is just (d-mean)/std. So if you're checking d>mean+limit*std, equivalently you're checking (d-mean)/std>limit, i.e. zscore(d)>limit

Bazinga! You're absolutely right, thank you!
Do you think it would make sense to adjust the user-facing documentation to make this relation between limit and dk more obvious? i.e., state that d is being z-transformed to a z-score, and that limit is given in z-scores too?

A parenthetical mentioning that this is equivalent to the zscore exceeding limit would be fine


Using from unpkg

We do not want to include web3connect in our main bundle, so we are trying to use it with <script src="http://unpkg.......web3connect.js"> But it does not work for web3connect (although we managed it to work with web3.js already). Any working eample with that please? We get web3connect.Core is node defined. Or if we use new web3connect.default.Core() we got e() is undefined or other random errors that make no sense.

I haven't used unpkg with web3connect yet but you can also download the latest release bundle from our releases page
https://github.com/web3connect/web3connect/releases

Actually I just noticed that you are calling new web3connect.default.Core() and it should be instead new Web3Connect.default.Core()


fix: Make this check if brew is installed before trying to run it.

I approved this and it's broken.


Minor typo in Error message

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


Feature Request:

Feature Requested
Hello,
I have been using Alfred and Obsidian very effectively, and I am very satisfied with this workflow. I would like to make a suggestion while I was looking at the Feature Overview.
There is a Core Plugin called RandomNote in Obsidian. This feature allows you to open a random note in the Vault, and I would like it if this could be easily opened as a command in Alfred.
Thank you for creating this workflow, and I look forward to your consideration of my proposal.
Best regards,
younuk23
Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.
[X] I have checked the feature overview and the feature doesn't already exist.
[X] Feature Requests regarding daily notes will not be implemented, since there are other Alfred workflows that do focus on daily notes already.
[X] If it is an entirely new feature: The requested feature makes more sense to be implemented in Alfred than in a plugin. Please also explain why.

Thanks for the kind words!
You do not need this Alfred workflow for that, since you can actually create such an Alfred keyword by yourself. Add this URL as custom search:
.obsidian://advanced-uri?commandid=random-note

requires the advanced uri plugin.

@chrisgrieser Thanks for the kind reply :)


Trouble converting HuggingFaceH4/starchat-beta GPTQ

System Info
tgi repo commit: 70f485bf9f601b5450b00894f56e20b973d1c2e4
cargo: 1.68.2
model: HuggingFaceH4/starchat-beta GPTQ
machine: EC2 g4dn.12xlarge
GPU: 4 x T4 16GB
command: text-generation-server quantize starchat-beta starchat-beta-q
I've trouble converting HuggingFaceH4/starchat-beta model to GPTQ with  the above mentioned command.
Quantizing layer 1/40..
+------------------+--------------+------------+-----------+-------+
|       name       | weight_error | fp_inp_SNR | q_inp_SNR | time  |
+==================+==============+============+===========+=======+
| attn.c_attn                 | 1816.746     | -          | -         | 39.322 |
| attn.c_proj                  | 70.281       | -          | -         | 2.313 |
| mlp.c_fc                     | 1578.097     | -          | -         | 3.435 |

OutOfMemoryError: CUDA out of memory. Tried to allocate 2.25 GiB (GPU 0; 14.58 GiB total capacity; 12.91 GiB already allocated; 653.31 MiB free; 13.15 GiB reserved in total by PyTorch) If
reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

I've successfully converted NousResearch/Nous-Hermes-13b without any issue with only one T4 GPU.
Another question I've is that, startchat-beta model is trained with a context length of 8192. If we convert to GPTQ with 2048 length, will it affect the model performance?
Information

[ ] Docker
[X] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Run the command text-generation-server quantize starchat-beta starchat-beta-q and observe the error.
Expected behavior
Model is successfully quantized.

If we convert to GPTQ with 2048 length, will it affect the model performance?

Hard to say, the conversion should give you an estimate of the loss, in our experience unfortunately starchat is quite damaged after quantization.
For the out of memory, it's out of memory, how it is a bug ?
I am going to try a little to improve the quantization script, but it's hard to make it both generic (for every model out there) and efficient (less RAM used).
I am going to close this, feel free to reopen.

For the out of memory, it's out of memory, how it is a bug ?

Half of the total available GPU memory(total 64GB) is free, but still quantization process uses only 1st GPU memory for conversion and fails to do so.

@Narsil  Do you think it is worth converting the model with sequence length of 8192 using a different dataset and see the model performance?

Half of the total available GPU memory(total 64GB) is free, but still quantization process uses only 1st GPU memory for conversion and fails to do so.

Really ? The script uses low_mem_0 from accelerate, which should make GPU 0 used as little as possible... Do you maybe have CUDA_VISIBLE_DEVICES set which would make those other GPUs invisible for the script ?

@Narsil Do you think it is worth converting the model with sequence length of 8192 using a different dataset and see the model performance?

You can definitely try. I'm not sure that will impact the downstream performance that well though.

Really ? The script uses low_mem_0 from accelerate, which should make GPU 0 used as little as possible... Do you maybe have CUDA_VISIBLE_DEVICES set which would make those other GPUs invisible for the script ?

The initial model load used GPU 0 very little memory while loading rest 3 with more... but as soon as conversion started, GPU 0 memory filled up and finally OOM.

That means you need more GPU ram to load a single layer and actually do the conversion.
The script loads the model layer per layer, and for each layer maintains both the "natural" (f16) version and the quantized version + a lot of intermediary necessary computations.
Just use a larger GPU for the conversion. (4A10G might be enough)

Okay I'll give it a try with g5.12xlarge, but I encountered a strange problem. since g4 instances uses Intel CPU and g5 uses AMD, TGI launcher command works fine Intel, but throws Signal 4 error on AMD. I tried re installing everything including flash attention but got same error. I'll try it again.

g5.12xlarge

I use that all the time.. odd..


feat(aws): add opensearch support

Addressing issue https://github.com/infracost/infracost/issues/1981

 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.Andrey Baboshin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Create initial godot project

Create initial Godot Engine project. Update the readme.

Due to the nature of this task, and lack of contributors, this is added directly to done.


build: move jest-circus/ facade to jest/

Description
In this PR, since there is only single integration with jest and jest-circus, and the latter is a default choice for Jest 27, and the only choice (unless jest-jasmine2 is explicitly installed) for Jest 28, I consider it right to shorten the paths to the user-facing files.
TODO:
In environment:
 const {
   DetoxCircusEnvironment,
   SpecReporter,
   WorkerAssignReporter,
-} = require('detox/runners/jest-circus');
+} = require('detox/runners/jest');

In Jest configs:
   "testTimeout": 120000,
-  "reporters": ["detox/runners/jest/streamlineReporter"],
+  "reporters": ["detox/runners/jest/reporter"],
   "verbose": true

TODO
As for the attempts to import the files at their old locations, the users will be seeing warnings:
TODO

For features/enhancements:

[x] I have added/updated the relevant references in the documentation files.

@noomorph kudos for finding those building blocks that allow moving forward with this in a step-by-step fashion ❤


d3.layout.pack fails on zero values?

See https://github.com/mbostock/bl.ocks.org/issues/3 by @johan.

Test case: http://bl.ocks.org/1627378

Fixed (again) in 2.7.2. See @f21d6b826bfdf74cfe43636e9755e66e0569759a.


Handle groups and flags properly with bugzilla REST API

Like comment authors, flag setter and requestee are now plain strings
instead of User objects.  While I'm there, handle groups properly so we
don't treat all bugs as restricted.

Coverage decreased (-0.4%) to 49.841% when pulling 075814749b29a25b2626f9ea5e471703d644f1f2 on jcristau:restapi into c9082a87ccbf13bd49f397f399be8f1bcba0ad03 on mozilla:master.


Added PeerTube

I built this off the wireguard-layer-7 branch.

Thanks, since this is based on the work of #237 its not possible to review the changeset (at least not on github), so lets get #237 tested and merged, then I'll take a look at this.


Why is the circle I painted is not a perfect circle?

L.circle([lat, lng], {
	radius: 200
})

Thanks!

Yes, crs: L.CRS.EPSG4326, sorry, I can't post it on the codepen, Because the tile service I use is intranet.
window.zxmap = L.map('zxmap', {
	center: {lng: defaultCoordinate.lng, lat: defaultCoordinate.lat},
	zoom: defaultCoordinate.zoom,
	crs: L.CRS.EPSG4326,
	layers: [L.tileLayer(mapTiles[useMapTile].url, {zoomOffset: 1})]
	})

Thanks!

Then this is behaviour as expected, as per https://github.com/Leaflet/Leaflet/pull/2345


Add support for detecting project ID. Fixes #97

Fixes google/google-auth-library-nodejs#97

[x] - Add support for detecting default project ID

[x] - Detect from environment variables
[x] - Detect from project_id field in GOOGLE_APPLICATION_CREDENTIALS key file
[x] - Detect from Google Cloud SDK default config core/project setting
[x] - Detect Compute Engine project ID

[x] - Write tests

Before
auth.getApplicationDefault(err, authClient) {
  // ...
});

After
auth.getApplicationDefault(err, authClient, projectId) {
  // ...
});

What do you think about putting the project ID as a property on the authClient / a getter? Since users of the library are likely caching the authClient, it should be easier for them to just grab the projectId off of that object as opposed to additionally caching the projectId returned when they create the client.

They are related but still separate concerns. One is a set of credentials (a json  key file), the other an identifier for a project. The auth object itself actually will have both of them cached. Today you can already access the cached credentials. My PR caches the project ID too. e.g.
// Get just the project ID
auth.getDefaultProjectId(function (err, projectId) {
  // The project ID has now been cached
  console.log(auth._cachedProjectId === projectId); // true
});

// Retrieve credentials and the project id
auth.getApplicationDefault(function (err, credentials, projectId) {
  // Both are cached
  console.log(auth._cachedCredential === credentials); // true
  console.log(auth._cachedProjectId === projectId); // true
});

This is how python is implementing it:
import google.auth

credentials, project_id = google.auth.default()

I think the functionality of auto-detection of a project ID is quite helpful, and I think users will appreciate it, too. My thought is we should make it as easy as possible for them to get by putting it on the authClient instance so they don't have to "catch it before it's gone" (in the callback of the auth client fetcher).
But either way, google-auto-auth wraps this library, so I'll put it on the authClient that library returns, which should help us in our client libs.

catch it before it's gone

It won't be gone, it's cached on the auth object, just like the credentials. Once that callback is called they can access the cached project id on the auth instance they used to call getApplicationDefault, e.g. auth._cachedProjectId. Also, if the credentials  object is actually a user's Service Account, it will already have a project_id field. I don't see anywhere in google-auth-library-nodejs where it actually modifies the default application credentials. It just loads them and caches them. I'm not sure one would want to attach the default project id to the loaded credentials, hence I cached them separate from each other.

But either way, google-auto-auth wraps this library, so I'll put it on the authClient that library returns, which should help us in our client libs.

👍, though personally I would have google-auto-auth do as I've done here and cache the project id on the google-auto-auth Auth instance, not the authClient value (which is actually the parsed key file). e.g. (from google-auto-auth):
function addScope(err, authClient, projectId) {
  if (err) {
    callback(err);
    return;
  }

  if (authClient.createScopedRequired && authClient.createScopedRequired()) {
    // ...
  }

  self.authClient = authClient;
  self.projectId = projectId;
  callback(null, authClient, projectId);
}

Then google-cloud-node or gax-nodejs can cache the credentials and projectId separately as they see fit. The two values are used for separate things. One for making an authorization header to pass with requests, the second to be a path parameter in requests (especially in the case of gax-nodejs.)

it's cached on the auth object, just like the credentials.

I guess all I'm really saying is it shouldn't be "private". In JS, the leading _ tells developers not to rely on this value. And it tells contributors to this library that they can change the purpose of that property or remove it without being concerned it would break users' code.

self.authClient = authClient;
self.projectId = projectId;

Yep, that's exactly how I would do it :)

So perhaps we should also add synchronous getters to google-auth-library-nodejs for the credentials and projectId

Can we also read the project_id from a service account keyfile?

Yep: https://github.com/google/google-auth-library-nodejs/pull/98/files#diff-74a29c6f6e51bc579dce9754d2d4eeb0R185

Is that in the case I don't have gcloud SDK installed at all, and I just provide a JSON key file?

Yeah, newer Service Account key files have a project_id field. This PR looks for a projectId in following places (in order of precedence):

GCLOUD_PROJECT or GOOGLE_CLOUD_PROJECT env var
project_id field of Service Account key file pointed to by GOOGLE_APPLICATION_CREDENTIALS
core/project field of default config file of Google Cloud SDK
AppEngine Identity (TODO still)
GCE metadata server (TODO still)

Does this library accept a key file path provided directly as a string, though? This is how I do it in google-auto-auth, but I'm not sure if I'm doing it in a way that this library intended to support.

Passing keyFile works as a consequence of google-auth-library-nodejs using gtoken under the hood. google-auth-library-nodejs itself does not actually do anything with keyFile.
getApplicationDefault and getDefaultProjectId don't look at keyFile at all.

Coverage increased (+0.3%) to 92.673% when pulling 6921be61e330c1e680f24150b193eee3b5b85457 on jmdobry:default-project into 02f587472ecdc2582f8d5fc754996aa6ef9388a0 on google:master.

@jmdobry what's the process for getting this shipped?

// @tbetbetbe @jasonall

I'm not sure. Wishing I had write access.


避免未使用最优storage

这个 PR 实现什么功能/修复什么问题:
避免未使用最优storage
是否需要 backport 到之前的 release 分支:

release/2.10.0
release/2.9.0
release/2.8.0
release/2.7.0
release/2.6.0

/cc @swordqiu @yousong

Codecov Report

Merging #1024 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1024      +/-   ##
=========================================
- Coverage    7.94%   7.91%   -0.03%
=========================================
  Files         355     355
  Lines       56237   56237
=========================================
- Hits         4466    4453      -13
- Misses      51379   51390      +11
- Partials      392     394       +2

Flag
Coverage Δ

#aFlag
7.91% <0%> (-0.03%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/models/guests.go
0.73% <ø> (ø)
:arrow_up:

pkg/compute/models/guest_actions.go
0% <0%> (ø)
:arrow_up:

pkg/util/seclib2/seclib.go
91.48% <0%> (-4.26%)
:arrow_down:

pkg/util/rbacutils/rabc.go
73.94% <0%> (-3.59%)
:arrow_down:

pkg/cloudcommon/policy/policy.go
2.04% <0%> (-0.01%)
:arrow_down:

pkg/util/multipart/reader.go
96.66% <0%> (ø)
:arrow_up:

pkg/cloudcommon/policy/resources.go
0% <0%> (ø)
:arrow_up:

pkg/util/fernetool/fernet.go
28.12% <0%> (+0.85%)
: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 bff3ba9...2839c1c. Read the comment docs.

/lgtm
/approve


Unsupported engine for<EMAIL_ADDRESS>

Hi all, I use npm config set engine-strict true, when I try to run npm install I catch next error:
npm ERR! code ENOTSUP
npm ERR! notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":"0.10 || 0.12 || 4 || 5 || 6 || 7 || 8"} (current: {"node":"9.2.0","npm":"5.5.1"})
npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>npm ERR! notsup Required: {"node":"0.10 || 0.12 || 4 || 5 || 6 || 7 || 8"}
npm ERR! notsup Actual:   {"npm":"5.5.1","node":"9.2.0"}

Expected behaviour
npm install will be ok
Actual behaviour
Crashed with error
Environment Details
OS X high sierra, node 9.2.0 npm 5.5.1

Karma version (output of karma --version): 1.7.1

Steps to reproduce the behaviour

Add to package.json:

  "engines": {
    "node": "9.2.0",
    "npm": "5.5.1"
  },
  "scripts": {
    "preinstall": "npm config set engine-strict true"
  },

Check that you use node 9.2.0 and npm 5.5.1
Run npm install

The source is already upgraded, so this will be fixed in the next release.

@johnjbarton great, thanks!

Hello

I am facing this issue for node v14.21.3 and npm v6.14.18


Slow startup time (hash announcer / file manager)

The Issue

file startup doesn't start until after wallet sync
file startup takes much longer vs the previous version. We used to batch calls, but now it's done on one shot.

0.30.4
2019-01-31 08:52:30,333 INFO     lbrynet.extras.daemon.Components:564: Peer protocol listening on TCP 3333 (ext port 3333)
2019-01-31 08:52:30,436 INFO     lbrynet.extras.daemon.HashAnnouncer:59: Announcing 2 blobs
2019-01-31 08:52:32,166 INFO     lbrynet.blob.EncryptedFileManager:124: Starting 1484 files
2019-01-31 08:52:32,194 INFO     lbrynet.blob.EncryptedFileManager:114: Started 500 files
2019-01-31 08:52:32,246 INFO     lbrynet.blob.EncryptedFileManager:114: Started 1000 files
2019-01-31 08:52:32,269 INFO     lbrynet.blob.EncryptedFileManager:129: Started 1484 lbry files
2019-01-31 08:52:32,270 INFO     lbrynet.blob.EncryptedFileManager:48: Started file manager
2019-01-31 08:52:32,270 INFO     lbrynet.extras.daemon.Components:521: Done setting up file manager

0.31:
2019-02-08 17:02:09,904 INFO     lbrynet.extras.daemon.Components:414: Started blob announcer
2019-02-08 17:02:09,904 INFO     lbrynet.extras.daemon.Components:478: start blob server
2019-02-08 17:02:09,908 INFO     lbrynet.extras.daemon.Components:453: Starting the file manager
2019-02-08 17:02:09,916 INFO     lbrynet.blob_exchange.server:114: Blob server listening on TCP <IP_ADDRESS>:3332
2019-02-08 17:02:13,933 INFO     lbrynet.dht.node:160: Joined DHT, 17 peers known in 5 buckets
2019-02-08 17:03:19,733 INFO     lbrynet.stream.stream_manager:153: Started stream manager with 1557 files
2019-02-08 17:03:40,441 INFO     lbrynet.extras.daemon.Components:459: Done setting up file manager```

Latest test branch:
```2019-02-08 17:06:18,433 INFO     lbrynet.extras.wallet.ledger:101: Loaded account baw8mbeMYQoGDETyjcaGpmrRxYSAb5MEqn with 31.4701835 LBC, 219 receiving addresses (gap: 24), 135 change addresses (gap: 6), 3 channels, 4 certificates and 13 claims.
2019-02-08 17:06:47,009 INFO     lbrynet.extras.daemon.Components:414: Started blob announcer
2019-02-08 17:06:47,009 INFO     lbrynet.extras.daemon.Components:478: start blob server
2019-02-08 17:06:47,009 INFO     lbrynet.extras.daemon.Components:453: Starting the file manager
2019-02-08 17:06:47,009 INFO     lbrynet.stream.stream_manager:146: Initializing stream manager from C:\Users\HTPC\AppData\Local\lbry\lbrynet\lbrynet.sqlite
2019-02-08 17:06:47,013 INFO     lbrynet.blob_exchange.server:114: Blob server listening on TCP <IP_ADDRESS>:3332
2019-02-08 17:06:50,576 INFO     lbrynet.dht.node:160: Joined DHT, 17 peers known in 4 buckets
2019-02-08 17:07:49,550 INFO     torba.client.baseledger:133: lbc_mainnet: added BlockHeightEvent(height=516305, change=1) header blocks, final height 516305
2019-02-08 17:07:52,885 INFO     lbrynet.stream.stream_manager:148: Initializing 1554 files
2019-02-08 17:07:53,573 INFO     lbrynet.dht.blob_announcer:29: 100 blobs to announce
2019-02-08 17:07:54,156 WARNING  lbrynet.dht.protocol.protocol:487: known dht protocol backwards compatibility error with <IP_ADDRESS>:4444 (lbrynet v0.19.1)
2019-02-08 17:07:55,352 INFO     lbrynet.stream.stream_manager:155: Started stream manager with 1554 files
2019-02-08 17:07:55,353 INFO     lbrynet.extras.daemon.Components:459: Done setting up file manager

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

@tzarebczan https://github.com/lbryio/lbry/pull/1892 should fix 2

Fixed on master