Improvements from the Foster Extension

Removes "glued edges".
I still need to remove co-linear points and split self-intersecting polygons.
I am also thinking of making some lists into SVectors and re-using vectors for adding holes.

Potential issue, try:
using GeoJSON, CoordinateTransformations
import GeometryOps as GO, GeoInterface as GI, LibGEOS as LG

fc = GeoJSON.read(read(download("https://rawcdn.githack.com/nvkelso/natural-earth-vector/ca96624a56bd078437bca8184e78163e5039ad19/geojson/ne_10m_admin_0_countries.geojson")))
usa_multipoly = fc.geometry[findfirst(==("United States of America"), fc.NAME)] |> x -> GI.convert(LG, x) |> LG.makeValid |> GO.tuples

usa_poly = GI.getgeom(usa_multipoly, findmax(GO.area.(GI.getgeom(usa_multipoly)))[2]) # isolate the poly with the most area
usa_centroid = GO.centroid(usa_poly)
usa_reflected = GO.transform(Translation(usa_centroid...) ∘ LinearMap(Makie.rotmatrix2d(π)) ∘ Translation((-).(usa_centroid)...), usa_poly)

GO.union(usa_poly |> GO.tuples, usa_reflected |> GO.tuples)

I get:

ERROR: ArgumentError: invalid index: nothing of type Nothing
Stacktrace:
  [1] to_index(i::Nothing)
    @ Base ./indices.jl:300
  [2] to_index(A::Vector{Int64}, i::Nothing)
    @ Base ./indices.jl:277
  [3] _to_indices1(A::Vector{Int64}, inds::Tuple{Base.OneTo{Int64}}, I1::Nothing)
    @ Base ./indices.jl:359
  [4] to_indices
    @ ./indices.jl:354 [inlined]
  [5] to_indices
    @ ./indices.jl:345 [inlined]
  [6] getindex
    @ ./abstractarray.jl:1291 [inlined]
  [7] _trace_polynodes(::Type{…}, a_list::Vector{…}, b_list::Vector{…}, a_idx_list::Vector{…}, f_step::typeof(GeometryOps._union_step))
    @ GeometryOps ~/.julia/dev/GeometryOps/src/methods/clipping/clipping_processor.jl:465
  [8] _union(::TraitTarget{…}, ::Type{…}, ::GeoInterface.PolygonTrait, poly_a::GeoInterface.Wrappers.Polygon{…}, ::GeoInterface.PolygonTrait, poly_b::GeoInterface.Wrappers.Polygon{…})
    @ GeometryOps ~/.julia/dev/GeometryOps/src/methods/clipping/union.jl:52
  [9] #union#134
    @ ~/.julia/dev/GeometryOps/src/methods/clipping/union.jl:32 [inlined]
 [10] union (repeats 2 times)
    @ ~/.julia/dev/GeometryOps/src/methods/clipping/union.jl:29 [inlined]

Okay @asinghvi17 your issue above is resolved, as well as the unioned watersheds bug.
In addition to those bugs, this PR takes care of what are called "glued" edges, or overlapping edges, especially in cases where these are the only interactions between two polygons.
I also made a few other small changes (added the index field back, used SVector, etc).
There are two more changes in the Foster paper, but I think this is enough for one PR. I also have some ideas for readability changes, but again, I think that should be a different PR.

@skygering how much progress do you think is left to make here?


pkg/operator: Preserve casing of column types when converting presto column to hive column and with complex column type

/hold
Didn't work, still working on this


Training crashes after a number of epochs

I am training yolact on a custom dataset. However after some epochs the training crashes. I tried to restart the training from the last weights correctly computed and for some time it continued training and then it crashes again. Now I am at epoch 58 and if I try to restart the training it crashes. So at this point it doesn't continue. The error which is displayed when it crashes is shown bellow.
Traceback (most recent call last):
File "/home/mmp/Downloads/yolact/train.py", line 504, in
train()
File "/home/mmp/Downloads/yolact/train.py", line 371, in train
compute_validation_map(epoch, iteration, yolact_net, val_dataset, log if args.log else None)
File "/home/mmp/Downloads/yolact/train.py", line 492, in compute_validation_map
val_info = eval_script.evaluate(yolact_net, dataset, train_mode=True)
File "/home/mmp/Downloads/yolact/eval.py", line 964, in evaluate
prep_metrics(ap_data, preds, img, gt, gt_masks, h, w, num_crowd, dataset.ids[image_idx], detections)
File "/home/mmp/Downloads/yolact/eval.py", line 403, in prep_metrics
classes, scores, boxes, masks = postprocess(dets, w, h, crop_masks=args.crop, score_threshold=args.score_threshold)
File "/home/mmp/Downloads/yolact/layers/output_utils.py", line 39, in postprocess
print(dets['class'].size())
TypeError: 'NoneType' object is not subscriptable
Does anyone know how to solve this issue?

I had the same problem, have you solved it yet?


Setting appropriate content-type in filters example

Doesn't makes any difference, but still..

...still, it's more correct. I'll take an other look at it tomorrow, when I'm not this tired, but it looks good.

I'll also fix the error from AppVeyor... Again.

Looks like it's not AppVeyor fault, but slproweb simply replaced 1_0_2d with 1_0_2e version of openSSL :
404 https://slproweb.com/download/Win32OpenSSL-1_0_2d.exe
200 https://slproweb.com/download/Win32OpenSSL-1_0_2e.exe

Yeah, that's what I meant. There's unfortunately no way to just get the latest version...

Looks like rand is also broken now. I'll put this on hold and see how things plays out.

Seems like it s a new nightly :) not the same my build was failed on.

retry ?

Nah, @homu will only listen to me at the moment :), but I restarted the tests manually. I haven't had the time to fix things yet...

#90 contains the necessary changes. It looks like rand has been updated to work with nightly, so that's good, but I had to do a very fundamental change to insert_routes! to avoid the type ascription conflict.
I would also like to point you to #89 and ask you if you agree to dual license this PR and any future contributions to Rustful under MIT/Apache, as described there. I don't know when (or if) the relicensing will happen, so there is a chance that you will count as a "creative contributor" before it's done.

There we go. It's merged now, so you can rebase this PR and we can continue as before :smile:

Sure, i do agree with dual license, but i'm not sure if my pr is somewhat creative.

Alright :smile: It's not only for this, but for any potential future contributions as well.
Anyway, I see that you have rebased and the tests looks good, but what about the jsonp variant? I think the correct content type for it is application/javascript.

Sure, i'll add special case for jsonp. But this will require some refactoring of this particular test

Sure, go ahead.

(not to mention http://localhost:8080/json/Peter" case). I think working around this kind of issues would be an overkill for little example.

Hmm, yeah, its primary feature is to showcase filters. It doesn't have to be 100% correct in every case, but I just thought that adding a content type for one case and not the rest would be stranger than keeping it as it is...

Yeah, let's hope that no one  would actually use it as reference for his own json rest service :))

Haha, yeah. It's not great, but it's also hard to make simple examples of complex things. You are very welcome to play around with it if you happen to have any more ideas for improvements. That goes for every example here, really.

Sure, I'll try to do something tomorrow.

I've tried to do it as less intrusive as possible, because I'm new no the Rust.

Oh, interesting approach. My first impression is that I like it. :smile: It's once again late over here, so I will wait with the decision until tomorrow.
Also, don't worry about being new to Rust. I'll do my best to be a good mentor.

I have read through it now and I think it's good. I think this change is small enough to be squashed into one single commit, since the two solutions are quite different.
Would you also mind summarizing the changes in the top comment? It's what will go into the final commit message and will help anyone looking back on this to understand what happened. It doesn't have to be fancy. Just to answer the "how?" question.

You mean 'edit top comment of this pr' ?

Yes, since that's what people will read first. It's just so they don't have to wrap their heads around the code. This will do :smile:
Thanks!
@homu r+

@homu r+

Hmm... is @homu asleep?

Looks like it. I'll merge this myself, then. It's ok if it doesn't make it into the change log.


Feature/get episode content

…esByStoryID
Description
Fixes #

What work was done? Episode Content was added to the response of the getEpisodeByID and getEpisodeByStoryID queries
Why was this work done? Content was added to the Episode table, but it wasn't added to the queries
What feature / user story is it for? https://trello.com/c/4liJQTnt/818-as-a-reader-i-want-a-more-interactive-reading-experience-so-that-i-can-stay-engaged-with-the-story
Any relevant links or images / screenshots

Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)

Change Status

[X] Complete, but not tested (may need new tests)

Has This Been Tested

[ ] Yes
[X] No
[ ] Not necessary

Checklist

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[X] There are no merge conflicts

Loom Video Description: https://www.loom.com/share/976004e5c2f948ce98d1a33860e19e53

Why were 8000+ lines of code deleted from the package-lock? Was this supposed to be a part of your commit? If not, please rebase.

Good catch I didn't even see that

In the event that you were actually trying to remove a package or two from the dependency tree then it would make sense for the package.lock file to show the removal of that dependency map.
Did you remove something from the deps and run npm i at any point?
@ashtilawat23 they may have intended to actually update that lock file.

Thanks for the catch!  I removed the package-lock from the PR.  Let me know if there's another fix before it gets merged

Did you intend to leave …esByStoryID in your PR description? If, so why?


Error in running Inference script

I am trying to run the inference script but getting TypeError: expected str, bytes or os.PathLike object, not NoneType
I am also attaching the entire output log.
New Text Document (2).txt

Can you share your Python environment? Run pip list and conda list. I need to check if your environment is well configured.

Conda_env.txt
RESDSQL_env.txt

Is it necessary to run the training script for inference?
I wanted to use the pre-trained model so i just downloaded T5-base model checkpoints and cross-encoder checkpoint. and copied them both into models folder.

no, you can directly run inference scripts after downloading T5 and cross-encoder checkpoints.

Is it necessary to run the training script for inference?
I wanted to use the pre-trained model so i just downloaded T5-base model checkpoints and cross-encoder checkpoint. and copied them both into models folder.

no, you can directly run inference scripts after downloading T5 and cross-encoder checkpoints.

Would you pls help me resolving the error: TypeError: expected str, bytes or os.PathLike object, not NoneType
out_14June.txt

It looks like the cross-encoder checkpoints are not downloading correctly, can you re-download and see if this issue still exists?

By the way, you'd better create a new conda environment, because I updated requirements.txt yesterday.

Oh okk Thanks !!!


Scala API for flinkspector.

Provides integration with the Flink scala api and scala-test.
Uses scala test matchers instead of hamcrest.

Hi,
I was wondering if there is any update on the Scala API for flinkspector? We are wondering how to test our flink-scala program and it seems like flinkspector is a good route. However, we do not know how to convert a Java DataStream to a Scala DataStream, so we we cannot get the original flinkspector API to work. Thanks!

Hi,
Unfortunately converting the DataStream from Java to Scala will not suffice because the Java Matchers do not work with most Scala data types.
I'm planning on porting the runtime and input api to work with scala. Big parts of the validation concepts are not compatible with the concepts of ScalaTest. So you would have to use the standart tools provided by ScalaTest which should be adequate for the most part.
At the moment it's hard for me to provide a timeframe because I wan't to fix a core issue of the framework first which has been bugging me for months.
Cheers!
Alex

The poc works. Now I will have too figure out which parts of the java api don't work with scala.


Fix scene fog parse error

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Codecov Report
Patch coverage has no change and project coverage change: -0.02 :warning:

Comparison is base (ec687f8) 40.71% compared to head (c8c98ee) 40.69%.

:exclamation: Current head c8c98ee differs from pull request most recent head 63dee8f. Consider uploading reports for the commit 63dee8f to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##              0.9    #1503      +/-   ##
==========================================
- Coverage   40.71%   40.69%   -0.02%
==========================================
  Files         351      351
  Lines       17901    17908       +7
  Branches     2630     2636       +6
==========================================
  Hits         7288     7288
- Misses       9971     9978       +7
  Partials      642      642

Impacted Files
Coverage Δ

packages/loader/src/SceneLoader.ts
7.14% <0.00%> (-1.03%)
:arrow_down:

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Want to add the gradient hover effect over a link for multiple lines using css.

Issue Type:

[ ] Bug Report
[x] Feature Request
[ ] Documentaion

Describe the bug

No bug, want to add this hover transition gradient effect over link using css.

Screenshots

can you please assign me this issue. I am under Gssoc 22.

I want to work on this issue under the Gssoc'22. plz assign me for the contribution.

🙋♂𝗛𝗶 pratik gupta,
This is Sayed Tabish. I'm participant of GirlScript Summer Of Code 2022.  And also I'm Experienced Freelance Web Developer with a demonstrated history of working in the internet industry. Strong engineering professional with a Bachelor of Technology - BTech focused in Information Technology from Dr. A.P.J. Abdul Kalam Technical University.
👨💻And It's very nice to contribute and work for Amazing-Css-Effects and
Want to add the gradient hover effect over a link for multiple lines using css. #260 I am interested to work on this issue And also I want to work on such a project that. because I have already worked on similar kind of projects.
Like:

 ,    ,
It will give me a stage to apply my knowledge. building innovative product and put my technical skill to use. plz assign me for the contribution. I'd love if you assign me for the contribution😊.

I want to work on this under GSSoC'22

I want to work on this issue under the Gssoc'22. plz assign me for the contribution.

Make your own issue...

🙋♂𝗛𝗶 pratik gupta,
This is Sayed Tabish. I'm participant of GirlScript Summer Of Code 2022. And also I'm Experienced Freelance Web Developer with a demonstrated history of working in the internet industry. Strong engineering professional with a Bachelor of Technology - BTech focused in Information Technology from Dr. A.P.J. Abdul Kalam Technical University.
👨💻And It's very nice to contribute and work for Amazing-Css-Effects and Want to add the gradient hover effect over a link for multiple lines using css. #260 I am interested to work on this issue And also I want to work on such a project that. because I have already worked on similar kind of projects. Like:   ,  ,  It will give me a stage to apply my knowledge. building innovative product and put my technical skill to use. plz assign me for the contribution. I'd love if you assign me for the contribution😊.

Plz Make your own issue


SmallRye Reactive Messaging In Memory connector

Although, this will need some changes, it will still be relevant once you add the in memory connector dependency 'properly' :-)
Basically, the only places we should use version properties is in the  section of a parent pom or a BOM. In this case this will be boms/common-expansion/pom.xml (look for where io.smallrye.reactive:smallrye-reactive-messaging-kafka is added). Then we can refer to that in the rest of the project without a version.
Then it will also need adding in these files
% git grep "<artifactId>smallrye-reactive-messaging-kafka</artifactId>"
boms/common-expansion/pom.xml:                <artifactId>smallrye-reactive-messaging-kafka</artifactId>
galleon-pack/galleon-shared/pom.xml:            <artifactId>smallrye-reactive-messaging-kafka</artifactId>
galleon-pack/galleon-shared/src/main/resources/license/licenses.xml:            <artifactId>smallrye-reactive-messaging-kafka</artifactId>

and should be automatically picked up when the module.xml is created


[SPARK-24043][SQL] Interpreted Predicate should initialize nondeterministic expressions

What changes were proposed in this pull request?
When creating an InterpretedPredicate instance, initialize any Nondeterministic expressions in the expression tree to avoid java.lang.IllegalArgumentException on later call to eval().
How was this patch tested?

sbt SQL tests
python SQL tests
new unit test

Can one of the admins verify this patch?

Test build #89798 has started for PR 21144 at commit 46972f7.

Test build #89798 has finished for PR 21144 at commit 46972f7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/89798/
Test FAILed.

Merged build finished. Test FAILed.

@bersprockets can you also check if other interpreted code paths have this problem?

can you also check if other interpreted code paths have this problem?

@hvanhovell will do.

retest this please

Test build #89805 has started for PR 21144 at commit 46972f7.

Test build #89805 has finished for PR 21144 at commit 46972f7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/89805/
Test FAILed.

retest this please

Test build #89807 has started for PR 21144 at commit 46972f7.

Test build #89807 has finished for PR 21144 at commit 46972f7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/89807/
Test PASSed.

@hvanhovell @maropu As it turns out, there are at least two places where an InterpretedPredicate is created but never initialized: SimpleTextSource.buildReader, and ExternalCatalogUtils.prunePartitionsByFilter.
It seems unlikely that nondeterministic expressions would be used for partitions, but maybe I am not imaginative enough. Also, these seem like bugs in those two classes, not in InterpretedPredicate.
Also, I reran the mostly-interpreted SQL unit tests, this time with SortPrefix implemented, and got the error count down from 1270 to 114. None of the errors were 'requirement failed' exceptions (so no uninitialized nondeterministic expressions).

@bersprockets I think we assume Predicate.initialize is called in not a driver side but executor sides, so it's ok as it is (SimpleTextSource. buildReader and ExternalCatalogUtils.prunePartitionsByFilter).
btw, as you know, the issue UnsupportedOperationExceptions  should be fixed in SPARK-23580.

@hvanhovell @maropu Is there anything on this PR that I should do?

LGTM - merging to master. Thanks!

Thanks much!

shall we backport it to 2.3?

@cloud-fan I don't think this is an issue in 2.3. It would be an issue only once SPARK-23580 ("Interpreted mode fallback should be implemented") is completed.


When there is no description for a conference, add an default message

When the event has no description, please add a "No description for this event" text

Done.


Construct Special Tree in C++

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Code added in cp folder
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#6702

@ankitaggarwal23 Kindly review my PR


Tox integration as test runner

Tox will help :

Isolate tests, and select perimeter to launch for different contexts
Test over multiple environnements to help integration

Main changes :

requirements.txt not needed anymore in the setup (are they used by another part of the application?)
make file integration (based on #333 )

Codecov Report

Merging #336 (11eb20b) into master (d6b43a2) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #336      +/-   ##
==========================================
- Coverage   82.89%   82.86%   -0.04%
==========================================
  Files          13       13
  Lines        2689     2684       -5
==========================================
- Hits         2229     2224       -5
  Misses        460      460

Impacted Files
Coverage Δ

mplc/dataset.py
85.83% <0.00%> (-0.21%)
:arrow_down:

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 d6b43a2...11eb20b. Read the comment docs.

Someone else to review @natct10 ? @RomainGoussault ? @celinejacques ?


hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds Maximum 5 seconds？

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds Maximum 5 seconds？
No more than 5 seconds。
For example：
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000
but It's only 5 seconds;

same question

I'm facing the same issue. seems like hystrix.command is not available anymore. any suggestions?


Project usefulness

I think this lib need to have integrations with endpoints like page exports for downloading and synchronization. Otherwise for me it is useless

Hey @VladStepanov
Thanks for your input, but could you please elaborate a little bit more on this?
The lib is a class that provides 4 methods:

get a list of projects
get a project by ID
get a list of pages by a project ID
get page by ID

These are pretty the same endpoints that Tilda API currently provides. Check them in the source code
What exactly endpoint is missing for you?
Thank you and looking forward to hearing from you 👍

@mikhail-monchak
I needed endpoints like

/getprojectexport
/getpageslist
/getpagefullexport

Actually I followed docs guide "Экспорт всех страниц в проекте" in "how to" section https://help-ru.tilda.cc/api (no anchors, scroll to bottom)

Hi @VladStepanov
The endpoints you requested have been added to the v2.2.0
Thank you for the request! 👍

Thank you too :)


add a provider parameter in SSLContextBuilder In 4.4.x branch

add provider support, this code come from the trunk branch.

@garydgregory   i create a new pull request .

I applied the patch to 4.4.x. Thank you!


Re-scale metrics upon ingest.

For consistency across datasets and possibly improved convergence time, re-scale our metrics to a [0, 1] scale upon ingest. To start, let's do (x-min(X))/(max(X)-min(X)).

We may want to revisit this if it doesn't fix some of the weird C-Step behavior in MCD we were seeing.

C-Step behavior?

The inner loop in FastMCD: https://github.com/stanford-futuredata/macrobase/blob/master/src/main/java/macrobase/analysis/outlier/MinCovDet.java#L209


Impossible to use ledger with networkfacade signing callback

I'm working on integrating NEO3 ledger support into neon-wallet.  The existing (non-ledger) code uses the networkfacade class, so I'm trying to re-use that by providing a ledger specific signing function to the signingConfig.
The problem is that the sign function makes an assumption what the to be signed data should look like. Specifically (L174):
https://github.com/CityOfZion/neon-js/blob/37c5ba6e522553bfacd72ce8b1b78a414d768f2a/packages/neon-api/src/NetworkFacade.ts#L174-L180
The getMessageForSigning creates the hash to be signed and this is passed to the signing callback.  The problem is that it is not allowed by Ledger's security standards to sign such data. To elaborate; their security standard says that the Ledger device must validate the data on device. As such the NEO3 ledger app is implemented that it needs to receive

the unsigned data portion of the transaction
the BIP44 path
the network magic

it will take all this data, performs the tx checks, create the hash on the device, sign the hash and return the signature
Solution?
One possible solution is to pass the transaction object to the signing callback instead of the hash and let the callback decide how to extract the data it needs. i.e.

signWithAccount can internally call getMessageForSigning()
signWithLedger() can call tx.serialize(false) to grab just the unsigned data portion of the tx

I think it should also pass the network magic as this is needed to create the hash to be signed.
Alternative signing function interface
We currently have
https://github.com/CityOfZion/neon-js/blob/37c5ba6e522553bfacd72ce8b1b78a414d768f2a/packages/neon-api/src/transaction/signing.ts#L3-L6
How about
export type SigningFunction = (
   tx: Transaction,
   network: number,
   witnessIndex: number
 ) => Pro

The tx type change is explained above, same for network magic. Changing to witnessIndex instead of verificationScript is just me thinking that we're already passing the tx object so an index should be enough to get the same data without basically passing the verification script twice.

Due to our time our difference I went ahead with a PR based on the above proposal.

Point 1 sounds good. Not sure point 2 would bring much more benefit. I’ll update the PR tonight

On 2 Sep 2021, at 08:00, Yak Jun Xiang @.***> wrote:

Im good with the improvement, sounds solid. Just 2 minor points:
I prefer the signature to be extensible so my proposal is:
export type SigningFunction = (
tx: Transaction,
details: {
network: number,
witnessIndex: number
}
) => Promise
The details object can be extended if anything more comes up in the future without mutating the top level signature too much.
An alternative is to support multiple method signatures by adding an enum to the signingConfig:
export interface signingConfig {
// Enum to identify the signature type
callbackType: "SERIALIZED" | "OBJECT";
signingCallback: SerializedSigningFunction | ObjectSigningFunction;
}
This allows us to retain backward compatibility and move forward with the newer signature.
I am okay with moving forward with point 1 in place, not too clear if point 2 is really required.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


adding readme.nodejs.md for automated node sdk generation

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-libraries-for-java

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Hi @schaabs !
THanks for sending this, Dan and Riki "assigned" are planning on plugging the whole Node SDK into the AUto Generation and will include this part in. @daschult and @RikkiGibson let's sync-up on this tomorrow and see if we should pull this in or wait for your upcoming changes.

I think this is a good starting point but config might still need to be tweaked. Will take a shot at doing the config changes that still appear to be necessary, and then pull in @lmazuel and @marstr for review and to see if we can get the bot to open some test PRs to azure-sdk-for-node.


Command Aliases

Perhaps it could be useful to define command aliases for a testsuite for long pathed commands that are repeated.
example:
commands:
- command: ../../../bin/dispatch -n dispatch-tasks serviceaccount create multi-namespace

I was initially thinking replacing ../../../bin/dispatch so a shorter version could be referenced...
however perhaps there are commonly repeated commands where the full command is something that can be named and referenced.


Camel - Route Metrics view

'/camel/routeMetrics'
~No screenshot available.~ Let's investigate whether we need this view for Camel 3+ or not.

This view is outdated for Camel 3. Let's close it without implementing it.


Another tip: Remove comments from strings files

Something that saved us a significant amount of space at uber recently was to remove comments in strings files in release builds.  Even compressed it was a significant chunk of space!

Uff thanks for the advice. Done 🤙


Usability improvements

Define the CTL_CODE macro and the IoGetCurrentIrpStackLocation function.

Move constants and macros (such as FILE_DEVICE_UNKNOWN, METHOD_BUFFERED, and others) from this crate and windows-rs to a shared crate.
Motivation: This enables the definition of IOCTL codes in a shared crate that can be linked to both the driver and application sides.

Change the types of some constants, like IRP_MJ_* to usize, and IO_NO_INCREMENT to CCHAR. It would also be beneficial to define TRUE and FALSE as pub const TRUE: BOOLEAN = 1; and pub const FALSE: BOOLEAN = 0; respectively, or even better, eliminate all BOOLEAN types from the API and replace them with the plain Rust bool, although I understand that this might be nearly impossible.
Motivation: To eliminate unnecessary type casting where it logically should not exist.

Do something with __bindgen_anon_*.
Motivation: The statement (*irp).IoStatus.__bindgen_anon_1.Status = status; looks very awkward, and it's also challenging to locate the needed field in more complex cases like (*irp).Tail.Overlay.__bindgen_anon_2.__bindgen_anon_1.CurrentStackLocation.

In general, it would be beneficial if constants in constants.rs had types from types.rs.

Just checking - Is there no IoGetCurrentIrpStackLocation currently? Just checking as I'm looking for it in the docs and the repo but cant find it. If not - I may take a stab at implementing it myself as I'd love to contribute to this project! I also have a macro for CTL_CODE that I could contribute 🥳

I've had a stab at binding this - I couldn't get it to bind via FFI for some reason, so I went into the MSDN and had a look at the C implementation in the header file (wdm.h) and I have come up with:
(note, this is also currently untested as of the time of writing)
pub unsafe fn IoGetCurrentIrpStackLocation(irp: PIRP) -> PIO_STACK_LOCATION {
    assert!((*irp).CurrentLocation <= (*irp).StackCount + 1); // todo maybe do error handling instead of an assert?
    (*irp).Tail.Overlay.__bindgen_anon_2.__bindgen_anon_1.CurrentStackLocation
}

I'm not sure if this is suitable for this project as it looks like mostly FFI bindings? If this is suitable for this project I would love to contribute it as my first addition, or to be advised on how it could be implemented using FFI; This function doesn't appear in the exports table of ntoskrnl.lib, so I assume that this project is looking (over time) to add implementations in Rust style for the wdk C header files?
If this is something i could contribute, I'll fix up any safety of the above snippet (its just a POC thing), handle errors appropriately, and hopefully get my first pull request into this awesome project 🥳

I think this is suitable for this project, since there are already some wrappers around low-level unsafe primitives. For example: https://github.com/microsoft/windows-drivers-rs/blob/main/crates/wdk/src/wdf/spinlock.rs. According to the README wdk crate should be suitable for safe primitives / utilities, which means that instead of assert! there should be something like Result or Option. But that's just my opinion; I think it's worth pinging one of the owners of this repository.

As for asserts, to be honest, I'm not sure if assert! and RtlAssert are interchangeable. What's the difference between them, and which one should be used when writing such utilities?
As for whether to use assert! or something like Result, I think it depends on the fact that this particular assert was written to track situations where the method was called at the wrong time (i.e., a bug in the driver), and therefore an assert should be used here instead of error handling. That is, a bug in the driver is more of an unrecoverable error (https://doc.rust-lang.org/book/ch09-00-error-handling.html).

@wmmc88 Hey! I'm not  sure if this is something you are able to comment on? I'd love to be able to contribute something here :)

As for asserts, to be honest, I'm not sure if assert! and RtlAssert are interchangeable. What's the difference between them, and which one should be used when writing such utilities?

Per https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/_kernel/, RtlAssert should not be used within a driver.

Is there no IoGetCurrentIrpStackLocation currently?

Bindgen doesn't generate a binding to it because its an inline function. There is no symbol to link a bindgen-generated function to.

I'm not sure if this is suitable for this project as it looks like mostly FFI bindings? If this is suitable for this project I would love to contribute it as my first addition, or to be advised on how it could be implemented using FFI; This function doesn't appear in the exports table of ntoskrnl.lib, so I assume that this project is looking (over time) to add implementations in Rust style for the wdk C header files?

I think this is suitable for this project, since there are already some wrappers around low-level unsafe primitives. For example: https://github.com/microsoft/windows-drivers-rs/blob/main/crates/wdk/src/wdf/spinlock.rs. According to the README wdk crate should be suitable for safe primitives / utilities. But that's just my opinion; I think it's worth pinging one of the owners of this repository.

Since this should be a 1:1 port of what's in the header, this belongs in the wdk-sys crate. For example, #183 added the NTSTATUS handling apis that weren't generated because they're inlined in the headers. wdk crate is supposed to be reserved for more idiomatic Rust safe apis.. but that work is still ongoing internally and heavily skewed towards WDF.
IoGetCurrentIrpStackLocation afaiu is solely for the more legacy-style WDM drivers. I would strongly suggest you to look towards using WDF instead: https://learn.microsoft.com/en-us/windows-hardware/drivers/wdf/wdf-porting-guide

Thanks for the comment, so you dont want a contribution for IoGetCurrentIrpStackLocation as it relates to WDM? Are you only porting WDF APIs?

RtlAssert should not be used within a driver.

But it looks like IoGetCurrentIrpStackLocation uses RtlAssert under the hood.

@wmmc88 If IoGetCurrentIrpStackLocation is for legacy drivers, it's given clearly in examples from Windows Kernel Programming 2nd Edition by Pavel Yosifovich, I'm guessing given that it is still to be used as part of IOCTL functions? If so, I would still like to contribute it ^^, as it seems relevant and from what I know, Pavel is considered a leader in terms of driver development books.

@Unkorunk Just  FYI I have submitted a PR for the IoGetCurrentIrpStackLocation function! https://github.com/microsoft/windows-drivers-rs/pull/251
It's my first PR into this project, it's a small addition but I'm excited for it! Hopefully it passes :) 🥳


Ability to upload resume and job description at runtime

Issue Title
Ability to upload resume and job description at runtime
Type

[ ] Big
[x] Feature Request
[ ] Info
[ ] Bug
[ ] Documentation
[ ] Other (please specify):

Description
Right now, we have to copy resume and JD to data directory before starting the app.
Ability to upload JD and resume via dashboard will significantly improve UX

Hi @raditya3 yes, we're planning a proper dashboard for it. That will allow us to upload resumes.

may be we can integrate https://filebrowser.org/

Hey there,
I've got a quick suggestion to make our Streamlit app even better! 🚀
Wouldn't it be awesome if we could upload our resume and job description right from the dashboard instead of manually copying them to the data directory before starting the app? It would save us time and make the user experience super smooth.
I am proposing to add this directly to the streamlit app, via file upload.
@srbhr
Cheers! 🌟

Hey @srbhr
Can I implement this feature using https://filebrowser.org/   ?

Sure

Hey @srbhr
Can I implement this feature using https://filebrowser.org/ ?

I think it's already done by @imhalcyon in his interactive_ui PR : https://github.com/srbhr/Resume-Matcher/pull/184

Yes, Streamlit interactive already has this feature. But I'm more interested in the file browser implementation.
If that can can be done, I'll merge that into a separate branch @Devasy23
Which can be used in the web app going forward.

Is file browser needed? It honestly seems to be an overkill for this use case.

@imhalcyon and @Devasy23 Sonar reported a vulnerability in the web-app. And I'm looking into alternatives.
We discussed it in the last catch-up. In February.
We can discuss this feature in detail on Discord this weekend.


Fuse tas rebased

Rebased #58 on master.
Fusion of airspeed still needs some small fixes.
E.g. when to fuse airspeed (now we never do it) and how often we want to do it.
@tumbili can you upload the plots from today's flight?

Hi Carl,
I think your PR will pass build checks if you change lines 92-93
memset(_airspeed_innov, 0, sizeof(_airspeed_innov));
memset(_airspeed_innov_var, 0, sizeof(_airspeed_innov_var));

to mirror lines 77-78, since these values are just floats and not arrays of floats.  Be sure to place them in the initializer list above the _heading_innov as you have done in the ekf.h file, to keep the initialization order and avoid compiler warnings.
_airspeed_innov(0.0f),
_airspeed_innov_var(0.0f),
_hagl_innov(0.0f),
_hagl_innov_var(0.0f),

I had to learn these lessons in the past few weeks by the school of hard knocks... I hope this helps!

I think the next steps are to get the airspeed data added to the logging and replay function and get the control logic implemented so that airspeed fusion does not run at inappropriate times (eg on ground) and the wind states and associated covariances are initialised correctly when airspeed fusion is started.

@mcsauder @priseborough
Thank you very much for the comments!
I changed the initialization to not use memset, hope it passes the checks now

Log: http://logs.uaventure.com/view/3Yvra5Fj889soKNEjCYWw

@priseborough I would suggest that we have this merged but not used yet in the estimator. This avoids pailful rebasing. @CarlOlsson Can you implement the steps which @priseborough has proposed? I think Paul is always open to have a chat on skype if you get stuck somewhere.

Happy with that proposal provided it is off by default until we get the logic and data logging in and tested.

Yes I am looking forward to implementing the steps. Will create a todo list for it.

@CarlOlsson Where is this standing? Let me know if I can help you somehow. It would be great if we can merge this even if airspeed fusion is not activated yet.

@tumbili I thought we decided on merging this? (To avoid future rebasing) I have a todo list that needs to be done before we can activate tas fusion


Add a folder creation

Is it possible to bring a folder creation to the provider ?
Indeed we have the dashboard creation but it needs to refer to a folder uid which can be created only manually so we cannot bring all infra as code without this ...
Moreover it seems that the public API is not able to perform a folder creation so we cannot bypass this step and we are forced to do it manually

Hi @afreyermuth98 thank you for your feedback.
We will work on adding folders to the provider :)

Hey @afreyermuth98!
Grafana folders are available from version 1.14.0:
https://registry.terraform.io/providers/logzio/logzio/latest/docs/resources/grafana_folder


Default final destination should also toggle when -G option is used

First, thank you for this fantastic plotter!  Increased my time even over the optimized pechy version of chiapos by almost 50%!
Now, my issue/request:  When you do chia-plotter --help, it says:  "-d, --finaldir arg   Final directory (default = tmpdir)", but if you don't use the -d option, leaving it to default to tmpdir, and use the -G toggle to alternate tmpdir and tmpdir2 with each run, the final destination does not stay consistent with the currently running tmpdir, instead it stays as whatever the original tmpdir was.
The reason this matters is, I'm running tmpdir on one NVME drive, and tmpdir2 on a separate NVME drive for better throughput.  I toggle the tmpdirs so that the wear on the NVMEs is more even.  But when the final copy takes place, I want the destination to be on the same device that the plot was produced (the current tmpdir), so that no actual copy needs to take place, it's just a rename.  Instead, what I'm getting is that the first, third, fifth runs are kept on the same drive with an instant rename, while the second, fourth, sixth runs are forced to copy from what was my tmpdir2 device on the odd numbered runs to my odd-tmpdir device, adding a couple of minutes and unnecessary 100gb write to my every other plot.  I have cron jobs set up to properly archive from both tmpdir and tmpdir2 when plots are found there, and everything would work beautifully if plots created when tmpdir2 alternated to become the tmpdir would stay where they are for the final copy, but the way it is, the completed plots are always forced to wind up in the original tmpdir.
Thanks for any help!

I think you should merge this with my issue or at least support the issue I already raised at https://github.com/madMAx43v3r/chia-plotter/issues/547

Hi, do you mind sharing your crontab script/settings for manually moving the plots from tmpdir to final disk?
Cheers

I think you should merge this with my issue or at least support the issue I already raised at #547. Or at least this partially relates to my issue.

Your issue is similar, but not the same: yours is applicable for anyone who uses any combination of temp disks and just wants multiple dest dirs. This issue specifically relates to people who use two ssds as their temp drives. This issue requires modification of an existing option (the drive swap option). You issue requires a totally new option. It's good that we've got these both a separate issues :)

I think you should merge this with my issue or at least support the issue I already raised at #547. Or at least this partially relates to my issue.

Your issue is similar, but not the same: yours is applicable for anyone who uses any combination of temp disks and just wants multiple dest dirs. This issue specifically relates to people who use two ssds as their temp drives. This issue requires modification of an existing option (the drive swap option). You issue requires a totally new option. It's good that we've got these both as separate issues :)

Having an option that would alternate between destinations (as I'm advocating) would produce the same result as it would alternate between the destinations at the same time it was alternating between tempdirs.

I think you should merge this with my issue or at least support the issue I already raised at #547. Or at least this partially relates to my issue.

Your issue is similar, but not the same: yours is applicable for anyone who uses any combination of temp disks and just wants multiple dest dirs. This issue specifically relates to people who use two ssds as their temp drives. This issue requires modification of an existing option (the drive swap option). You issue requires a totally new option. It's good that we've got these both as separate issues :)

Having an option that would alternate between destinations (as I'm advocating) would produce the same result as it would alternate between the destinations at the same time it was alternating between tempdirs.

Correct. However, this is only useful for people that have the ability to swap between tempdirs. Many people here are using an SSD for tmp1 and a ramdisk for tmp2. Therefore, they can't swap between tempdirs every plot because it would ruin their times. Therefore, what they need is an option independent of the tempdir swap option, that allows for multiple final directories. This issue relates specifically to tempdir swap functionality, while your issue is more general: yours covers the general idea of a "multiple final dir" option, independent of the tempdir swap option. That's why these issues are different, and why it's beneficial to keep them separate.

I think you should merge this with my issue or at least support the issue I already raised at #547. Or at least this partially relates to my issue.

Your issue is similar, but not the same: yours is applicable for anyone who uses any combination of temp disks and just wants multiple dest dirs. This issue specifically relates to people who use two ssds as their temp drives. This issue requires modification of an existing option (the drive swap option). You issue requires a totally new option. It's good that we've got these both as separate issues :)

Having an option that would alternate between destinations (as I'm advocating) would produce the same result as it would alternate between the destinations at the same time it was alternating between tempdirs.

Correct. However, this is only useful for people that have the ability to swap between tempdirs. Many people here are using an SSD for tmp1 and a ramdisk for tmp2. Therefore, they can't swap between tempdirs every plot because it would ruin their times. Therefore, what they need is an option independent of the tempdir swap option, that allows for multiple final directories. This issue relates specifically to tempdir swap functionality, while your issue is more general: yours covers the general idea of a "multiple final dir" option, independent of the tempdir swap option. That's why these issues are different, and why it's beneficial to keep them separate.

I agree with VertiHydro.  In addition to his points, number435398, your request would require adding yet another parameter to the command line arguments, while mine would not.  That could involve significantly greater effort for Max to implement and test.  Mine might just checking to see on the initial run if no -d parameter was set, and if none was set, then at the beginning of each iteration set the final destination dir to be the current toggled .  That's 2 lines of code that I am arguing logically should be there at least to make behavior conform with the current documentation of -d and -G, or at least, the current documentation is ambiguous about the effect of using -G with the default -d.  Yours probably would require quite a few more lines of code, and testing, and Max might very well decide he's willing to put in his valuable time for the quick and easy one and not the harder one.  I hope you get your functionality too, sure, and it WOULD also solve my problem if he wants to go that extra mile, but I'm not ready to subject my simpler request to being packaged with yours, both or neither.

This issue just became massively more important to me.  The fact that on the even-numbered runs, the plotter is creating a copy of the same plot in the two plotter directories without renaming them to something other than .plot, and my cron jobs are scanning those two folders to archive, means I am getting multiple copies of the same plots on my HDDs since yesterday.  Implementing my one line fix as requested would solve this problem.... have to come up with some new archival method that won't create duplicate plots in the meantime, or turn off the -G toggle.

Could you manually start two different terminal windows, scatter start them, and have them run "simultaneously"? But each one with a different set of folders? It seems like that might work for your particular issue.

Thanks for the suggestion, but not really interested in running plots in parallel in madmax - I'm getting consistent 30 minute completion times sequential and that's plenty good enough for me without introducing the complexities of parallel plots.
I just basically have to specify a -d parameter to get the plots in a staging directory for now when using the -G toggle so I don't get two copies of the same .plot existing in two directories at once, even if only during the length of the copy.
Max, I would also suggest (as I believe I saw someone else do in another thread) doing what the plotman plotter does and renaming a plot from .plot to dot something else during the copy period, so plots being moved don't look like two distinct complete plots to the filesystem during that period.

Crap.  Even that won't work, I don't think.  As long as the file has a .plot extension and the filename is indistinguishable from a normal plot while it's being copied/moved from one device to another by the plotter, and thus existing in two places at once (and possibly getting renamed/moved by an archiving system during that copy/move) , I don't think there's any way to create a proper archival procedure.  A rename during the madmax plotter's copy procedure to something other than *.plot seems maximally critical to me.  Someone else has to have reported this by now, I'll try to find an existing issue for it and add my support there.
Hmmm.... the only kludgy workaround I can come up with is to puzzle out and add some way to check the filesize as greater than 108gb before attempting to initiate an archival to all my cron jobs.  But even that could possibly fail, in the unlikely event the copy/move was somewhere between 108gb and the final filesize when the archive job kicked off.

I use "mv *.plot  and it works fine. Though that's from the folder where it calls the final plot "plot.temp" first, so I don't know if that'd help. Though I do have mine re-execute "mv" after a 30 minute delay after it finishes its previous "mv", so by the time it gets to the plot file that was a "temp" file at the time of execution (after copying 4-5 other plots) that file is no longer a "temp" file. It works for me just fine for that purpose.

Perhaps my problems are mostly self-inflicted by trying to archive directly from tmpdir (by not specifying a -d).  I'm working the problem.

Yeah, I'd specify a -d.  Only reason I want multiple -d options is because I'm creating plots faster than some of my destination folders can be written to without backing up the next plot creation/copying.

Okay, I think I got it working without having to specify a -d and archiving straight from my tmpdirs.  I just had to add steps to my cron jobs specifically for not getting confused by the other files in those directories where part of the filename is ".plot" (like, for example, ".plot.tmp".
So, never mind my other complaints and panic - I was able to address those issues.  I'm back to just hoping for my original one-line modification request, of having the final destination also toggle to tmpdir2 when -G is set, at least when no -d option was specified and the default would be tmpdir as specified in the documentation.

#612 should fix it
if it works we'll merge it

#612 should fix it
if it works we'll merge it

Thank you Max!  Hugely appreciated.
If I'm expected to test it (and I'm happy to), could someone clue me in on how to implement #612 on my system?  I'm still a bit of an Ubuntu/Github noob, and my software installs are still pretty much cut and pastes from guides, so would appreciate learning me how to work that particular aspect.

To test the branch:
cd chia-plotter
# to get latest branches (if not already done so)
git fetch
# switch branch
git checkout finaldir-toggle-fix
# make sure you are on latest commit in branch (at first you will be)
git pull
# re-compile
./make_devel.sh

To switch back to master:
cd chia-plotter
git checkout master
./make_devel.sh

It gets more complicated when submodules are updated or added, but that's not the case here.

Tested for several hours, works absolutely perfectly sir.  Thank you!  Both for the quick fix and the git education.  Much appreciated.

Awesome


Retest SSH Fingerprint stability on Update

"I had to remove (in windows 10) the SSH key twice during the process"
--> restest SSH fingerprint staying the same on update with minimal version
original report: https://github.com/raspiblitz/raspiblitz/issues/3800#issuecomment-1666838674

I restested an update with the v1.10.0c2 minmal image an had no problem with the SSH fingerprint. I dont have Win10 to test. I will close this issue. But please reopen if somebody can reproduce.


Ran clang-tidy with readability-braces-around-statements

RAT check failed! https://ci.trafficserver.apache.org/job/RAT-github/160/

This is a big change.  We should determine if we would like to have braces and all conditionals and loops.  This is something I do myself almost all the time.

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/145/

AU check failed! https://ci.trafficserver.apache.org/job/autest-github/143/

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/271/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/1841/

Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/1732/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/403/

I'm -0 on requiring braces. I am +1 on requiring that if any if clause has braces, all must. But I see nothing wrong with
if (condition)
    do_this();

I think the "Subject" line on this PR is slightly confusing, "more readable" ? It seems this enforces braces on all conditionals?  I definitely don't have a strong opinion on this, but maybe this is something to bring to the mailing list / summit to discuss ?

Oops, looks like there are conflicts here, that has to be resolved, but still +1.


introduce a doc for mitigating breaking change

Description
Add your description here!
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

@m-nash @ArthurMa1978 I believe introducing documents guiding how to mitigate breaking changes is a long term work because we have so many cases and practices therefore I would like to invoke you to have a review on this small piece first so that we could put the link of this document in the Mgmt-Release-Process wiki first and we could improve to include other more complicated cases later.

@ArcturusZhang:  Can we please update the PR description to discuss the goals and audience for the guide?   My comments assume that this is intended to guide service partners generating management libraries, based on the content.

@ArcturusZhang: Can we please update the PR description to discuss the goals and audience for the guide? My comments assume that this is intended to guide service partners generating management libraries, based on the content.

Yes exactly. I will update the description accordingly


[SPARK-17121][SPARKSUBMIT] Support _HOST replacement for principal

What changes were proposed in this pull request?
_HOST is a placeholder for the host which is used widely for hadoop components (like NN/DN/RM/NM and etc), this is useful for automatic configuration of some cluster deployment tool. It is would be nice that spark can also support this, especially useful for spark thrift server.
How was this patch tested?
Tested manually in a secured cluster

Test build #63961 has started for PR 14694 at commit 926cf6a.

Test build #63961 has finished for PR 14694 at commit 926cf6a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63961/
Test PASSed.

@vanzin  Could you help review it ?

Can this be done just for the thrift server? Normal applications should not do this, since normal applications should not be using service principals.

Also, in this context, the thrift server is kind of an application, not a service; it's not like you have multiple instances of the thrift server needing to authenticated with the KDC - you'll normally have one, maybe two, and in that situation you can just use user principals (sans the host part). Compare to, e.g., HDFS where each host has its own DN that needs to authenticate.
So I really don't think this is necessary at all.

@vanzin Spark thrift server needs to access hive metastore principal which is a service principal  in secured mode. Besides that I think there's another possibility that user might develop a custom service based on spark, in this case they also need service principal.
And SecurityUtil.getServerPrincipal will only replace _HOST in the patter of x/_HOST@domain, so I think it is safe to apply it globally.

Spark thrift server needs to access hive metastore principal

That's not true. It needs access to the credentials of a user that can talk to the metastore. That can be any user credential, it doesn't need to be a service credential.

Besides that I think there's another possibility that user might develop a custom service based on spark, in this case they also need service principal.

That would only make any difference if the thrift server were doing authentication, which it's not.
It's not about being safe or not, it's about encouraging the use of Kerberos in the right way. We've already -1'ed similar patches in the past for the same reason.

Thanks @vanzin, close it.

This is useful for the Spark HistoryServer, especially if it's configured to store history in HDFS. That's where I've run into this issue.


Move validation into one place where it's split between builder and constructor

Background
When we upgraded the Spotbugs Maven plugin, it complained about exceptions thrown in constructors:

https://github.com/gchq/sleeper/issues/2048

In other issues split from that one, we moved a lot of validation code out of constructors. There are a number of places where this caused the validation to be split between the builder and constructor.
Description
We'd like to ensure that validation for new object happens in one place, rather than being split between builder and constructor.
Analysis
Here's lists of classes where this is a problem.

Partition
CompactionJob

Closing as we'll disable the Spotbugs rule instead, see issue:

https://github.com/gchq/sleeper/issues/2133


azcopy is given more powerful SAS than needed (has write, only needs read)

Is your feature request related to a problem? Please describe.
Using azure-cli  2.17.1, when copying a blob from a blob storage account to a local file using azcopy (via az storage copy), even though I am logged in, a SAS is generated. The SAS is displayed as a part of the console output with no censoring whatsoever (which makes it more likely to accidentally leak) and it includes more permissions than needed. I think read permission for the blob service would suffice, but apparently all of them are granted (sp=rwdlacup). The generated command line is:
'C:\\Users\\<usr>\\.azcopy\\azcopy.exe', 'copy', 'https://<account>.blob.core.windows.net/<blobpath>?se=2021-01-14T13%3A53%3A27Z&sp=rwdlacup&sv=2018-03-28&ss=b&srt=sco&sig=redacted', 'D:\\<destinationpath>'

Describe the solution you'd like
The SAS would ideally not be generated, the az login credentials would ideally be used for azcopy too.
Alternatively, if the SAS is used, it should not be displayed uncensored. Also, it should only include the minimum permissions necessary to do the job.
Describe alternatives you've considered
I've considered using az storage blob copy but in some scenarios it's much, much slower than az storage copy, in some cases more than 10x slower.

storage

storage

Thanks @MaxTranced  for your feedback. We need to integrate with Azcopy to use az login credentials. @zezha-msft we could set up a meeting for the usage.

Thanks @MaxTranced  for your feedback. We need to integrate with Azcopy to use az login credentials. @zezha-msft we could set up a meeting for the usage.

@Juliehzl sounds good!
The combination of sp=rwdlacup and srt=sco is indeed too powerful.

@Juliehzl sounds good!
The combination of sp=rwdlacup and srt=sco is indeed too powerful.


Handle redirections in hf_hub_download for a renamed repo

Fix https://github.com/huggingface/huggingface_hub/issues/981.
Solution I went for is to force redirection only when the Location header is relative which is the case for renamed repos. It doesn't seem that an out-of-the-box argument exists to do that in requests so (internal) redirections are resolved and unpiled in this PR's code.
Also, I renamed _request_with_retry to _request_wrapper as it is an internal helper and its scope has expanded. I saw
it was used at 3 different places only for its "_raise_if_offline_mode_is_enabled" feature instead of the initial "backoff" feature. I think a generic _request_wrapper is less misleading in that case.
@sgugger this impacts you this I saw it is used here in Transformers. I didn't want to go for the "deprecation + removal in 2 months" process since it is internal and used only once in Transformers. You can just rename the function and keep the same arguments.

@SBrandeis @julien-c I would be really interested in a review for this PR not only for the code itself but also to confirm it is a "right" way of doing it (e.g. it will not break in 3 months because of a change in moon-landing).

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

I did ask if the three private methods I'm using in Transformers would be stable, apparently not to the right person. So, since they apparently end up not being stable, we will stop using them and rewrite the same code there (which is a bit of shame but I'm not in the mood for testing for different attributes to support the main version of huggingface_hub as well as the last released one).

I'm also tagging @coyotte508 and @Pierrci (the former of which is in vacation, so it's more for visibility)

Sorry my bad. I did not thought about the fact future versions of Transformers must be compatible with past versions of huggingface_hub. I made a commit to at least ensure backward compatibility when using _request_with_retry.
I am just not a fan at all of having a method used for another reason than what it's called. Another solution also would be to use _raise_if_offline_mode_is_enabled instead since that is why you used request_with_retry right ?

Thanks a lot for adding an alias!

Another solution also would be to use _raise_if_offline_mode_is_enabled instead since that is why you used request_with_retry right ?

Not only, we also need the part that raises, and probably all the new code you are adding as well.
The main problem for compatibility is making sure the main branch of Transformers works until the release with either a source install of huggingface_hub or the latest release (we don't have to worry about older versions of Transformers since they don't use any huggingface_hub code there). So if you can keep the alias until just before the release and remove it at the release time, for which we will synchronize with the rename on the Transformers side, I believe we can avoid any headache.

So if you can keep the alias until just before the release and remove it at the release time, for which we will synchronize with the rename on the Transformers side, I believe we can avoid any headache.

Good to know !

@LysandreJik @julien-c @Pierrci @SBrandeis Can one of you formerly approve this PR so that I can merge ? 😇
Thanks in advance 🙏


Design: lcl_html_toolbar helper class for menus

Added a class for menu generation - seems that quite typical pattern in may parts, improves code readability.
Will adjust it a bit more yet.
Potentially will add "del_item" for dynamic menu rebuild, then menu can be an attribute of a page instance.

good idea, thanks
feel free to increase the version number in top of the program, I'm trying to follow http://semver.org/ would categorize this one as bugfix(PATCH), as everything looks the same from a user perspective

feel free to increase the version number in top of the program

Well, honestly that sounds arguable to me as versioning is a privilege of the maintainer in my opinion :) Also if all parallel contributors will change versions it might become a mess. Anyway this "policy" worth to be mentioned in CONTRIBUTING.md
BTW I didn't create an issue for this merge - is this ok?

version: ok
issue: yes


A problem while Chinese inputing

Hello.
I don't know how to describe this. I think I may tell how could Chinese input, and then I may describe this more clearly.
We use pinyin to tell Chinese characters' pronuncations, and pinyin is formed like English.
When Chinese typing by pinyin, there will be a bar with matching words. Some input methods like Sogou will display typed pinyin too, while some like Windows pinyin not.
I just use Windows pinyin, and when I try to input chinese, I can see the bar with matching words, but my typed pinyin disappears. It is still available but not viewable. I don't know if japanese input will behave like that, but i think it's not convinent.

I can't see the romanji characters, and other case:

These are two cases of typing Chinese. I have read an Chinese article about this, maybe it will help. Moreover, here're some Chinese words to test:
你好：n(i)h(ao)，Hello
再见：z(ai)j(ian)，Goodbye
中文：zh(ong)w(en)，Chinese(language)
编辑器：b(ian)j(i)q(i)，Editor
手机：sh(ou)j(i)，mobile phones
电脑：d(ian)n(ao)，computers
Letters in parentheses are skipable.

I think I must have broken IME support in 0.5.1, because this was explicitly developed in 0.5.0 and it was working. Here's the screenshot I posted for the release.

Yes, I broke it while fixing another issue.

I have tried the old version,  it's right...
Maybe this issue can be closed.

Nono, I need to fix it for the next version haha. The fix is trivial on macOS and Linux but Windows SDL2 implementation of IME has some bug that is problematic. I'll have to make some tests on Windows.

Regression fixed, it will be part of the next minor release.

Maybe related: https://github.com/SpartanJ/ecode/discussions/163

Regression fixed, it will be part of the next minor release.

I build from source using the latest code. It doesn't fix my problem.
@THZrry Does it work for you?

Please clarify your problem. Based on what you said you're talking about a different problem.

Please clarify your problem. Based on what you said you're talking about a different problem.

I don't know. My language is not Chinese. It's based on Latin script with a ton of tone marks.

Tested on Pragtical. Same problem. OK. A code editor is for code but not for normal text. In code, I use English comments anyway.

Why don't you think a bit differently?

Mmh maybe because you're not giving me enough information. I still don't even know what's the language you're trying to input and how you're trying to input it, you use IME to insert the characters? Does sometimes render a glyph (even if it's wrong) or you never can insert it? Which OS you're trying to use? Can you send me a video or some screenshots?

I have checked the font files.
Ecode shows Chinese ( and other non-ASCII chars? ) by fallback font. LiteXL also supports Chinese but not offical. See this lite-xl/lite-xl#944 You can make lite-xl show Chinese by specificing fallback font or changing default font instead.
So if the fallback font is even helpless for some characters, will Ecode use system fonts?

So if the fallback font is even helpless for some characters, will Ecode use system fonts?

Not for the moment, I need to investigate how to locate them on each OS. That's pending.

That's definitely a hard work. Maybe this can be left for now, because there's one existing way to change a font file.

So if the fallback font is even helpless for some characters, will Ecode use system fonts?

Not for the moment, I need to investigate how to locate them on each OS. That's pending.

What do you think about using fontconfig and freetype2? This will also solve the problem with sub-pixel hinting.

So if the fallback font is even helpless for some characters, will Ecode use system fonts?

Not for the moment, I need to investigate how to locate them on each OS. That's pending.

What do you think about using fontconfig and freetype2? This will also solve the problem with sub-pixel hinting.

What do you think about using fontconfig and freetype2? This will also solve the problem with sub-pixel hinting.

Regarding fontconfig, it's a possible alternative. I always first try to solve it internally, otherwise I'll try to use an easy to build and small open-source library. So I need to analyze if fits our needs.
Regarding freetype2. ecode does use freetype2 for all its font rendering. sub-pixel hinting is not solved by freetype2. freetype2 will provide you the glyphs but the hinting must be done by the software, since sub-pixel hinting depends on the background color, that's the main complexity. On the ecode case sub-pixel hinting would require to render everything into a frame-buffer and implement the hinting with a pixel-shader, the required changes are not trivial and it's also computationally expensive.
BTW I still have very little information about your issue. If you can provide more information that would be really helpful. Thanks

With freetype you'll basically hint the glyph renderer to render with LCD filters into a pixel-buffer, but all the real logic and rendering goes after that, if you're really interested read this article which goes very much in depth about the whole process.


Refactor pkg/oci

This is a complete refactoring of the oci package. The whole idea is to implement all the OCI related functionalities we need in this package, avoiding other parts of the code having to interact with packages like "github.com/docker" or "oras.land/oras-go/v2".
The reasoning behind is:

We can concentrate all OCI related code in the same place
It's a lot easier to test if it's a separated package

This package now provides methods for pulling, pushing, tagging and building OCI images. Other methods that we previously exposed are now internal.
This commit also:

Uses -ing in all error messages
Small esthetic changes to cmd/*

NOTE: Ideally this should be multiple commits, but it's rather difficult to split a refactor like it into smaller pieces.

Do you think it makes sense to promote the contexts to parameters where applicable now that you're refactoring anyway (and use context.Background() for now in the callers)?

Nice suggestion! I used context.TODO() in the caller to make it clear we still need to pass a valid context there later on.


Fix HexDocs for Ecto.Migration "drop constraint()"

For: https://hexdocs.pm/ecto/Ecto.Migration.html#drop/1
Current behavior
Currently the docs include the following example:
drop constraint(:products, name: "price_must_be_positive")
This throws an error when running a rollback on a migration:
** (ArgumentError) cannot convert the given list to a string.
To be converted to a string, a list must contain only:

strings
integers representing Unicode codepoints
or a list containing one of these three elements

Please check the given list or call inspect/1 to get the list representation, got:
[name: "price_must_be_positive"]
Expected behavior
Removing the "name:" property fixes the issue. Perhaps we can change the docs to show:
drop constraint(:products, "price_must_be_positive") or at least indicate the "name:" property isn't needed in the actual function call.

Thank you. It is fixed in master.


Automated cherry pick of #1885: fix: validate info when importing ldap user/group/domain

Cherry pick of #1885 on release/2.10.0.
#1885: fix: validate info when importing ldap user/group/domain

/approve
/lgtm

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@ff52ab8). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             release/2.10.0   #1887   +/-   ##
================================================
  Coverage                  ?   7.64%
================================================
  Files                     ?     410
  Lines                     ?   62935
  Branches                  ?       0
================================================
  Hits                      ?    4814
  Misses                    ?   57712
  Partials                  ?     409

Flag
Coverage Δ

#aFlag
7.64% <ø> (?)

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 ff52ab8...03a18fc. Read the comment docs.


Added a LongColumn.

I wanted to use the DataFrame, but It couldn't handle Long values, so I implemented this.
Would you be so kind to merge this or give me feedback on what I could improve.
Thanks for your work.

Thanks a lot for your contribution – it looks very good. I will do a thorough review & merge asap...

I merged your changes after making minor modifications. Most importantly, I removed "Copyright Genomics Core" from your class documentation. I will change the generic file headers to give all contributors proper credit (#31) but I don't want to make things complicated with per-file-copyright statements.
Please let me know if you are fine with this strategy, so I can make an official paleo 0.10 release including your contribution.
Thanks again for your help!

Thanks very much. Sorry about the copy right. it 's an  IntelliJ template :-(. And I'm used to it so I don't notice the copyright.  Glad to have contributed. Thanks for the library!

Thanks, v0.10.0 includes your contribution and is now officially released!


Your API helped a ton in my project!

I just thought I'd drop in and let you know that I adapted this API to work in my project, that is running in python3, here's the commit
https://github.com/robinuniverse/GiveMeOne/commit/67e4d2030fb751eb65b285deda132e4a42850d35
It's heavily modified, but I don't think it would be very hard at all to adapt the full functionality
Anyways, thanks!

Great to hear that it helped your project, made my day !!

Will check the commit bit later, looking to change the api and add python3 support when i get a chance.

Thank you @robinuniverse


GopherJS version

Thanks to @nevkontakte

If you want to play around with my fork locally you need to install gopherjs from the latest master: go install github.com/gopherjs/gopherjs@master. It includes a couple of standard library fixes that make it work in an environment where wasm_exec.js is loaded. Same caveats apply, of course: it uses my quick-and-dirty fork of go-app, not something I would recommend for production use just yet.

Wrong target branch :)


[Bug]: CSD: change of namespace not updating

Steps to reproduce the bug
1.I am entering a new record in the CSD
2.I added the namespace, identifier (catalog #), repository and preparation
3.I clicked Save then realized that the namespace was incorrect.
Deleting, retyping, saving the namespace did not change the namespace to the correct one. The prompt indicated changes were saved but the namespace did not update. See screenshot of incorrect namespace (IISc) and correct (ANTWEB) both showing.
...

Screenshot

Expected behavior
When I update the namespace and click Save or delete and update the namespace and click Save, I expect the change to update.
Additional Screenshots
No response
Environment
Production
Sandbox Used
No response
Version
build v0.46.1
Browser Used
Chrome Version 131.0.6778.109

I think it did save, if you reload the page it would confirm that?
@jlpereira Probably a trigger to always reload header on save clicks?

Will this be fixed in the next build? It's still reloading back to the incorrect namespace.

I ran into something possibly related:
Deleting Namespace and Identifier doesn't work. It seems to save, but upon refreshing the data is still there. For example CO "NHMUKimprint II 2087" and "NHMUKHolotype formerly in ZRC Singa" (from incorrect catalog number data in old OSF).
NHMUKimprint II 2087
NHMUKHolotype formerly in ZRC Singa

@AntWeb-org It will be fixed on the next release, but for the moment you can try this:
1- Remove identifier
2- Save
3- Refresh
4- Add it again
Other solution could be use the radial annotator

I deleted the record and started over. The identifier (for me anyway) was not the issue but if I have this problem again I will try this. Thanks!

Radial annotator works in my case too.

Deleting the identifier from here? I'll try that next time - thanks!


Link is invalid in key vault document

In document https://docs.microsoft.com/en-us/azure/key-vault/certificate-scenarios, the step 3 of "Creating your first Key Vault certificate":
setting a certificate issuer is invalid, 404 is got when accessing the page.

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

ID: 186b5ba4-a5e1-e598-8149-e9079de4d8e2
Version Independent ID: 4f81f071-2f91-f3df-d5d4-64c58a309d30
Content: Get started with Key Vault certificates
Content Source: articles/key-vault/certificate-scenarios.md
Service: key-vault
GitHub Login: @BryanLa
Microsoft Alias: bryanla

@goroyal Thank you for your response.  We are investigating the issue.

Thanks for reporting this, @goroyal.
@JamesLee-MSFT - feel free to assign this to me. We are actually working through the issue that is causing this. I can report back once it is resolved..

@BryanLa I am assigning this issue to you as multiple links in this document are broken. Please help fix them.

@goroyal, @MohitGargMSFT - the PR to resolve this is queued up and building. Once the merge and republish is done, the links will work again. I'll report back as soon as I have more..

All - the publishing is going on now, and will gradually restore all links (the ones in this article have been restored). Thanks for your patience, and again, for reporting this.
CXP: #please-close

@goroyal Thanks for the feedback! We are currently investigating and will update you shortly.

The link is valid now. Thank you!


Name Validation

It shouldn't be possible to have a blank world name or player name.
It should probably check for weird non alphanumeric characters too.

Started work on this:
https://github.com/egordorichev/LastTry/commit/f08d44c9c32e05eee35cde8319a5bcca5ab258a7

I added the functionality, based on:
Shows a red error message (preventing the user from entering a player/world name) to the user if:
Player name or World name is blank.
Player name or World name already exists.
Commit:
https://github.com/egordorichev/LastTry/commit/89282f4a8088dbf835a4ea915cdc16eb87759b67
Please let me know, if any improvements are needed.
Functionality must be extended however to check for certain non alphanumeric characters.

Great! I think, this issue is closed now.


RawRepresentable struct causes crash

There are a couple of simple structs that are easily made Codable.  I want to save in AppDefaults and I thought I would be able to mark them as RawRepresentable and using JSON to encode/decode the rawValue.
Turns out this leads to an infinite recursion and eventual crash.
The solution is to provide a specific Codable implementation.
Reference:

https://forums.swift.org/t/rawrepresentable-conformance-leads-to-crash/51912/3

Example implementation of things working correctly.  Removing the Codable extension will result in crash.
import CoreLocation

struct MapCamera {
    static let nullIsland = Self(center: .nullIsland, zoom: 1, bearing: 0, pitch: 0)

    let latitude: Double
    let longitude: Double
    let zoom: Double
    let bearing: Double
    let pitch: Double

    var center: Coordinate {
        Coordinate(latitude: latitude, longitude: longitude)
    }

    init(latitude: Double, longitude: Double, zoom: Double, bearing: Double, pitch: Double) {
        self.latitude = latitude
        self.longitude = longitude
        self.zoom = zoom
        self.bearing = bearing
        self.pitch = pitch
    }

    init(center: Coordinate, zoom: Double, bearing: Double, pitch: Double) {
        self.init(
            latitude: center.latitude,
            longitude: center.longitude,
            zoom: zoom,
            bearing: bearing,
            pitch: pitch
        )
    }
}

// RawRepresentable requires custom Codable implementation to prevent infinite recursion
// https://github.com/gshaw/notes/issues/5
extension MapCamera: Codable {
    enum CodingKeys: String, CodingKey {
        case latitude, longitude, zoom, bearing, pitch
    }

    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        latitude = try values.decode(Double.self, forKey: .latitude)
        longitude = try values.decode(Double.self, forKey: .longitude)
        zoom = try values.decode(Double.self, forKey: .zoom)
        bearing = try values.decode(Double.self, forKey: .bearing)
        pitch = try values.decode(Double.self, forKey: .pitch)
    }

    func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(latitude, forKey: .latitude)
        try container.encode(longitude, forKey: .longitude)
        try container.encode(zoom, forKey: .zoom)
        try container.encode(bearing, forKey: .bearing)
        try container.encode(pitch, forKey: .pitch)
    }
}

extension MapCamera: RawRepresentable {
    var rawValue: String {
        guard let data = try? JSONEncoder().encode(self) else {
            return "{}"
        }
        guard let result = String(data: data, encoding: .utf8) else {
            return "{}"
        }
        return result
    }

    init?(rawValue: String) {
        guard let data = rawValue.data(using: .utf8) else {
            return nil
        }
        guard let result = try? JSONDecoder().decode(Self.self, from: data) else {
            return nil
        }
        self = result
    }
}


implement proper thunks that construct their part of the vdom after the  parent vdom has been created.

Is your feature request related to a problem? Please describe. 🤔
There has been some struggle with loops and deferred TagRef generation.  In #303 I said I'd look back at how Karax handles thunks,. Recall everyone that the general definition of thunk is "a delayed computation", and in Scheme, it means more specifically the functional programming way of doing this by passing around a  proc (): whatever
`
Nim takes inspiration from multiple sources, but part of the interest in macros comes from Lisp, of which Scheme is one dialect.
Describe the solution you'd like 💡
The implementation in Karax seems solid. The core logic is to delay the rendering of a thunk by attaching a placeholder TagRef to the vdom, then when rendering, calling the thunk and modifying the vdom. In proc toDom:
  elif n.kind == VNodeKind.vthunk:
    let x = callThunk(vcomponents[n.text], n)
    result = toDom(x, useAttachedNode, kxi)
    #n.key = result.key
    attach n
    return result

Components are handled in a similar way since that's the normal way of thinking about how html tags themselves are rendered to the dom. First the parent element is placed then the children are attached. The process is recursive and top-down.

  elif n.kind == VNodeKind.component:
    let x = VComponent(n)
    if x.onAttachImpl != nil: x.onAttachImpl(x)
    assert x.renderImpl != nil
    if x.expanded == nil:
      x.expanded = x.renderImpl(x)
      #  x.updatedImpl(x, nil)
    assert x.expanded != nil
    result = toDom(x.expanded, useAttachedNode, kxi)
    attach n
    return result

Not that the definition of VNode as a variant object helps with handling these different kinds of rendering behavior. This strategy would also allow diffreent types of TagRef in Happyx to have different data. I would conceptualize a HappyX thunk as a kind of TagRef (so that it can attach to the vdom) that carries a pure function thunk as a field. In other words, something like

type TagRef = ref object
   case kind: TagRefKind
     ##....
     of TagRefKind.thunk:
        thunkProc: proc (): TagRef
    ##....

Describe alternatives you've considered 💁♀
I think there are some drawbacks to the approach in the most recent patch #303. Global variables tend to break easily and I think some preexisting functionality is already broken. I'm also somewhat concerned that continually tagging deeply nested components with the ID's of their parents will be non-performant in lengthy html documents.
** Other less-important context**
Karax implements two types of thunk . vthunks delay the computation until the vdom is being rendered to the dom. dthunks put a placeholder in the DOM that calls a proc, thus delaying computation until the dom is being rendered in the browser. Vthunks are not inmplemented in a particularly friendly way for the front end due to how the vthunk proc is parameterized, but that's a superficial issue and the core logic should be fine.  dthunks work fine but are annoying to code on the front end since they need to render to nodes in the DOM. Of the two I think that vthunks are the more important kind of thing to implement. We want  to mark some things in the vdom so that they start rendering after the rest of the vdom has been rendered. This would allow things like loops to make many different branches first in a natural way, then start renderding their bodies to the vdom afterward.

How about this?
appRoutes "app":
  "/":
    tDiv:
      lazy:  # lazy converts all children into proc(): TagRef
        "Hello, world!"

lazy statement produces simple comment node.
Before rendering in HTML prerenderLazyProcs will called.
  lazy:
    "Bye, world!"

Than output will be:

Hello, world!

That strategy seems fine.
Nomenclature differs from karax' nomenclature and formal computer science, but is more user-friendly. thunkHtml should then map to lazyHtml


chore(deps): upgrade jenkins-x/jx3-pipeline-catalog to version 3.10.95

from: https://github.com/jenkins-x/jx

/retest


FIM alerts not shown on agent dashboard

Describe the bug
During Smoke testing for 4.8.0-alpha2 it was detected that FIM alerts detected on agents are not being displayed on the Agent's dashboard.
To Reproduce
Steps to reproduce the behavior:

Configure a folder to be monitored in an agent  with <directories realtime="yes">/testfolder>
Create the folder and restart the agent
Create/modify/delete files inside /testfolder
Go to "Agents" and Select the agent
See error on FIM: Recent Events - No alerts are shown

Expected behavior
The most recent FIM events are displayed
Evidence

Check FIM Alerts :red_circle:

Monitor folder in realtime and generate events

   # touch /testfolder/file2
   # touch /testfolder/file23
   # touch /testfolder/file4

Check alerts on Manager :green_circle:

{"timestamp":"2024-01-10T18:52:45.068+0000","rule":{"level":5,"description":"File added to the system.","id":"554","firedtimes":2,"mail":false,"groups":["ossec","syscheck","syscheck_entry_added","syscheck_file"],"pci_dss":["11.5"],"gpg13":["4.11"],"gdpr":["II_5.1.f"],"hipaa":["164.312.c.1","164.312.c.2"],"nist_800_53":["SI.7"],"tsc":["PI1.4","PI1.5","CC6.1","CC6.8","CC7.2","CC7.3"]},"agent":{"id":"001","name":"ip-172-31-13-60.ec2.internal","ip":"<IP_ADDRESS>"},"manager":{"name":"ip-172-31-85-16"},"id":"1704912765.28023752","cluster":{"name":"wazuh","node":"wazuh-master"},"full_log":"File '/testfolder/file23' added\nMode: realtime\n","syscheck":{"path":"/testfolder/file23","mode":"realtime","size_after":"0","perm_after":"rw-r--r--","uid_after":"0","gid_after":"0","md5_after":"d41d8cd98f00b204e9800998ecf8427e","sha1_after":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256_after":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","uname_after":"root","gname_after":"root","mtime_after":"2024-01-10T18:52:45","inode_after":11326306,"event":"added"},"decoder":{"name":"syscheck_new_entry"},"location":"syscheck"}
{"timestamp":"2024-01-10T18:52:47.235+0000","rule":{"level":5,"description":"File added to the system.","id":"554","firedtimes":3,"mail":false,"groups":["ossec","syscheck","syscheck_entry_added","syscheck_file"],"pci_dss":["11.5"],"gpg13":["4.11"],"gdpr":["II_5.1.f"],"hipaa":["164.312.c.1","164.312.c.2"],"nist_800_53":["SI.7"],"tsc":["PI1.4","PI1.5","CC6.1","CC6.8","CC7.2","CC7.3"]},"agent":{"id":"001","name":"ip-172-31-13-60.ec2.internal","ip":"<IP_ADDRESS>"},"manager":{"name":"ip-172-31-85-16"},"id":"1704912767.28024458","cluster":{"name":"wazuh","node":"wazuh-master"},"full_log":"File '/testfolder/file4' added\nMode: realtime\n","syscheck":{"path":"/testfolder/file4","mode":"realtime","size_after":"0","perm_after":"rw-r--r--","uid_after":"0","gid_after":"0","md5_after":"d41d8cd98f00b204e9800998ecf8427e","sha1_after":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256_after":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","uname_after":"root","gname_after":"root","mtime_after":"2024-01-10T18:52:47","inode_after":11326307,"event":"added"},"decoder":{"name":"syscheck_new_entry"},"location":"syscheck"}

Check alerts on Dashboard :red_circle:

We do not have enough information to debug this problem. The UI gets FIM data in two ways: from the wazuh-alerts index and from the API. It does not check the Wazuh alerts from the server. So to debug this problem we would need to check if the API or if the wazuh-alerts index has FIM data.


added wait for action node

Added a logic node for waiting until an InputEventAction is pressed.

Hi @gvrocksnow, congrats on your very first contribution 🎉 .  This new node looks like a great addition, I'll add a few commits shortly for documentation and this should be good.


New v1.5.2 cert-manager-startupapicheck job fails to complete

Describe the bug:
When installing the latest v1.5.2 version of the HELM charts, the installation hangs, due to the new startupapicheck job failing to complete.
The logs on the pod of the job indicate that the API is actually ready.
output: "The cert-manager API is ready"
but the job itself, remains in a running / incomplete status.
Expected behaviour:
After successfully identifying the cert-manager API is ready, the job should progress to the completed state.
Steps to reproduce the bug:
helm install  --atomic jetstack/cert-manager -n cert-manager --create-namespace

Anything else we need to know?:
Environment details::

Kubernetes version: 1.21
Cloud-provider/provisioner: KIND
cert-manager version: Helm Chart version 1.5.2
Install method: helm

/kind bug

Hi, the startup job checks that the cert-manager CRDs are installed and ready- from the command you pasted I see that you don't install them with Helm.
You could either install them with Helm by passing --set installCRDs=true to helm install command or apply them separately beforehand see the installation docs.

Hi sorry
I forgot to include that we are actually using a values.yaml, which does have the installCRDs: true, so I dont think this will resolve the issue.
The full values file is.
installCRDs: true
replicaCount: 1

podLabels:
  linkerd.io/inject: enabled

webhook:
  podLabels:
    linkerd.io/inject: enabled

prometheus:
  enabled: true
  servicemonitor:
    enabled: false
  resources:
    requests:
      cpu: 10m
      memory: 32Mi

cainjector:
  enabled: true
  replicaCount: 1

  # Optional additional labels to add to the CA Injector Pods
  podLabels: {
    linkerd.io/inject: enabled
  }

I've not been able to reproduce this on k8s v1.21 on kind with a similar values file:
installCRDs: true
replicaCount: 1
cainjector:
  enabled: true
  replicaCount: 1

I am not sure if having linkerd installed could have any impact of this. It may be worth checking the Job resource, logs on the jobs's pod and any Kubernetes events that might be related. Perhaps see if you can reproduce it on a standard kind cluster without linkerd.

Hi
yes you are correct, it is to do with Linkerd.
Although all the other cert-manager pods all run OK under Linkerd, for some reason the startupapicheck job hangs.
When I explicitly turn off Linkerd, just on the startupapicheck  job, all installs & completes successfully.
FYI: I appended the following to the values.yaml
startupapicheck:
  enabled: true
  jobAnnotations:
    helm.sh/hook: post-install
    helm.sh/hook-weight: "1"
    helm.sh/hook-delete-policy: hook-succeeded
    #Disable Linkerd
    linkerd.io/inject: disabled

Thanks for your help.


ACPI: Always build evged in for experimental kernel

This is required to support hotplug CPU/memory with cloud-hypervisor.
Fixes: #967
Signed-off-by: Bo Chen<EMAIL_ADDRESS>

\cc @jcvenegas @GabyCT @devimc @amshinde
First time to work on packaging. Any comments or advises, please don't hesitate to share. Thanks.

Hey @likebreath   looks good for this kernel config/patches changes it is needed to bump the number in https://github.com/kata-containers/packaging/blob/master/kernel/kata_config_version this way we make independent the config and patches from the kernel version.

Hey @likebreath looks good for this kernel config/patches changes it is needed to bump the number in https://github.com/kata-containers/packaging/blob/master/kernel/kata_config_version this way we make independent the config and patches from the kernel version.

@jcvenegas Thanks for taking look the PR. I just bumped the kata_config_version to 68 (from 67). Anything other comments, please let me know.

/test

/AzurePipelines

/AzurePipelines run

packaging tests is failing, maybe we should skip it or use a different version of fedora?
cc @GabyCT

@devimc , yes I saw that failures on openSUSE and CentOS too, I changed the fedora version to use 30 and is working https://github.com/kata-containers/tests/pull/2360

/test

/AzurePipelines run

/test-clh

The CI seems to be happy. Any other Jobs we need to run before we can merge it? I tried to run the AzurePipelines again but I don't have the power yet.
/cc @jcvenegas @GabyCT @devimc  @chavafg


Is it possible to use two wifi adapters and make the configuration easier?

I have a Raspberry PI3 equipped with a wifi module.But I still plug a wifi adapter(MT7601U) into it.So I wander whether there is a solution to use one of those two interfaces as an AP while the other connects to a wifi network.
What I want to achieve is that every time I turn on PI's power,it can create an AP automatically so that I can connect to it using a phone and connect the PI to any new wifi network through ssh.For now I can create an AP using inside wifi interface and share the other's network thanks to create_ap.But every time I do so,both adapters will remember the ssid and password and connect to it automatically next time start up so that the create_ap won't work as an interface cannot be an AP and a wifi connecter at the same time.
I hope there's a solution to achieve my goal using two adapters and  raspberry-wifi-conf so that there's no need to reboot during the whole  configuration.

You should be able to do the same with a single adapter no?


chore: reorganise repo for shared e2e packages

We're going to be evolving this repository to contain much more than just javascript-style-configs, as such, we need to do a bit of reorganisation.
I've also added in documentation for how to use @inrupt/eslint-config-lib and @inrupt/eslint-config-react together.

Why the empty packages/ folder?

This will be used shortly. Didn't want to add the packages empty