proposal: x/tools/go/analysis: add file content to Pass

go/analysis has support for suggested fixes, which allow analyzer authors to provide suggested edits to the file along with diagnostic warnings. In most cases, these work by replacing single AST nodes with new content, so the author does not have to consider the original content of the file.
However, more complicated fixes need to insert new lines or propose more complex edits. In such cases, it's often necessary to access the original content of the file. In the fillstruct analyzer, we do this by running go/printer.Fprint, which is expensive and doesn't necessarily produce the exact content of the file, but it's a good enough approximation. Progress on the gofumpt (https://github.com/golang/go/issues/39805, CL 240118) analyzer is currently blocked because, to get correct diffs, it needs to access the original content of the file.
My proposal is that we add a field Content map[string][]byte to the analysis.Pass type. This will allow suggested fixes to look up the original content of a file by its name in order to generate accurate edits for suggested fixes.
An alternative would be that analyses that provide more complex suggested fixes should not use the go/analysis package, but that seems counterintuitive to me.
/cc @matloob @mvdan @joshbaum

Hm, I didn't know that gopls was trying to use gofumpt via go/analysis. I didn't know about that CL either :) The main reason I exposed the API via something that resembles go/format is precisely that go/analysis didn't seem like a good fit. I would have to figure out diffing and edits, which seems like a common problem for any tool that rewrites Go code.
Would this extra map have any added cost? I imagine that the []byte files will be obtained either way, but keeping them around in a map could potentially add a significant memory cost, especially if the package contains generated code to e.g. bundle asset files.
Also, happy to give a review to the CL if that seems useful. I also pushed a few changes to the API a couple of weeks ago, to make the language version parameter more intuitive and to support more options in the future.

Hm, I didn't know that gopls was trying to use gofumpt via go/analysis. I didn't know about that CL either :) The main reason I exposed the API via something that resembles go/format is precisely that go/analysis didn't seem like a good fit. I would have to figure out diffing and edits, which seems like a common problem for any tool that rewrites Go code.

For gofumpt specifically, I had been thinking that it might be nice to have analyzers for each of the fixes it provides, but I haven't looked at the code to see if that's possible. The reason we want it through go/analysis rather than the traditional formatting process is that gopls tries to do everything granularly, so all non-gofmt formatting and code improvements go through diagnostics and suggested fixes that are offered to the user. LSP still allows us to apply these fixes on save, so the traditional gofumpt-on-save behavior will continue to exist.
We can certainly add these features without using go/analysis, but we will lose the convenience and ease of integrating a new feature that very nearly fits into the go/analysis framework.

Would this extra map have any added cost? I imagine that the []byte files will be obtained either way, but keeping them around in a map could potentially add a significant memory cost, especially if the package contains generated code to e.g. bundle asset files.

Agree that this could get expensive. I suppose it could be optional, so if a client chooses not to provide it, they may miss out on suggested fixes.

Trying to use go/analysis for the sake of consistency and granularity seems good to me. Happy to help any way I can from my side.

I had been thinking that it might be nice to have analyzers for each of the fixes it provides, but I haven't looked at the code to see if that's possible.

Right now all the changes get applied in a single AST walk pass, so you can't just get each of the "rules" to run separately. The changes aren't labeled in any way either, as we just simply edit the AST in place.
If separating the changes would be helpful (such as "remove these empty lines" or "remove these parentheses"), I could think of ways to do that. It would be hard for me to return each of these granular changes separately, though, as the code modifies the AST instead of returning isolated "edit" actions.

Another thought - I could go the staticcheck route and formally define each formatting rule with a unique label, and allow gopls to run one rule at a time, with many AST walk passes. That could still mean many changes at once per rule, though, and all those AST walks could get expensive.

Yeah, I guess I am basically describing the staticcheck route--I had hoped that we could figure out an easy way to basically add gofumpt here, but maybe it's not worth creating all of these smaller analyzers for it. All of the simplify analyzers in this directory are how we added gofmt -s to gopls, so that's why I was thinking this way.
I'm just generally struggling with how to handle these types of features because they are so close to go/analysis. I'm definitely open to other alternatives, but the file content seemed to me like it was the easiest way to address it.

Yeah, I get what you mean. I don't have a good answer for you right now :) @ianthehat and I have discussed how to fit formatters into go/analysis before, but we've never come up with a good answer that I know of.
The best we came up with last year for gofumpt was "run gofmt first, then run gofumpt on the AST, print it, and get a minimal diff". That works pretty well and I assume that's what the CL is doing, but it has the disadvantage of being pretty expensive. If we want to split up the analysis to be per-rule and per-occurrence, the CPU cost would skyrocket.
From the point of view of gofumpt, I guess the most efficient way for me to return results would be for me to declare what AST edits I want to make, without making them directly in the AST. Making the edits directly brings its own issues, such as requiring a copy of the tree if you want to keep the original tree intact.
I personally use https://godoc.org/golang.org/x/tools/go/ast/astutil#Apply for the tool, which has that kind of API with https://godoc.org/golang.org/x/tools/go/ast/astutil#Cursor.Replace. I can imagine the tool could be rewritten to be like:
// We are rewriting the syntax tree to apply rule G123.

// Imagine that 'c' is somewhere in between astutil.Cursor and analysis.Pass.

c.BeginEdit()
c.Replace(...)
c.EndEdit("G123: explanation in plain English")

Then, your implementation of Replace could be smarter than just modifying the tree in-place, allowing to not copy the entire *ast.File many times, and allowing to obtain granular diffs with good messages.
The only other kind of API I would need is to manipulate positions; I regularly want to remove an empty line, or separate a long composite expression, which are only possible by modifying *token.FileSet. Hopefully a future revisit of go/ast would include position information directly (wink wink @findleyr), but for now the API would have to include the fileset.
The only alternative that comes to mind is to rewrite gofumpt to directly suggest source byte edits for those cases, but that would only work for the simple cases like "remove this newline character", not for more complex ones like "regroup the imports and fix the positions to make sure we don't mess up the empty lines or the comments".

Is there a way to run expensive analyzers only on demand rather than after every change? If it is important for users to know whether the code action is available ahead of time then we could separate things and return the code action name without the edits, requiring the client to follow up with a "workspace/executeCommand" to actually execute the action if the user desires.

Is there a way to run expensive analyzers only on demand rather than after every change? If it is important for users to know whether the code action is available ahead of time then we could separate things and return the code action name without the edits, requiring the client to follow up with a "workspace/executeCommand" to actually execute the action if the user desires.

That is something we discussed doing, and I think we will probably move towards that approach especially for things like fillstruct.
@mvdan: I like the idea of an API to declare edits without making them, because for everything gopls does, we don't want to modify the original AST. We've been using this API to make API changes in go/analysis that are only for x/tools, so I'm going to try adding content there to see how that goes. (I originally had thought that wasn't possible because we want the gofumpt analyzer to be in the gopls module, but turns out that internal isn't limited to modules.)

I think I am going to close this proposal, as I don't think it's the right solution. In gopls, we can work-around this by computing suggested fixes separately from the diagnostics, and I've tried to do this for fillstruct in https://golang.org/cl/241983. Let's revisit this if the issue comes up again.


Alert frames are stacking in the wrong direction

This causes alerts besides the first one to appear off screen.

Sadly we don't have an easy fix for this. I would suggest anyone that wants to move the frames to download ls; Toasts. It does a much better job than we could.

Yes, that's what I'm currently doing. So I guess we either just delete alertframemover.lua and refer to something like ls: Toasts if someone wants to customize this. Or we try and fix ourselves, this might be a good starting point?
I'm actually leaning towards the former...


Argument change for id robot

Argument changed from "clearEntryButton" to "clearButton" because windows 10 calculator doesn't have CE button available when there is not input already

I think this can be tackled now in this PR: https://github.com/robocorp/example-windows-calculator/pull/5 (cc @kariharju )
We'll support mainly Windows 11 and Windows Server 2019 by default in our examples.


Separate Blurring for Bright and Dim Light

Hi Blitz,
Great work mate!
Just wanted to ask you to bear in mind the separate blurs for bright and dim lighting. I know you've implemented a static blur for Community Lighting and that works great, or perhaps you were already thinking of doing this in the Advanced Lighting Toolkit. Thanks so much for chasing after the Foundry releases! Good job all round.
Leix on Discord

Hi Dick-K,
Thanks for the support!
FYI, Advanced Lighting Toolkit has been absorbed into CommunityLighting now, so all features will be available here.
The next release will have shader-based blurring for any light, instead of having a specific blurred version of a light using pixi filters. This will give better blur, better performance, and better control.
The dev build I'm working on only blurs the line between bright & dim, I will keep your feedback in mind and look at optionally blurring the dim edge too.
Thanks!

Hey, thanks for the rapid response...very much appreciated. Your plans make absolute sense to me.


[Feature] Document sailpoint.object.Identity

In the Java Docs at https://developer.sailpoint.com/idn/docs/rules/java-docs, sailpoint.object.Identity is actually the class for sailpoint.rule.Identity.
We need to switch this and document sailpoint.object.Identity with the correct methods.

This issue has been mentioned on SailPoint Developer Community Forum. There might be relevant details there:
https://developer.sailpoint.com/discuss/t/rule-java-docs-now-available-on-the-sailpoint-developer-community/10787/17

The sailpoint.object.Identity class has been documented and sailpoint.rule.Identity has been moved to its correct path. https://github.com/sailpoint-oss/developer.sailpoint.com/commit/bacc8e86bf823d14cca7c20b58957e77a980eb4b


FEAT-#3536: Change work with native+omnisci

Signed-off-by: Maria Rubtsova<EMAIL_ADDRESS>
What do these changes do?

[ ] commit message follows format outlined here
[ ] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] signed commit with git commit -s
[ ] Resolves #3536
[ ] tests added and passing
[ ] module layout described at docs/developer/architecture.rst is up-to-date

Looks much cleaner to me :)

I suggest to remove all lines above "To enable OmniSci engine launch export"

Not sure how it will look like but I would use the line To enable Omnisci engine ....

I suggest not confuse users - just mention storage format and that’s it as I already suggested earlier. For some reasons I was sure all other info was deleted but no :(

Omnisci is not a storage format only, but it is an engine as well. I think specifying omnisci storage format only will not be enough.

wait a minute... this particular PR is about it, right?. It simplifies things - we can set only storage format for Omnisci now

Yes, exactly. I am more concerned about the description in docs.

I don't get it. I suggest removing all lines that mention "engine" and "experimental" to not bother users by that information. Only about storage format which is now sufficient for work with Omnisci. Am I missing something here?

Yes, it is sufficient for work with Omnisci but I am not sure that would be clear for users because there are places where we mostly refer to Omnisci as an engine. Anyway, let's try your suggestion and will see how it looks like. @Rubtsowa, could you take a look at this?


[FIX] Remove z-index on focused button

This PR fixes #711 - it looks like I added a z-index: 1 to focused buttons when I created the ButtonGroup component. As far as I can tell, this is a remnant of handling the button group css within the Button component and isn't necessary because we're setting the z-index of buttons inside ButtonGroup within the ButtonGroup styles.
It's fine to leave the z-index of the button elements inside of the ButtonGroup component since they are children of ButtonGroup and the entire group should sit wherever ButtonGroup is in the stacking context. I've double checked this with the test environment that @acknosyn provided in #711 reproducing the bug. Using ButtonGroup works fine in that test case.
Screenshots
Please provide before/after screenshots for any visual changes
Merge checklist

[ ] Added or updated TypeScript definitions (index.d.ts) if necessary
[x] Added/updated tests
[ ] Added/updated documentation
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contibuting guidelines for more infomation on how we review PRs.

@dmarcey yep I'm aware! I think in cases where you want a button right up against another button, we'd use a Button group, otherwise if it's up against another element it should have appropriate margin to prevent this. The issue with adding z-index on our own is it can cause tons of bugs down the line if the user of the component isn't expecting a z-index to have been added!


Add Instagram Logo

Description
Please provide a 1 line description of your art
Add Instagram Logo using CSS
Fixes #issue-number
#8
Insert the image of the art below

Checklist:
To fill the checklists, put x inside the brackets. [x]

[X] My code follows the guidelines of this project
[X] I have tested my code and it works properly
[X] I have added just one folder that includes my Art files (jsx and css)
[X] I have not edited App.js file
[X] I have commented my code, particularly in hard-to-understand areas
[X] My changes generate no new warnings

Hi @HarshitPandey251, good job with the logo. Is this your original code?

Yes


Apache Karaf (OSGi) feature

Is there any feature for Karaf that installs this? It has quite a few dependencies, it would be nice with a one-liner to install this in our Karaf-based environment. :)

No feature for this. Its just a standard maven/gradle artifact


added rate limiter to the login api issue #111

Title and Issue number

Added rate llimiter to the login api
Issue No.:
Close #111

Screenshots/Video (mandatory)
ihave tested using postman:
login with wrong password 5 times:

on the 6 th time the api will not  process the request for 5 minutes

it will:
prevent bots attack
reduce the load on the login api
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have created a helpful and easy-to-understand README.md if it's a new page/tech stack.
[x] I have gone through the contributing.md file before contributing.

Additional context (Mandatory):
Are you contributing under any Open-source programme?

[x] I'm a GSSOC-EXT contributor
[x] I'm a HACKTOBERFEST contributor

please add gssoc-ext and level2 before merge

Well done @AyushSharma72


[ci skip] Fix returned type of Def#body

Thanks! You really pay attention to details :-)
I saw that you recently contributed 100 commits to rails, congratulations!

@asterite Thank you for blessing:)  BTW can we release crystal 0.7.5 ??

Yes, I was thinking the same, many additions and bug fixes since 0.7.4. I'll try tomorrow :)

thanks :yellow_heart:
I can't wait for 0.7.5 :)


Add permission to edit lot for contract bot

Coverage remained the same at 83.536% when pulling 55b65bf56afd6e1d96b271ec9ed6c828963e11c5 on oleksiyVeretiuk:contract_bot_perm into e7de4ede6fde9d8530b78f0c42b998e1011842c8 on openprocurement:master.


Add support for native Apple Silicon

With Apple Silicon becoming more common, it would be nice to have vcc utility also compiled to support Apple Silicon natively rather than requiring Rosetta 2 for emulation
# file /usr/local/bin/vcc                                                                                 ✔  11:42:04 AM
/usr/local/bin/vcc: Mach-O 64-bit executable x86_64

This is currently blocks by the lack of the ability to test/compile against MacOS Arm with Github Actions. I'm tracking https://github.com/actions/runner-images/issues/2187 and will update once MacOS Arm runners are available.


mib_first_files uses release directory instead of app directory

I have the following in rebar.conf for an app:
{mib_first_files, ["mibs/FLOAT-TC-MIB.mib"]}.

This works perfectly fine when I rebar3 compile from the app's directory, but when I compile the release root I get ...
===> File "mibs/FLOAT-TC-MIB.mib" is missing, aborting

For fun I created a mibs/FLOAT-TC-MIB.mib in the release root and then rebar3 was happy.  So, it looks like rebar3 is using the release root instead of the app root when compiling these mibs.

I see where this can be fixed in the code and am willing to work on it, but I also see an opportunity to make xxx_first_files a little smarter.  I am fairly new to rebar and was surprised the following forms of mib_first_files were not accepted:
{mib_first_files, ["FLOAT-TC-MIB.mib"]}.  % assume file is found in mibs/
{mib_first_files, ["FLOAT-TC-MIB"]}.      % assume file has .mib extension

Rebar3 will go ahead and autodetect all my mibs based on subfolder (mibs/) and extension (`.mib'), but if I want to specify some files to compile first I have to then explicitly indicate subfolder and extension.  This seems inconsistent.
If the owners of this project approve, I would also like to allow the above forms for (mib|xrl|yrl)_first_files.

Am I right in guessing you're using an umbrella project, a bit like:
apps/
 - app1/
   - rebar.config
 - app2/
_build/
rebar.config

and you're saying that the error happens when rebar3 compile from ./, but not from ./apps/app1, correct?
The thing I want to clarify is whether the mib_first_files entry is from ./rebar.config or from apps/app1/rebar.config when this fails. If it's the former, then move the configuration to apps/app1/rebar.config/
If, however, the issue is with the declaration already in apps/app1/rebar.config, then yes this is a bug, and likely that the fix only requires passing the right path prefix to this function: https://github.com/rebar/rebar3/blob/d0bcd95813cfa6f76fdc26f0703600f122174443/src/rebar_erlc_compiler.erl#L625-L629
also getting tests in there, which is always the most difficult bit.

mib_first_files is indeed in ./apps/app1/rebar.config.

@goertzenator can you check https://github.com/rebar/rebar3/pull/864 and let me know if that solves it for you? I don't use mibs personally so it can be hit and miss.

Works for me.  Thank you very much!


Update readme

Most recent fork I found, update 18 hours ago (not interested in using discord)
https://github.com/kewsonagi/ferdi
https://github.com/kewsonagi/ferdi/network

These exist too from one of the developers
https://github.com/vraravam/ferdi
https://github.com/pacstah/ferdium/issues/6


405 | Convert a Number to Hexadecimal | C++

Title - C++ code for 405 , Convert a Number to Hexadecimal
What will change - Adding C++ code for leetcode problem 405
Type of Issue -

[x] Adding New Code

Programming Language

[x] C++

I have added the code, please do check that

I have added the code, please do check that

Checkout the contribution guidelines ...... Becoz I didn't found any issue related to problem 405

Checkout the contribution guidelines ...... Becoz I didn't found any issue related to problem 405

The problem 405 was missing earlier so I added the same.

The problem 405 was missing earlier so I added the same.

@SSKale1 Please assign this to me.

@SSKale1 Please assign this to me.

Please assign it to me @juhikushwah

Hey ,@juhikushwah
Please provide some detail for this if possible  like filename, leetcode question link ...?

@vipul-2003 all the details are in the issue headline. Its not a premium problem. You will be able to see the problem description on leetcode.

have a look at this @juhikushwah

Give me few hours by next day the code will be at right position in c++ folder

@vipul-2003 While merging, I did not realize it's in the wrong folder. Thank you for the update! And yes, please do make the relevant changes!

Actually Vipul, the solution to this problem already exists in the C++ folder. If you think your solution is better than that one, you can push your code into that file and comment out the previous solution too, thereby mentioning that it's an optimal solution! We have this repository for solving problems as well as adding better/alternative solutions to already existing problems.

Ok, i will review it ....


Store page image for HEAP2_PRUNE with FPI

I noticed that massive update (i.e. "update t set x=x+1") cause generation of a lot of HEAP2_PRUNE war records with FPI.
And looking at code of heap_xlog_prune I noticed that it it does nothing except extracting image when contains FPI.
Well, not exactly true - it also updates FSM. But we in any case ignore this updates.
So HEAP2_PRUNE+FPI can be handled by pageserver itself (as it is done for XLOG_FPI) by storing page image than applying WAL record.

is there ever a reason to avoid storing an image every time we see apply_image?
I can see that storing a log record would allow extra checks to be performed while replaying a log record chain, but I wonder if we can introduce a middle ground: log based page images. They would not require base page for replay (as they initialize the page) but would be more compact than a database page (and carry extra debug info)

is there ever a reason to avoid storing an image every time we see apply_image?
I can see that storing a log record would allow extra checks to be performed while replaying a log record chain, but I wonder if we can introduce a middle ground: log based page images. They would not require base page for replay (as they initialize the page) but would be more compact than a database page (and carry extra debug info)

I am not sure that other records with FPI doesn't perform some other actions except just restoring page image.
I will check it.

I wonder what the performance impact of this really is though

I make this change because I have noticed that after huge update, WAL mostly consists of HEAP PRUNE. What is the impact?
pgbench -h <IP_ADDRESS> -p 55432 -i -s 100 -U zenith_admin postgres
update pgbench_accounts set abalance=abalance+1;
select sum(abalance) from pgbench_accounts;

Version
Update time
Select time

main
565108
333328

patch
512341
126380

So it is more than two times.
And just few lines of code.
Frankly speaking I do not understand why we should "drop this for now"...

Oh, ok, I didn't expect such a big difference. Let's get it in then

And can you also add that test case to our performance test suite, please? Unless that difference can already be seen by some of our existing tests.

I have added test. Results with this tests are not so impressive as with pgbench (do not know why), but still there is difference:
main:
test_update[vanilla].update: 111.283 s
test_update[vanilla].select: 15.674 s
test_update[zenith].update: 151.852 s
test_update[zenith].select: 106.677 s

prune_fpi:
test_update[vanilla].update: 117.247 s
test_update[vanilla].select: 13.419 s
test_update[zenith].update: 149.896 s
test_update[zenith].select: 85.538 s

But the positive result is visible only on 10M rows.
In this case execution of this test takes significant amount of time and is canceled by CI timeout.
Show I parameterize number of rows and make it smaller for CI?

Sorry, looks like effect is also visible at smaller number of rows:
main:
test_update[vanilla-1000000].update: 13.308 s
test_update[vanilla-1000000].select: 1.067 s
test_update[zenith-1000000].update: 8.605 s
test_update[zenith-1000000].select: 3.111 s

prune_fpi:
test_update[vanilla-1000000].update: 7.265 s
test_update[vanilla-1000000].select: 0.398 s
test_update[zenith-1000000].update: 8.744 s
test_update[zenith-1000000].select: 2.679 s


CircularInstance.addData was incorrect

addData takes a single object of type CircularChartData, not an array. Also the index is optional. See addData example in the documentation http://www.chartjs.org/docs/#doughnut-pie-chart-prototype-methods

chartjs/chart.d.ts
to author(@Steve-Fenton). could you review this PR?
:+1: or :-1:?
check list

[ ] pass the Travic-CI test?

It looks good to me - I'm happy for this to be merged :)

@Steve-Fenton thanks!
@Slimfit thanks mate!


bsc#1117152 prevent removing minions in the public cloud

(cherry picked from commit 10efa4ca1e9b4b66f73a692cde47c3f15480a931)

 [bsc#1117152] No really... don't remove nodes in the public cloud!

This GitHub PR is unactive since more then 30 days. Is this GitHub PR still needed? Please close or update it accordingly.
This reminder is autogenerated by https://github.com/MalloZup/blacktango

Closing, since velum is no longer relevant.


Tests for Integrals.jl

New tests added for more coverage
New doc string format for Fields description
Small changes such as Int8 => Signed, for more compatibility (See integrals)

Codecov Report

Merging #91 (fcc7ad8) into master (32b47a4) will increase coverage by 5.74%.
The diff coverage is 98.76%.

@@            Coverage Diff             @@
##           master      #91      +/-   ##
==========================================
+ Coverage   77.62%   83.36%   +5.74%
==========================================
  Files          29       29
  Lines        2051     2098      +47
==========================================
+ Hits         1592     1749     +157
+ Misses        459      349     -110

Impacted Files
Coverage Δ

src/Core/BasisParser.jl
100.00% <ø> (ø)

src/Core/DIIS.jl
96.87% <ø> (ø)

src/Core/Geometry.jl
100.00% <ø> (ø)

src/Core/Orbitals.jl
50.00% <ø> (ø)

src/Methods/HartreeFock/RHF/RHF.jl
40.00% <ø> (ø)

src/Core/IntegralHelper.jl
98.52% <94.73%> (+34.89%)
:arrow_up:

src/Core/AtomicIntegrals.jl
100.00% <100.00%> (+28.90%)
:arrow_up:

src/Core/BasisSet.jl
100.00% <100.00%> (ø)

src/Methods/HartreeFock/RHF/RHFHelper.jl
78.04% <100.00%> (+1.12%)
:arrow_up:

src/Methods/HartreeFock/RHF/RHFa.jl
81.61% <100.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


Jing: »first occurrence of ID "some"« is reported for all non-first instances

For each duplicate attribute id an error »ID "some" has already been defined« is reported. I think this is sufficient, maybe the text could be a little bit similar to what AHF itself reports for duplicate IDs.
The additional error »first occurrence of ID "some"« is misleading as it is raised for all but the first occurrence of the duplicate attribute and therefore just fills the error view.
My suggestion:

create an INFO entry for the real first occurrence of this id value (unless this is too time-consuming)
or remove that error

Thanks!

focheck uses Jing for ID and IDREF checking rather than using Schematron on the theory that Jing should be faster because the checking is built into the validator.
The only way to change the Jing error messages would be to override the messages file, but getting rid of the 'first occurrence of ID "some"' messages would require modifying Jing and getting oXygen to use the modified Jing.  Both are doable, but both are more work for the user than just installing an add-on.
One day, I'll find time to check whether using Jing or using an xsl:key with the Schematron is faster for ID and IDREF checking.


DDP deployment package download address cannot be accessed

Search before asking

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

What happened
链接：https://pan.baidu.com/s/1GREAydTUrfcyXhn_Hr-9xw?pwd=bj7k 提取码：bj7k
访问上述地址，报链接不存在。
What you expected to happen
链接：https://pan.baidu.com/s/1GREAydTUrfcyXhn_Hr-9xw?pwd=bj7k 提取码：bj7k
访问上述地址，报链接不存在。
How to reproduce
链接：https://pan.baidu.com/s/1GREAydTUrfcyXhn_Hr-9xw?pwd=bj7k 提取码：bj7k
访问上述地址，报链接不存在。
Anything else
No response
Version
dev
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

https://datasophon.github.io/datasophon-website/docs/current/快速开始/快速部署


[cleanmyarr] Refresh config whenever config file is updated

Not required, as config file is read every time before job runs. It doesn't need to be read instantaneously as it won't be any useful.


Fixes #2 and generates empty uns if asked for

Addresses #2
Do you agree that this adequately solves your issue @rcannood?

Not sure -- can I turn off the nested even if I provide uns_types?

Now you can! I updated the documentation and the tests to reflect that.
You can now provide both uns_types and nested_uns_types.
Thanks for catching that!


Removing extra space, preventing double declared "if" statement and from http to https

@googlebot Please check CLA.


Add support for RFC 8692

Add module and test for RFC 8692

Codecov Report

Merging #111 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #111      +/-   ##
==========================================
+ Coverage   99.39%   99.39%   +<.01%
==========================================
  Files         101      102       +1
  Lines        6292     6317      +25
==========================================
+ Hits         6254     6279      +25
  Misses         38       38

Impacted Files
Coverage Δ

pyasn1_modules/rfc8692.py
100% <100%> (ø)

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 a220c07...5fcb126. Read the comment docs.

Thank you!


Expanding the functionality of RPC caching

Stage 1
Implement the logic of choosing a method for clearing cached data:

number of blocks to indicate the lifetime.
manually clearing from the outside

Stage 2
Implement access to the cache object from third-party classes, for example DB Repository or RPC interface

Also for now there is a bit mess up: unique cache object is created for each table, however it follows logic (in size, supported methods, etc) of one cache for every RPC table. Need to use one cache object for all or split cache size and supported methods between corresponding RPC tables


[Feature]: revamp testimonials section in books page ✨

Description

We want to revamp the testimonial cards on Books page, the current design is not looks good.
The below screenshot is not the desired state, i will update the before and after screenshots on my PR.

Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hey there @SiddhantPawar03, @rohansx, @crocmons, @s2sharpit 👋🏻
Please make sure to assign this issue to me to make the work done!
Thank you.


ADD: use of issue-number on push when provided

Changes:
When issue-number is provided it is used over the commit sha to define where the comment is made.
Why?
Basically I have an issue tracking all the improvements in the development of the tests in a repository  - let's say covering the whole code is a long term objective. I wanted the action to regularly update the issue with the latest coverage statistics
Also:

I suppose it is a quiet uncommon objective and this behavior might be undesired, but still seemed logical to me not to ignore this input.
I am not sure about the code changes since I never used javascript and just copied/paster what seemed logical
I'd be happy to discuss the PR or improve the changes :)
I'm not sure why the diff has so many lines, I juste added a few lines, maybe vscode did some weird stuff.

Can you please to include all your changes in "sec/index.js" file. Because the "dist" - is only the output for build command.


Fix the rtmr calculation error in fakertmr.

Jiankun notices that the digest value in the fakertmr is different from the actual RTMR value after an extend operation. It turns out to be bugs in the implementation.
This PR makes the following change.

Initializes the fake RTMR bank to all zero. Currently, it is an empty slice.
Use indexFile to store the rtmr index so the code does not mess up with the content.

@jkl73 FYI

@jkl73 FYI

thanks for the fix!


Deleted elements reappear in SVG export

Steps to recreate:

Draw some stuff
Delete it
Draw some more stuff
Export as SVG - the deleted items appear.

I'm using Chrome if that helps.

Refreshing the page before export seems to work around the issue.

Very quick fix! Well done.
Also a related minor bug: the deleted elements still affect the 'bounds' of the export, so if you create a really big picture and then delete that to make a smaller one, the exported picture will be very small.

Interesting. Reopening..


CVE-2024-41110

Output of helm version: v3.15.3
Output of kubectl version: N/A
Cloud Provider/Platform (AKS, GKE, Minikube etc.): N/A
opt/app/bin/helm (gobinary)
Total: 1 (CRITICAL: 1)
┌──────────────────────────┬────────────────┬──────────┬────────┬──────────────────────┬─────────────────────────┬────────────────────────────────────────────┐
│         Library          │ Vulnerability  │ Severity │ Status │  Installed Version   │      Fixed Version      │                   Title                    │
├──────────────────────────┼────────────────┼──────────┼────────┼──────────────────────┼─────────────────────────┼────────────────────────────────────────────┤
│ github.com/docker/docker │ CVE-2024-41110 │ CRITICAL │ fixed  │ v25.0.5+incompatible │ 23.0.14, 26.1.4, 27.1.0 │ moby: Authz zero length regression         │
│                          │                │          │        │                      │                         │ https://avd.aquasec.com/nvd/cve-2024-41110 │
└──────────────────────────┴────────────────┴──────────┴────────┴──────────────────────┴─────────────────────────┴────────────────────────────────────────────┘

Impacted code: https://github.com/helm/helm/blob/main/go.mod#L71

We see the same CVE in v3.11.3

https://github.com/helm/helm/pull/13215
This PR would most likely solve it. The CVE is from Docker Engine which Helm uses

Yea, also waiting for this merge and release

We see the same CVE in v3.15.3

Dependabot closed the previous PR, there's a new one with a smaller version bump https://github.com/helm/helm/pull/13226

The fact that the helm binary now contains a critical vuln makes Helm unusable in certain enterprise contexts.
We have customers that block all images with critical vulns. So now, we are no longer able to use Helm there 😬.
I'm kindly asking for an upgrade of the docker dependency (just a patch version in #13226) and a new release, @mattfarina 🙏

Just merged #13226 to reduce noise. See https://github.com/helm/helm/pull/13226#pullrequestreview-2222112434

This was a false positive. Helm does not use the affected functionality in docker engine. This is an indirect dependency of ORAS v1, which Helm registry package only uses to pull images.


graphql-response+json: Add a test for restoring throwing behaviour

🛠 Docs Preview Building...

Configuration
{
  "repoOverrides": {
    "apollographql/apollo-kotlin@main": {
      "remote": {
        "owner": "apollographql",
        "repo": "apollo-kotlin",
        "branch": "graphql-response"
      }
    }
  }
}

bc4babdb45bd190d25fd753d19067cfe4af0b296


Remove alt text from Rango logo to hide from assistive technologies

Rango's logo on the setting page has the alt-text "Rango logo" but the image is decorative in nature and doesn't provide any information so it should be hidden from assistive technologies: https://www.w3.org/WAI/tutorials/images/decorative/.

I am getting a prettier error in the tests. Could you remove the {" "} in that line? I am not sure what was doing there anyway.

I'm not sure what the extra {" "} does either :) I've removed it.


fix: naive retry strategy

Two retry strategy:

Exponential backoff that blocks the queue
Useful if a service is down, skipped the job right away would just make every other fail faster.

"Mid-term" retry.
After 3 retries, the jobs are put aside and tried later until they pass or a new update for this package comes in

You were too fast @Haroenv I wasn't done 😬


What gateway we used for HA in azure postgresql

I have seen gateway in the azure postgresql HA diagram. What kind of Gateway/Porxy we have to install?

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

ID: 3403c322-49e6-3ff5-4c02-1f9e83bbe6cf
Version Independent ID: 5242d7c0-2b2d-e16e-2c81-1b28477a1a84
Content: High availability - Azure Database for PostgreSQL - Single Server
Content Source: articles/postgresql/concepts-high-availability.md
Service: postgresql
GitHub Login: @sr-msft
Microsoft Alias: srranga

Hello @sgrajan1, when you deploy a Azure Database for PostgreSQL - Single Server, the gateway is automatically configured for all your client connectivity. You don't have to install one separately.  I will look into updating the doc to clarify that. Thanks!

@sgrajan1 We will be going ahead and closing this issue for now. If you have any further issue, you can still comment on this issue and we will take it from there.


[loc][Query][VSCode] Please clarify the single word strings

Hi, we have a question from our translator. Can you help please? Thanks!
Source:
Enabled
Installed
File Name:
src\vs\workbench\parts\extensions\electron-browser\extensionsWidgets.nls.resx
Resource ID:
".resx", 0; "enabled"
".resx", 0; "installed"
Query:
Cany ou please clarify what is enabled/installed?

The adjectives refer to extensions as in:

An extension is enabled.
An extension is installed.


"keypath cannot be linked to itself" test should not happen with options.ractive

Description:
The link() function has an error check for "A keypath cannot be linked to itself," but it should not perform this check if options.ractive is passed in, since even though here === there, it's a different data model.
Versions affected:
Ractive 0.9
Platforms affected:
All
Reproduction:
https://ractive.js.org/playground/#N4IgFiBcoE5SBTAJgcwSANCAzlA2iCALoC+WukIAbgIYwAE2ALgPYwL0C89AdggO70ASjQDGTAJZUEACmAAdHvKZIaTGpHoKlTZQGsEATwAOasJoDktADYXFykopIBKANz2etBlQkCuvPxFxKVltZQRrSyQpCwx7JiYEAFtjazUESwMTM39gYCzTJjASEjseF0UfAQA6awkePRkLArNY+majQrA24BgxSWlNZjYEF3ceURYebBZrBFqWFCaWoq42qv5qtCZlztbnN0wQJngAHmiqAD5TgHoLy5ASIA
Code:
I think the fix should be to change the error logic to be like this (maybe with some line breaks):
	if ( !options.ractive && ( here === there || (there + '.').indexOf( here + '.' ) === 0 || (here + '.').indexOf( there + '.' ) === 0 ) ) {
		throw new Error( 'A keypath cannot be linked to itself.' );
	}

Instead of checking the keypath strings, edge will now actually walk the model tree to see if either resolved model is a parent of the other. That should still keep cross instance cycles from forming.
Thanks for the report!


Pause repeating Notification on condition

Hello,
first of all, i really like this package and i think it's very useful👍
I have a use case where i want to repeateadly show a notification but based on a condition. For example every 60 minutes, but if it's between 10 pm and 8am don't show any notifications because they shouldn't bother you at night.
Is this possible? If yes could you please tell me how
best regards

Can you show some code? @roland-burke .
plus, Love you

In this method i check, wether the current time is outside a time range (e.g. when you are sleeping) but obviously it doesn't affect the execution of the timer. So i would really like to pause or do a check every time the timer executes.
static void updateNotification() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    await AwesomeNotifications().cancelAllSchedules();
    bool isReminderActive = prefs.getBool('reminder') ?? false;

    if (!isReminderActive) {
      log('ReminderNotification: turned off');
      return;
    }
    String localTimeZone =
        await AwesomeNotifications().getLocalTimeZoneIdentifier();

    int interval = prefs.getInt('interval') ?? 60;
    int startTimeHours = prefs.getInt('startTimeHours') ?? 20;
    int startTimeMinutes = prefs.getInt('startTimeMinutes') ?? 0;
    int endTimeHours = prefs.getInt('endTimeHours') ?? 8;
    int endTimeMinutes = prefs.getInt('endTimeMinutes') ?? 0;
    int cupSize = prefs.getInt('size') ?? 300;

    if (isCurrentTimeOfDayOutsideTimes(
        TimeOfDay.now(),
        TimeOfDay(hour: startTimeHours, minute: startTimeMinutes),
        TimeOfDay(hour: endTimeHours, minute: endTimeMinutes))) {
      AwesomeNotifications().createNotification(
          content: NotificationContent(
              id: 10,
              channelKey: 'basic_channel',
              title: 'Stay Hydrated!',
              body: 'notification.body'.tr(),
              payload: {'cupSize': '$cupSize'},),
          schedule: NotificationInterval(
              interval: interval, timeZone: localTimeZone, repeats: true, ));
      log('ReminderNotification: scheduled');
    }
  }

One thing you can do is,
In single-channel create the multiple contents that will ring, or ask users to when they want to sip water. (like 8 times a day or 20 times) (then ask when they all must ring) and set the remainder accordingly.
I hope it is understandable.
like One content will ring up in 5:00, 7:00 and 12:00, etc,
Because what you are doing is a=only helped by NotificationSchedule where it takes an hour and minute when the notification will ring,
You can dynamically set each hour interval (programmatically).
If this sounds good?
If not please let me know more

Thank you so much for this solution, i guess this should work now :)
In the UI the user can set 2 times and an interval and now in the code i calculate the moments when to set each schedule.
I have a submission due on 27.06 and this was one of the last things not working ! 👍
TimeOfDay startTimeRemind = TimeOfDay(hour: endTimeSleepHours, minute: endTimeSleepMinutes);
    TimeOfDay endTimeRemind = TimeOfDay(hour: startTimeSleepHours, minute: startTimeSleepMinutes);
    TimeOfDay currentTime = startTimeRemind;

    List<TimeOfDay> reminderTimes = [];

    double numberOfReminds = getTimeOfDayRange(startTimeRemind, endTimeRemind) / (interval / 60);

    for (var i = 0; i <= numberOfReminds; i++) {
      reminderTimes.add(currentTime);
      currentTime.plusMinutes(interval);
    }

    reminderTimes.forEach((time) {
      AwesomeNotifications().createNotification(
          content: NotificationContent(
              id: 10,
              channelKey: 'basic_channel',
              title: 'Stay Hydrated!',
              body: 'notification.body'.tr(),
              payload: {'cupSize': '$cupSize'},),
          schedule:
              NotificationCalendar(hour: time.hour, minute: time.minute, second: 0, millisecond: 0, timeZone: localTimeZone, repeats: true));
          log('ReminderNotification: scheduled');
    });

Hey @roland-burke, :hehe:
I just got some errors in understanding the Question a bit, Could you explain me that ^_^;
That just got off,
Thanks, This was the first help I am doing in, And loving it. 🥼

There was no question ^^ i just explained, how i designed the ui.
Your solution was perfekt 👍🏼

Thanks alot. ❤

Thank you :) here is the link to the App: https://github.com/roland-burke/Aquapido

Did you got the APK?

Yes @madd-project , i created a release with the apk:
https://github.com/roland-burke/Aquapido/releases/tag/1.0.0
Here you go :)

I gonna close this issue for now, since there is no more activity in 6 months. But you can reopen it, in case you judge necessary.


Chore: Switch over to using ESM completely

Here's how we can structure things with needing to use commandDir: https://github.com/yargs/yargs/blob/main/docs/advanced.md#esm-hierarchy

This will also allow us to switch to the latest version of node-fetch!


web-sys event listeners are passive by default causing unexpected behavior

Problem
When event listeners are passive, it's not possible to call event.prevent_default(). This behavior is confusing and unexpected.
Proposed Solution
We should only set passive event listeners for touchstart and touchmove. See here: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners

@jstarry @tarkah
Sent a PR: https://github.com/yewstack/yew/pull/958, please help review.
not sure simply use $name == "touchstart" || $name == "touchmove" or setup a static HashSet like LISTENER_SET for the checking.

Fixed by https://github.com/yewstack/yew/pull/958


Git Push Error - gandalf not found

Hello,
I have added SSH keys using tsuru key-add and I verified that all the files are created. Also, the mongodb database shows my user and keys were added properly. However, when I do a git push, I get the following error:
sh: 1: /usr/local/bin/gandalf: not found
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

I know the repository exists, and the key is set up properly, or so it seems. Any advice on how I can fix this or perhaps on what I'm missing?
Thanks for creating this and Tsuru, very useful and cool :+1:

Hi @aaronfranco, how did you install Gandalf? Can you share your Gandalf configuration file? It's probably at /etc/gandalf.conf.

Hi @fsouza, thanks for the speedy reply! I installed with aptitude
sudo apt-get install gandalf-server
Here is my config:
bin-path: /usr/local/bin/gandalf
database:
  url: <IP_ADDRESS>:27017
  name: gandalf
git:
  bare:
    location: /var/lib/gandalf/repositories
    template: /home/git/bare-template
host: localhost
bind: "<IP_ADDRESS>:8000"
uid: git
api:
  request:
    maxMemory: 2097152
repository:
  tempDir: /tmp

@aaronfranco the first line should be /usr/bin/gandalf-ssh instead. You need to remove the old key, change the file, restart the gandalf-server and then add the key back again.
Alternatively, you can just change the file, restart gandalf-server and manually edit the /home/git/.ssh/authorized_keys file, replacing "/usr/local/bin/gandalf" with "/usr/bin/gandalf-ssh".

Do I remove the old key with tsuru key-remove?
You mention I need to "change the file," which file is that?

@aaronfranco I'm sorry, I've just edited my comment. The file is /etc/gandalf.conf.
Yes, the command to remove the key is tsuru key-remove.

@fsouza thanks! that fixed it.

@aaronfranco thank you! Do you think there's something we can update in our documentation to avoid this kind of confusion in the future?

@fsouza Yes. The sample gandalf config file caused the problem for me. I think updating it with the right bin-path should help :+1:
That file is used on this page of your documentation.

@aaronfranco Thank you! I've updated the docu

@fsouza I think the file needs one more change...
...
git:
  bare:
    location: /var/lib/gandalf/repositories
...

Currently, the git:bare:location is set to /tmp/repositories. I'm not sure that makes a differnce, but I had to change mine to the above.

Sure, thanks!


fix: Don’t pass response to AutoRouter missing handler

Description
The missing handler is a RequestHandler, and the response should not be passed to it.
Probaly a breaking change for non typescript users.
(Found that prettier is not applied to the codebase, or some prettier defaults is not set see yarn prettier)
Related Issue
Link to the related issue:
Type of Change (select one and follow subtasks)

[ ] Documentation (README.md)
[ ] Maintenance or repo-level work (e.g. linting, build, tests, refactoring, etc.)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

[ ] I have included test coverage

[ ] Breaking change (fix or feature that would cause existing functionality/userland code to not work as expected)

[ ] Explain why a breaking change is necessary:

[ ] This change requires (or is) a documentation update

[ ] I have added necessary local documentation (if appropriate)
[ ] I have added necessary itty.dev documentation (if appropriate)

@istarkov - this is great, and a good catch.  I'll want to add a test for this before release, so hang tight (unless you want to add that to the PR)

I’ve created a simple test to verify that the first argument of the missing function is the request.

I also have fixed StatusError imports as they are not resolved properly otherwise when package is imported. (All properties of StatusError have any type)
See " Should give typescript error" comment
Example:
import {
  handleFontAsset,
  handleImageTransform,
} from '@webstudio-is/assets-proxy';

import { Router, type IRequest } from 'itty-router';

type CFArgs = [Env, ExecutionContext];

const router = Router<IRequest, CFArgs>({
  catch: (error) => {
    // eslint-disable-next-line no-console
    console.error(error);

    error.status satisfies number;
    error.status satisfies string; // <-- Should give typescript error

    return new Response(error.message, {
      status: error.status,
    });
  },
});

Also found

https://github.com/kwhitley/itty-router/blob/7cb145879aa831f4bee1465d4b7995f659eae07f/src/types/RouterOptions.ts#L13
is a wrong type, the error is not formatted to the StatusError type

catch (err: any) {
        if (!other.catch) throw err
        response = await other.catch(err, request.proxy ?? request, ...args)
      }

2 ways to fix, give an unknown type as in modern ts, or fomat error

Taking a dive on this today - we've had a bit of a hurricane rip through this week :D

Interesting test had no issues with<EMAIL_ADDRESS>but fails on<EMAIL_ADDRESS>Investigating

Fixed.

This is great, thanks for the catch!


tracing: Decorator to define operation/span name associated with matc…

…hed criteria (path, prefix, future regex).
resolves #1527
DO NOT MERGE
Currently depends on my branch for https://github.com/lyft/envoy-api/pull/170 so this will need to be merged before this PR. However currently envoy-api latest commit has changes not currently supported by the latest master of this repo.

Will create a new PR once tracing details moved to Route.


Add compatibility with phpunit/php-timer 2.x

This change allows phpmnd to be installed alongside packages that depends on phpunit/php-timer 2.x (e.g. PHPUnit 7.0).

:+1:

+1

Thanks!

@povils Could you please make a release with this PR?


Initial capacities for array-like and hash-like literals

The simple array literal constructs an Array with an initial capacity equal to the number of elements:
["a", "b"] of String
# becomes:
__temp_1 = ::Array(String).unsafe_build(2) # initial capacity
__temp_2 = __temp_1.to_unsafe
__temp_2[0] = "a"
__temp_2[1] = 'b'
__temp_1

This is not done for array-like literals:
Array(String){"a", "b"}
# becomes:
__temp_1 = Array(String).new
__temp_1 << "a"
__temp_1 << "b"
__temp_1

Nor hash-like literals: (the hash literal is implemented in terms of a hash-like literal for ::Hash)
{"a" => true, "b" => false} of String => Bool
# becomes:
__temp_1 = Hash(String, Bool).new
__temp_1["a"] = true
__temp_1["b"] = false
__temp_1

This is because the compiler cannot assume that a given container type defines a suitable constructor accepting an initial capacity. So let's do it: (better names are welcome)
module SupportsInitialCapacity
  abstract def new(*, initial_capacity : Int)
end

class Array(T)
  extend SupportsInitialCapacity

  # `new(initial_capacity : Int)` does not override `new(*, initial_capacity : Int)`
  # so we must define a separate named parameter overload
  # right now this has no chance of being called, but `-Dpreview_overload_order`
  # makes it unordered w.r.t. the positional parameter overload
  def self.new(*, initial_capacity : Int)
    new(initial_capacity)
  end
end

# Hash(K, V).new(Int) treats the argument as a default value
# rather than an initial capacity; this explains why the abstract def
# uses a named parameter rather than a positional one
class Hash(K, V)
  extend SupportsInitialCapacity
end

Before the main visitor expands an array-like or hash-like literal, it must visit the container name, which makes the resolved type available; then, if that type extends SupportsInitialCapacity, the expanded literal will pass a suitable initial capacity to .new:
__temp_1 = Array(String).new(initial_capacity: 2)
# ...
__temp_1 = Hash(String, Bool).new(initial_capacity: 2)
# ...

In the standard library, this construction is applicable to Array, Deque, Hash, Set, and StringPool. However, the above snippet indicates that there is some difficulty in reconciling the positional and named initial_capacity overloads. Alternatively an annotation could be used:
annotation SupportsInitialCapacity
end

@[SupportsInitialCapacity]
class Array(T)
end

@[SupportsInitialCapacity]
class Hash(K, V)
end

This takes care of both positional and named initial_capacity parameters, but has the drawback that failing to implement such a constructor would produce an odd "no overload matches" error message in the middle of an expanded literal.
Note that array-like and hash-like literals within a macro context do not invoke the literal expander, and it is fine because capacities make no sense there. (Among other things, splats within arrays will continue calling TypeNode#splat there.)

An alternative is that this:
Something{1, 2, 3}

calls a macro on the type:
Something.array_literal(1, 2, 3)

then the type can decide what to do with that. If it supports an initialize capacity, it can compute the size of the given elements, etc.
For Hash-like literals, this:
Something{1 => 2, 3 => 4}

would translate to:
Something.hash_literal({1, 2}, {3, 4})

Actually, this could also work for Array and Hash directly, and we'd move the expansion logic to visible Crystal code.
We could maybe define array_literal and hash_literal on every type right now (Object) with a default implementation, but subtypes could decide to override it for performance reasons.

Well, those macros are missing the of type. The macro arguments will need to change, but the general idea is that the literal expands to a macro call, and that macro call later expands to what we have right now (that the compiler is doing behind the scenes)

You can't just override macros that easily, maybe #8835 makes it easier but I doubt this feature should depend on that.
Also the macro language might simply not be performant enough for very large container literals.

You can't just override macros that easily

What do you mean? This is just regular macros:
class Object
  macro array_literal(elements)
    # I know, this is cheating
    [{{*elements}}]
  end
end

class MyType
  macro array_literal(elements)
    Set{ {{*elements}} }
  end
end

Array.array_literal([1, 2, 3]) # => [1, 2, 3]
MyType.array_literal([1, 2, 3]) # => Set{1, 2, 3}

Also the macro language might simply not be performant enough for very large container literals

In that case the macro language should be optimized :-)

I also think the macro language is pretty fast. I just tried this:
class Object
  macro array_literal(elements)
    # This isn't totally correct
    %container = {{@type.name.gsub(/\(.*\)/, "")}}(typeof({{*elements}})).new
    {% for elem in elements %}
      %container << {{elem}}
    {% end %}
    %container
  end
end

p Set.array_literal([1, 2, 3])
{% begin %}
  p Set.array_literal({{ (1..100_000).to_a }})
{% end %}

With --no-codegen it ends up quickly (codegen takes time because it's a lot of code)

The part you cheated away includes injecting the typeof, the different splat expansions, hoisting complex element expressions etc. If there is a clean way for types to add just the initial_capacity part without repeating those, then sure.

In that case the macro language should be optimized

That puts an undue dependency on a much less concrete and actionable enhancement that takes months, if not years, to be considered complete.

I guess we can still cheat. We can define array_literal as a macro. Or, well, users will see it as a macro. But we internally implement it in the compiler.
I actually wanted (and started) doing this for includes and extends, but for some reason it wasn't liked.
Though I guess that user-types will also have to deal with that complexity and it's going to be tough for them.
So probably your proposal is better :-)

Related:

#5703
#6402
#10427

I think the semantics that @asterite is proposing can actually be trivially implemented with a .[] macro. Syntax is just like an array-like literal only with brackets instead of braces. The beautiful thing about this is that there's no special compiler intervention. It's just a simple macro. The target type controls the implementation completely.
We're already using this form in StaticArray.[] and Slice.[] as well as for numeric arrays via Number.[] (cf. #13021).
The only limitation is that the element type can't be specified in that way (#6402):
Slice(UInt8)[1, 2, 3] # Error: undefined method '[]' for Slice(UInt8).class

But it partially[^1] works when using an alias (Bytes is an alias for Slice(UInt8)):
Bytes[1, 2, 3]        # => Bytes[1, 2, 3]

I figure it should be fairly easy to enhance the syntax for supporting generic arguments.
This while thing currently does not work for hash-like literals because the key-value syntax is not allowed in a macro call. I'm sure the parser could be enhanced to support this, though.
[^1]: The element type is only enforced when it's numeric.
alias Chars = Slice(Char); Chars[1, 2, 3] # => Slice[1, 2, 3]


Game: Frontend for week 2 onwards

This frontend will be used & maintained until the end of this semester.

Add new hook handler for startQuest
Set story loader to read 'master' xml

Pull Request Test Coverage Report for Build 3233

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 36.916%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/academy/game/create-initializer.js
0
3
0.0%

Totals

Change from base Build 3201:
0.03%

Covered Lines:
2671

Relevant Lines:
6482

💛  - Coveralls


Cannot get pylint operational

I kind of hate creating an issue for this since I'm quite sure it's a me problem (I'm new to Python dev), but it seems like that's the preferred way of asking for help. Anyway, for the life of me, I cannot seem to get this to work. I've been working on this for hours now and reading everything I can find, but either nothing is working or I'm just not understanding it well enough to do it right. I'm hoping someone can point me in the right direction. Don't be afraid to get remedial.
I'm running Sublime Text (build 3065) on OS X. Python 2.7.9 is installed via Homebrew and pylint was installed via pip install pylint. I'm working on a few scripts using Python 2.7 and they all begin with #!/usr/bin/env python.

Hmmm. Using the absolute path, I get the same as above. That seems weird. Why would that be since it's in my PATH and which picks up both executables at that location.

Can you cat the content of /usr/local/bin/pylint ?
I've also seen strange behaviours when there are multiple versions of pylint on a system.

$ cat /usr/local/bin/pylint
#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from pylint import run_pylint

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(run_pylint())

pylint < 1.4.0:
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint==1.3.1','console_scripts','pylint'
__requires__ = 'pylint==1.3.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pylint==1.3.1', 'console_scripts', 'pylint')()
    )

pylint >= 1.4.0:
# -*- coding: utf-8 -*-
import re
import sys

from pylint import run_pylint

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(run_pylint())

So it is notably different..
I have not tested pylint 1.4 at the moment.
All I can suggest is to force a reinstall of pylint ...

Note too that pylint is using /usr/bin/python, whereas your default python is in /usr/local/bin.

Grr. Used pip to uninstall and reinstall pylint, but it's still using /usr/bin/python (which is v2.7.6). The Homebrew installed Python is v2.7.9, for whatever that's worth. Am I doing something wrong in my setup? I don't do much Python dev, so there could be nuances of the configuration that I've missed or done incorrectly.

Was your pip installed with /usr/bin/python or the Homebrew version ?

I'm not sure how that's happening. You could try manually editing the pylint file and changing that to /usr/local/bin/python.

I'm not sure if the shebang line is important, since sublimelinter forces the use of /usr/local/bin/python but it's worrth a try !

@NotSqrt To be honest, I'm not sure when/where/how pip was installed. At this point, I can only see that it's using the pip executable in /usr/local/bin/. A little reading seems to indicate that pip is installed automatically when installing Python via Homebrew. I'm going to try modifying the shebang now and see if that just gets things working.

Well, guess not. I still get the same error(s) after modifying the shebang path. I'm not sure what's going on in my ecosystem that has things all bound up like this.

And behind door #3 was the nuclear option. Uninstall pylint, uninstall all Python versions installed by Homebrew (apparently there were multiple--who knew?), reinstall pip. Apparently this is the price I pay for not having done enough Python development, but things do seem to be working okay using the native OSX Python executable.

That was definitely a strange problem, no matter what your python experience was ..

Ran into same issue myself having installed python, pip and pylint via Homebrew.  As such, the paths to the executables in my python environment were:

python: /usr/local/bin/python -> /usr/local/Cellar/python/2.7.12_1/bin/python (symlink)
pylint: /usr/local/bin/pylint
pip: /usr/local/bin/pip -> /usr/local/Cellar/python/2.7.12_1/bin/pip

Although my PATH and PYTHONPATH settings were correct to prefer the Homebrew python environment paths, there was one problem:

Because the pylint executable shim had a shebang line at the top (#!/usr/local/opt/python/bin/python2.7 which pointed to OSX Python.framework path: /usr/local/opt/python/bin/python2.7 -> /usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/bin/python2.7), it was somehow causing a conflict with the runtime environment of pylint and overriding the Homebrew python.

In order to check how the Pylinter Sublime Text Package was starting pylint, I added a couple debug lines into the Pylinter code to check what it was using for python_bin, and pylint_path:
--- Packages/Pylinter/pylinter.py	2017-01-02 18:15:53.000000000 -0700
+++ Packages/Pylinter/pylinter.py	2017-01-02 18:15:58.000000000 -0700
@@ -178,6 +178,8 @@
         try:
             python_bin = cls.get_or('python_bin', 'python')
             pylint_path = cls.get_or('pylint_path', None)
+            speak("python_bin %s" % python_bin)
+            speak("pylint_path %s" % pylint_path)
             if pylint_path is None:
                 _ = subprocess.Popen("pylint",
                                  stdout=subprocess.PIPE,

The error message in Sublime Text console was:
reloading plugin Pylinter.multiconf
reloading plugin Pylinter.pylinter
reloading plugin SublimeLinter.commands
reloading plugin SublimeLinter.sublimelinter
plugins loaded
SublimeLinter: debug mode: off
SublimeLinter: pylint activated: ('/usr/local/bin/python', '/usr/local/bin/pylint')
 - PyLinter: python_bin python
 - PyLinter: pylint_path None
 - PyLinter: Pylint executable *not* found
 - PyLinter: Seaching for lint.py module...
error: Pylinter could not automatically determined the path to `lint.py`.

Please provide one in the settings file using the `pylint_path` variable.

NOTE:
If you are using a Virtualenv, the problem might be resolved by launching Sublime Text from correct Virtualenv.
Traceback (most recent call last):
  File "/opt/homebrew-cask/Caskroom/sublime-text3/Build 3083/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 210, in on_api_ready
    m.plugin_loaded()
  File "/Users/jcuzella/Library/Application Support/Sublime Text 3/Packages/Pylinter/pylinter.py", line 78, in plugin_loaded
    PYLINT_VERSION = PylSet.get_lint_version()
  File "/Users/jcuzella/Library/Application Support/Sublime Text 3/Packages/Pylinter/pylinter.py", line 241, in get_lint_version
    command = list(DEFAULT_PYLINT_COMMAND)
TypeError: 'NoneType' object is not iterable

Solution:
Because I preferred Homebrew for managing my python and pip versions, I edited the shim file and replaced the shebang line at the top with: #!/usr/local/bin/python to force the Homebrew python.  Alternatively, it looks like I could have set pylint_path in my Sublime Text settings somewhere, but I could not get this to work (maybe I did not use the correct setting json variable name or type?).
--- /usr/local/bin/pylint	2017-01-02 18:56:16.000000000 -0700
+++ /usr/local/bin/pylint	2017-01-02 18:56:30.000000000 -0700
@@ -1,4 +1,4 @@
-#!/usr/local/opt/python/bin/python2.7
+#!/usr/local/bin/python

 # -*- coding: utf-8 -*-
 import re

After the fix, I quit and restarted Sublime Text 3, and in the console, it found pylint fine this time without pylint_path set:
reloading plugin PyRefactor.refactor
reloading plugin SublimeLinter-pylint.linter
SublimeLinter: pylint linter loaded
reloading plugin Surround.Surround
reloading plugin JSHint Gutter.JSHint
reloading plugin Pylinter.multiconf
reloading plugin Pylinter.pylinter
reloading plugin SublimeLinter.commands
reloading plugin SublimeLinter.sublimelinter
plugins loaded
 - PyLinter: python_bin python
 - PyLinter: pylint_path None
 - PyLinter: Pylint executable found
 - PyLinter: Pylint version (1, 6, 4) found
SublimeLinter: debug mode: off
SublimeLinter: pylint activated: ('/usr/local/bin/python', '/usr/local/bin/pylint')
SublimeLinter: ERROR: pylint cannot locate 'pylint@python'
ApplySyntax: Warning: 'file_name' keyword is deprecated and will be removed in the future.
reloading plugin Pylinter.pylinter
 - PyLinter: python_bin python
 - PyLinter: pylint_path None
 - PyLinter: Pylint executable found
 - PyLinter: Pylint version (1, 6, 4) found


AMD and RequireJS support

Bridge forum thread:
http://forums.bridge.net/forum/general/feature-requests/217

As of version 1.7.0, the [Module] and [ModuleDependency] might be used to organize modules. There are mode details in this forum post.

Are there any news on CommonJs support ?

Hi @kasperp,
Thank you for your interests, but, unfortunately, I don't have good news - CommonJS support is still not implemented and we don't have a solid time frame for that.
Meanwhile, decided to split the current issue into two. The current issue is left for AMD and RequireJS support and being closed, because it was implemented. For CommonJS support an individual issue has been created - #813.

@DaniilVeriga thanks for getting back.
Would es6 module support also go #813 or would you prefer a separate issue for that ?

I tend to think that an individual issue with cross-references is the best option.

I'm playing with the module support and I saw that it does not support path based modules. For example, when using [Module("path/to/my/module")].
This is important if you want to generate path related modules, like for simulating dynamic loading with frameworks like aurelia and angular 2 or even to work with some route libraries.

Module support has been completely redesigned and will be available in the next release of Bridge. See Issue #2217.


New version: SweetScape.010Editor version 13.0.1

Result: Installation Successful

Manifest
Add/Remove Programs

Name
010 Editor
010 Editor 13.0.1 (32-bit)

Version
13.0.1
13.0.1

Publisher
SweetScape Software
SweetScape Software

ProductCode

010 Editor_is1

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 3469
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Unattended-Failed


rust-std for thumbv7neon targets unavailable for download

Steps to reproduce
rustup default nightly
rustup update
rustup target add thumbv7neon-unknown-linux-gnueabihf

Then:
rustc --print target-list | grep thumbv7neon-unknown-linux-gnueabihf

Actual results
First:
error: component 'rust-std' for target 'thumbv7neon-unknown-linux-gnueabihf' is unavailable for download
Then:
thumbv7neon-unknown-linux-gnueabihf
Expected results
Expected the rust-std component for the thumbv7neon-unknown-linux-gnueabihf and thumbv7neon-linux-androideabi targets to be available.

It looks like the PR adding support added thumbv7neon-linux-androideabi as a distribution target (actually added it to be built in a container), and rustup target add thumbv7neon-linux-androideabi --toolchain nightly works for me. The same PR didn't, however, configure any containers to build thumbv7neon-unknown-linux-gnueabihf, so nothing is building that target to be distributed (explaining the lack of a target in rustup)

rustup target add thumbv7neon-linux-androideabi --toolchain nightly works for me

Works for me, too. No idea why I thought otherwise earlier today.

I filed an issue on the rust repo about the container configuration.

I think this is not a bug in rustup so I'm going to close it.  If I've misunderstood the situation please let me know.


Update Demo's Podfile.lock after releasing

Current coverage is 83.27% (diff: 100%)

Merging #843 into master will not change coverage

@@             master       #843   diff @@
==========================================
  Files            34         34
  Lines          2769       2769
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           2306       2306
  Misses          463        463
  Partials          0          0

Powered by Codecov. Last update 3fdc051...1937e05


Reorder checks in bindExtensionDecl to avoid crash

extendedType->isSpecialized() was not a sufficient check to assume that the type was nominal. extendedType->getAnyNominal() would return null in cases like ([Int], Int).

Doug, this patch looks straight-forward but I'm not an expert in this area, can you please take a look when you get a chance?

Bump @DougGregor

Actually, never mind. This was fixed in 5ce3de8d. Closing.


Add min and max holding time to round trips

Closes https://github.com/quantopian/pyfolio/issues/363

Looks great. This actually made me wonder, is that a potential fix for that splits issue? That would filter out positions that have been open for a max period?

I don't think so - just deleting round trips won't fix the issue. The error happens when a position is added or removed from the portfolio with no transaction. Let's say TSLA is added via spinoff, and the algorithm detects it has that position then closes it out immediately. From pyfolio's perspective, it didn't see the spinoff, so it thinks that close is the opening of a new short position. That short position round trip will then be seen as closed when the algo happens to decide to go long in that position. The same thing happens to whatever position the spinoff came from, but in reverse.

We add close-out orders to all open positions when the backtest ends, maybe we shouldn't do that. It wouldn't help with the second issue though.


minionArt-Amish

Write a short description about your art piece, such as what your artwork represents and your experience drawing it!
My artwork shows a Minion from Despicable Me and drawing it was very fun and a little challenging. It was definitely a good experience learning how to use Blot and code using java.

[x] I have read the steps to getting a blot
[x] I have read all the submission requirements and follow them
[x] I am submitting art that...

[x ] is algorithmically generated (will meaningfully change each time the program is run)
[x] is your own work that is not copied from somewhere else
[x] is drawable through the editor(does not use outside tools)
[x] doesn't call Math.random() (See the documentation on randomness)
[x] is drawable on Blot itself (doesn't have lines overlap more than 5 times)

[x] Doesn't overlap lines more than 5 times
[x] Fits in the working area of 125x125mm
[x] Doesn't rely on colour to look good

If you used based your art on something else, used a tutorial, or remixed it from something else, please link it here:

Lastly, link a picture of your art piece here:

Hi! This is an awesome start to your project, however it does not meet the submission guidlines, specifically, Your artwork must be generative. Please could you update this and ping me when you're done and i'll re-review it?

@M0HID Hi, I fixed the artwork and made the hair and eyes generative. Can you please re-review it? Thanks!

Hi, the Blot cannot draw in colour, so could you add a variable at the start to disable all fills and custom line thicknesses? Sorry I didn't mention this before. I'm going to close this PR for now, to clear up the repo, but once you've made your changes, please make a new PR so that we can review it there!


utils: do not decode a integer signal value to float if it exhibits non-fractional scaling and offset

Although using floating point values is probably technically correct for any decoded value, it is IMO nevertheless quite confusing if the signal in question is of integer type. In particular, this applies for the approximately 97% of all cases where no scaling or offset is specified...
Andreas Lauser<EMAIL_ADDRESS>Mercedes-Benz AG on behalf of MBition GmbH.
Imprint

Coverage decreased (-3.6%) to 92.93% when pulling 546bbe8461e626b95d5054a11ce48f2cd80a89a2 on Daimler:decode_to_int_if_applicable into 2f66e185eee915ddd2bf9ef1672515c712e9171b on eerimoq:master.

once again, it seems like bean-counting is not a strong point of coveralls: it says "3.6% decreased coverage", but 1) that is unrealistic for such a tiny change, and 2) when inspecting the details of the run, coverage for all individual files either stayed the same or went up...

once again, it seems like bean-counting is not a strong point of coveralls:

Do we (collaborators) have any control over coverals? (It is blocking one of my pushes because coverage dropped 0.3% due to improved test code detecting showstopping issues at the start of a test case,)


Add qualimap bamqc for QC on bam files

Added qualimap bamqc since it was also on piper for QC on bam files.
There was a bug with MultiQC version 0.9
closes #301

[x] Waiting for MultiQC 1.0
[ ] Waiting for MultiQC 1.0 on UPPMAX
[x] Update MultiQC container
[x] Verify that Qualimap works
[x] Remove the bamQC in tools
[x] Run Qualimap when only HaplotypeCaller to keep improvements

I found it makes more sense to remove MultiQC from tools and add --reports as a new parameter. And it also made it so much easier to include Qualimap for HaplotypeCaller only runs ;-)

Updated with @marcelm changes for Recalibrated bams and all.
Works without problem on my tests.
Should be safe to merge, is anyone has time to look it.
Otherwise, I'll merge it myself by the end of the week


🌱 test/e2e: add support for dynamic users using client certs

Summary
This adds support to generate users on the fly in e2e tests. Currently, only users predefined in a token fixture file can be used. This allows for more descriptive user names and also allows adding groups dynamically.
Related issue(s)
N/A

oh we need to add some logic to handle the sharded use case which uses a dedicated client cert for the front proxy.

/test e2e-shared

/lgtm
/approve


Allow test guilds

Wasn't able to test previous change due to the guild id being hard coded. Would be nice to be able to join it to a test server with a test bot.
BUT left all the default hard-coded id's for guild, admin role so there is no changes to how you start the bot on your end.
Oh and .venv to the .gitignore didn't understand what ".direnv" was until I pushed this. Sorry about that, can remove it if you want but just left it in-case there are any other ".venv" enjoyers who decide to make a pr.

This is way better than what I do to test which is comment and uncomment lines lmao.
Yea .venv in .gitignore is fine.

Lots of other stuff is hardcoded tho, in the plugins themselves, I don't know how I feel about moving them to a constants.py file cuz then the plugins aren't really self contained anymore.

🤔 Good point, I don't quite know how we could make those not hardcoded without making the plugins not self contained. Maybe a find_spec for the constants file, but fail over to default? Trying to get it running locally so I can help with some of the issues you have posted.

The main thing is that stuff like emoji are hardcoded which are hard to just pull from the environment because there could be dozens of emoji. similarly with roles.
Maybe a constants file could work, I think that's how some of the other bots do it.


add ability to pass options via command's constructor

hi remko,
i'd like you to review this commit.
the intent here is to support passing options via the constructor.
i don't think it should be merged as is, without your review and perhaps some tweaks, as i don't fully understand all the magic that picocli does.
this code change causes one of the subcommandtests to fail, but i hope that's something that's easily rectified.
i definitely need to spend more time understanding the code.
my main reflection at the moment is that i suspect spring does similar work when it builds application contexts.  i wonder if this project can leverage the same utilities that spring uses to build the command object, leveraging autowiring, constructor and setter injection so we don't have to.

i definitely need to spend more time understanding the code.

Yes, I worked on this area of user object instantiation recently when implementing [#690], and when refactoring how default values are applied ([#962][#961][#990]). I am keenly aware that user object creation is one of the most complex areas of the library. I am not sure if this is because of the implementation or whether it is because of the nature of the problem.
This is why I mentioned the trade-off between the benefit that this feature would bring vs the increased maintenance burden of the additional complexity.

my main reflection at the moment is that i suspect spring does similar work when it builds application contexts. i wonder if this project can leverage the same utilities that spring uses to build the command object, leveraging autowiring, constructor and setter injection so we don't have to.

This may be interesting to explore.  picocli itself should not require Spring to work, but there is a picocli-spring-boot-starter module, and one idea may be to support constructor injection for applications that use that module.
Speaking of Spring and dependency injection, picocli currently supports integration with dependency injection containers via the IFactory interface. This allows DI containers to inject services and beans into subcommands, type converters, and other components.
If our constructor injection implementation instantiates subcommands via reflection, without using the factory, then such subcommands that pass options to the constructor may not be able to get other services and beans injected by the dependency injection container... That would be a big drawback. Supporting constructor injection via the PicocliSpringFactory may avoid that problem.

you are correct.  the IFactory.create(cls) method needs to be revised to include one more parameter: the commanSpec's constructorParams field, which becomes necessary to call the constructor with parameters.  i dodged making this change to avoid the cascade of changes to every client of IFactory, but that's clearly not right.  so this PR needs more work.

We cannot break existing factories.
To be honest, I am having second thoughts about this. Is it going to be worth it? How valuable is constructor injection in our use case?
I am less and less convinced that this is a good trade-off.

i suppose i can create a type of factory where the initialization parameters are passed in when the factory is built, and then the create() method would not need to be modified.  in that way the interface would not change.  but i agree with you, i don't want to introduce a chance to the codebase that makes it more brittle.  let's abandon this PR altogether.  thanks for entertaining it.

That makes sense.
Thank you for exploring this!


Displays visible trailing whitespaces on sidebar's folder name

Currently you can create a folder with any trailing whitespaces they are difficult to find and make confuse.
Could it be?

Displays visible trailing whitespaces
Avoid trailing whitespaces in vscode

How to reproduce? Is this only an issue on linux/mac? Because afaik windows does now allow trailing whitespace on file names

@TomSputz I'm in macOS environment

In vscode insiders we show a warning to avoid adding trailing whitespace. Please try it out and if you are not happy with the solutino let us know and we can reopen


Please add a license file and a screen shot

I'd like to add this to awesome-zsh-plugins, but I prefer to add themes with screen shots in the readme so that users can see what they look like without having to install them.
Also, please add a license file, some people won't use any code that doesn't have an open source license. If you don't have one in mind, https://choosealicense.com is a good resource to help you select an appropriate one.
Thanks!

Hello,
thanks for the request! I've added a licence and a screenshot which shows the ZSH-Theme in action. Thanks for checking out my github repository and I hope to hear a response soon.
Best regards,
Bruceboy.

Hello,
thanks for the request! I've added a licence and a screenshot which shows the ZSH-Theme in action. Thanks for checking out my github repository and I hope to hear a response soon.
Best regards,
Bruceboy.


inquirerpy 0.3.4 :snowflake:

inquirerpy 0.3.4 :snowflake:
Destination channel: Snowflake
Links

PKG-4608
Upstream repository

Explanation of changes:

basic build

@SC426

I like how you did the tests.

This is following in Lorenzo's style from snowflake-ml-python so I can't take the credit (unless you really want me to).  The idea is to a) avoid very long lines or arguments wrapping round the screen making it hard to read and b) allow you to apply selectors -- which we had to do to catch the subsequent NoConsoleErrors.
The only downside is the cumbersome Jinja2 variable assignment.  🤷

One suggestion would be to add the other optional dependencies under run_constrained

The optional things were all for docs and as I understand it we don't do docs (and I didn't even check to see if we had any of those dependencies).


man: adding and clarification of configuration options

This pull request adds documentation for the configuration options:

gtk-layer-shell
network->family
network->format-icon

Further, it clarifies the available options for the layer configuration and fixes the layout of the waybar-battery man page.
I will also try to update the Github wiki.

Thanks ❤


go/lint: allow specifying a pattern for packages to test

Codecov Report

Merging #235 (9f7bb03) into master (090a026) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #235   +/-   ##
=======================================
  Coverage   78.37%   78.37%
=======================================
  Files           1        1
  Lines          37       37
=======================================
  Hits           29       29
  Misses          4        4
  Partials        4        4

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 090a026...9f7bb03. Read the comment docs.


Add 'card flip' animation

Create an animation of a card flipping over for each letter when a guess is made. The card styling can also be updated if needed. All of the JS logic is in place and the functionality should not be altered. Ideally this will be a CSS only change but some JS may need to be added/changed to trigger the animation.
The animation would look similar to this but trigger when the word is input, not on hover.
Rough Mockup

NOTE: The animation would be done during the arrow of the image above

Branch created:
git fetch origin
git checkout 65-card-flip

https://animate.style/
Check out this library for a free solution!


Feat(plugins): Add debug and  file options to yaml_template_to_facts

Change Summary

Add debug and  file options to yaml_template_to_facts
Related Issue(s)
This is a prerequisite for future PRs changing the task layout of AVD to improve speed.
Component(s) name
arista.avd.yaml_templates_to_facts
Proposed changes

Adding new optional arguments to yaml_templates_to_facts:

dest (Write output to this file as well as returning facts) - autodetecting yml or json from file suffix
template_output (Run templater over the output before returning - allowing for inline jinja)
debug (Collect timestamps of all actions performed, for troubleshooting performance issues)

How to test

No changes to molecule or existing unit tests expected.
New unit tests will be added to cover the new features

Checklist
User Checklist

[x] Add enhancements to action module
[ ] Update base module argspec
[ ] Update documentation
[ ] Create new unit tests for the new features

Repository Checklist

[x] My code has been rebased from devel before I start
[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation and documentation have been updated accordingly.
[ ] I have updated molecule CI testing accordingly. (check the box if not applicable)

LGTM...


Different classification，predict classification result is same，and probability is 1       按照官网的示例，使用训练出的模型预测两张不同分类的图片，预测结果不符合预期，类别结果错误，准确率1

I also have the similar issue when I try to use predict function with a single image.
However, it seems that the predict function works fine with the task.Dataset input.
Is there any difference between single image and dataset input?

@yceugenelai  Yes, I use predict function with test.Dataset, it seems works too. but when I try to use a single iamge, the acc is always 1.
It is looks like a bug.

@szx1234 I think the problem seems to be caused by the single image format. Please refer to #270 .

I replace the new codes to my machine, when I test it , it throws an excetpion

@szx1234 I think the problem seems to be caused by the single image format. Please refer to #270 .

plt.imshow(img.asnumpy())


Incorrect uninstall of orchestration and telemetry happened even thought I didn't install them

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug

What happened:
Incorrect uninstall of orchestration and telemetry happened even thought I didn't install them
What you expected to happen:
If I don't install orchestration and telemetry components, the uninstaller will not uninstall them.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Installer(release/branch) version: v0.5.3
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

@joseph-v PTAL

I think this issue has been fixed

@wisererik , can we close this?

This issue is fixed in PR #181


Add compatibility with Swift 3 (May 9th) snapshot

Here's another take on Swift 3 support, based on your current HEAD.
I used #if swift(>=3.0) blocks to maintain Swift 2.2 support, but it's apparent that this is a compiler feature and not a preprocessor, e.g. it's not possible to have something like this:
#if swift(>=3.0)
  private struct StderrOutputStream: OutputStream {
#else
  private struct StderrOutputStream: OutputStreamType {
#endif

In that case, I had to duplicate the whole (tiny) struct.

The updated Swift snapshot Linux required quite a few changes I didn't expect, but the tests pass now.

Recognizing that the required changes seem to become more extensive with every Swift snapshot, they might be better off in a separate branch. Except, of course, when the plan is to offer the same CommandLine release to both Swift 2 and Swift 3 users at the same time.

The various invocation of stride() that use by: 1 might as well be switched to range operators. Those will work with either version, and reduce the number of #if statements.

Good find. I've updated the PR accordingly.

Another one: the pattern matching with multiple optionals could also sidestep the change in spelling of .some and .none by using case let (sf?, nil) instead of case let (.some(sf), .none)

And finally, there are a lot of cases where an entire function is duplicated not because of an incompatibility, but because it would cause a warning from the Swift 2.2 compiler. (e.g. func setValue(_ value: T)) In such cases, the warning might be a lesser evil than duplication.

It appears that ErrorType/ErrorProtocol can be added to an enum in an extension.
(It works in a 2.2 playground)
Doing this would reduce the amount of duplication.

With respect to adding ErrorType/ErrorProtocol in an extension: in order to comply with the Swift 3 style guide, enum values should use lowerCamelCase. We couldn't do that without duplicating the body.
Right now, my aim was to compile cleanly without warning in both languages even if that adds some more duplication. I'd like the repo owner to chime in where he wants to strike the balance.

That's a good point, though there's a plenty of the current API that doesn't match the style guide apart from the enums (e.g. splitByCharacter). I was mostly thinking of reducing duplication =)

@jatoben I've squashed the commits to remove the intermediate updates and rebased on the current HEAD to make for an easy merge.

Sorry for being late to the party here, and thanks so much for doing the heavy lifting!

Right now, my aim was to compile cleanly without warning in both languages even if that adds some more duplication. I'd like the repo owner to chime in where he wants to strike the balance.

Definitely 👍on this. I'm not too concerned about duplication, since when Swift 3 ships, I expect that folks will convert pretty quickly, and we can just delete the #else blocks. The old releases will still be around for anyone who wants to use Swift 2.

though there's a plenty of the current API that doesn't match the style guide apart from the enums (e.g. splitByCharacter)

That method name dates from August 2014 😄 The code could most definitely use a good refactoring, which I'll probably tackle after the Swift 3 release. If anyone wants to take a pass at it before then though, please go ahead.


Build Error

npm ERR!  { Error: EPERM: operation not permitted, mkdir 'C:\Users\xxxxx
AppData\Local\Temp\npm-5412-29d1c4c9\registry.npmjs.org\uc.micro'
Windows 7
npm ERR! node v6.11.4
npm ERR! npm  v3.10.10

Did you try to open and run the console as an administrator?

This seems like an npm error, not a Web Chat error. Please re-open if you can provide more details regarding Web Chat.


UnnecessaryNotNullOperator UnnecessarySafeCall UnsafeCallOnNullableType Not work

Expected Behavior

In my Demo , I quick Start with Gradle: https://detekt.github.io/detekt/#quick-start-with-gradle
and add this method to test the rules:
config:
potential-bugs:
  active: true
  UnnecessaryNotNullOperator:
    active: true
  UnnecessarySafeCall:
    active: true
  UnsafeCallOnNullableType:
    active: true

code:
fun foo(s: String) {
    val a = 1
    // UnnecessaryNotNullOperator
    val b = a!!
    // UnsafeCallOnNullableType
    val and = b!!.and(2!!)
    if (and!! > 0) {
        println("jahahaa")
    }
    val a1: String = ""
    // UnnecessarySafeCall
    val b1 = a1?.length
    println(b1)
    // UnnecessarySafeCall
}

I expected Build failed
Observed Behavior

BUILD SUCCESSFUL

Steps to Reproduce

git clone https://github.com/lovejjfg/DetektTest.git
cd DetektTest
./gradlew clean detekt

Context

Android Project with gradle 5.6.4
Your Environment

Version of detekt used:1.10.0
Version of Gradle used (if applicable):5.6.4
Operating System and version: macOS 10.15.5
Link to your project (if it's a public repository):
https://github.com/lovejjfg/DetektTest

Hi @lovejjfg
Thanks for the report and for the sample project you attached.
What I think you're experiencing is this the same as #2359
Those three rules that you mentioned are all using types and symbol resolution. In the project you provided seems like this is not enabled so those rule will just not run.
Ideally this https://github.com/detekt/detekt/issues/2292 should also help you setup

Thank you so much~~
It's worked for My Demo now.😄
I wish you could provide the Android Project Simple in the future .

By the way , There is also some warn hint :
/MainActivity.kt:8:24: error: unresolved reference: synthetic
import kotlinx.android.synthetic.main.activity_main.*
                    ^
/MainActivity.kt:15:29: error: unresolved reference: toolbar
        setSupportActionBar(toolbar)
                            ^
/MainActivity.kt:17:9: error: unresolved reference: fab
        fab.setOnClickListener { view ->
        ^
/MainActivity.kt:17:34: error: cannot infer a type for this parameter. Please specify it explicitly.
        fab.setOnClickListener { view ->
                                ^
....

What can I do to deal with ?

Running into the same problem, except I'm using the CLI (version 1.10.0) on Windows 10. The project I'm trying this out on is literally just a main method with the non-compliant code samples. Am I missing something?

With the command line you can also set the mentioned attributes.
@AnDeacracht please have a look at the documentation especially at the attributes jvm-target and classpath.
https://arturbosch.github.io/detekt/cli.html#any-os


Refactor with modern JS

This PR is the refactoring part of the work done in #40.

This PR puts master in an unreleasable state due to the removal of the frontend. Once it's merged I'll put up a PR with the new frontend.