Collision detection 2 rebase

This PR adds collision detection to the GUI.  Models that collide with other models or stick out of the platform are colored red.
The detection is done in 2D so it counts as a collision if objects appear to overlap when viewed from above.  For example, a ball under an upside-down cup will be marked red even though they don't collide in 3D.
Collision detection for large objects is slow so it's done "in the background" so as not to interfere with the smoothness of the UI.  Because of this, complex models might take up to half a second to turn green/red after they move.

Cool! I will be away for the weekend. Will take a look at it when I'm back.

No hurry.  Here is a photo of the ball-and-cup issue that I mentioned.  You can see that the objects do not overlap but they do have the same footprint in the XY plane so they are marked red.

Thanks again @eyal0 for submitting this PR.
However, I'm quite concerned how robust the collision detection function is. Because collision detection is sitting right in the critical path of user interaction, every time user changes anything to the model, the code gets executed. Because its value is relatively small (99% of the times I don't need the tool to tell me if models collide), any negative impact on how users use the most critical functions (such as moving and rotating models) will probably mean that we are not providing our users with better experience by adding this function. Therefore we need collision detection to be bug-free and fast.
I like your approach of running collision detection in a different thread and then call back when it's done, to minimize the impact on the UI thread. Meanwhile more need be done to make sure this function is super robust and fast. Usually the ways I'd use to deal with this kind of situation is to do at least one of the following or both:

come up with a design and implementation that are so simple that it's obvious to everyone that it doesn't have bugs.

develop a test suite that thoroughly exercises this function to make sure it's bug-free and fast.

Again I appreciate your contribution and I don't want you to feel that I'm rejecting your code. Every day there are more than 100 users all around the world using this slicer plugin (not just installing this plugin, but also actually pressing the Slice it! button), and I don't want to frustrate them with buggy and/or slow software. I hope you understand my concerns.

I think that it's as fast as it can get and I don't think that it has bugs.
If the issue is the speed or the smoothness of the UI then there's nothing to be done.  I think that this is the fastest that the algorithm can get.  Did you notice slowness when you used it?
BTW, when there's no overlap between models, the algorithm is lightning fast because it looks at bounding boxes first.
As for robust, testing is the best way.  The code isn't to complicated, actually.  I'm not sure what kind of test suite would work.  What if I find a known, working collision algorithm from a reputable source?  I could use their test suite and compare results.
Do you have a different suggestion for testing?

Hmmm, I'd like to hear more about why you don't think it doesn't have bugs. I have seen a lot of code that are much simpler than CollisionDetection.js but still ended up with a lot more bugs than developers initially realized.
A few questions that popped in my mind by looking at CollisionDetection.js are:

how does findCollisions works:
what are geometryBoxes? are they the boundaries of models?
how do functions like intersectsBox2D work with geometryBoxes to achieve the goal?
how do we know if the algorithm is exhaustive in all possible scenarios? That include models in all kinds of odd shapes and rotated/scaled/translated/overlapped in different ways?
what are the fail-safe mechanism to protect the code against bugs in TRHEE.js (there are a lot of bugs in it)?
how can we prove that collisionLoop won't run into infinite loop?

If you don't have answer to all these questions that's ok. You are tackling a very difficult problem and it would take a lot of effort to reduce the problem to a very simple solution. I just don't feel current solution is simple enough.
I have always used one quote as my inspiration when I'm challenged with a difficult problem: *There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. * (https://en.wikiquote.org/wiki/C._A._R._Hoare) I'd encourage you to think a bit more in that direction.
When it comes to testing the code, I have a few thoughts:

the one that you mentioned: benchmark the algorithm against another one that's known to be good.

self-checking: the testing code automatically generates all kinds of models and scenarios, then call arrange to auto arrange them. Afterward call detectCollision. If collisions are found, either arrange or detectCollision has a bug. We can then manually check which one is the culprit.

if we can find a tool that calculate the total volume of the combined models (3dhubs.com will show the total volume once models are upload). If it is equal to the sum of volumes of separate models, then there is no collision. Otherwise there is.

What do you think?

I thought about number 3. I like the idea but I'm not sure how to generate
good test cases. There are infinitely many shapes and most of them aren't
interesting as edge cases. Getting a set of interesting cases is as hard as
testing them.
I can write some unit tests to cover some of the functions.
I think that the code isn't going to get much simpler though I could
refactor it to make it appear simpler.
I don't know of any bugs left but there might be. Probably are.
On Tue, Feb 14, 2017, 20:05 Kenneth Jiang<EMAIL_ADDRESS>wrote:

Hmmm, I'd like to hear more about why you don't think it doesn't have
bugs. I have seen a lot of code that are much simpler than
CollisionDetection.js but still ended up with a lot more bugs than
developers initially realized.
A few questions that popped in my mind by looking at CollisionDetection.js
are:

how does findCollisions works:
what are geometryBoxes? are they the boundaries of models?
how do functions like intersectsBox2D work with geometryBoxes to
achieve the goal?
how do we know if the algorithm is exhaustive in all possible
scenarios? That include models in all kinds of odd shapes and
rotated/scaled/translated/overlapped in different ways?
what are the fail-safe mechanism to protect the code against bugs in
TRHEE.js (there are a lot of bugs in it)?
how can we prove that collisionLoop won't run into infinite loop?

If you don't have answer to all these questions that's ok. You are
tackling a very difficult problem and it would take a lot of effort to
reduce the problem to a very simple solution. I just don't feel current
solution is simple enough.
I have always used one quote as my inspiration when I'm challenged with a
difficult problem: *There are two ways of constructing a software design:
One way is to make it so simple that there are obviously no deficiencies,
and the other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult. * (
https://en.wikiquote.org/wiki/C._A._R._Hoare) I'd encourage you to think
a bit more in that direction.
When it comes to testing the code, I have a few thoughts:

the one that you mentioned: benchmark the algorithm against another
one that's known to be good.
2.
self-checking: the testing code automatically generates all kinds of
models and scenarios, then call arrange to auto arrange them.
Afterward call detectCollision. If collisions are found, either arrange
or detectCollision has a bug. We can then manually check which one is
the culprit.
3.
if we can find a tool that calculate the total volume of the combined
models (3dhubs.com will show the total volume once models are upload).
If it is equal to the sum of volumes of separate models, then there is no
collision. Otherwise there is.
What do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kennethjiang/OctoPrint-Slicer/pull/39#issuecomment-279786434,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGs8ZWnXIOxeFf4wQb1bLnY_hAAU9PGks5rcezkgaJpZM4L-Kp7
.

agreed that none of these testing options is easy and straightforward. But I don't think I am doing our users a favor by providing them the software that I'm not confident in.
In terms of performance: I just tried to load https://www.thingiverse.com/thing:1993726 and https://www.thingiverse.com/thing:2027889 into slicer. Without this PR the slicer plugin already cranked up the browser to use a lot of CPU cycles. With this PR turned on, the browser would turn irresponsive when I tried to move model around, and eventually crashed.

correction: the models that I used for testing were: https://www.thingiverse.com/thing:1993726 and https://www.thingiverse.com/thing:2062447

Ran into this collision detector: https://stemkoski.github.io/Three.js/Collision-Detection.html. Do you think we can reuse all of some of their code?

I saw that collision detection code when I started.  I also saw this: http://stackoverflow.com/questions/11473755/how-to-detect-collision-in-three-js
They use rays: extend a line from the center of the object through all corners and see if other objects are hit.  It's much slower than what I wrote.  The sample that you saw is only fast because those are simple squares.  The complexity is one ray for each vertex of the object and that ray needs to be compared against all the other triangles in all the other objects.  I tried it and it was even slower.  It's not as efficient as what I wrote because I take advantage of some facts:

I only look for proof of a collision, I don't care which part is colliding.
Once I find a collision, I stop looking.
I simplify the model to just the Z-plane.

I also tried rays that shoot upward from the bottom of the platform but they need to be really close together for accuracy, otherwise the collisions can slip between the rays.  And if I make the rays close together, there are too many of them and it's slow again.
I also tried using octrees: https://github.com/collinhover/threeoctree .  They speed up the job when the universe is staying the same and you're searching for collisions many times.  But we have the opposite problem: The models keep moving around and we're searching only once per placement.  Generating the octree was much slower than running the algorithm.
Those are all the approaches that I tried.  No luck.

Here's a different approach: What if collision detection is only done when the slice button is pressed?  Slicing a big model takes a long time anyway so the slight delay for collision detection before slicing would be unnoticed.  If a collision is detected, notify the user and mark models red.  If not, proceed.
As hybrid alternative, I can make collision detection use fewer clock cycles.  I could slow it down.  Then we'd have live collision detection still, albeit slow to compute.  And it would only run at full speed when the slice button is pushed.  Or just have collision detection give up after 200ms.  That's short enough that it won't be noticed and if we don't detect collisions then we'll catch it later when the slice button is pressed.  That might be confusing to the user, however, to see collisions sometimes detected and sometimes not.
So that's another option to think about.  Also need to think about what kind of notification to the user.  A toast?  A dialog?  etc.  It won't be good for the user if he hits slice, walks away, and when he comes back, sees that a dialog popped up.  So it could just be a toast, basically: "Hey, there's a collision, just to let you know, but we're going to keep going anyway."  That kind of notice.
Plenty of alternatives.

PS I like the new icons, they look very modern!

I will try your big models and see how responsive it is on my computer.  Maybe I can find more room for speeding up the algorithm.

Thank you for being very thorough in checking out all existing solutions out there!
And I do like your idea of doing collision detection only when Slice button is pressed and showing a toast if collision is detected. By doing so we stay out of the critical path to getting model sliced, and minimize the risk of negative impact on user experience even in case of some glitches in collision detection algorithm.
If it's not a big change, can you revise your PR so that I can merge it soon? I'm in the middle of refactoring slicer.js and I don't want to create a lot of conflicts before your PR is merged.

I'm going on vacation and won't be around for a week. Go ahead with your
changes and I'll integrate mine later.
On Wed, Feb 15, 2017, 00:59 Kenneth Jiang<EMAIL_ADDRESS>wrote:

Thank you for being very thorough in checking out all existing solutions
out there!
And I do like your idea of doing collision detection only when Slice
button is pressed and showing a toast if collision is detected. By doing so
we stay out of the critical path to getting model sliced, and minimize the
risk of negative impact on user experience even in case of some glitches in
collision detection algorithm.
If it's not a big change, can you revise your PR so that I can merge it
soon? I'm in the middle of refactoring slicer.js and I don't want to
create a lot of conflicts before your PR is merged.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kennethjiang/OctoPrint-Slicer/pull/39#issuecomment-279863959,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGs8Wu9wWDZSHRZGBYTRtRDVi68R3COks5rcjHLgaJpZM4L-Kp7
.

No problem. I'm actually making quite significant changes to slicer.js. But will work with you to make the merge easier when you are ready.

Looks like the code has changed too much to merge the collision detection.  I see that the rectangle packer is also removed.

If you want to keep working on this PR I can help you merge the code.
I removed RectanglePacker because the original auto-arrange code was slow when there were many (10+) models. I just finished the feature of splitting model into parts, which may result in many models, therefore I needed a much faster auto-arrange.
The new auto-arrange algorithm doesn't yield as compact layout as your algorithm, but runs much faster.

I'm cleaning up PRs and issues so I closed this one since it has been inactive. Feel free to reopen it if you want to resume your work. @eyal0

Sorry I dropped the ball on this one.  I'm not sure what to do with the collision detection or the rectangle packing.  The rectangle packing that I wrote was useful for a user of mine because it tries harder, so I want to keep it.
I'd like to use all your latest additions, which look great, but I'd also like to maintain the rectangle packing that I did.  What do you suggest?
I could rebase my changes on to your latest branch and send PRs for the changes that you like and leave the stuff that you don't agree with in my own branch.  I'd have to maintain my own branch and I'd send PRs for stuff that is common like bugfixes, etc.  A little messy but it'd work.
Do you have a different idea?
PS I like the model splitting, looks really nice.

The only reason why I replaced your rectangle packer with one I found online was that, although it yields better result, your rectangle packer runs too slow when there are more than a handful of models, which is often the case if users want to print many small parts at a time or split the model.
You can definitely bring back your rectangle packer from git history. Let me know if you need help on that. You are more than welcome to use it in the way that doesn't significantly slow down current user experience (which is already slower than I hoped, and I had to add spinner when splitting model or optimizing orientation), or improve your code to be on par with the speed of current rectangle packer so that we can replace it with your (improved) version.
I will try to achieve consensus with you so that you don't have to maintain your own fork. However, even if we don't 100% agree and you have to maintain your own fork, it's probably not the end of the world. I won't do a lot of active development in the near future since the plugin has most of the features I planned to do. So even if you maintained your own fork, you'd probably just need to do some quick rebase from my repo once in a while.
Hope this makes sense.

No longer relevant, this is too divergent from the current master.  I've got a different version that I'm working on.


pull request for e2e test at 12/16/2016 18:45:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


upgrade required go version to 1.18

In this PR #2938 we upgrades go version in CI to 1.18, but leave the one in go.mod as 1.17.
However, starting from v1.0.3, go 1.18 is required.

Codecov Report
Base: 61.08% // Head: 61.11% // Increases project coverage by +0.03% :tada:

Coverage data is based on head (d1b63eb) compared to base (e4bf15a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@               Coverage Diff               @@
##           release-1.0    #3134      +/-   ##
===============================================
+ Coverage        61.08%   61.11%   +0.03%
===============================================
  Files              138      138
  Lines            25959    25959
===============================================
+ Hits             15856    15865       +9
+ Misses            8203     8197       -6
+ Partials          1900     1897       -3

Impacted Files
Coverage Δ

pkg/meta/redis.go
71.34% <0.00%> (+0.08%)
:arrow_up:

pkg/meta/sql.go
64.50% <0.00%> (+0.22%)
:arrow_up:

pkg/chunk/disk_cache.go
80.65% <0.00%> (+0.43%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


updated docs and graph functionality in symmer base

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (7786d6e) 76.82% compared to head (328b179) 76.77%.

Files
Patch %
Lines

symmer/operators/base.py
25.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #178      +/-   ##
==========================================
- Coverage   76.82%   76.77%   -0.06%
==========================================
  Files          35       35
  Lines        3845     3849       +4
==========================================
+ Hits         2954     2955       +1
- Misses        891      894       +3

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


test: add integration tests

Pull Request Test Coverage Report for Build 14

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

Totals

Change from base Build 12:
0.0%

Covered Lines:
36

Relevant Lines:
36

💛  - Coveralls


add-font: fix min_pct_ext default val

@emmamarichal pointed out that add-font will add greek-ext and cyrillic-ext subsets to greek and cyrillic families that don't contain the extended glyphs. In nam-files, we have, https://github.com/googlefonts/nam-files/blob/main/Lib/gfsubsets/init.py#L203-L204:
        if 100.0 * len(overlap) / len(subset_cps) > target_pct:
            results.append((subset, len(overlap), len(subset_cps)))

We're multiplying the result by 100 so we're expecting an integer value, not a float which we've currently got. By changing this value to an int, it also matches --min_pct int.

This makes more sense, the help text says "what percentage" and I always thought it was weird that it was 0.01. 0.01% is very little...


[WIP] impl graph_proxy for csr_store

Related issue number
https://github.com/alibaba/GraphScope/issues/2465

Fixes

Codecov Report

Merging #2466 (598b208) into main (bbe2f31) will increase coverage by 0.01%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2466      +/-   ##
==========================================
+ Coverage   39.93%   39.95%   +0.01%
==========================================
  Files          88       88
  Lines        9771     9769       -2
==========================================
+ Hits         3902     3903       +1
+ Misses       5869     5866       -3

Impacted Files
Coverage Δ

python/graphscope/tests/unittest/test_app.py
0.00% <0.00%> (ø)

python/graphscope/tests/conftest.py
49.05% <0.00%> (+1.51%)
: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 bbe2f31...598b208. Read the comment docs.


move back NoValueResponseOfT to shared code which is needed for GetIfExists() method

move back NoValueResponseOfT to shared code which is needed for GetIfExists(). Refer to
issue: https://github.com/Azure/autorest.csharp/issues/2159
PR: https://github.com/Azure/autorest.csharp/pull/3692
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


Implement Lobby Screen

Spike for implementing the lobby screen (just need a layout, doesn't have to take users to games yet)

Partially implemented by https://github.com/lijim/monks-and-mages/pull/22 but needs a little more feature-work love before I can consider this issue closed

Closing this PR, but spawning a couple of new issues based on bugs / tech debt:
#26
#27


Can't open Storage Explorer again if it was closed by clicking 'Yes' on the 'Warn before exit' dialog

Storage Explorer Version: 1.23.0-dev
Build Number: 20220127.4
Branch: main
Platform/OS: MacOS Big Sur 11.6.1
How Found: From running test case
Regression From: Previous release (1.22.0)
Steps to Reproduce

Expand one storage account -> Blob Containers.
Open one blob container -> Upload a large folder to it.
Quit Storage Explorer when the transfer activity is not completed.
There is a dialog indicating whether to quit -> Click 'Yes'.
Open Storage Explorer again -> Check whether succeeds to open Storage Explorer.

Expected Experience
Succeed to open Storage Explorer.
Actual Experience
Can't open Storage Explorer.
Additional Context

Nothing happens when trying to open any folder on the MacOS.
The Storage Explorer displays blank when reloading Storage Explorer by clicking 'Yes' on the warn before exit dialog.

@v-xianya I was unable to repro, but I went ahead and took a guess at what could be happening, an added some code to help prevent it. Can you:

Try to repro this again with tonight's build, with logging level to debug (not verbose)
If you do repro then share the two newest log folders in the log directory (may be easier to just delete all log folders before you try to repro, and then after you repro, just share everything in the logs folder)

Thanks!

@MRayermannMSFT Hi Matthew, thank you for the prompt response!
Verified this issue on the latest build 20220127.17. Not reproduce. so close it.


429 Conflict when pushing packages

This occurred on a release build here:
https://ci.appveyor.com/project/GitTools/gitreleasemanager/builds/28976736#L1163
When running a tagged build, publishing to prerelease sources shouldn't be carried out.

@gep13 I was looking at this issue, but it seems the necessary code has already been implemented:
https://github.com/cake-contrib/Cake.Recipe/blob/develop/Cake.Recipe/Content/packages.cake#L147

@AdmiringWorm yes, I believe you are right!


Support for Mi 360° Home Security Camera 2K Pro

Device model
chuangmi.camera.021a04
Device name
Mi 360° Home Security Camera 2K Pro
Does the device require a MiCloud connection?
Do not know
Anything special about the device?
I found more info with specs here

What do you expect from the camera to work? Video will not be possible currently

In general it would be possible, but i am not an expert about streams and especially including them into home as this is rather complex. So if somebody has time in the future and can take this over then it would be good!

@merdok Not sure if this might help somehow, but there is a guy on GitHub that knows how to get the video stream of miot cameras that have stream for google in their specs. I leave the link here, in case someone knows how to translate it to here: https://github.com/al-one/hass-xiaomi-miot/issues/166

Thanks, I will have a look at this and see if I can use that as a base.

@merdok @SUL3 any luck?

Not yet, I did not have the time to have a look...


Go To Declaration should center cursor

When I press F12 to go to a declaration, the cursor is moved to the destination line and the view scrolls such that the destination is very close to the bottom of the visible area.  It would be nice (and maybe others would agree) if the view adjusted so that the destination line shows up at approximately the middle of the visible area.
My justifications for this suggestion are two-fold, although both reveal that I may be either biased or spoiled.  Discussion will determine which, if either holds true.

I am used to Visual Studio which does this (other users may also be migrating to Atom from the same situation)
I flipped my monitor 90 degrees so it is in portrait orientation.  It displays about 110 lines of code on the screen, so I tend to lose track of the cursor when it is at the bottom of the screen.

Thoughts?

I missed the point that may seal the deal.
About 80% of the time that I use Go To Declaration, I'm navigating to a method, and will most likely be looking at the following 10-20 lines very soon after this action.
I keep thinking that other people will probably prefer this differently, which indicates that this might be a candidate for a customization option.  Correct me if it already is and I missed it.

We just ask atom to bring the line in view : https://github.com/TypeStrong/atom-typescript/blob/c0d11587e70b54272d7b5ad4497dd5fa35b88fe1/lib/main/atom/gotoHistory.ts#L17-L23
If atom provides an API will will use it ... if not don't feel like writing / maintaining it. Sorry :rose: but a good suggestion nonetheless.

Leaving open in case someone files the API endpoint :rose:

I'd love to be able to handle this and send a PR, but I really have no idea where to even begin (atom's api is extremely foreign to me).
That being said, I think these two resources might be handy for those who are able to decipher the api and the structure of this project....
How is was done in atom bookmarks: https://github.com/atom/bookmarks/pull/45/files
The (possibly) relevant api method: https://atom.io/docs/api/v1.7.3/TextEditor#instance-scrollToCursorPosition
Hope that is at least somewhat helpful. 👍

Released as v12.2.0 :tada:


snp/indel simulation is remarkably slow

Compared to the other variant types, SNP/indel variant calling is extremely slow. Is there a reason for this bottleneck?

Hello, thanks for trying out simuG.
Yes, your observation is correct, which is mainly due to the cross check of every newly simulated SNP/INDEL variant against all previous ones that got introduced to avoid them being introduced into overlapped genomic regions.
Best,
Jia-Xing

hmm, I don't expect simuG to be that slow ... Could you provide the parameters that you have specified for your run? Also, if possible, a testing dataset with the full command lines that you used when running simuG will be great  for me to looking into the possible cause and workaround if possible. Thanks in advance!
Best,
Jia-Xing

The command is
perl simuG -refseq geno.fasta -prefix prefix  -snp_count 1000000 > simuG.log

Hi @pdimens
See the my simulation for introducing 1 million SNV to the human reference genome (GRCh38) with the following command:
refseq="Homo_sapiens.GRCh38.tidy.fa"
prefix="TEST"

time perl ./../simuG.pl -refseq $refseq -prefix $prefix  -snp_count 1000000 > simuG.log

This only cost ~2.5 minutes.
real    2m33.296s
user    2m19.688s
sys     0m10.401s
log file:
[Tue Sep 24 21:41:39 2024]
Starting simuG ..
[Tue Sep 24 21:41:39 2024]
Check specified options ..
Running simuG for SNP/INDEL simulation >>
Ignore all options for CNV/inversion/translocation simulation.
This simulation use the random seed:<PHONE_NUMBER>
The option snp_count has been specified: snp_count = 1000000
The option titv_ratio has been specified: titv_ratio = 0.5
[Tue Sep 24 21:42:22 2024] Introducing random SNPs based on the following parameters:

snp_count = 1000000
titv_ratio = 0.5

[Tue Sep 24 21:43:49 2024]
Simulation completed! :)
[Tue Sep 24 21:43:49 2024]
Generating output files ..
Generating the correspondence map for genomic variants introduced during simulation:
TEST.refseq2simseq.map.txt
Generating reference-based vcf file for genomic variants introduced during simulation:
TEST.refseq2simseq.SNP.vcf
[Tue Sep 24 21:44:07 2024]
Done! :)
What is the size of your reference genome? Could it be the case that your reference genome size is very similar to 8M? In that case, simuG will gradually get struggled to find available site for incorporating new variants as the simulation progresses.
Best,
Jia-Xing

My reference genomes at usually 400Mb or greater, up to 4.6Gb

In that case, it is truly strange. Maybe double check if they are truly fasta files? And if there are space separated strings in the header lines begin with ">"?
Best,
Jia-Xing

They are true fasta files and the headers don't have a space after >, but may have a space after the sequence ID, per the standard fasta format. For example, the header may be:
>contig1
ATACATA....

or
>contig1 additional comments here
ATACCACAAGA...

By space-separated strings, I mean this case that you mentioned:
>contig1 additional comments here
But even in this case, simuG should still work.
Could you provide a sample genome (that simuG took extremely long to run on your side) for me to test?
Best,
Jia-Xing

I used this genome: https://www.ncbi.nlm.nih.gov/datasets/genome/GCF_018492685.1/
Also this: https://www.ncbi.nlm.nih.gov/datasets/genome/GCF_000001215.4/

Hi @pdimens ,
Here is my testing results with GCF_018492685.1, which took ~50sec to finish.
refseq="GCF_018492685.1_fAloSap1.pri_genomic.fna.gz"
prefix="GCF_018492685.1_TEST"
time perl ./simuG/simuG.pl -refseq $refseq -prefix $prefix  -snp_count 1000000 > $prefix.simuG.log

real    0m49.605s
user    0m51.517s
sys     0m3.077s

[Wed Sep 25 09:46:30 2024]
Starting simuG ..

[Wed Sep 25 09:46:30 2024]
Check specified options ..
Running simuG for SNP/INDEL simulation >>
Ignore all options for CNV/inversion/translocation simulation.

This simulation use the random seed: 637517621

The option snp_count has been specified: snp_count = 1000000
The option titv_ratio has been specified: titv_ratio = 0.5

[Wed Sep 25 09:46:38 2024] Introducing random SNPs based on the following parameters:
> snp_count = 1000000
> titv_ratio = 0.5

[Wed Sep 25 09:47:05 2024]
Simulation completed! :)

[Wed Sep 25 09:47:05 2024]
Generating output files ..

Generating the correspondance map for genomic variants introduced during simulation:
GCF_018492685.1_TEST.refseq2simseq.map.txt

Generating reference-based vcf file for genomic variants introduced during simulation:
GCF_018492685.1_TEST.refseq2simseq.SNP.vcf
[Wed Sep 25 09:47:16 2024]
Done! :)

Interestingly, my simulation with the much smaller Drosophila genome went slower (~9min), but still not as slow as you have encountered:
refseq="GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.fna.gz"
prefix="GCF_000001215.4_TEST"
time perl ./simuG/simuG.pl -refseq $refseq -prefix $prefix  -snp_count 1000000 > $prefix.simuG.log

real    9m11.650s
user    9m9.918s
sys     0m2.436s

[Wed Sep 25 09:52:14 2024]
Starting simuG ..

[Wed Sep 25 09:52:14 2024]
Check specified options ..
Running simuG for SNP/INDEL simulation >>
Ignore all options for CNV/inversion/translocation simulation.

This simulation use the random seed:<PHONE_NUMBER>

The option snp_count has been specified: snp_count = 1000000
The option titv_ratio has been specified: titv_ratio = 0.5

[Wed Sep 25 09:52:15 2024] Introducing random SNPs based on the following parameters:
> snp_count = 1000000
> titv_ratio = 0.5

[Wed Sep 25 10:01:11 2024]
Simulation completed! :)

[Wed Sep 25 10:01:11 2024]
Generating output files ..

Generating the correspondance map for genomic variants introduced during simulation:
GCF_000001215.4_TEST.refseq2simseq.map.txt

Generating reference-based vcf file for genomic variants introduced during simulation:
GCF_000001215.4_TEST.refseq2simseq.SNP.vcf
[Wed Sep 25 10:01:22 2024]
Done! :)

My testing environment is
CPU: Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
RAM: 256 MB

I did some further testing and confirmed that if you have a lot of variants relative to the genome size, simuG siezes up. For example, adding 1mil or 500k snps to a 148mb genome is near impossible. I had the program running over the last two weeks and it never finished that.

Hi @pdimens ,
Yes, the number of variants relative to genome size does correlate with running time but again I would never expect it could be that slow. My guess is the running time issue that you encountered is related to the specific computing environment or how Perl was configured on top of it. What is the CPU, RAM, and OS configuration for your computing environment?
Best,
Jia-Xing

It was run on a cluster computing environment. I don't have the specs on hand right now, but it's CentOS, 42 Intel Xeon cores, 512GB RAM.

Maybe  have a try with your own laptop or desktop?  simuG can run comfortably on laptops. The substantial running time on your cluster is really abnormal.
Best,
Jia-Xing


add hammerjs

add hammerjs dependendecies

Codecov Report

Merging #53 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development      #53   +/-   ##
============================================
  Coverage        90.62%   90.62%
============================================
  Files                1        1
  Lines               96       96
  Branches            11       11
============================================
  Hits                87       87
  Misses               9        9

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 49e7d40...dc9add1. Read the comment docs.


Get access to https://www.nuget.org/profiles/OpenTracing

There is already a 0.8.2 package of this library and of the BasicTracer on the .NET package manager nuget.org: https://www.nuget.org/profiles/OpenTracing

Who has access to this account? ( @bensigelman @dawallin @yurishkuro )
Is it at least two people?
Could I get the credentials as well? For publishing, we only need an API key, but it would be useful to have the credentials as well in case we have to unlist packages etc.

Of course, I'm also ok, if you don't want to give the account to me!

As soon as we have access, I think we should unlist OpenTracing.BasicTracer - IMO this is not meant as a library that someone should take a dependency on. It's just a reference implementation and we haven't done much work on it yet.

@cwe1ss I agree re BasicTracer... maybe that should change once the primary API is demonstrably stable and in use in production, but not before.

fyi: I've just seen that it would also be possible to add co-owners to packages. But AFAIU this would also list every owner on the package detail page. So I guess using a shared account with the nice "opentracing" name is better.
Source: https://docs.nuget.org/create/managing-package-owners

@cwe1ss I got the nuget account right now. Of course we should share its credentials.
Looking around how other open source projects do I see different patterns for author and owner. Authors are in most cases just the organisation. The organisation is then also the owner, sometimes with the core contributors as co-owners.
For the BasicTracer I think it's fine to have it listed as long as the description clearly states that it is moving and will have backwards-incompatible changes (which I think it already does). Maybe we could add something that it is not a "real" tracer, and more thought of as a simple reference tracer.

I now have access to the account - thanks @dawallin !!
What are use-cases where we want people to actually use BasicTracer? Isn't it just a demo for actual trace implementations?
If we release it, we need to follow backwards-compatibility rules and can't use it as a "state of the art" reference implementation that might change at every time.

I agree that we don't want anyone to start take dependencies against BasicTracer. But we like others to start play around with it. If it is not on nuget, you need to download and build yourself, which will raise the barrier to get started. For me, BasicTracer does not need to follow release numbers of OpenTracing and as long as it stays below version 1.0, and we state in the description that it is just a reference tracer which is not guaranteed to be backwards-compatible, I thing that is enough and at the same time make Open Tracing more visible on nuget.

If it is not on nuget, you need to download and build yourself, which will raise the barrier to get started.

The current basic tracer doesn't provide any output so if I understand correctly, there's no value in using it as a binary dependency - its only current value is the source code and unit tests that show the principles.
I'd like to release a version of the main OpenTracing library soon (to finally start using it somewhere :smile:) and since we haven't looked at the BasicTracer code in much detail, I would prefer not releasing it - not even as a pre-release. However if we don't unlist the existing BasicTracer-package on nuget, it would no longer work against the current OpenTracing version.
@dawallin For this reason, would you be ok with unlisting it until we've figured out who and how we'll proceed with the basictracer implementation?

Yes @cwe1ss , I see your point. I unlisted all versions of BasicTracer on nuget.

Related to #20.

Great, thank you!


Cleave req warriors only

I added an exception in restrictedGear mechanic to let Rangers and Wizards equip their specific weapon on levels where 'cleave' is in requiredProperties.

Coverage remained the same at 56.345% when pulling 5ded9ae41b7d4b5b45c2fec2bce1a5e7dee00419 on cleave-req-warriors-only into 3a9de47413c92a78897a97c702f53cea527876a9 on master.


go install not working / metrics package not found

Description
I tried to install the tool with go install github.com/docker/hub-tool.
It's currently failing, because the package github.com/docker/compose-cli/metrics cannot be found.
I checked the metrics package. It seems that they reorganized the structure in the main branch.
Steps to reproduce the issue:

go install github.com/docker/hub-tool

Describe the results you received:
go/src/github.com/docker/hub-tool/internal/metrics/metrics.go:22:2: cannot find package "github.com/docker/compose-cli/metrics" in any of:
	/usr/lib/go/src/github.com/docker/compose-cli/metrics (from $GOROOT)
	/home/cmuench/go/src/github.com/docker/compose-cli/metrics (from $GOPATH)

Describe the results you expected:
Tool can be installed without an error.
Output of go version:
go version go1.15.7 linux/amd64

"metrics" package on compose-cli project has moved to https://github.com/docker/compose-cli/tree/main/cli/metrics
will move again, as we want this to be hosted by docker/cli

"metrics" package on compose-cli project has moved to https://github.com/docker/compose-cli/tree/main/cli/metrics
will move again, as we want this to be hosted by docker/cli

@cmuench sorry about the hickup, can you try and run GO111MODULE=on go get github.com/docker/hub-tool and tell us if that works please?

@cmuench sorry about the hickup, can you try and run GO111MODULE=on go get github.com/docker/hub-tool and tell us if that works please?

@rumpl That works. :+1:

@rumpl That works. :+1:

Great, we'll update the README, thanks!

Great, we'll update the README, thanks!


[Feat]: Web icon not showing

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
There is no icon showed in the web page when open.

Use Case
This is for better authentication to the customers and build trusts whoever buying from the store.
Benefits
No response
Priority
High
Agreements

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC contributor
[X] I'm a Hacktoberfest contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Please assign this task to me @Tejashri-Taral


pylance crash when notebook is opened and change vscode to restricted mode

open notebook in a workspace
create a few python cells
open manage trusted workspace using command palette
change the workspace to in restricted mode

expected: notebook moves to restricted mode
actual: pylance crash with some assert.

I'm guessing this is a dupe of #5152

Although this repro seems easier.

Pylance is shutdown and restarted when the workspace changes to untrusted. On restart, we receive textDocument/didOpen messages for each of the cells before we receive the notebookDocument/didOpen. Pylance crashes in getNotebookCellPath on receiving the first textDocument/didOpen because the _uriToPath map is empty. Normally when a notebook is opened we don't receive any textDocument/didOpen messages for the cells.
@rebornix, would this be a vscode bug?
UriMapper.getNotebookCellPath (c:\src\pyrx2\packages\pylance-internal\src\common\uriMapper.ts:150)
PylanceUriParser.decodeTextDocumentUri (c:\src\pyrx2\packages\pylance-internal\src\common\pylanceUriParser.ts:23)
PylanceAsyncServer.onDidOpenTextDocument (c:\src\pyrx2\packages\pylance-internal\src\server\asyncServer.ts:1013)
<anonymous> (c:\src\pyrx2\packages\pyright\packages\pyright-internal\src\languageServerBase.ts:674)
handleNotification (c:\src\pyrx2\packages\pyright\packages\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:640)
handleMessage (c:\src\pyrx2\packages\pyright\packages\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:342)
processMessageQueue (c:\src\pyrx2\packages\pyright\packages\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:362)

@rchiodo, any thoughts on this?

We need the notebook open before we get the text document open. I think this would be a VS code issue then.

althought maybe VS code is not the one sending these messages? It might be the vscode language client npm module.

Removing vscode-notebook-cell documents from our documentSelector caused hover, semantic highlighting, etc to break for notebooks. Need to find another way to address the crash.

This is caused by a bug in vscode-languageclient. I filed an issue: https://github.com/microsoft/vscode-languageserver-node/issues/1394

Dirk determined that this is actually caused by a bug in vscode, and he can't work around it in vscode-languageclient -- https://github.com/microsoft/vscode/issues/202232

This was fixed in VS Code insiders this morning. https://github.com/microsoft/vscode/issues/202232


Can not make dependenciesContainerBuilder example work

            DestinationsNavHost(
                navGraph = NavGraphs.root,
                dependenciesContainerBuilder = {
                    destination(TestScreenDestination) {
                        dependency(scaffoldState)
                    }
                }
            )

my screens
@Destination<RootGraph>(
    start = true,
)
@Composable
fun WelcomeScreen() {
    Text("welcome")
}

@Destination<RootGraph>
@Composable
fun TestScreen(
    scaffoldState: ScaffoldState
) {
    Text("testtest")
}

and I'm getting an error
Type mismatch: inferred type is TestScreenDestination but Nothing was expected

destinations version 2.0.0-beta01
compose bom version 2024.04.01

https://github.com/Yakoot/TestComposeDestinations

Just need to import the function, rather than trying to call what's not even the function 😅
this is the import btw, but the IDE will help you as well:
import com.ramcosta.composedestinations.navigation.destination


[version] patch bug fix version; fix fallback communication

This version is a patch for bugs:

removes undefined variable
fixes broken fallback communication

Both updates are from @Andarist 🙏

Generally I think we still need to test against the ports array not being empty to increase the compatibility between postmate versions.
You are saying though that the check for it broke your team - would be good to know why so we can figure out how to fix both cases.


Glitch: Freaky Red

When playing with CellPond, I discovered that using the nested blocks feature used in the 🤖Nothing video to make tadpoles, you can nest four blocks as one and things go fine:

But nest four of those nested "blocks" and the element itself keeps its color but turns red when drawn on-screen:

Along with that, the other shapes (such as that triangle) also turn red for that element:

This is not to be confused with an element made of 16 blocks, which stays intact but instead does this:

Freaky.

🤦🏾 I just noticed this is a copy of last week's #215

hey thank you! this is the same as #215 but you've done a very clear explanation of it, which is very helpful for me, so thanks :)

You're welcome @TodePond.

I believe this doesn't happen any more now


Queuing Mechanism - qa

Resolved via https://github.com/open-contracting/spoonbill-test/commit/26608bab116e02682aa57b7728f523baac25fe63


Params documenation

How to describe regular expression for Param request?
Coudl you please clarify this in documentation.
Thanks.

Tanks. You right.


Backend - fix update script

Update script doesn't save processed folder names to file

append file?


Accepting invalid JSON

The following JSON is invalid, but it is accepted by JSONLint:
{
  "@context": {},
  "@id": "id1",
  "@id": "id2",
  "@type": "type1",
  "@type": "type2"
}

You can see another validator complaining: http://www.freeformatter.com/json-validator.html

https://www.ietf.org/rfc/rfc4627.txt
2.2.  Objects
... "The names within an object SHOULD be unique."

https://www.ietf.org/rfc/rfc2119.txt
  3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
     may exist valid reasons in particular circumstances to ignore a
     particular item, but the full implications must be understood and
     carefully weighed before choosing a different course.

You can tell the maintainer of the other validator that a JSON with duplicate keys is not invalid.
Note: I'm not saying I would recommend the use of duplicate keys, but the specification does not label them as invalid. How an application handles duplicate keys is a different story.


feat: arrange by

Affected Packages

[ ] @yeger/eslint-config
[ ] @yeger/vue-masonry-wall
[ ] @yeger/vue2-masonry-wall
[ ] vecti

Description
Can  d3-graph-controller support the arrangement, for example, I want to generate the arrangement of binary tree
Additional context
No response
Preferences

[ ] I want to be assigned to and work on this issue myself

Please submit a PR if you're interested in implementing such a layout. I'll close this feature request for now.


Translate to Japanese

Hi there 👋
Let's translate the course to YOUR-LANG so that the whole community can benefit from this resource 🌎!
Below are the chapters and files that need translating - let us know here if you'd like to translate any and we'll add your name to the list. Once you're finished, open a pull request and tag this issue by including #issue-number in the description, where issue-number is the number of this issue.

🙋 If you'd like others to help you with the translation, you can also post in our forums or tag @_lewtun on Twitter to gain some visibility.

We've also created a japanese-translations channel on the Hugging Face Discord in case you wish to discuss translation details there. Just follow the instructions here 👉  https://discord.gg/hKnxnxUr
Chapters
0 - Setup

[x] 1.mdx @hiromu166

1 - Transformer models

[x] 1.mdx @hiromu166
[ ] 2.mdx @hiromu166
[ ] 3.mdx @hiromu166
[ ] 4.mdx @hiromu166
[ ] 5.mdx @hiromu166
[ ] 6.mdx @hiromu166
[ ] 7.mdx @hiromu166
[ ] 8.mdx @hiromu166
[ ] 9.mdx @hiromu166
[ ] 10.mdx @hiromu166

2 - Using 🤗 Transformers

[ ] 1.mdx @yurikimura
[ ] 2.mdx @yurikimura
[ ] 3.mdx @yurikimura
[ ] 4.mdx @yurikimura
[ ] 5.mdx @yurikimura
[ ] 6.mdx @yurikimura
[ ] 7.mdx @yurikimura
[ ] 8.mdx @yurikimura

3 - Fine-tuning a pretrained model

[ ] 1.mdx @shotaro-funai
[ ] 2.mdx @shotaro-funai
[ ] 3.mdx @shotaro-funai
[ ] 3_tf.mdx
[ ] 4.mdx
[ ] 5.mdx
[ ] 6.mdx

4 - Sharing models and tokenizers

[ ] 1.mdx
[ ] 2.mdx
[ ] 3.mdx
[ ] 4.mdx
[ ] 5.mdx
[ ] 6.mdx

5 - The 🤗 Datasets library

[ ] 1.mdx
[ ] 2.mdx
[ ] 3.mdx
[ ] 4.mdx
[ ] 5.mdx
[ ] 6.mdx
[ ] 7.mdx
[ ] 8.mdx

6 -  The 🤗 Tokenizers library

[ ] 1.mdx
[ ] 2.mdx
[ ] 3.mdx
[ ] 3b.mdx
[ ] 4.mdx
[ ] 5.mdx
[ ] 6.mdx
[ ] 7.mdx
[ ] 8.mdx
[ ] 9.mdx
[ ] 10.mdx

7 - Main NLP tasks

[ ] 1.mdx
[ ] 2.mdx
[ ] 3.mdx
[ ] 4.mdx
[ ] 5.mdx
[ ] 6.mdx
[ ] 7.mdx
[ ] 8.mdx
[ ] 9.mdx

8 - How to ask for help

[ ] 1.mdx
[ ] 2.mdx
[ ] 3.mdx
[ ] 4.mdx
[ ] 4_tf.mdx
[ ] 5.mdx
[ ] 6.mdx
[ ] 7.mdx

Events

[ ] 1.mdx

Hi @shotaro-funai.
Of course! I added your name to the list.
Thank you for your cooperation.

Hello @hiromu166 @shotaro-funai,
I'd like to ask you if I could work on chapter 2.
Also I need to apologize that I did chapter 1/2 by mistake, maybe I should decline and close the PR, but I appreciate if I could have any suggestion about it.
https://github.com/huggingface/course/pull/169

Hi @yurikimura.

I'd like to ask you if I could work on chapter 2.

Sure! Thank you for your cooperation.

Also I need to apologize that I did chapter 1/2 by mistake, maybe I should decline and close the PR, but I appreciate if I could have any suggestion about it.

Oh, I see. Unfortunately, I've already translated chapter 1/2 in my local, so could you close #169? I'm sorry to trouble you...

Hello @hiromu166 ,
I appreciate letting me do the 2nd part!
I have closed https://github.com/huggingface/course/pull/169 now. Thank you for taking care of it!

Hey there! I am more than interested on your project - since I am familiar with japanese I guess I can help and validate your translations, I have few questions

the discord link seems to be expired?
Where can I find your final PRs?  #169 seems to be closed
cc @lewtun

Hello @younesbelkada, I am very sorry for late response.
I'm new here and I couldn't sure if I'd give you 100% correct answer, but as far as I know is following;

The link for discord's expired, maybe we don't have a specific channel but can have a discussion here
The final PR should be https://github.com/huggingface/course/pull/144 so far seeing https://huggingface.co/course/ja/chapter1/1
I hope the answer could be somewhat helpful to you.

Hi @yurikimura
Thank you for your message!
Ok we can continue the discussion on this thread. Is there a plan to continue the translation? Also could you share with me your Twitter account? We want to Tweet this PR to the community to try to bring more contributors
よろしくお願いします！

Hi @yurikimura, I heard of this project from @younesbelkada, and I'm also more than happy to contribute!
I'm a native Japanese speaker, doing a Ph.D. in the U.S. (also currently interning at HF). Pretty sure I can be useful here :)

Sorry, I haven't checked this thread lately.
@younesbelkada
Thank you for your offer of cooperation! That's great for us.
As @yurikimura answered, we can continue the discussion here and our final PR is #144 .

Is there a plan to continue the translation? Also could you share with me your Twitter account? We want to Tweet this thread to the community to try to bring more contributors

Yes. My Twitter account is https://twitter.com/hiromoon166. That's a good idea to share this thread :)
@yurikimura
Thank you for answering the questions!

@kojimano
I appreciate your cooperation!

I'm a native Japanese speaker, doing a Ph.D. in the U.S. (also currently interning at HF). Pretty sure I can be useful here :)

Wow! That's awesome! If you would like to translate some parts, please let me know.

Perfect here is the thread!
https://twitter.com/ybelkada/status/1532990394279116800?s=21&t=BpfDGoBzyc6coX7g0j3mFg

Hi all, I'm happy to take "4 - Sharing models and tokenizers"!

Hi @hiromu166 ,
I found this project on Twitter.
I'd like to translate all the rest of Chapter 3.  Can I ask you to add my name to the list?
I'm a native Japanese speaker, majoring in computer science at university in the U.S., so I'm a good fit for this project!

[ ] Thank you all for your contributions ! Can't wait to read the Japanese translations 🔥

Let me do Chapter 5? @hiromu166, do you mind updating the list above? Thanks!
So excited to see this collaborative effort 🤗

@HiromuHota @SodaTetsuhiro @kojimano
Thank you all :)
I've updated the list. Please check it.

Hi there @hiromu166 , can I do the chapter6? Appreciate if you could add me on the list🤗

Hi. @hiromu166.
I saw this project on Twitter.
Can I do the chapter7 Main NLP tasks?

Hi @hiromu166 !
I am happy to do chapter8! Could you please add me on the list?
Very happy and excited to see all this efforts!

Also feel free to share your PRs once you have created it :) do not hesistate to request for our reviews as well for peer reviewing

Hi @hiromu166 ! 🤗
I saw this project on Twitter but I guess I'm late...
Can I do the last "Events"?

@kuriyan1204 @webbigdata-jp @younesbelkada @trtd56
Thank you all :)
I've updated the list. Please check it.

I'm wondering if anyone wants to discuss things more casually and in real-time.
There is #japanese-translations channel in HF's discord, hope you see you guys there!

We've also created a japanese-translations channel on the Hugging Face Discord in case you wish to discuss translation details there. Just follow the instructions here 👉 https://discord.gg/hKnxnxUr

Would love to join the discord! But it seems that I can't. Probably the link has expired .. could you send another link please?

@younesbelkada Thanks for your interest! I believe you can use this http://hf.co/join/discord (or see https://discuss.huggingface.co/t/join-the-hugging-face-discord/11263).

@younesbelkada and those who are interested, once you've joined HF's discord, react to this message in #course-translations with a :hugging_earth: emoji to show hidden channels like #japanese-translations.

Perfect just managed to join the channel!

hi.
I have stamped the discord channel.
By the way, I submitted a pull request and it failed with the following error.
files need to be formatted, run make style
https://github.com/huggingface/course/runs/6847421797?check_suite_focus=true
It seems to be an error that the file name is wrong, however, make style is not a problem in my local environment.
Does anyone know the cause of this?

@webbigdata-jp According to the GitHub Action, what failed was make quality. Do the followings:

Run pip install -r requirements.txt
Run make style
Commit changed files and push

Here is my draft PR: https://github.com/huggingface/course/pull/249 in case anyone want already review it!
Please feel free to share your PR even if they are WIP ;)

@webbigdata-jp I believe you resolved the issue already, but black needed to be 22.3.0. This https://github.com/huggingface/course/pull/252 will help prevent an issue like this going forward.

@HiromuHota @younesbelkada
Thanks for the advice.
I have re-created the python 3.10 environment in conda with python 3.6.
Now the test passes, but I didn't realize that black was the cause.
I haven't read through the discord yet, but I'll catch up later.

Hi @hiromu166 !
Could you please update the table below to have a broader view of the remaining chapters to translate 🙏 I think we have 3 chapters left if I am not mistaken
Thanks a lot !

Could you please update the table below to have a broader view of the remaining chapters to translate 🙏

Sorry, I don't get what should I do... Could you tell me a little more detail?
(Do you mean to put a checkmark in the table above?)

@hiromu166 I believe @younesbelkada is referring to the table in the issue description (the very top of this page). Please check the item that's done.

@hiromu166 sorry I was unclear , yes I meant the table in the issue description since some chapter has been already translated ;)

Oh, my bad.
I thought hiromu166 and HiromuHota were the same person.
Sorry if I mentioned something wrong.

I've updated the table! (chapter4 & event)
Thank you for letting me know.


Is there a way to scroll with mouse drag, like on mobile devices with touchMove?

Hello.
I am trying to implement background drag similar with google maps. In fact, it’s just svg, which is 4 times the screen area and the task is to move it both with the mouse cursor and on a mobile device. This module is perfectly suitable for such a task, but it doesn't work on desktop with mouseDrag like it works with touch events. Is there a way to make it work? I haven't found anything in docs.

@Okami92 Did you solve this?

@nikkii94 nope. I just used react-draggable. It is suited for my use case even better.


Ability to "retire" or "archive" a program

Is your feature request related to a problem? Please describe.
Arkansas has programs that aren't used and should not accept new applications. They can hide these programs from the index for the applicant, but they have no way of preventing new applications to these programs if their URLs are shared. They also would like to stop seeing them in the list of programs for the admin.
Describe the solution you'd like
A new display mode for programs that:

Prevents applicants from starting new applications with the program
Hides it from the main program index for both CiviForm Admins and Program Admins.

FYI some pieces of this are similar to https://github.com/civiform/civiform/issues/5065

Duplicate of https://github.com/civiform/civiform/issues/1375
Consolidating the older ticket to this one since it has more attention.

We'd really like a way to hide/archive/remove these programs from the active programs page. I foresee this problem only getting worse over time.

Thanks,
Leslie

Ready to close? @isabelcshaw


net/http: content type detection does not work correctly for some documents that start with HTML comments

Some website documents start with "<!--[if IE]" or "<--comment with no space" and some close it without leaving an actual comment like this: "<!--->".
None of these cases are detected correctly because "<!--" htmlSig is treated like a regular HTML tag when in reality behaves slightly differently.
What version of Go are you using (go version)?
❯ go version
go version go1.10.2 darwin/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
❯ go env
GOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
What did you do?
package main

import (
	"fmt"
	"net/http"
)

func main() {
	fmt.Println(http.DetectContentType([]byte(`<!--[if !IE]> This has been served from cache <![endif]--><html><body>Hello,world</body></html>`)))
	fmt.Println(http.DetectContentType([]byte(`<!-- [if !IE]> This has been served from cache <![endif]--><html><body>Hello,world</body></html>`)))
}

https://play.golang.org/p/f6-N3OA9FGU
What did you expect to see?
text/html; charset=utf-8
text/html; charset=utf-8
What did you see instead?
text/plain; charset=utf-8
text/html; charset=utf-8

We follow the algorithm laid out at  http://mimesniff.spec.whatwg.org/. According to it, the string <!-- must be followed by a tag-terminating byte. A tag terminating byte is either a space or closing angle bracket.
So this is working as intended. If you want this changed, I would suggest raising an issue at https://github.com/whatwg/mimesniff.


Using rich.text.Text in rich_repr

When I print a rich ColorTriplet, I don't just want to see the values for red, green, and blue in my console. I also want to see the color.
I tried giving the ColorTriplet a new __rich_repr__ on the fly which also includes a small color swatch in its color.
ColorTriplet.__rich_repr__ = lambda self: [("red", self.red),
                                           ("green", self.green),
                                           ("blue", self.blue),
                                           ("color", Text("██", style=f"rgb({self.red}, {self.green}, {self.blue})"))]

However, the resulting console output looks like this:
>>> ColorTriplet(12,24,25)
ColorTriplet(red=12, green=24, blue=25, color=<text '██' []>)

where '██' just gets displayed in the default green string color.
Can rich renderables not be used inside a __rich_repr__?

That methods creates reprs, which are intended to be formatted like a Python expression. It won't produce any escape sequences.
Why do you want to print a ColorTriplet? It was only intended for the Color class, which already generates the actual color if you print it.


Mutations with Anything other then R.Int or R.ID fail with Argument Error

When trying to create a more complex mutation like below
def test_complex_mutation():
    R = TypeRegistry()
    class AddName(R.Mutation):
        class Input:
            name = R.String

        class Output:
            new_name = R.String

        def execute(self, obj, input, info):
            return self.Output(new_name=input.name)

    class Query(R.ObjectType):
        foo = R.String

    Schema = R.Schema(R.Query, R.Mutations)
    mutation_query = '''
    mutation testAddName {
        addName(input: {name:Test}) {
            newName
        }
    }
    '''
    result = graphql(Schema, mutation_query)

A failure happens with the following
[GraphQLError('Argument "input" expected type "AddNameInput" but got: {name: Adriel}.',)]
However the same exact mutation with Int or ID works perfectly fine.
It looks like the MutationMeta is incorrectly assigning the dictionary value when it's anything but Int, ID, or float

@AdrielVelazquez The query is not well formatted. The Test string must be surrounded by ":
    mutation testAddName {
        addName(input: {name:"Test"}) {
            newName
        }
    }

@syrusakbary Ahh, my mistake. Thanks!


Enable kubelet authorization and authentication

This enables verification that everyone that is speaking to the kubelet
is actually authorized and authenticated.
https://kubernetes.io/docs/admin/kubelet-authentication-authorization/
Fixes #44
This just pulls in the upstream module changes for that
Enable authorization and authentication for kubelet

/lgtm

/approve


Python support

As introduced on re:invent 2015, AWS Lambda now supports python as runtime language.

The current version of kappa will work with Python as long as you specify it in the config file, e.g.:
  runtime: python2.7

And you install any dependencies as described here.
Note, however, that I am working on a major new release of kappa that will include a full Python sample as well as support for new Lambda features like versioning and aliases.  I hope to have that out in the next few days.

Great, thanks!

The thing is, that AWS requires the contents of the lib/python2.7/site-packages/ directory to be zipped, not whole directory structure that virtualenv creates :(
Right now kappa does not support running "pre-update" commands to prepare the package like copy the necessary files to some staging directory so the zipping would be done from other directory.

Or, we could add an entry to the config file that represents the command to run in the code directory to install the dependencies.  This command would be run before the code was zipped and uploaded to Lambda.

Yes, something like that.
Currently I have Makefile like this:
PROJECT_NAME = lambda_python_demo
DIST_DIR = ./dist
KAPPA_CONFIG = ./config.yml

PROJECT_FILES = ./$(PROJECT_NAME)/*.py
VIRTUALENV_SITE_PACKAGES = ./$(PROJECT_NAME)/lib/python2.7/site-packages
ZIP_FILE = ./$(PROJECT_NAME).zip

KAPPA = kappa --debug $(KAPPA_CONFIG)

update_code: copy
	$(KAPPA) update_code

copy: clean
	cp -R $(PROJECT_FILES) $(VIRTUALENV_SITE_PACKAGES)/* $(DIST_DIR)

clean:
	rm -rf $(DIST_DIR)/*

%:
	$(KAPPA) $@

Hi,
If I'm using PIP instead of VirtualEnv to install my library dependencies into my Lambda package directory, do I need to do anything with a custom command or Makefile?
Thanks,
Jay

Hello,
Any update on this ?
A potential solution could be to add a "path" parameter in the config which would hold a list of directories / files whose content would be added to the zip...
We could also use the requirements.txt file to add the dependencies to the zip, but this might be a bit too specific to python....
Thanks,
Samuel

Just wondering if there's been any progress on this. Adding the Python Lambda Function and dependencies using Kappa would be great.

I have just merged the python-refactor branch to develop.  This is the main line now and all work will be focused on this going forward.

BTW, the current version in develop does filter out dependencies that are already included in the Lambda container.  So, for example, if your code has a dependency on boto3, it will not be included in the zip file by default because it is already available in the container.

Python support is now available in the latest release.


useAsync and useFetch

Just released React Async v4 🚀 https://github.com/ghengeveld/react-async
useFetch is new in v4:
import { useFetch } from "react-async"

const MyComponent = () => {
  const headers = { Accept: "application/json" }
  const { data, error, isLoading } = useFetch("/api/example", { headers })
  // This will setup a promiseFn with a fetch request and JSON deserialization.
}

useAsync takes any promise and offers more flexibility:
import { useAsync } from "react-async"

const loadCustomer = ({ customerId }, { signal }) =>
  fetch(`/api/customers/${customerId}`, { signal })
    .then(res => (res.ok ? res : Promise.reject(res)))
    .then(res => res.json())

const MyComponent = () => {
  const { data, error, isLoading } = useAsync({ promiseFn: loadCustomer, customerId: 1 })
  if (isLoading) return "Loading..."
  if (error) return `Something went wrong: ${error.message}`
  if (data)
    return (

        Loaded some data:

{JSON.stringify(data, null, 2)}

    )
  return null
}

Also supports AbortController for fetch cancellation.

I just posted a simple useAsync recipe I wrote (https://usehooks.com/useAsync/), as I want readers to be able to view the full hook code, but I linked to your library in the "Also check out" section at the bottom.

Thanks. We're at v10 by now 😅


Switch to server-side Apply on cluster create

Ensures that the content of existing secrets with the same name are overwritten with whatever is getting created.

We'll want to use https://github.com/kubernetes-sigs/controller-runtime/pull/1474 for all our patching operations once it makes it through.

/test aws-e2e

/test e2e-aws

/test e2e-aws

/lgtm
/hold
for e2e completion

/test e2e-aws

Previous test run failed with:
[36mINFO[2021-04-21T14:39:01Z] time="2021-04-21T14:38:33Z" level=info msg="found stack event" LogicalResourceId=example-ptj2w-65qnv ResourceStatus=ROLLBACK_IN_PROGRESS ResourceStatusReason="The following resource(s) failed to create: [SubdomainPublicZone, OIDCImageRegistryRole, OIDCBucket, WorkerInstanceProfile, OIDCIngressRole, OIDCCSIDriverRole, NodePoolManagementUser, KubeCloudControllerUser]. Rollback requested by user." ResourceType="AWS::CloudFormation::Stack"

/hold cancel


When using Alpine as host OS, getting host details fails.

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
The host details (PCI Devices and Physical Disks) fails to load, despite host management being enabled. The console reports:
{
   "message":"Unable to retrieve host information",
   "details":"No pci-ids DB files found (and network fetch disabled)"
}

Checking the /usr/share/misc folder on the host shows it is empty.
Expected Behavior
PCI devices and Physical disks are listed
Actual Behavior
The host details view shows PCI Devices and Physical Disks sections, but they're stuck on "Loading...". As mentioned above, the console reports that pci-ids are missing.
Steps to Reproduce

Install a base alpine-virt VM
Enable the "Community" repo in /etc/apk/repositories
apk update followed by apk add docker
Install Portainer
Enable host management
Open the host details page

Portainer logs or screenshots

Portainer version
2.19.4
Portainer Edition
Community Edition (CE)
Platform and Version
Docker Swarm 24.0.7
OS and Architecture
Alpine v3.19
Browser
Firefox 123.0a1
What command did you use to deploy Portainer?
curl -L https://downloads.portainer.io/ce2-19/portainer-agent-stack.yml -o portainer-agent-stack.yml
docker stack deploy -c portainer-agent-stack.yml portainer

Additional Information
No response

You may need to install pciutils on Alpine to provide this - Alpine being intentionally a minimal installation.

Apparently you also need to mount / as /host

Ah yes, we mention that in our documentation so I assumed you had already done so.


HHH-15954 correct implementation of JPA SharedCacheMode for .hbm.xml

even though I hate most of its members, I think NONE is pretty useful
anyway we may as well make it work, since it's trivial

Let's see what breaks.

The tests all passed, so let's assume that this didn't break anything.


return if no vrps are loaded

If the VRP set can't be retrieved, an error pops up:
feather$ ./stayrtr -cache http://localhost/
ERRO[0000] Error updating: Get "http://localhost/": dial tcp [::1]:80: connect: connection refused
WARN[0000] Error setting up intial state: parsing time "" as "2006-01-02T15:04:05Z07:00": cannot parse "" as "2006"
WARN[0000] Initial sync not complete. Refreshing every 30 seconds
INFO[0000] StayRTR Server started (sessionID:44976, refresh:3600, retry:600, expire:7200)

This PR silences the error by returning before the checkTime/buildtime dance - but I'm not sure if that's the best path forward.

Definitely a local improvement 👍


model.push_to_hub_merged saves padding_side = "left"?

Hi I finetunned my model(llama 2 based) on alpaca dataset. I set my tokenizer to right manualy by doing tokenizer.padding_sie ="right"
model, tokenizer = FastLanguageModel.from_pretrained(     model_name = "OPI-PG/Qra-7b",     max_seq_length = max_seq_length,     dtype = None, # None for autodetection     load_in_4bit = True,     token = os.getenv("HF_TOKEN"),     fix_tokenizer = False ) tokenizer.pad_token = tokenizer.eos_token tokenizer.padding_side = "right"
From what I see in the colab it's was set properly to "right" but when I saved model to hub and I opened tokenizer_config.json it was "padding_side" : "left". Why is that?

Oh yep so we found people get gibberish output when setting the padding side to right for inference, so we revert it back to left padding. It doesn't affect anything though

ok, thanks for answer


can't interract command blocks

What version of ViaVersion are you using? Type /ver viaversion
0.4.9
What version of Spigot are you using? Type /ver
1.8.8
What plugins are you using? /plugins
only viaversion
How does this error happen? login? using an item?
can't interact with command_blocks while op and gm 1
Is there an error in the console? Use pastebin.com. Is there a kick message?
nothing

Yeah, I'm currently looking into it

Fixed in latest version <3 @StamBoom


Unable to read the Iceberg table in Athena that was converted from Hudi to Iceberg format using XTable

Search before asking

[X] I had searched in the issues and found no similar issues.

Please describe the bug 🐞
Team, I have converted Hudi table to Iceberg table using Xtable. From athena if i query the table getting the following error:
ICEBERG_BAD_DATA: Field last_modified_time's type INT64 in parquet file s3a://<table_name>/<partiton_name>/<parquet_file_name>.parquet is incompatible with type timestamp(6) with time zone defined in table schema
This query ran against the "<database_name>" database, unless qualified by the query. Please post the error message on our forum  or contact customer support  with Query Id: 1f0401d0-584e-4eec-8a2d-9f719a85973c
Hudi Table Schema:
CREATE EXTERNAL TABLE `default.my_table`(
  `_hoodie_commit_time` string,
  `_hoodie_commit_seqno` string,
  `_hoodie_record_key` string,
  `_hoodie_partition_path` string,
  `_hoodie_file_name` string,
  `my_col` double,
  `last_modified_time` bigint)
PARTITIONED BY (
  `partiton_id` string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
WITH SERDEPROPERTIES (
  'hoodie.query.as.ro.table'='false',
  'path'='s3a://<bucket_name>/my_table')
STORED AS INPUTFORMAT
  'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3a://<bucket_name>/my_table'
TBLPROPERTIES (
  'bucketing_version'='2',
  'hudi.metadata-listing-enabled'='FALSE',
  'isRegisteredWithLakeFormation'='false',
  'last_commit_completion_time_sync'='20241121011339000',
  'last_commit_time_sync'='20241121011254282',
  'last_modified_by'='hadoop',
  'last_modified_time'='1732162935',
  'spark.sql.create.version'='3.5.2-amzn-1',
  'spark.sql.sources.provider'='hudi',
  'spark.sql.sources.schema.numPartCols'='1',
  'spark.sql.sources.schema.numParts'='1',
  'spark.sql.sources.schema.part.0'='{\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},
  {\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}, {\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},
  {\"name\":\"my_col\",\"type\":\"double\",\"nullable\":true,\"metadata\":{}},{\"name\":\"last_modified_time\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{}},
  {\"name\":\"partiton_id\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}]}',
  'spark.sql.sources.schema.partCol.0'='partiton_id',
  'transient_lastDdlTime'='1732162935')

Are you willing to submit PR?

[ ] I am willing to submit a PR!
[ ] I am willing to submit a PR but need help getting started!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@rangareddy what is the data type for the field in the parquet file? I see that the last_modified_time is listed as bigint and also timestamp in the DDL. In Hudi, you'd need to use a logical type for a timestamp field

@rangareddy since you're testing with athena, you can ignore those table properties spark.sql.*.
The problem is that the parquet file contains timestamp with timezone type, but the DDL makes it bigint, which violate some iceberg checks. See if there are any config to bypass this validation in iceberg, and have you tried creating the table with timestamp type for last_modified_time and that should work?


add NVIDIA official gpu monitoring tools

add NVIDIA official GPU monitoring tools

Thanks for this. Can you sign the DCO and attach sample output of the exporter, please?


The lexertl is an external fork; can the original be used?

In:
https://github.com/BlueBrain/MorphIO/tree/master/3rdparty

The original also now notes:
This is the C++03 version of lexertl. Please prefer lexertl14 wherever possilble.

lexertl14 is now maintained here: https://github.com/BenHanson/lexertl14


can this code run Facial expression synthesis results on the RaFD dataset.？

can this code run Facial expression synthesis results on the RaFD dataset.？

I do not have the RaFD dataset, so I did not implement that code.
But I will update soon.


fix null/undefined references

Fix issues with null/undefined references when enabling preloadModules for IonicModule
Ionic Version: 3.x

Can this get merged?  I'm still having this issue with 3.1.

@brandyscarney @manucorporat this is still broken.  Please merge or provide feedback on the changes.  Thanks.

@soumak77 i clearly see how this is an issue, I will merge it this week.
Can you add/update an unit test so this will not happen again?

@manucorporat unit tests have been added

Merged! thanks a lot for the PR!

Could you please create  a release from the merged commit ASAP, we can not run our unit tests because of the bug that this PR fixes.


Feature Request: Add option for writing to index alias

Feature: Provide an option to allow sessions2 index to write to an index alias.
Use Case: This will allow users to manage the sessions2 index through ilm, curator or other means in elastic rather than being forced to use the built in moloch time based rotation.

Arkime already supports ilm, just not auto roll over. With performance testing we've found that auto rollover increases search time.


Update comments.php

Closes #
📑 Description

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[ ] No

ℹ Additional Information

Summary by CodeRabbit

New Features

Enhanced label management with case-insensitive comparisons for label names.
Improved feedback during label creation and updating processes with detailed reporting.

Bug Fixes

Resolved issues with label matching by updating comparison logic to be case-insensitive.

@gstraccini create labels


[BUG] Qualifiable should not have ModelType

What happens?
In api specification Qualifiable has ModelType which is wrong.

...
Why is this wrong?
We don't have any corresponding ModelType for Qualifiable. Neither in metamodel nor in current api specification.

How should it be fixed?
I would suggest to add Qualifier in the ModelType enum. And then add ModelType to Qualifier instead of Qualifiable. This would introduce less backward compatibility issue.
Otherwise, we need to remove it from api specification.
...

[x] I have signed the required Developer Certificate of Origin (DCO) already.

Issue added to aas-core-codegen: https://github.com/aas-core-works/aas-core-codegen/issues/423

closed, see https://github.com/aas-core-works/aas-core-codegen/issues/423 for resolution: modelType is a discriminator for JSON serialization.
If your issue is not solved please feel free to reopen again.


Rotation of portrait-pictures

Hello
I have a problem with portrait-pictures, these pictures rotate systematically 90° counterclockwise.
I wonder why this behavior because with 12 portrait-pictures, I have 4 rows of 3 pictures when I could have 3 rows of 4 pictures.
I put a capture to see by yourselves.

How can I stop this behavior in order to have the correct display of these pictures.
Thanks for you help

Hello @titom59280 ,
thanks a lot for reaching out to me on that issue!
I try to help as good as I can.
Strange, so far I can't imagine how this behavior can occur, or at least I can't imagine that the Gallery is making this issue.
Everything what the gallery is doing is setting some styles to align images next to each other and resizing the height and width of each single image.
Do you have some demo (jsfiddle or similar) to show how this issue occurs?
Maybe the issue is on a very different level. Often cameras (and specially smartphones) do always save images in landscape format. But they do also store the orientation / camera position in the exif data. And most of the software do rotate the image on their own, but browser just display it the way they get it and ignore all of the exif data.
Might that be the issue here?
Have fun using xGallery!

Thanks for your answer.
Indeed, these pictures was taken with a smartphone, and that was the cause.
I tried with landscape pictures taken by a camera and this behavior does not occur.
For my usage it's fine because I wil not use the gallery with pictures taken by smartphone (it was just some test :) ).
Thanks anyway for your help and your quick response.

Sounds great @titom59280! Glad I could help you. Usually it should also work with portrait pictures as long as the pixels are really stored in portrait ratio. I also have a couple of them in my Demo:
https://rawgit.com/xremix/xGallerify/master/Demo.html
As well as on my website:
http://www.toni-hoffmann.com
Let me know if there is anything else!


npm module?

I originally made this module to work in the browser. I have never tested it with Node. I assume it will work with minimal modifications, but I have no experience making NPM modules.
I would love if someone could help out in making a NPM module happen. Any help with that would be greatly appreciated.

It seems like libunrar.js wont work because node js doesn't support web workers:
https://github.com/wcchoi/libunrar-js#how-to-use
but maybe I'm wrong

If you are in node.js environment then this is probably useless for you because you can call the native unrar utility/library
https://github.com/wcchoi/libunrar-js#why

Function loadScript(url): https://github.com/workhorsy/uncompress.js/blob/master/js/uncompress.js#L8
needs to be replaced by require():
https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders

libunrar.js alternative: unrar utility/library

The libunrar.js we use is just the official Rarlabs unrar compiled to JS using Emscripten. So it works the same, but uses much more RAM and CPU. So if you are on a system with unrar installed, that would be a much better thing to use.

Also note. Our version of  libunrar.js has been modified to work without a WebWorker. The original version at https://github.com/wcchoi/libunrar-js uses a WebWorker. So that should not be a problem.

Ok, I just found this:  unarchiver, supported formats:  http://unarchiver.c3.cx/formats,
also there is  a npm package: https://www.npmjs.com/package/unpack-all


Invalid Regexes in Input Pattern Attributes

The pattern attribute in some input fields is incorrect.  Valid inputs are therefore highlighted with a red framing in Secvisogram's Form Editor.
Example document.tracking.version:

Corresponding input pattern:
^(0|[1-9][0-9]*)$|^((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)$
The problem seems to come from incorrect escaping. E.g. escaping the . character is incorrectly done by \\. but should be \.. Otherwise the \ character is escaped (followed by . for a wildcard).
Correcting above regex, solves the problem:
^(0|[1-9][0-9]*)$|^((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)$

@pdamian: Do you have a suggestion how to fix the pURL pattern? Feel free to commit it into #49 or describe it here and I integrate it.


code refine

What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

good


403 even though PassthroughAction Pass is set

Hi,
I'm using version "0.4.2".
I set up KeycloakAuth as follows:
KeycloakAuth {
    detailed_responses: true,
    passthrough_policy: |e: &AuthError| match e {
        AuthError::NoAuthorizationHeader => PassthroughAction::Pass,
        _ => PassthroughAction::Return,
    },
    keycloak_oid_public_key: DecodingKey::from_rsa_pem(
        config.keycloak_pk.as_bytes(),
    )
    .unwrap(),
    required_roles: vec![],
};

web::resource("/")
    .guard(guard::Post())
    // .wrap(keycloak_auth)
    .to(public_api),

I would expect that requests without authorization would be passed on to the public_api handler,
but instead I get 403 errors without it being called.
The public_api function calls a graphql schema where some fields are publicly available and others require authorization and return a graphql authorization error.
I tried setting passthrough_policy to AlwaysPassPolicy with the same result.
Am I missing something or is this a bug in version "0.4.2"?

Hi!
This is weird 🤔
The only error that can make this lib return a 403 error is when your middleware configuration requires some roles that are not there (https://github.com/dsferruzza/actix-web-middleware-keycloak-auth/blob/master/src/errors.rs#L32).
But as you have required_roles: vec![], this should not return this error (https://github.com/dsferruzza/actix-web-middleware-keycloak-auth/blob/master/src/roles.rs#L29-L30).

Could you enable the trace logs for this crates (set RUST_LOG=actix_web_middleware_keycloak_auth=trace and see if the server outputs some useful logs when you reproduce the error?
Are you sure the 403 response is returned by this lib? What is the body of this response?
If nothing else works, could you build a minimal example that reproduces this behavior? (maybe start for the simple example)


enc: document and show the default iteration count for PBKDF2

The default PBKDF2 iteration count was buried in the code.  It wasn't documented and wasn't included in the help.

[x] documentation is added or updated
[ ] tests are added or updated

This pull request is ready to merge

Merged, thanks for the reviews.


Adding 'reuseCurl' flag to allow for mass requests to work

See comment on line 397. With this patch you are able to issue basically unlimited curl requests from the same PHP request/instance.

 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.


iOS platformview didn't contain FlutterOverlayView on Flutter version 1.17, but 1.12 has it

Hi,
After I upgrade Flutter into 1.17, the flutter widgets can't show on top of platform view.
The platform view (unityWidget) is added into Stack with flutter widgets.
child: Stack(
  children: <Widget>[
     UnityWidget(),
     Positioned(
       child: Text('Test on PlatformView')
     ),
  ],)

Then I used the xcode layers debug and get:

It didn't contain FlutterOverlayView, so I can't see any flutter widgets on it.
However, this is Flutter 1.12 debug view:

It can show flutter widgets on top of platform view.
So how can solve the issue, is it something I need to do on Flutter 1.17 ?
The issue is related to #56452, but without crash.
Flutter doctor:
[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.3 19D76, locale
zh-Hant-TW)
• Flutter version 1.17.0 at /Users/felixchang/development/flutter1.17
• Framework revision e6b34c2b5c (5 days ago), 2020-05-02 11:39:18 -0700
• Engine revision 540786dd51
• Dart version 2.8.1
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/felixchang/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android
Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3.1, Build version 11C504
• CocoaPods version 1.9.0
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] VS Code (version 1.44.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.10.1
[✓] Connected device (1 available)
• Chang 的 iPhone • 00008030-000C2D561120802E • ios • iOS 13.3.1
• No issues found!

Thats work pretty good at any stable channel

The same issue in 1.17.1.

I embed unity on my flutter app too.
Workaround is do not create the UIView but to return the reference in view factory.
see here #56660

Hi @skypu3
Please check https://github.com/flutter/flutter/issues/59751,  whatever view is created behind platformview
Please read  https://github.com/flutter/flutter/issues/59751#issuecomment-705852929
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Build Step which do not sync with Template Job

"This commit fixes #52 "

Joel Johnson » ez-templates #19 SUCCESS
This pull request looks good
(what's this?)

Joel Johnson » ez-templates #20 SUCCESS
This pull request looks good
(what's this?)

Hi @JoelJ ,
Can you please review this code.

Any update on this ??

I see your intent here (+100 for drawing a picture) and it falls into the same category as PR #37. It comes from a desire for "real" templates in Jenkins but ends up adding a lot of complexity to the project to achieve only part of that goal.
Although not as generically powerful, I have a Conditional build step based on a job parameter which can be used to enable it only on certain jobs. That requires zero additional coding.
I'm going to add a page on design rationale and thoughts for the current ez-templates and any future template plugin which realistically could generalise templating.

I sees problems in Conditional build Step plugin
If my all jobs have same build workflow, but my job categories are far different;
so 1 job will show jobs which are not relevant with the other.
Example :
Fruits and Vehicle and many more are having same workFlow (ez-Template master job)
and apple, banana, peer belongs to 1 group (child jobs which derives master job)
but car, bus, bike belongs to another group.
So I have to either create same workflow for all category, so If I have 25 category I have to replicate it 25 times which defeat templatization.
Or I can use conditional plugin, but it will display jobs as
Choose jobs to built for Fruit

Apple
Banana
Peer
Car
Bus
etc.
So I created this type of extension in code, which has a new type of build section which act as place holder and can contain many step but will not sync with master job. It will provide too much flexibility.

We can document it and provide it as real templating feature.
Your thoughts ?

"ez-Template master job" has a job parameter $CATEGORY and some Conditional build steps (see also Flexible publish plugin!) based on this type being "FRUIT" or "VEHICLE".
Jobs like Apple and Banana set $CATEGORY = FRUIT and jobs like Car set it to VEHICLE

The only downside (and it is quite major) is that the single master job must contain all (conditional) build steps which is seriously ugly if you have more than a few things like this. If you have huge divergence then I question the value of applying a single template to them all.
ez-templates 2 (which is just an idea right now - no code has been written) is going to have a generic way for (advanced users) to retain arbitrary xpath when syncing impls with their template. Once that is in place it becomes reasonably trivial to have the idea of an "abstract" template with a placeholder build step.
However it will make a huge mess if applied in the existing 1.x code, you've cloned many piece of another plugin and between this and the other tickets raised - I'm not sure what your master solution is at all.
My take on your diagram:

Ez-1 use conditions above.
Ez-2 would allow a placeholder build step to be implemented by all children
Some other plugin is responsible for implementing a compound build step which could be used as the implementation of the placeholder

Unfortunately, this change was required for the plugin to work with https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin
Looks like the dependency was removed because this change never got merged.
https://github.com/jenkinsci/tikal-multijob-plugin/commit/ae30e9b5b5f80854d252f563603131153e3955cb

This github project is defunct, please vote/comment on https://issues.jenkins-ci.org/browse/JENKINS-37972 and we can attempt to re-implement template build steps in more future-friendly manner.
I don't use multijob myself so look forward to seeing how it works


Set up CI

There are a reasonable amount of unit and ersatz integration tests in the codebase, but given that this is a to-be OSS project and it helps to have CI for community-based things like that, I'm thinking of setting up travis (free) or somesuch for this project. Anyone have thoughts or opinions on that?

This is DONE. (#74)