Make redirection following optionnal

Hello,
I'm trying to test an authentication api that relies on a redirection system. It replies
HTTP/1.1 302 Found
Location: https://client.example.com/example?code=SplxlOBeZQQYbYS6WxSbIA
I'd like to get the "code" but stoplight follows the redirection and I get a 200 from https://client.example.com (without the data I want) instead of the 302.
Is there a way to make redirection following optionnal in stoplight/prism?
Thanks

If there is no settings object in your collection JSON, then past the following in at the root, otherwise add the HTTP object to settings:
{
  "settings": {
    "http": {
      "redirects": 0
    }
  }
}

Update prism please, going to close this issue.


float::from_str returns 0 for one space, and NaN for multiple spaces

float::from_str("  ") (the input is a string of two space characters) returns NaN in Rust.  It should return 0.0.
float::from_str(" ") (with just one space character) returns 0.0.
There is a test in stdtest/float.rs that should have caught this bug, but it is falsely passing because (NaN == 0.0) is true (#1083).

Are we sure that spaces should parse? uint::from_buf doesn't look like it parses space (actually it looks like it might do something crazy).

Good question.  For comparison, atof in C/C++, new Number(str) in JavaScript, and Double.valueOf(str) in Java all allow leading and trailing whitespace.
However, Rust's implementation is definitely not designed to do so, so it seems like an accident that it allows a single space in some cases.  It should be changed to either allow or disallow any amount of leading and trailing space.

That sounds like good precedent to me. We should probably make sure they allow all whitespace characters then (as defined in char::is_whitespace)

Some more quirks:
float::from_str("e") yields zero, which I think is unintentional.
float::from_str(".") yields zero too, which is intentional and documented but seems like it might be a bad idea.  . is not a valid floating-point literal, and any code that passes it to from_str seems likely to be a mistake.

Fixed by #1103


mission_raw: implement MISSION_CHANGED

This implements the new message MISSION_CHANGED which is useful to know
if a mission has been updated on the vehicle.

This will be replaced by MISSION_CHECKSUM.


NoClassDefFoundError: org/apache/spark/Logging

After packaging to .jar file, I add it to intelliJ IDEA as library. And I get this error.
"java.lang.NoClassDefFoundError: org/apache/spark/Logging", because of the "Logging" class is "private[spark]".
How could I use IndexedRDD in ide?

java.lang.NoClassDefFoundError: com/ankurdave/part/ArtTree
My problem
when  put something into indexedRdd

Don't know about @DouYishun  problem, but I was having the same issue as @linmingze. It probably is some problem with dependency resolution.
The workaround I used was building the package myself through the sbt assembly command, so it included all the dependencies in the target .jar, which then I pass as argument when invoking spark-shell or spark-submit.
i.e. what I did was simply:
$ git clone https://github.com/amplab/spark-indexedrdd
$ cd spark-indexedrdd
$ sbt assembly
$ $SPARK_HOME/bin/spark-shell --jars target/scala-2.11/spark-indexedrdd-assembly-0.4.0.jar


[main] Upgrade to latest dependencies

release 1.4 -nader-ziada
/cc knative-sandbox/eventing-writers
/assign knative-sandbox/eventing-writers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/eventing 073af74...39eef14:
  > 39eef14 upgrade to latest dependencies (# 6341)
bumping knative.dev/serving 6ec4509...6ec4509:

/lgtm
/approve


Allow OSL to compile with LLVM 10.x

The release of LLVM 10.x is imminent, there are just a few API changes that impact OSL.

Funny naming MaybeAlign :)

LGTM

Sure! Let me give that a whirl.

Actually LLVM_Util is a public header. It doesn't feel that great to introduce that there.

OK, whatever you think is best. LGTM.


Add Gloss and friends

https://hackage.haskell.org/package/gloss-<IP_ADDRESS>
https://hackage.haskell.org/package/gloss-rendering-<IP_ADDRESS>
https://hackage.haskell.org/package/bmp-<IP_ADDRESS>

Thank you


ACE3 Libs error on PTR

Interface/AddOns/Ace3/AceDB-3.0/AceDB-3.0.lua:264: attempt to concatenate local 'regionKey' (a nil value)
Probably a lib issue happened because PTR region changed since 10.1.5, should update libs.
ps. do a wrong spell on zhcn Horizontal Offset before, already correct it in curse, need sync.

Hrm is this actually to do with Enhanced Raid Frames? Do you have the full lua error so I can see which line triggers it?
If it's an issue with upstream Ace3, then I'll definitely get a newer stable version included asap.

New version released


Appearance Changes

Now uses weblegends style.css
Has own stylesheet (aistyle.css) for df-ai specific items (nav menu & stock report's table)
Chopped original nav menu up into chunks (likely over-engineered)
Added “Home” link, to return to weblegends homepage

I think I did the rebase right?

The "Not Active" screen

Latest Render


Create Work Item automatically

Is it possible to create Work Item in SVTS automatically when creating a ticket in zendesk?

@DmitriyVityuk - this is currently not supported by the VSTS app. At quick glance, this does look like something that could be supported (I went ahead and added the enhancement label to the issue).
In the meantime, you can always use a service like Microsoft Flow or Zapier to automate the creation and tagging of a VSTS work item when a Zendesk ticket is created.


Some fixes to recent hit test improvements

Tell chrome to inspect the clicked element, not the view which is
highlighted.

Find child to return back to front to respect z ordering.

Disregard hidden views and views which are not focusable.

Alright, let's merge this 👍


improve location button permissions handling

Improves the handling of permissions per #42 for the Geolocation Button, but internally and provides an emit for handling that in the template. It no longer has an emit to "ask for permissions" as there is nothing the parent can do. Asking permission is initiated using navigator.geolocation.getCurrentPosition. This is currently setup to check for the permissions and broadcast that to the parent. It will hide the button if it permissions aren't already granted and won't try to ask

My commits update some of the tooltips and instructions and add on-screen text to show users that something is happening while the location services are being used.

[ ] Before we merge, we need to re-display the splash screen and the opening dialog.


bug: Instructions for installing mkdocs need better clarity

Describe the bug
The overview of the MKdocs as described fails to mention multiple required plugins, and the list of used plugins is scattered through the document. (notably, include-markdown is first mentioned well AFTER the overview)
The suggestion to use pip install -r requirements.txt is buried well down in the text
(in kubestellar/kubestellar/docs/README.md)
Steps To Reproduce

Attempt to follow the overview description to install mkdocs on your machine.
change to the kubestellar/docs folder and run mkdocs server
Read the error message for plugins not found
find the missing plugin and install
Rinse and repeat until no more missing plugins message
apparently the i18n plugin doesn't exist for Fedora? "ERROR: No matching distribution found for mkdocs-i18n"

notice the pip install -r requirements.txt command much later

Expected Behavior
Either the instructions to install mkdocs locally via pip install -r requirements.txt
should be ABOVE all the explanation about file structure, etc.,
or there should be a LINK in the overview "you can install and run mkdocs on local copies of the files" (perhaps a better solution)
Additional Context
No response

Great observation. I'm happy to fix it. Thank you.


Revise state machine spec

The changes are mostly stylistic. I added a few missing technical details, e.g., the rules for assigning qualified names to definitions and for resolving names.
Closes #434.

Per discussion, we need to update the spec to say that

A component containing a state machine instance must be active or queued.
An async or queued component containing a state machine instance and no other async element is valid.

I updated the spec as described above.

Looks good.


Idempotency error (and other peculiar behaviours) with function inside an if-then-else construct

Describe the bug
On:
let id = if true then Fun.id else function x -> x

Topiary produces an idempotency error, the first pass producing:
let id = if true then Fun.id else functionx -> x

which is not syntactically correct.
Notes:

This also happens with more arguments to function, eg. function x -> x | y -> y.
This also happens with a multiline if-then-else.
This also happens with a multiline function, including with a newline between function and x -> x.
This does not happen for let id = function x -> x.
This does not happen for let id = if true then Fun.id else function | x -> x and the | remains, while it is removed from let id = function | x -> x.

To Reproduce
nix run github:tweag/topiary/cba1993 -- -l ocaml <<EOF
let id = if true then Fun.id else function x -> x
EOF

will produce:
[2023-06-22T18:13:51Z ERROR topiary] Parsing error between line 1, column 46 and line 1, column 47

while its -s counterpart will produce:
let id = if true then Fun.id else functionx -> x

@nbacquey The handling of let id = if true then Fun.id else function | x -> x is odd. It contains the following sub-tree:
{Node function_expression (0, 35) - (0, 52)} - Named: true
  {Node function (0, 35) - (0, 43)} - Named: false
  {Node | (0, 44) - (0, 45)} - Named: false
  {Node match_case (0, 46) - (0, 52)} - Named: true

It should be taken care of by this:
(function_expression
  (match_case)? @do_nothing
  .
  "|" @delete
  .
  (match_case)
  (#single_line_scope_only! "function_definition")
)

But it doesn't. But if I remove (#single_line_scope_only! "function_definition"), it does.

There was a hint in the debug log:
[2023-06-27T09:21:33Z WARN  topiary::atom_collection] Found scoped conditional ScopedConditional { id: 2, scope_id: "function_definition", condition: MultiLineOnly, atom: Literal("| ") } outside of its scope

Your diagnosis is right, the function_definition scope wasn't applied properly. I'm pushing a fix.

Reopened for the other issues mentioned in the issue.

I think all the issues that I mentioned are fixed, though.


PHP 8.1 pass generation exception

Expected Behavior
The pkpass file should be generated
Actual Behavior
When I updated my app from PHP 8.0 to PHP8.1, the following exception is raised when generating a pass
PKPass\PKPassException
Invalid certificate file. Make sure you have a P12 certificate that also contains a private key, and you have specified the correct password!
This exception is raised here: /vendor/pkpass/pkpass/src/PKPass.php in PKPass\PKPass::createSignature at line 438
Reverting back to PHP 8.0: the issue is not there anymore and the pass is generated. Cetificates, etc are not modified.
Details about PHP version
PHP 8.1.14 (cli) (built: Jan  6 2023 14:49:32) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.14, Copyright (c), by Zend Technologies

SSL Version => OpenSSL/3.0.7
openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.0.7 1 Nov 2022
OpenSSL Header Version => OpenSSL 3.0.7 1 Nov 2022
Openssl default config => /etc/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

+1 I'm experiencing the same issue, works fine on php 8.0.8 but fails on 8.1.2

Hi @jwadin and @david-webber you could try this: https://stackoverflow.com/questions/73832854/php-openssl-pkcs12-read-error0308010cdigital-envelope-routinesunsupported/73858615#73858615
Enabling the legacy option for Openssl 3 worked for me

That's super helpful, thanks!
Do you think there is a way to do something similar in code?

My understanding is it'll need to be done at the open SSL module config level, rather than code because it's to do with Open SSL rather than PHP but I might be wrong.

That's super helpful, thanks!
Do you think there is a way to do something similar in code?

Hey all,
The fix seems to work
Thank you

Having the same issues on php 7.4.33, I think looking at the above this may be server openSSL config related rather than specific to a PHP verison.
I've asked my host to try to above fix to see if they will enable legacy ssl options to confirm if this resolves the issue on php 7.4.xx

Hi @jwadin and @david-webber you could try this: https://stackoverflow.com/questions/73832854/php-openssl-pkcs12-read-error0308010cdigital-envelope-routinesunsupported/73858615#73858615 Enabling the legacy option for Openssl 3 worked for me

Hello @simderoemer I am using Heroku server where I don't have access to /etc/ssl/openssl.cnf file. is there any other work around for the issue or any other way by which I can enable legacy_sect.
Thanks in advance.

I'm part way through implementing a workaround which might work for some people using PHP Exec to run the command openssl pkcs12 -in keystore.p12 -legacy this does work, but a lot of hosts may also block php exec.

Fixed by #124

Fixed by #124

Awesome! I never got round to finishing my implementation but it certaily wouldn't have been as elegant as #124
Much apreciated @tschoffelen


feat: Add more informative errors when evaluation of --default-resources fails

Description
--default-resources values are evaluated with eval() and some default resources strings can fail if not properly quoted (e.g. see #1093). This PR adds a more informative error message for --default-resources arguments that raise an exception.
QC

[ ] The PR contains a test case for the changes or the changes are already covered by an existing test case.
[x] The documentation (docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).

I'm not sure why the tests took so long here?

It looks like there may have been some DNS issues at Quay during testing, https://status.quay.io/incidents/bt8yqm82069z


Add technical documentation for paid-membership site built using SAWO and Stripe

Integrated SAWO for authentication and Stripe for payments. This example project covers every aspect of the project and is available with the demo video.
Tech-stacks used:

NodeJs
Authentication:
SAWO:
Payment Portal;
Stripe

Short Description of the project:
The project currently runs on localhost due to the Stripe API. The project has a basic UI with a buy membership option which is only available to authenticated users only. After signing in with SAWO, the users can buy membership using Stripe.
Closes #2

Thanks for the contribution @karankartikeya

@karankartikeya your PR is not showing any changes.

but it was showing before, I'll check and revert back accordingly.

Please check it now. I have pushed the code again

Respected sir/mam,
Why are my commits again and again being removed by the pull bot?
My commits are not visible now.
Is this to be resolved?

Hey @karankartikeya not understanding that from our end too! But the documentation looks really fine. Can you tell your discord ID?

Hey @karankartikeya not understanding that from our end too! But the documentation looks really fine. Can you tell your discord ID?

Hey @karankartikeya not understanding that from our end too! But the documentation looks really fine. Can you tell your discord ID?

It's Karan Kartikeya #2855

@karankartikeya Thanks a lot! Can you change the name of your folder from content to Stripe?

@karankartikeya Thanks a lot! Can you change the name of your folder from content to Stripe?

Please check it, I have changed the folder name to Stripe.

Thanks a lot


GH-428 Fix function return types that are enum/flags

Fixes #428

Applied to main (=2.1) and branch 2.0.


Prow Unit Tests broken after container upgrade

Describe the bug
From Slack
Sebastien Vas [1:53 AM]
Help needed, So I updated prow jobs with new container, and istio-unit test is failing. I am not sure I undertsand the reason, once says that its unauthorized to create a ns, and I am not sure I understand the other one, but it might be something related.
here is a sample failure: https://k8s-gubernator.appspot.com/build/istio-prow/pr-logs/pull/istio_istio/8476/istio-unit-tests/14272#istioioistiomixerpkgconfigstore-testfsstore2robust

Sebastien Vas [2:01 AM]
note that KUBECONFIG is set and pointing the right cluster. Not really sure why namespace creation would fail. The only way it could fail would be if it was trying to create a ns in the prow cluster.

Expected behavior
{{ What did you expect to happen? }}
Steps to reproduce the bug
{{ Minimal steps to reproduce the behavior }}
Version
{{ What version of Istio and Kubernetes are you using? Use istioctl version and kubectl version }}
Installation
{{ Please describe how Istio was installed }}
Environment
{{ Which environment, cloud vendor, OS, etc are you using? }}
Cluster state
{{ If you're running on Kubernetes, consider following the
instructions
to generate "istio-dump.tar.gz", then attach it here by dragging and dropping
the file onto this issue. }}

#9026 Added to skip failing test. While work for a resolution

So the new container is indeed running as root.


Reenable cloudflared

Description
Cloudflare doesn't provide multi-arch images so this PR  reverts the changes that removed the build
Checklist

[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] All pre-commit hook validation passed successfully.
[x] All commits contain a well-written commit description including a title, description, and a Fixes: #XXX line if the commit addresses a particular GitHub issue.
[x] All workflow validation and compliance checks are passing.

Issue Ref (Optional)
Which issue(s) this PR fixes (optional, using fixes #(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged): Fixes #
Notes
Add special notes for your reviewer here.

Hiya @xUnholy,
Any chance of this being reviewed and hopefully merged?
Thanks

Thanks @yasn77 I was under the impression they'd built their own images that were multi-architecture. I'll reenable this for now until I can confirm. Thanks again for raising this PR!


Validators extension

Create a simple validators extension that will have the same functionality as the one that is available in near-cli.
near validators <epoch> and near proposals commands in particular.
It should be a separate crate inside of the near-cli-rs repo.

I can recommend using the new https://github.com/near/near-jsonrpc-client-rs/
I feel this is somewhat blocked on #47


Feat/improve chipper bounding boxes

Chipper bounding boxes largely exceed the area where the annotated text is. This PR intends solving this problem.
There are several fixes applied:

Improved cross attention processing. Maps are filtered at the head level, which is normalised [0-1], this improves the bounding box definition.
The correlation between the token index and cross attention map has been resolved. Before, with beam search size = 1 or 3  there were cases in which the cross attention map did not match the token being processed.

In addition, the empty areas of the bounding boxes have been cleaned and the overlaps between bounding boxes are resolved by identifying the largest margin that separates both bounding boxes, identified as the largest gap without text either in the horizontal or vertical directions.
Note: overlapping bounding boxes for child elements are not resolved for now. In the case of a list with list items, the list element will be affected by the overlapping resolution code.

4 cases occur when filling the collection, from which just the latest one creates completely valid and ready-to-use filled PDFs:

CASE 1: no identified field_names (all = "f"): Always triggers random-sentence-generator. Valid but low quality.
CASE 2: filled form including checkboxes, but no rendered content. Invalid (todo: confirm/fix).
CASE 3: filled form and render but no checkboxes. Valid but not ready.
CASE 4: filled form and render. Valid and ready.

I am getting some dependency errors for the use of cv2.typing and for the KW argument token when constructing the model with transformers: PreTrainedModel.from_pretrained(). The call:
elements = partition(filename="sample-docs/RAND_RRA2977-1-8.pdf", strategy='hi_res', model_name="chipperv2")

Thanks @LaverdeS I tried a new python environment and run make install and it worked. This is the code I tested.
from unstructured_inference.inference.layout import DocumentLayout
from unstructured_inference.models.base import get_model

model = get_model("chipper")

doc = DocumentLayout.from_file(
    "RAND_RRA2977-1.pdf",
    detection_model=model,
    pdf_image_dpi=300,
)

Thanks @LaverdeS Currently, probably that is the best approximation using the attention mechanism. Additional work combining additional information might help.


Enteties not preserved

I found an issue about this from 2012 but it is actually bothering us.
We are building a site with some localized strings, for example words like "får, häst, ödla"
får, häst, ödla

Above is the text with html enteties. We are doing this out of recommendation and that we've found that the character encoding is somewhat flaky within out rather huge development environment.
I would love to be able to not have highlight.js deentetize these entities in some way, could anyone maybe help where I should start?
Update, here's the older issue: https://github.com/isagalaev/highlight.js/pull/141

I'm not sure I understand the problem you're describing. Highlight.js doesn't do anything special to HTML entities whatsoever. Could you show an example code snippet and how it's mis-represented after applying highlighting?

My bad.
When I put up an example snippet and started to isolate the issue I found out that it was jQuery that messed up. If I was running highlightAuto directly on a html-fragment everything works.
I'm truly sorry for raising an issue and taking up your time.
However, I'm runnings highlight.js in a node.js environment and wants to highlight just the code fragments I'm ending up with having all my entities unescaped. I googled around and it's not even jQuery to be blamed, this is a browser implementation issue. I'll need to dig into this more unless someone has a solution.
jsdom = require("jsdom");
fs = require('fs');
var hljs = require("highlight.js");

hljs.configure({
	useBR: true
	,tabReplace : " "

});

fs.readFile("index.html", function(err,fileData){
	if(err) {
		console.dir(err);
		return false;
	}

fileData = "" + fileData;
jsdom.env(
  fileData,
  ["http://code.jquery.com/jquery.js"],
	  function (errors, window) {
	  	var $ = window.$;
	  	$code = window.$("code");
	  	$code.each(function(){
	  		$this = $(this);
	  		var fixed = hljs.fixMarkup(hljs.highlightAuto($this.html()).value);
	  		$this.html(fixed);
	  	});
	  	fs.writeFile("dist/index.html", window.$("body").html(), function(err) {
	  		if(err) {
	  			console.log(err);
	  			return false;
	  		}
	  		console.log("done")

	  	});
	}
  );
});

var fixed = hljs.fixMarkup(hljs.highlightAuto($this.html()).value);

I think the problem is here, in the .html(). The highlightAuto works on plain text, not HTML. The difference in your case being that the HTML representation would retain all those &-entities which, apart from looking ugly within text strings, may easily result in an incorrect syntax: if (x < 5) ... . So I think simply switching to .text() should solve it for you.

Thanks a lot for your effort. Unfortunately $.text() just returns the text-nodes, not the elements so that's not the path to go.
I'll look into if I can get "something" to not deentitize my fragments before sending them to highlight.js

Wait a second :-). Are you trying to highlight HTML source code and have it like this:

   ...

?

Yes, without the

But I have something going on now.  Hold on a second.

Well, you're trying to shoot yourself in the foot then :-). In HTML tags inside  are just normal tags, like everywhere else (so you can use formatting inside ). So to correctly display HTML code within HTML, irregardless of any highlighting, you have to escape it first:

  <html> ... </html>

If instead you rely on this hack with .html() then yes, you will run into corner cases, like the one with entities: you want HTML tags to be escaped but you don't want* entities to be escaped, and HTML can't know the difference. So I'd suggest to just escape HTML source code before it gets between ...
Anyway, it really has nothing to do with highlighting :-)

Thanks for your help, and you are perfectly right, it certanly hasn't anything to do with highlight.js, a great tool by the way. Thanks again.


Clarification about JSQuAD

Thanks for your great work on this leaderboard!
I was wondering if the reported scores for JSQuAD on the README are F1 scores or exact match scores.

It's exact match.


Prefix log_metrics keys with class name in callbacks

What does this PR do?
It groups metrics logged by the built in callbacks by the callback class name.
Screenshot from tensorboard:

As i write a plethora of callbacks myself, i found this to be a nice thing to have, and why not upstream it while at it.

Fixes #12231
Does your PR introduce any breaking changes? If yes, please list them.
This may change the label/key some metrics are logged under.
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)

No, but you could do so here on this draft PR

[ ] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Are the broken code-runners blocking review?

Are the broken code-runners blocking review?

Yes, we have some blocking issues in our CI currently.
Can you also update the CHANGELOG?


test: upgrade version of zookeeper and kafka to 7.6.0

It seems like we have a flaky test in system test (maybe another test level such as examples test folder).
I try to re-pipeline in the Github action. it's working well.
My question, is it good to merge this PR?


[REVIEW] MrKrishnaAgarwal

GitHub Profile Link
https://github.com/MrKrishnaAgarwal

great profile
I suggest trying to reduce it to 2 pages

Thanks @vincekashaka for the suggestion.
I'll definitely look upon it!


POC _closed value check

Not complete but seems to do what's desired for the add & subtract operations.

[ ] closes #xxxx
[ ] tests added / passed
[ ] ensure all linting tests pass
[ ] changelog entry

Codecov Report

Merging #107 (681a4ac) into master (e0a45c0) will decrease coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #107      +/-   ##
==========================================
- Coverage   94.36%   94.22%   -0.15%
==========================================
  Files          32       32
  Lines        1561     1575      +14
==========================================
+ Hits         1473     1484      +11
- Misses         88       91       +3

Impacted Files
Coverage Δ

staircase/core/ops/arithmetic.py
91.89% <100.00%> (+0.11%)
:arrow_up:

staircase/core/ops/common.py
90.74% <100.00%> (+2.93%)
:arrow_up:

staircase/__init__.py
82.14% <0.00%> (-14.29%)
:arrow_down:

staircase/core/ops/logical.py
92.10% <0.00%> (+1.31%)
: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 e0a45c0...681a4ac. Read the comment docs.

Thinking we could create a file for custom errors, à la https://github.com/pandas-dev/pandas/blob/master/pandas/errors/init.py
and move the decorator to https://github.com/staircase-dev/staircase/blob/8356e53b3cfa04d9ca5fd0228b6d0091d492793b/staircase/util/_decorators.py
What do you think?

Looks good, can I request we use the name DifferentClosedValuesError for the exception?

yep sure

Either we combine their functionality, or alter checks in your decorator to exclude cases where Stairs.number_of_steps = 0 (i.e. step functions which have the same value everywhere)

makes sense, I'll go with the latter option for now.

Thinking we could create a file for custom errors

yep also makes sense, I would suggest calling it exceptions rather than errors - I feel this would be more typical.

and move the decorator to [...]

I'm less of a fan of this - the use of the decorator seems like it would be confined to within the ops part of the code and so taking it up a level might make things a bit noisy. Bear in mind though I'm entirely new to this project so I might not be fully understanding the use of it.

Ok let's keep the decorator where it is at the moment.  There are a couple of binary operations in the stats folder, namely cov and corr which might need to be use it.  But they may not....
I'm looking at the implementation of Stairs.cov and it multiplies two step functions together - I don't think the operands need to both have the same closed value for the covariance calc to be valid, but maybe it's easier for now to let it fail if they don't.
We're also going to want to apply something similar to the array methods, in the future, which operate on array-like containers of Stairs objects.  Perhaps the same decorator could be extended in the future to accommodate this, in which case we'd parameterise it to specify which arguments need to be checked.  Maybe the array methods have a unique operator instead - this might depend on what happens with the sanitize_binary_operands method.

Ok, so if I'm understanding correctly this should cover the current bases.

I don't think the operands need to both have the same closed value for the covariance calc to be valid, but maybe it's easier for now to let it fail if they don't.

Seems fair. So maybe we want checking to be the default behaviour, but also have advanced / internal methods that can bypass it? So __mul__ would do a check and we could have something else like _mul or some other name that wouldn't?
Not sure I have quite enough understanding yet to comment much on the array methods.
Are we ready to drop the decorator onto the rest of the binary operators? That should be easy enough, and then for the test I would do something like
import operator

operators = [
    operator.add,
    operator.sub,
    operator.mul,
    operator.truediv,
    # ...
]

@pytest.mark.parametrize("op", operators)
def test_add_with_closed_mismatch(op):
    stairs1 = s1(closed="left")
    stairs2 = s1(closed="right")
    with pytest.raises(DifferentClosedValuesError):
        op(stairs1, stairs2)
        op(stairs2, stairs1)

@amagee I think this is close to being merged.  Are you able to create the changelog entry?
Can you also run these on your version and make sure they work without exception?
sc.Stairs(start=0, closed="left") + 1

sc.Stairs(start=0, closed="right") + 1

1 + sc.Stairs(start=0, closed="left")

1 + sc.Stairs(start=0, closed="right")

sc.Stairs(closed="left") + 1

sc.Stairs(closed="right") + 1

1 + sc.Stairs(closed="left")

1 + sc.Stairs(closed="right")

I've got tests which cover operands with a scalar, but I think they're all done with a Stairs instance which has closed="left".  I'll have to add some which use closed="right" but I can do that later.

Yeah I can put those tests in. I realised that in my suggested test above, doing op(stairs1, stairs2) and also op(stairs2, stairs1) where both stairs1 and stairs2 are actual Stairs objects was redundant - it would be useful for doing operations between Stairs and numbers though, so I'll have a go at that.

So far I've only implemented the check on + and -, the ticket mentions binary operations in general, so I'm happy to finish that off here. Is it all the binary operations that we set or are there exceptions?

Seems fair. So maybe we want checking to be the default behaviour, but also have advanced / internal methods that can bypass it? So __mul__ would do a check and we could have something else like _mul or some other name that wouldn't?

Another option is to not decorate staircase.core.ops.arithmetic.multiply and instead apply the decorator function directly where we add the function to the class.  Then using Stairs.multiply or the operator * would have the operands checked by your method, but calling staircase.core.ops.arithmetic.multiply directly wouldn't.
This really ruins the need for a decorator though.

So far I've only implemented the check on + and -, the ticket mentions binary operations in general, so I'm happy to finish that off here. Is it all the binary operations that we set or are there exceptions?

Yes please, I overlooked that :D

Ok I've done that. You'll notice my test in test_floats_arithmetic.py is now testing a lot more than just float arithmetic. My suggestion would be to make a new test file for it, since it doesn't really fit into any of the existing test files, and I'd rather not duplicate its logic across test_floats_arithmetic / test_floats_relational / test_floats_logical etc. The other option would be to factor the logic out and reference it from those locations, but keeping it as one thing in its own file still makes the most sense to me. What do you think?

Ok I've done that. You'll notice my test in test_floats_arithmetic.py is now testing a lot more than just float arithmetic. My suggestion would be to make a new test file for it, since it doesn't really fit into any of the existing test files, and I'd rather not duplicate its logic across test_floats_arithmetic / test_floats_relational / test_floats_logical etc. The other option would be to factor the logic out and reference it from those locations, but keeping it as one thing in its own file still makes the most sense to me. What do you think?

A new test file would be great.   Maybe it could be specific to testing exceptions?  What do you reckon?
You'll want to rename the test function test_add_with_closed_mismatch  (add -> op) in case you haven't caught that yourself.

Thanks @amagee!


ISPN-11368 Refactor CacheImpl code

Extract code from CacheImpl to be used by IRAC updates.

https://issues.redhat.com/browse/ISPN-11368

Thanks @pruivo


Job Launcher Client - Invalid signature

Describe the bug
I get invalid signature when I top up my account with crypto, the transaction is processed but the signature sent to the backend seems to be invalid.
Also the signature has to be added to the payment when launching a job, not only the topup.
Screenshots

I was testing in production which I thought it was develop branch. Changed to be develop.
I have now realized of that fields "HMT price" and "You receive" as empty


[Gluon] Move batchify in GluonNLP/GluonCV back to Gluon

Description
It would be very helpful to move the batchify.py in GluonNLP (https://github.com/dmlc/gluon-nlp/blob/master/src/gluonnlp/data/batchify/batchify.py) and GluonCV (https://github.com/dmlc/gluon-cv/blob/master/gluoncv/data/batchify.py) to mxnet/gluon so that the mxnet-users can directly use these functionalities.
Also, we could fix the implementation to support both the multi-process and single-process cases:
https://github.com/apache/incubator-mxnet/blob/a37dcd46cba88dfd0478b601fb8fbf9b425780c0/python/mxnet/gluon/data/dataloader.py#L644-L648

Move the discussion to https://github.com/apache/incubator-mxnet/issues/17289


Multiplatform best practice?

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I am interested in setting up Fastlane for both an iOS & Android app, and after not really finding that much in the docs, I was wondering if some people with experience here have some best practices to share.
I was thinking of creating a separate fastlane repository that would house the main Fastfile, including both lanes for Android and iOS. This comes with the issue that actions would be performed in that repo instead of the app repo (eg. ensure_git_status_clean).
In the examples there is Shop.com's Fastfile where they same to use chdir to execute commands in the correct directory. Would that be the way to go?
Let me know if there are better ways, improvements and/or if there is interest in improving this setup, just like at some point the fastlane init might be decoupled from the platforms.
Thanks 👍

Is there anyone with an opinion / feedback / experience regarding a multiplatform / agnostic setup with Fastlane? :)

I have experience using fastlane with Cordova, which produces iOS and Android apps from the same base code. The native projects live in platforms/ios and platforms/android, so I just supply these paths (or the files in them, .xcodeproj or similar) to the actions that need to work on the native projects. Fastlane config lives in fastlane as usual.
You have the added "problem" that your native projects are probably not in the same repo, so you have to find a way to change that.
One way could be to add an gitignored platforms folder and have checkouts of your two projects in there.
I am pretty sure there are other ways that form a better "connection" between the repos.


Global 1/4 deg static B is broken

Description
I just realized yesterday that our static B does not "work" at 1/4 deg resolution, while the same configuration works for 1 deg.
I'll try to track down more precisely what's going on today, hopefully.
To Reproduce:
@benjaminmenetrier , @travissluka , I will provide a scratch of static files and a run scripts that reproduces the error.
I tested both, "SocaError" and "SABER/BUMP_NICAS" and I get the same error.
Output
This is the log I keep getting when running the var application after a "fresh" initialization of bump:
[...]
-------------------------------------------------------------------
--- Read local NICAS parameters
       Read NICAS local data
          Read NICAS data of task      1
             Group var-var
!!! NetCDF error in netcdf_inquire_var on task #000011: NetCDF: Variable not found
!!! Hint: variable inorm
       |-> var-var
          |-> ocn_nicas
Abort(1) on node 10 (rank 10 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 10
[...]

I'm pretty sure we initialize bump properly, with the correct variables. Not sure why it is looking for inorm. The same configuration works fine at 1 deg resolution.

@benjaminmenetrier , @travissluka After testing with the dirac and var application and writing the yamls from scratch instead of using the ones generated within soca-science, it turns out all is good. The bug is in our yaml templates ... somewhere.

@benjaminmenetrier , @travissluka I'm re-opening the issue. False good news.
When I re-wrote the yamls, I also reduced the number of pe's I was testing with, something about being impatient waiting in the queue a minute instead of 2s ... It works with 100, 200 but 480 gives the error above.

Note to self: 512pe works.

The field inorm is written (here) only if the number of points of the NICAS subgrid is > 0 for this PE. It is then read (here) with the same condition.
This expected behavior was buggy, and it was fixed 3 weeks ago with https://github.com/JCSDA-internal/saber/pull/185. Is your branch up-to-date with develop?

The field inorm is written (here) only if the number of points of the NICAS subgrid is > 0 for this PE. It is then read (here) with the same condition.
This expected behavior was buggy, and it was fixed 3 weeks ago with JCSDA-internal/saber#185. Is your branch up-to-date with develop?

That works, thanks @benjaminmenetrier :tada:


[Feature]: Add Angular Course

Related Issue
Fixes #3451
Description
[Feature]: Add Angular Course
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Security enhancement
[ ] Other (specify): _______________

Screenshots / Videos (if applicable)
Screencast from 2024-07-17 17-46-59.webm
Checklist

[x] I have performed a self-review of my code.
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have followed the code style guidelines of this project.
[x] I have checked for any existing open issues that my pull request may address.
[x] I have ensured that my changes do not break any existing functionality.
[x] Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.
[ ] I have read the resources for guidance listed below.
[ ] I have followed security best practices in my code changes.

Resources for Guidance
Please read the following resources before submitting your contribution:

[x] Code Harbor Hub Community Features
[ ] Docusaurus Documentation
[ ] React.js Documentation
[x] Markdown Guide
[ ] MDX Documentation
[ ] Mermaid Documentation

Resources for DSA Features on Our Site:

[x] Tabs: Switch Languages
[ ] Line Numbering
[ ] Math Equations

Contribution Guidelines
Thank you for considering contributing to our project! To ensure smooth collaboration and effective contribution management, please adhere to the following guidelines:
Issue Creation

Limit on Issues:

Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.

Contribution Levels

Basic Contributions:

This project is primarily focused on documentation. Most of the setup has been completed, so contributors will generally need to work on basic code tasks, such as writing tests.
For these tasks, issues will be assigned the level1 label.

Acknowledging Hard Work:

If a contributor puts in significant effort on a task, the issue will be upgraded to level2. This is our way of recognizing and appreciating extra effort.

Feature Additions and Component Work:

Contributors working on new features or components using JSX/TSX will be assigned a level based on the complexity and quality of their work.
The more complex and valuable the contribution, the higher the level assigned.

Level Definitions

Level1:

Tasks are straightforward, such as fixing minor bugs, writing tests, or making simple documentation updates.

Level2:

Tasks require more effort, such as addressing complex bugs, improving existing features, or making substantial documentation improvements.

Level3:

Tasks are highly complex and involve significant new feature development, major refactoring, or extensive contributions to the project’s core components.

We look forward to your contributions and appreciate your effort in helping us improve the project!

@Ajay-Dhangar kindly give as level3 , because I will work my best to ensure the highest quality in my work.

@shivay-coding could you please add level3 because I will this particular course I search to many topics & sites  to cover. Kindly give level3

@Ajay-Dhangar could you please merge this ..

@shivay-coding could you please add level3 because I will this particular course I search to many topics & sites to cover. Kindly give level3

@sivaprasath2004, I appreciate your work, but your content looks okay. However, it doesn't fully align with all our features to make it more interactive and better. I have already shared all the necessary guidance and features with you, and it should be easy for you to follow. I'm awaiting your response; if you're open to updating it, you can give it a try. I'll give you good level, and based on your response, I may proceed with the merge.

@shivay-coding could you please add level3 because I will this particular course I search to many topics & sites to cover. Kindly give level3

@sivaprasath2004, I appreciate your work, but your content looks okay. However, it doesn't fully align with all our features to make it more interactive and better. I have already shared all the necessary guidance and features with you, and it should be easy for you to follow. I'm awaiting your response; if you're open to updating it, you can give it a try. I'll give you a good level, and based on your response, I may proceed with the merge.

@Ajay-Dhangar  yes proceed

@shivay-coding could you please add level3 because I will this particular course I search to many topics & sites to cover. Kindly give level3

@sivaprasath2004, I appreciate your work, but your content looks okay. However, it doesn't fully align with all our features to make it more interactive and better. I have already shared all the necessary guidance and features with you, and it should be easy for you to follow. I'm awaiting your response; if you're open to updating it, you can give it a try. I'll give you a good level, and based on your response, I may proceed with the merge.


Const projection from Pin<&Self>

In my pet crate, i have to work a lot with Pin<&T> but without the mut (because it uses Cell internally, but nothing to do with futures). And i end up needing to do lots of projections.
Would it make sense for the macro to also have a project_const(self: Pin<&'a Self>) -> FooProjectionConst<'a> ?
(Actually, I feel like it should just be project(), and the current &mut Self should be renamed project_mut for consistency with all the other functions that overload const/mut)
Is that something that make sense, or is using Pin<&Self> not a common pattern?

Pin always implements Deref, so you can access fields without projection (i.e, projection should not be necessary).

Ah, but the member of the struct are !Unpin themselves. And and would like to get pinned references to them. It should be safe if the containing struct is also in a pin.

Just to be a bit more concrete, the use case is something like that:
I have this struct Property that needs to be Pin, because it's address is registered somewhere else.  All its public associated functions are taking self by Pin<&Self>.  And it is meant to be used like this:
struct Container {
    aaa: Property,
    bbb: Property,
    ccc: Property,
}

Then, I'd put Container instance on the heap (typically in a Pin<Rc<Container>>
And I would like to be able to do something like  container.project().aaa.get(); with only safe code.

Thanks for sharing about your use-case. It certainly seems like a use-case that requires pin-projection.
However, as far as I know, many of the current use-cases of Pin API use Pin<&mut>, and the tools related to Pin API (pin-project, https://github.com/rust-lang-nursery/pin-utils, https://github.com/Nemo157/ergo-pin-rs) are designed based on it. I'm not sure how common Pin<&> is. cc @RalfJung @withoutboats @Nemo157

The term "const" is very confusing here, that sounds like const fn. I assume you mean a shared reference as opposed to a mutable reference?
Sure, both make sense for projections, and both have their use-cases. Futures don't really need shared pinned references, but other cases like intrusive collections do.

The standard suffix to identify self-by-shared-reference (if one is used) is _ref. Swapping project to go via shared reference and adding project_mut could also make sense, but even if other cases like intrusive collections become more widely used I think pinned-unique-reference is probably going to be enough of a majority to have it be the default.
Re other utilities: pin-utils should also probably provide unsafe_pinned_ref or similar; but the stack pinning utilities don't need to deal with shared references, they must take an owned value so can always produce a unique reference, which you could then choose to downgrade to a shared reference.

The unsafe_pinned! macro for pin-utils was simple enough that i could copy-paste these few lines of code in my crate and remove the mut :-).  But that's not as simple with a procedural macro.
I agree that project_ref would be a better name than project_const.

Sure, both make sense for projections, and both have their use-cases. Futures don't really need shared pinned references, but other cases like intrusive collections do.

Oh, you're right.

even if other cases like intrusive collections become more widely used I think pinned-unique-reference is probably going to be enough of a majority to have it be the default.

I agree with this.

This seems to make sense, so I will add project_ref after merging #89.

By the way, maybe #[project_ref] also needs to be added because .project() and .project_ref() return different projected types.


java-test-fixtures should propagate testFixturesRuntimeOnly dependencies

Currently, dependencies declared in testFixturesRuntimeOnly configuration (with the java-test-fixtures plugin) aren't propagated to the testRuntimeClasspath (I haven't tested but I suppose that's also the case when importing the project's test fixtures in another project).
Expected Behavior
Dependencies declared as testFixturesRuntimeOnly are propagated to the runtime classpath of anything that uses the test fixtures library.
Current Behavior
Dependencies declared as testFixturesRuntimeOnly are only available in the project's testFixturesRuntimeClasspath (which almost nobody ever use I suppose).
Context
I have unit and functional tests (using separate source sets) and want to share a JUnit 5 ArgumentProvider between them, so I thought about using the java-test-fixtures. I'm declaring the junit-jupiter-api and junit-jupiter-params as testFixturesApi, and that works well. But declaring the junit-jupiter-engine as testFixturesRutimeOnly doesn't make it available at runtime to the test and functionalTest tasks (through in the testRuntimeClasspath and functionalTestRuntimeClasspath, respectively).
I'm writing a new plugin (to share dependency capabilities to detect conflicts in logging frameworks; see #11300) and started with the sample project from gradle init from Gradle 5.6.4, then I added the java-test-fixtures plugin.
As a workaround, because functionalTestRuntimeOnly extends testRuntimeOnly, I could declare junit-jupiter-engine as testRuntimeOnly; but I was actually thinking about removing that inheritance (extension) between the source sets / configurations, specifically because they ought to be inherited (as dependencies) through the test fixtures.
I could also declare it as testFixturesImplementation even though I won't actually use it from the test fixture's code.
There must be other use-cases where you'd want to add a runtime dependency to test fixtures. Also, the testFixturesRuntimeOnly and testFixturesRuntimeClasspath configurations currently exist and are properly provisioned (looking at gradle dependencies), but are never actually used. I also noticed that testFixturesApiElements and testFixturesRuntimeElements configurations exist, but they are empty.

(fwiw, I backed up due to https://github.com/gradle/gradle/issues/11094, and am now using nebula.integtest to wire up my functional tests' source set: the shared code is in the test source set, and available from the integTest source set; not ideal but it works)

Issue fixed by upgrading from Gradle 6.8  to Gradle 7.3.3


Fixed testcases to work with newer code

Fixes #203
Luckily the testcases were wrong, not our code

yay


Update the game over message

Update the game over message so people know how to play again!

Simple enough, refresh will work for now.


How to avoid Login?

It seems that I cannot try Klotho without creating a Login.
I do not want to do that.
It seems like there should be a --local flag (https://github.com/klothoplatform/klotho/issues/164), but it does not seem to exist in my version installed via brew.
Do I have to build Klotho myself to be able to avoid the login?

Hey there, thanks for trying out Klotho! Assuming you initially followed the instructions at https://klo.dev/docs/download-klotho, this installs the 'pro' version of Klotho. To switch to the open source version (or download it initially), you can follow the docs at https://klo.dev/docs/klotho-pro#switching-between-the-two-versions. While this doesn't have the brew instructions, it should enable switching from the one installed by default.


Cant load next page when clicking button

I'm having a problem with a JS dinamically loaded website. There's no URL change when change pages in this website, there's only javascript loading content dinamically. So what i'm trying to do is call the "Next" button via splash:runjs and update the content before scrape.
The bit of code works directly on browser but not on splash. Here follows the code:
class ZapSpider(scrapy.Spider):
    name = 'zap'
    allowed_domains = ['www.zapimoveis.com.br']

    start_urls = ['https://www.zapimoveis.com.br/aluguel/apartamentos/pr+curitiba++batel/?__zt=nsldp:a']

    def start_requests(self):
        script = """
                function main(splash)
                local url = splash.args.url
                assert(splash:go(url))
                assert(splash:wait(0.5))
                assert(splash:runjs("document.getElementById('proximaPagina').click();"))
                splash:wait(5)
                return {
                    html = splash:html()
                }
                end
                """
        for url in self.start_urls:
            yield scrapy.Request(url, self.parse, meta={
                'splash': {
                    'args': {'lua_source': script},
                    'endpoint': 'execute',
                }
            })

    def parse(self, response):

        # fetch base URL because response url is the Splash endpoint
        baseurl = response.meta["splash"]["args"]["url"]

        # decode JSON response
        splash_json = json.loads(response.body_as_unicode())

        print(splash_json['html'])

        # and build a new selector from the response "html" key from that object
        selector = scrapy.Selector(text=splash_json["html"], type="html")

        prices = []
        places = []

        for price in selector.xpath('//div[@class="preco"]//strong/text()'):
            price = price.get()
            prices.append(price)

        for lote in selector.xpath('//section[@class="endereco pull-right"]//p/text()'):
            lote = lote.get()
            places.append(lote)

        i = 0
        for price in prices:
            yield PlacesCrawlerItem(description=places[i], price=price)
            i += 1

It doesn't returns error on docker's terminal, i don't know if it's a bug, me doing something wrong or there's some additional behavior on the website.

Figured it out it was needed to set te private mode to false with: splash.private_mode_enabled = false and changed the behavior of click to: assert(splash:runjs("document.getElementById('proximaPagina').onclick();")) closing the issue, thanks!


Increase number of commits danger local can search for merged PR

This size affects how many commits can danger local search for --use-merged-pr.
50 is too small (my fault 😭). Let's increase to 1000000.
I did memory experiments against some repos to see if this size is too big:
# measure.rb

require "objspace"
ObjectSpace.trace_object_allocations_start

pid = Process.pid; puts "Process: #{pid}"
before = Time.now
before_rss = `ps -eo pid,rss | grep #{pid} | awk '{print $2}'`.to_i

commits = `git log --oneline -n1000000`

after_rss = `ps -eo pid,rss | grep #{pid} | awk '{print $2}'`.to_i
puts "Elapsed time: #{Time.now - before} seconds"
difference = after_rss - before_rss

if difference >= 1024
  puts "Memory consumed: #{(after_rss-before_rss)/1024.0} MB"
else
  puts "Memory consumed: #{after_rss-before_rss} KB"
end

commits = nil

Use ruby measure.rb in the repo root.

danger/danger (1281 commits as of 19 Sep 2016):

Process: 5859
Elapsed time: 0.109446 seconds
Memory consumed: 180 KB

rails/rails (59600 commits as of 19 Sep 2016)

Process: 5853
Elapsed time: 1.286322 seconds
Memory consumed: 4.3515625 MB

torvalds/linux (617821 commits as of 19 Sep 2016)

Process: 5834
Elapsed time: 8.914288 seconds
Memory consumed: 36.8671875 MB

I think 1000000 is quite ok, because normally a project just few thousand commits.

          1 Warning

  :warning:
  Tests were not updated

  Generated by :no_entry_sign: danger

Yeah, that makes sense 👍


Unexpected num_classes

Hi again,
I found some information that seems contradictory for a few datasets, maybe I'm doing something wrong
I'll take peixos-fish as an example, but I have a similar issue with ~10/100 datasets.
According to metadata/datasets_stats.csv, it should have 12 classes.
When exploring through the roboflow interface, I see that indeed it has 12 classes (but apparently 10 only appear in the valid set, it seems weird and might explain the issue I talk about below ?)
This seems coherent, BUT
When I download the data (I tried in coco, yolov5, CreateML), I get only 2 classes.
With yolov5 for instance, I get data.yaml
train: ../train/images
val: ../valid/images

nc: 2
names: ['peix', 'taca']

With coco, I get this
{
    ...
    "categories": [
        {"id": 0, "name": "peixos", "supercategory": "none"},
        {"id": 1, "name": "peix", "supercategory": "peixos"},
        {"id": 2, "name": "taca", "supercategory": "peixos"},
    ],
    "images": [...],
}

I tried with all the available versions (1-4), also using the scripts/download_datasets.sh script directly, on all three splits (train, valid, test) and always got similar result data (2 classes).
So my questions are:

Am I downloading the wrong data and/or doing something wrong with it?
If not, why is it different?
More importantly, how can I make sure to use the exact same dataset as for the yolov5-7 benchmarks?

Besides, and this might not be related at all, but the link to the project (https://universe.roboflow.com/nasca37/peixos3) seems to not work anymore.
Thanks a lot in advance

Also, this is more out of curiosity, what are the benefits of adding the super-category as a category ({"id": 0, "name": "peixos", "supercategory": "none"} in this example) ?
From what I've seen coco doesn't add super-categories as a category on its own. I checked multiple roboflow100 datasets and it seems that the first label (i.e. the supercategory, named after the dataset) is never used as is.

The supercategory is the annotation group. Its commonly included in the standard COCO format: https://roboflow.com/formats/coco-json | https://blog.roboflow.com/annotation-group/

Hi, thanks for your answer.
Yes, I get the concept of supercategory, but what I find surprising is that the datasets include a class which is only a super-category and never a class to predict. To go back to my example, {"id": 0, "name": "peixos", "supercategory": "none"}, the id 0 is never used to label any bbox, and as far as I know it is the same for all of the r100 datasets.
My main questions are:

Why does the documentation say 12 classes when the data only includes 3 classes. (This refers to the first question I raised in my issue)
Were yolov5, v7 and v8 trained with 2 or 3 classes on peixos? Or said another way, is this supercategory with id 0 (that is never used to label any bbox) filtered out when training these models?


[Snyk] Security upgrade sinatra-activerecord from 2.0.13 to 2.0.13

Snyk has created this PR to fix one or more vulnerable packages in the `rubygems` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

Gemfile

⚠ Warning
Failed to update the Gemfile.lock, please update manually before merging.

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

661/1000  Why? Recently disclosed, Has a fix available, CVSS 7.5
Regular Expression Denial of Service (ReDoS) SNYK-RUBY-ACTIVERECORD-1080913
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

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


reverse-string: Update exercise and add version info

Re-ran the create_exercise script for the reverse-string exercise as a part of #210.

@Stargator Is there anything else that needs to be done for this PR?


Shake to open support modal

As a user, I want to be able to easily navigate to Support centre / Chat with us section or Report a bug
Build a bottom modal menu to appear when the phone is shaken:

not applicable


PowerShell Host Bitness change back to Operating System Setting doesn't restart process

The process should restart to reflect the new setting.

The process only restarts when intellisense is triggered or debugging is started, whatever needs a remote host.

My thought is when user changes bitness setting, I'll lazily initialize a process with the bitness newly set. Close the issue if you agree @AndreSayreMSFT


change the time to register "create" event. support insert multi imgs at once.

change the time to register "create" event. support insert multi imgs at once.

Hey, thanks for contributing.

How do you compile it? ESlint throws quite a few errors.
Please remove any variables, or console logs which are not being used.

Following seems to allow multi drop and even saves a few ms during load. Many thanks 🙏 although, going to have to test it further, especially with various SYNC methods
		this.dropListener = () => {
			userAction = true;
			setTimeout(() => userAction = false, 10000);
		};

		this.app.workspace.onLayoutReady(() => {
			document.addEventListener("paste", this.pasteListener);
			document.addEventListener('drop', this.dropListener);
			this.registerEvent(
				this.app.vault.on('create', (file: TFile) => {
					if (!(file instanceof TFile)) return;
					if (isImage(file) && userAction) {
						this.renameFile1(file);
					}
					// userAction = false; // uncommented to allow multi-drop
				})
			);
		})

		...

		const currentLine = cursor.line;
		function escapeRegExp(string: string) {
			return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& 表示整个匹配的字符串
		}
		const findText = escapeRegExp(linkText);
		const replaceText = newLinkText;
		const docContent = editor.getValue();
		const regex = new RegExp(findText, 'g');
		const newContent = docContent.replace(regex, replaceText);
		editor.setValue(newContent);
		editor.setCursor({ line: currentLine, ch: 0 });
		// Ensure the current line is in a visible position
		editor.scrollIntoView({ from: { line: currentLine, ch: 0 }, to: { line: currentLine, ch: 0 } });

npm run dev

发件人: xRyul @.>
发送时间: 2023年10月18日 19:10
收件人: xRyul/obsidian-image-converter @.>
抄送: dotkt @.>; Author @.>
主题: Re: [xRyul/obsidian-image-converter] change the time to register "create" event. support insert multi imgs at once. (PR #24)
Hey, thanks for contributing.

How do you compile it? ESlint throws quite a few errors.
Please remove any variables, or console logs which are not being used.

Following seems to allow multi drop and even saves a few ms during load. Many thanks 🙏 although, going to have to test it further, especially with various SYNC methods
            this.dropListener = () => {
                    userAction = true;
                    setTimeout(() => userAction = false, 10000);
            };

            this.app.workspace.onLayoutReady(() => {
                    document.addEventListener("paste", this.pasteListener);
                    document.addEventListener('drop', this.dropListener);
                    this.registerEvent(
                            this.app.vault.on('create', (file: TFile) => {
                                    if (!(file instanceof TFile)) return;
                                    if (isImage(file) && userAction) {
                                            this.renameFile1(file);
                                    }
                                    // userAction = false; // uncommented to allow multi-drop
                            })
                    );
            })

            ...

            const currentLine = cursor.line;
            function escapeRegExp(string: string) {
                    return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& 表示整个匹配的字符串
            }
            const findText = escapeRegExp(linkText);
            const replaceText = newLinkText;
            const docContent = editor.getValue();
            const regex = new RegExp(findText, 'g');
            const newContent = docContent.replace(regex, replaceText);
            editor.setValue(newContent);
            editor.setCursor({ line: currentLine, ch: 0 });
            // Ensure the current line is in a visible position
            editor.scrollIntoView({ from: { line: currentLine, ch: 0 }, to: { line: currentLine, ch: 0 } });

—
Reply to this email directly, view it on GitHubhttps://github.com/xRyul/obsidian-image-converter/pull/24#issuecomment-1768224126, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL3UF5R3VBTOSCQOJY5GDXTX762JPAVCNFSM6AAAAAA6AYLMJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRYGIZDIMJSGY.
You are receiving this because you authored the thread.Message ID: @.***>


[keyvault] Samples cause conflicts preventing them from running one after another

In order to run our Key Vault samples in CI, we'll need to execute them in series. However, as they are now, we get errors that look like the following in keyvault-certificates:
[run-samples] Error in ...\azure-sdk-for-js\sdk\keyvault\keyvault-certificates\samples\javascript\mergeCertificate.js : RestError: A new key vault certificate can not be created or imported while a pending key vault certificate's status is inProgress.
    at new RestError (...\azure-sdk-for-js\sdk\core\core-http\dist\coreHttp.node.js:1718:28)
    at ...\azure-sdk-for-js\sdk\core\core-http\dist\coreHttp.node.js:3419:37
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: 'Conflict',
  statusCode: 409,
  request: WebResource {
    streamResponseBody: false,
    url: 'https://[redacted].vault.azure.net/certificates/MyCertificate/create?api-version=7.0',
    method: 'POST',
    headers: HttpHeaders { _headersMap: [Object] },
    body: '{"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Unknown","cert_transparency":false},"attributes":{}},"attributes":{}}',
    query: undefined,
    formData: undefined,
    withCredentials: false,
    abortSignal: undefined,
    timeout: 0,
    onUploadProgress: undefined,
    onDownloadProgress: undefined,
    proxySettings: undefined,
    keepAlive: true,
    requestId: ...,
    operationSpec: {
      httpMethod: 'POST',
      path: 'certificates/{certificate-name}/create',
      urlParameters: [Array],
      queryParameters: [Array],
      requestBody: [Object],
      responses: [Object],
      serializer: [Serializer]
    }
  },
  response: {
    body: `{"error":{"code":"Conflict","message":"A new key vault certificate can not be created or imported while a pending key vault certificate's status
is inProgress."}}`,
    headers: HttpHeaders { _headersMap: [Object] },
    status: 409,
    parsedBody: { error: [Object] }
  },
  details: {
    error: {
      code: 'Conflict',
      message: "A new key vault certificate can not be created or imported while a pending key vault certificate's status is inProgress."
    }
  }
}
[run-samples] Continuing ...

And we get one error in keyvault-secrets:
[run-samples] Error in ...\azure-sdk-for-js\sdk\keyvault\keyvault-secrets\samples\typescript\dist\samples\typescript\src\listOperations.js : RestError: Operation get is not allowed on a disabled secret.
    at new RestError (...\azure-sdk-for-js\sdk\core\core-http\dist\coreHttp.node.js:1718:28)
    at ...\azure-sdk-for-js\sdk\core\core-http\dist\coreHttp.node.js:3419:37
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: 'Forbidden',
  statusCode: 403,
  request: WebResource {
    streamResponseBody: false,
    url: 'https://[redacted].vault.azure.net/secrets/MyCertificate/?api-version=7.0',
    method: 'GET',
    headers: HttpHeaders { _headersMap: [Object] },
    body: undefined,
    query: undefined,
    formData: undefined,
    withCredentials: false,
    abortSignal: undefined,
    timeout: 0,
    onUploadProgress: undefined,
    onDownloadProgress: undefined,
    proxySettings: undefined,
    keepAlive: true,
    requestId: ...,
    operationSpec: {
      httpMethod: 'GET',
      path: 'secrets/{secret-name}/{secret-version}',
      urlParameters: [Array],
      queryParameters: [Array],
      responses: [Object],
      serializer: [Serializer]
    }
  },
  response: {
    body: '{"error":{"code":"Forbidden","message":"Operation get is not allowed on a disabled secret.","innererror":{"code":"SecretDisabled"}}}',
    headers: HttpHeaders { _headersMap: [Object] },
    status: 403,
    parsedBody: { error: [Object] }
  },
  details: {
    error: {
      code: 'Forbidden',
      message: 'Operation get is not allowed on a disabled secret.',
      innerError: [Object]
    }
  }
}
[run-samples] Continuing ...

I don't know enough about Key Vault to know what the recommended solution would be here, whether it's re-factoring the samples to make sure they only end once they've cleaned everything up, or whether we need to have some logic between the samples, but for the CI runner all the samples should be able to run in sequence and should be able to start with a clean key vault. There's some more work that needs to be done to support automatic running in Keyvault anyway, so I'll leave these skipped in the package.json for now until we figure out what to do here.
CC @sadasant @jonathandturner

I wonder if we should (at least) do the follow:

Ensure that all the keyvault samples use unique names for things
Ensure that the samples teardown the resources correctly. I'd been meaning to go back over them and ensure that all the resources are deleted correctly

For the second one, we may want a way to delete/purge in one step that can detect if the keyvault is being used has "soft delete" enabled.


fix config.net.keepalive document

According to https://github.com/golang/go/blob/master/src/net/dial.go#L81
tcp keepalive is ENABLED when KeepAlive is set to 0 by default

Thanks for contributing 🙏


fix(templates): autocomplete off to false

autocomplete="false“ not working on Internet Explorer 11, "off" works


Babel 7

👋 Bootstrap team! Making a PR to change to v7 if desired! (instead of by
accident via https://github.com/twbs/bootstrap/pull/22727, hopefully we can fix that kind of dependency issue soon)

[x] Update packages to Babel 7
[x] Use https://github.com/babel/babel-preset-env instead of preset-es2015 (just deprecated it), has the same behavior if you don't specify a target
feel free to edit the pr

Diff

New loose option for classes removes a bunch of helper checks, so they won't be in the bundle/files anymore, so a smaller output. Via https://github.com/babel/babel/pull/4850

rm'classCallCheck', 'createClass', 'inherits', 'possibleConstructorReturn'

add inheritsLoose

Aliases the class prototype via https://github.com/babel/babel/pull/5560

babel-generator defaults to " double quotes now via https://github.com/babel/babel/pull/5824

there are some newline changes because Babel won't read tokens from the AST anymore, so it may look different but it should compile faster (faster parse/print) via https://github.com/babel/babel/pull/5833

Comments from dead code elim for a minifier if using exports. via https://github.com/babel/babel/pull/6209

default for template literals is using concat instead of +, can use loose to go back to + via https://github.com/babel/babel/pull/6098

Thanks for the PR @hzoo! One thing, you shouldn't include the dist files in your PR.
/CC @Johann-S for review

I wonder if we should tweak the options to use for example single quotes. And maybe switch to loose for concatenating strings.

One thing, you shouldn't include the dist files in your PR.

Yeah I kept them in to explain the changes, can be removed later.

And maybe switch to loose for concatenating strings.

I made the individual files use the same config (loose) so that is already done.

should tweak the options to use for example single quotes.

This we just defaulted to quotes and removed the options since it's just the output and not source code.

I'm aware it's the output. Too bad there is no option since I personally am
used to single quotes everywhere.
Anyway not a big deal I guess.
On Sep 16, 2017 23:31, "Henry Zhu"<EMAIL_ADDRESS>wrote:

One thing, you shouldn't include the dist files in your PR.
Yeah I kept them in to explain the changes, can be removed later.
And maybe switch to loose for concatenating strings.
I made the individual files use the same config (loose) so that is already
done.
should tweak the options to use for example single quotes.
This we just defaulted to quotes and removed the options since it's just
the output and not source code.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/23966#issuecomment-329992933, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVtWtzMgW4aHR0UHSAK5KXUUqoCxbbks5sjDAKgaJpZM4PZ68t
.

Yeah I hope not 😛, I just picked one - https://github.com/babel/babel/issues/5139

Thanks for your PR @hzoo, I thought about doing that change but you were quicker than me 😄
Just remove changes in our dist files and we will merge your PR 👍

Ok removed the dist, js/dist changes

Sorry but they are warning in Travis see : https://travis-ci.org/twbs/bootstrap/jobs/276359245#L618
about : createClass is not exported by babelHelpers those warnings wasn't there before that

Hm good catch, didn't think that was needed so I removed in rollup.config.js

Ok I see a change we can make to loose mode for static getters https://babeljs.io/repl/build/master#?babili=false&browsers=&build=&builtIns=false&code_lz=MYGwhgzhAECCIFMBOAXaBvAUNaEVhQEthoBzBNANQFEAlAZQEkB5AOQAoBKDbHaJCgFckAO2g0GLVrwC-mGUA&debug=false&circleciRepo=&evaluate=false&lineWrap=true&presets=es2015-loose&prettier=false&targets=&version=7.0.0-beta.0 which we can fix later.
I also excluded typeof transform so that helper can be dropped. I assume bootstrap doesn't use Symbol so it's not needed.

Thanks @hzoo 👍
BTW I think you fix this issue : https://github.com/rollup/rollup-plugin-babel/issues/165 😄


docs: Add example to run multiple apps in one pod

A example was missing how to run multiple apps in one pod
Fixes #2583
@jonboulle Please take a look. I hope you thought about something like that.

thanks! looks good, two short comments

Sure, i took your preamble example. Thanks for reviewing!

Thanks! LGTM, skipping CI as this is just a docs change.


tea --silent is broken

Not sure how many versions ago this broke, but I just noticed both tea --silent and tea -s now output "resolving package graph".

Fixed in 1.0.0-alpha.1 🎉

Sorry for the bug :/

No woz, that's what v0's are for :)


Set up heroku

Set logs to go to STDOUT instead of a file in production. Add puma as the webserver.
Codeship is configured to automatically deploy from master.

:+1:

👍


Remove unnecessary Box

Previously, Query variant in enum Statement seemed to be used recursively, but this is not the case now.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 8 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 89.954%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
9097

Relevant Lines:
10113

💛  - Coveralls

I believe this Box was added in #540 by @5tan to save stack space
Perhaps we can add a comment somewhere to the code explaining the rationale?

There was this context. thank you
I'm a little confused, but using `Box' saves stack space, but doesn't it use that much heap space? I don't know why this is better.
What should I look for to understand this?

What should I look for to understand this?

Here is a description of the issue that I like (though I am obviously biased :bowtie: ): https://github.com/apache/arrow-datafusion/pull/1047

Oops ... I approved before seeing the comments from @alamb

Yes, this should be a work in progress.
However, it is still not clear whether the Query occupies a stack size large enough to be a 'Box'.
It seems that I have some understanding.
I am looking at the work @alamb linked.

Marking as draft as we work on this issue 👍  thanks @ever0de

Marking as draft as we work on this issue 👍 thanks @ever0de

thank you I was wondering if I should change it.

hello. At the current main https://github.com/sqlparser-rs/sqlparser-rs/commit/72559e9b6298f39c9ab2a084b5e1cd11d3fb6c6d commit, I tried running the sql syntax of #540 PR, but it fails with stack overflow. Maybe I've missed something?
Using Command
x=286 ; echo 'print("SELECT * FROM {}ttt{}".format("("*'$x',")"*'$x'))' | python3 > test.sql && cargo run --example cli --manifest-path Cargo.toml test.sql --snowflake

Hi friends! Currently sizeof::<Query>()=592. If we unbox the query body back (revert my changes), then sizeof::<Query>()=1360.

Perhaps we can add a comment somewhere to the code explaining the rationale?

@ever0de Would you mind updating this PR to revert the changes but add a comment instead?

Perhaps we can add a comment somewhere to the code explaining the rationale?

@ever0de Would you mind updating this PR to revert the changes but add a comment instead?

First of all, I understand that this PR is a bad fix.
I will close the PR first, and then bring it with me if there is an improvement plan.
Thanks for the good information.
Can I close this PR?

Can I close this PR?

Yes, please go ahead! Thanks.


double callback call with timeout

Hi ,
it seems to me that in case of error on the request action  :
    }).on('error', function(err) {       callback(err);     });
it is missing this line :
      clearTimeout(timeout);
On my heavy loaded server, i got "Callback was already called." error because of this bug.
adding this line resolve the bug.

+1 I'm on same issue.


Keyboard shortcut support

Adding the ability to assign keyboard shortcuts to common actions would be very useful.
Some examples of common actions:

Bring up the timer/hide the timer. This shortcut should bring the timer to the foreground and apply window focus to it. It serves as the starting point for any other shortcuts and therefore should work even when the window is not in focus.
Start/stop timers (Perhaps with a number to select which). These shortcuts should only work from within the timer, meaning they can be bound to other things in different applications.
Create new timer. This should add a new timer and focus the text box, allowing a user to type without moving from the keyboard.

The overall purpose of these shortcuts is to allow mouseless time entry, further reducing the cognitive load and barrier to entry for time tracking.

There are already keyboard shortcuts.
https://jirastopwatch.com/doc/#keyboard
To create a keyboard shortcut to the application, or any application (in Windows) you create a shortcut to the executable, in this case StopWatch.exe.
The right click on the shortcut and click properties
Click on the Shortcut tab and you can create a keyboard shortcut there.
It would look something like this and these kinds of application shortcuts will be specific to your system.


Consider Replacing Arrays with Sets

So far, arrays have been used as a data type in most places in LearningUnits and skills. In most cases,

sorting is not important
There should be no duplicates

Also

In many places, duplicates are even actively filtered retroactively
In some places Sets are used for internal representation, just to be tranformed to an array for API comptability (pathPlanner.ts)

I would consider to think about the data representation to remove/prevent technical debt.
Considerations

Functionality Limitation: Unlike arrays, Sets don't provide built-in methods for operations like .map(), .filter(), or .reduce(), because Sets are primarily designed for unique value storage and quick existence checks. Implementing custom functions for these operations is straightforward, but it adds extra code to manage.
Order of Elements is lost

Other compliance considation:

this could have heavy impact on the search implementation
selflearn will not be affected too much by this (1 line of code needs to be changed)

If no prisma cache is in use, the strict equality check of typescript (check only for memory reference and not for value equality) can lead to duplicates inside a set.
An approach could be to implement a "IdSet". The usage and the benefits would be the same as of a set, but it uses an id field inside an object as key.
The goal is to have something like this:
const obj1 = { id: "1", name: "John" };
const obj2 = { id: "1", name: "John" };

const objects = new IdSet([obj1, obj2]);
console.log(objects.size); // 1

Example implementation could be:
type WithId = { id: number | string };

class CustomSet<T extends WithId> {
  private items: Record<string, T>;

  constructor(initialValues: T[] = []) {
    this.items = {};
    initialValues.forEach(item => this.add(item));
  }

  add(item: T): boolean {
    const key = item.id.toString();
    if (!this.items[key]) {
      this.items[key] = item;
      return true;
    }
    return false;
  }

  has(item: T): boolean {
    return !!this.items[item.id.toString()];
  }

  delete(item: T): boolean {
    const key = item.id.toString();
    if (this.items[key]) {
      delete this.items[key];
      return true;
    }
    return false;
  }

  get size(): number {
    return Object.keys(this.items).length;
  }

  filter(predicate: (item: T) => boolean): CustomSet<T> {
    const result = new CustomSet<T>();
    Object.values(this.items).filter(predicate).forEach(item => result.add(item));
    return result;
  }
}


title correction

#150

done

(from now on) when you create a new PR, mention the issue number in this format: Fixes #ISSUE_NO. GitHub will auto-link relevant issue to the PR.


Synchronous nature of join might result in suboptimal use of compute resources

The documentation for join reads:

…; if however closure B has been stolen, then it will look for other work while waiting for the thief to fully execute closure B.

Even if closure B completes before the “other work” completes, the code following the call to join cannot run immediately after closure A and closure B complete, even if there is a free thread on the thread pool. It must wait for the “other work” to complete, which might take a long time compared to closures A and B, with no way to prefer certain tasks to be considered “other work” candidates (AFAIK).
This is only really an issue because join must return on the calling thread, by its synchronous nature. Having an async version of join (i.e. one that returns a future) would improve on this by allowing it to return on a different thread than the one it was called on, because the code before and after the await are separate tasks. It would require running futures on the thread pool.
Is this something that has been explored before?

Asynchronous code is quite different from the user perspective, compared to Fn traits. It's not something we can just graft in automatically, but there have been experiments with futures if you search through issues. Alternatively, if you're concerned about such latency, have you considered using tokio's thread pool?

tokio's thread pool?

I too am interested in this question.  I don't believe tokio's thread pool has the functionality one would expect here (based on a quick reading of the documentation of Future). In particular, if you join a task in Tokio that hasn't been started, the calling thread won't take on this task and run it inline (I believe.)
I was hoping Rayon would provide something similar to Java's Fork/Join where futures are first-class objects that can be later joined.  This would make it ergonomically possible to easily spawn multiple tasks before joining any, rather than just two as provided by rayon::join.
Also, a side note; it seems Rayon lets workers blocked on a stolen task steal from any other worker (based on this comment); experience with FJP has shown that it's usually best to steal only from the worker that stole the task. Otherwise, a worker may easily take on too many tasks, and because Rayon is also stack-based and doesn't support child stealing the way Cilk does, would then be committed to these tasks and become a straggler later on when other threads are waiting for it to finish. I don't know if this has been observed in Rayon as well.

experience with FJP has shown that it's usually best to steal only from the worker that stole the task.

That sounds interesting -- do you have any references?

experience with FJP has shown that it's usually best to steal only from the worker that stole the task.

That sounds interesting -- do you have any references?

Personal communication with Doug Lea.  But you may find discussions on the interest mailing list.


Update docs.

The documentation reflects the old installer method. Need to update docs to reflect #156

Looks like automation took care of this. We have an internal action item to remove referenced to the ReadTheDocs page - so... we'll hijack this issue to concern that.

Handled in https://github.com/aws-quickstart/taskcat/commit/c08ccd6788fba5dcb46fa4f19ea8332b1825e03c


合并到master

合并到master

看QQ 看QQ 看QQ
2017-04-06 10:52 GMT+08:00 CecilJxSu<EMAIL_ADDRESS>
Merged #5 https://github.com/CecilJxSu/OnlineCourseFronten/pull/5.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CecilJxSu/OnlineCourseFronten/pull/5#event-1031480430,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOQvSsegbji1zR-AFvtfY90rgnHwTHbyks5rtFN3gaJpZM4M1Djd
.


[modify] redirect to login if accessing file is in gws

Coverage decreased (-0.02%) to 84.031% when pulling 9b2af6af4010204867b498182a1a43a8d87f430b on pr-redirect-to-login into 0beab710b960a35f01189b0d4255ebc9dc4842db on master.


FancyZones: window is lost while draging between dual monitors

ℹ Computer information

PowerToys version: 0.23.0
PowerToy Utility: FancyZones
Running PowerToys as Admin: Yes
Windows build number: [run "winver"] 20H2 compilation 19042.630

📝 Provide detailed reproduction steps (if any)

Some opened app in any zono in monitor 1
Drag this app into some zone in monitor 2

✔ Expected result
app fits into selected zone
❌ Actual result
app falls into App's Limbo showing a dark window and must be reset with task manager
not always happens, I gess this is only when accidentaly the windows is released accidentaly betwen two zones

@cizquierdof
can you try this on 0.27?

Perfect!, windows are no lost anymore, besides this I can drop its between two zones then it fits in that multiple zones. Good job!

bj

@cizquierdof
thanks for the folllow up.


No such file or directory

Hello, installed all requirements, but I get this error

** Force Mode to 'Potator' for Tournament **
Packing IP list 6
Traceback (most recent call last):
File "main.py", line 139, in
c.attack(attacks_tournament, maxanti_tournament, wait, mode, api)
File "/home/kender/Programs/vHackAPI-Python/console.py", line 374, in attack
data = self.getIP(True, max, mode, api)
File "/home/kender/Programs/vHackAPI-Python/console.py", line 168, in getIP
result, ip = wait_for.result()
File "/usr/local/lib/python2.7/dist-packages/concurrent/futures/_base.py", line 405, in result
return self.__get_result()
File "/usr/local/lib/python2.7/dist-packages/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/kender/Programs/vHackAPI-Python/console.py", line 95, in calc_img
if "Hatched by the FBI" in pytesseract.image_to_string(image) or "Watched by the FBI" in pytesseract.image_to_string(image):
File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 161, in image_to_string
config=config)
File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 94, in run_tesseract
stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 711, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

[update]
try to use virtualenv, install all requirements, but still get same error.

u need: apt-get install tesseract-ocr to fix this "issue"

It worked, problem fixed.
Thank you


Yarn 3 no node_modules support

I've dug around so much, but I haven't been able to get this tool to run with a custom, per-project tsserverlibrary, as that's how my set up with Yarn 3 works: there is no node_modules to rely on. Are there any plans for Yarn 3 support?

For LSP-typescript, I simply point "server_path" at a different "tsserver.js" and done.

Maybe this? https://github.com/sublimelsp/LSP-volar/blob/9f13b1b1840dfc333e49871ea1ca66f1a94caf16/LSP-volar.sublime-settings#L7-L9

Tried it, didn't work.

Can you provide the output of LSP: Troubleshoot Server on a vue file?

Troubleshooting: LSP-volar
Version

LSP: 1.14.0
Sublime Text: 4121

Server Test Run

exit code: 0
output

Server Configuration

command

[
  "${node_bin}",
  "${server_path}",
  "--stdio"
]

shell command

E:\nodejs\node.EXE "C:\Users\USER_NAME\AppData\Local\Sublime Text\Package<EMAIL_ADDRESS>--stdio

selector

(text.html.vue)

priority_selector

(text.html.vue)

init_options

{
  "documentFeatures": {
    "documentColor": true,
    "documentFormatting": {
      "defaultPrintWidth": 90
    },
    "documentSymbol": true,
    "foldingRange": true,
    "linkedEditingRange": false,
    "selectionRange": true
  },
  "languageFeatures": {
    "callHierarchy": false,
    "codeAction": true,
    "codeLens": false,
    "completion": {
      "defaultAttrNameCase": "kebab",
      "defaultTagNameCase": "both",
      "getDocumentNameCasesRequest": false,
      "getDocumentSelectionRequest": false
    },
    "definition": true,
    "diagnostics": true,
    "documentHighlight": true,
    "documentLink": false,
    "hover": true,
    "references": true,
    "rename": true,
    "renameFileRefactoring": false,
    "schemaRequestService": false,
    "semanticTokens": false,
    "signatureHelp": true,
    "typeDefinition": true
  },
  "typescript": {}
}

settings

{
  "volar": {
    "codeLens": {
      "pugTools": false,
      "references": true,
      "scriptSetupTools": false
    },
    "completion": {
      "autoImportComponent": true
    },
    "preferredAttrNameCase": "auto-kebab",
    "preferredTagNameCase": "auto"
  }
}

env

{
  "PATH": "E:\\nodejs;E:\\nodejs;"
}

Active view

File name

E:\NodeProjects\comp_coop\comp_coop.sublime-project

Settings

{
  "auto_complete_selector": "meta.tag, source - comment - string.quoted.double.block - string.quoted.single.block - string.unquoted.heredoc",
  "lsp_active": null,
  "syntax": "Packages/JSON/JSON.sublime-syntax"
}

base scope

source.json

Project / Workspace

folders

[
  "E:\\NodeProjects\\comp_coop"
]

is project: True
project data:

{
  "folders": [
    {
      "path": "."
    }
  ],
  "settings": {
    "server_path": "${typescript_tsdk}/tsserver.js"
  }
}

LSP configuration

## System PATH
 - E:\Python310\Scripts\
 - E:\Python310\
 - C:\Python310\Scripts\
 - C:\Python310\
 - F:\VulkanSDK\<IP_ADDRESS>\Bin
 - C:\Program Files (x86)\Common Files\Oracle\Java\javapath
 - D:\Python39\Scripts\
 - D:\Python39\
 - C:\Windows\system32
 - C:\Windows
 - C:\Windows\System32\Wbem
 - C:\Windows\System32\WindowsPowerShell\v1.0\
 - C:\Windows\System32\OpenSSH\
 - C:\Program Files\Sublime Merge
 - C:\Program Files\Sublime Text
 - D:\CMake\bin
 - D:\LLVM\bin
 - C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
 - C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
 - E:\Airshipper\
 - E:\Graphviz\bin
 - E:\Go\bin
 - C:\Program Files\dotnet\
 - E:\nodejs\
 - C:\ProgramData\chocolatey\bin
 - E:\Git\cmd
 - E:\LOVE
 - E:\Lua\5.1
 - E:\Lua\5.1\clibs
 - C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
 - E:\Elm\0.19.1\bin
 - C:\Users\USER_NAME\.cargo\bin
 - C:\Users\USER_NAME\AppData\Local\Microsoft\WindowsApps
 - c:\users\USER_NAME\.local\bin
 - D:\Microsoft VS Code\bin
 - C:\ProgramData\USER_NAME\GitHubDesktop\bin
 - C:\Users\USER_NAME\go\bin
 - C:\Users\USER_NAME\AppData\Roaming\npm
 - C:\Users\USER_NAME\.deno\bin
 - E:\Julia-1.6.4\bin

That's not a proper structure for the project settings. Should be:
{
  "folders": [
    {
      "path": "."
    }
  ],
  "LSP": {
    "LSP-volar": {
      "settings": {
        "server_path": "${typescript_tsdk}/tsserver.js"
      }
    }
  }
}

With ${typescript_tsdk} replaced with proper type since there is nothing that will resolve such variable.

I'll try what you said, but it is proper, because it's that's not for LSP-volar, but for LSP-typescript, and typescript_tsdk is defined in my user config, does LSP-volar not do substitutions?

And is it not supposed to go under "settings"?

server_path has nothing to do with LSP-typescript either.
I'm not sure what it's for. I thought for a second you might be using https://packagecontrol.io/packages/TypeScript instead but that one doesn't reference such name anywhere either.

And is it not supposed to go under "settings"?

You are right. So like this:
{
  "folders": [
    {
      "path": "."
    }
  ],
  "settings": {
    "LSP": {
      "LSP-volar": {
        "initializationOptions": {
          "typescript.serverPath": "${typescript_tsdk}/tsserverlibrary.js"
        }
      }
    }
  }
}

In any case, I wanted to see what have you tried to make LSP-volar work but the troubleshooting output doesn't include any volar specific settings so I can't tell what you have done wrong. Please try with my suggestion first.

From LSP-typescript.sublime-settings
{
	"command": ["${node_bin}", "${server_path}", "--stdio"],

and putting the full path worked!

thanks!

Wait, I restarted sublime and it stopped. I did use ${project_path} and ${project_dir} to no avail.

You can't just use those variables anywhere. Those are only expanded in specific places and packages. What have you done exactly?

"settings": {
"server_path": "${typescript_tsdk}/tsserver.js",
"LSP": {
"LSP-volar": {
"initializationOptions": {
"typescript.serverPath": "${project_dir}/.yarn/sdks/typescript/lib/tsserverlibrary.js"
},
"selector": "text.html.vue | source.ts | source.tsx | source.js | source.jsx"
},
"LSP-typescript": {
"enabled": false
}
},
}

There is no such variable as project_dir.
This line does nothing and can be removed: "server_path": "${typescript_tsdk}/tsserver.js",
Replacing ${project_dir} with ${folder} might help. See http://www.sublimetext.com/docs/build_systems.html#variables for more on what it points to

Ok, it works with ${project_path}. Thanks!

We can add the logic to find the ts server in .yarn/sdks,
so you do not have to add project settings.


ci: Setup GitHub actions for basic PR CI matrix build

fixed in 0.10.1
thanks again @astubbs for your support!


Fix #3524 nested cues timing with infinite range parent

Description
Fixes #3524 by ignorning a parent cue with an infinite time range and just processsing its nested children so their respective time ranges are respected.

Screenshots (optional)

Type of change

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

Checklist:

[x] I have signed the Google CLA https://cla.developers.google.com
[x] My code follows the style guidelines of this project
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have verified my change on multiple browsers on different platforms
[x] I have run ./build/all.py and the build passes
[x] I have run ./build/test.py and all tests pass

@theodab, can you look at this?  Is this obsoleted by your change I reviewed earlier today?  Or is this still useful and independent?

Yes, I think this PR is obsoleted... with the proviso that, while investigating this, I did find a bug in https://github.com/google/shaka-player/commit/157bd77be25ea7744d2d905f46dd3ee3eb1a611a that is causing it to not update nested cues properly. I'll get a CL out for that.


Godot script editor: tab character is wider than 4 spaces

Godot version
3.4.4 stable
System information
macOS Big Sur, Version 11.5.2, MacBook Pro (13-inch, M1, 2020)
Issue description
Tab characters in the Godot script editor are wider (in px) than 4 regular characters, see screenshot:

It looks like 6 tab characters have roughly the same px width as 25 space characters, which means 1 tab character has the same width as 1.1666 spaces.

But indeed macOS uses "None" by default to match the convention on macOS, and that seems to break tab size for the monospaced font we use.
It's reproducible in current 3.x (417f20f06c7449bfc3820cdfdde4183082cfb004), and it's even more obvious on Linux:

It doesn't seem reproducible in master (5a4d1bff79da7e443baebaca21b294583d2121c5) with "None" font hinting. Might have been fixed by CTL changes or by changing the font from Hack to JetBrains Mono.

Setting interface/editor/font_hinting to light works for me, thanks!