Upgrade to Java 17

We should upgrade to building and testing using Java 17 as a stepping stone to Java 21 (Necessary for Jakarta EE 11).

[ ] If necessary upgrade gradle wrapper
[ ] Update build.gradle (source/target compatibility)
[ ] Update pom.xml within sample-apps/ (source/target compatibility)
[ ] Update CI Workflow to build and run using Java 17
[ ] Update documentation

Hi, I am new to contribution and i love to contribute can  u assign this to me?

@inteqam I have assigned this issue to you. Let me know if you need any help from me. Welcome to Microshed Testing. 😁

@inteqam how are you progressing? Can you show it via a draft PR?

@KyleAure I've my doubts whether this is the correct way to go at this moment. I believe we need to aim at the lowest possible Java version for microshed to keep it useful for as many users as possible. When we build with java 17, we already raise the minimal Java version for users to Java 17, without any functional progress as we don't have features depending on Java 17/21 features. Jakarta 11 isn't here yet. Let's postpone this change until it's there.

Agreed, moved the milestone to 1.0.0.


Add all TODO to GitHub issues

[x] Set all TODOs from TODO.txt as GitHub issues.
[x] Delete the TODO.txt file.

Closed in cc88c0c6a38b36feaf811bdd9ae5ac04841e5296


Update push-demo-app.md

Thanks for submitting a pull request!
All pull request submitters and commit authors must have a Contributor License Agreement (CLA) on-file with us. Please sign the appropriate CLA (individual or corporate).
When sending signed CLA please provide your github username in case of individual CLA or the list of github usernames that can make pull requests on behalf of your organization.
If you are confident that you're covered under a Corporate CLA, please make sure you've publicized your membership in the appropriate Github Org, per these instructions.

[ ] Please check this box once you have run the unit testspushd src/bosh_azure_cpi
  bundle install
  bundle exec rspec spec/unit/*
popd

Changelog

@typik89 Please follow above guidance to sign the appropriate CLA or publicize your membership in the appropriate GitHub Org.

@typik89 Close it now. Please reopen it after you sign CLA.


Support background task

The syntax is POSIX: a | b | c & indicates that the pipeline a | b | c should be put in the background. This has the following effects:

The processes in this pipeline are put in a background process group;
An task descriptor entry is appended to the $tasks list;
In interactive mode, if there is no output redirection, output is redirected to the pipe and displayed using the notification area.

Additional effects:

Elvish does not wait for the pipeline to terminate;
Errors in the pipeline do not propagate to the caller;
Builtins and functions of the pipeline do not listen to signals;
In interactive mode, a notification is displayed when the pipeline exits.


Custom allocator context

Hi, thanks for sharing an awesome library. love the efficient design and clean api.
Regarding the topic of custom allocator context raised by @skeeto here https://old.reddit.com/r/C_Programming/comments/18gnxkd/verstable_a_versatile_highperformance_generic/kd25s9z/
Would you think the approach https://github.com/stclib/STC?tab=readme-ov-file#per-container-instance-customization fit Verstable well? It seems "zero cost" at runtime if not opted in, also less intrusive than what @skeeto's approach.
Regards!

Hi! Glad you’re enjoying the library :)
I haven’t had time to think much about the custom allocator issue yet, although I did bookmark @skeeto’s recent article on the topic.
I did, however, realize that a context pointer parameter for the allocation function would presumably require the hash table struct to internally carry around context pointer that the user sets when her or she initializes it. Is that right? If so, that would be an unacceptable cost to impose on users who do not need this functionality, and this seems to be the problem that STC attempts to solve.
One solution, I think, would be to use the preprocessor to have the struct only include such a pointer if the user actually needs it (just as the bucket struct only includes a val field if the user defines VAL_TY). In that case, the API would look something like this:
#define MALLOC_FN <name of a user-provided function with the same signature as malloc>
// OR
#define EXTENDED_MALLOC_FN <name of a user-provided function that includes a context pointer parameter>

What do you think of that solution?
In any case, it will be a while before I can introduce this functionality. The priorities are the moment are to finish refactoring and share my hash-table benchmarking project, then integrate Verstable into CC (as a separate implementation, not a replacement for the standalone library), and then publish an article on the benchmarks that also includes most popular C hash-table libraries. So it will probably be a few months before I get to the custom allocators, unfortunately.

I think this is similar to what I propose in #5

Hi @yrashk and @fonghou. I’m going to make resolving the customer allocator issue my top priority. A few thoughts and questions before I implement anything:

The idea I currently have, as I mentioned earlier, is to provide the user with two options for plugging in a custom allocator:
// Option 1:
#define MALLOC_FN <name of a function with the signature void *( size_t size )>
#define FREE_FN <name of a function with the signature void ( void *ptr )>
// Option 2:
#define EXTENDED_MALLOC_FN <name of a function with the signature void *( size_t size, void *ctx )>
#define EXTENDED_FREE_FN <name of a function with the signature void ( void *ptr, size_t size, void *ctx )>

Option 1 is primarily for users who just want to plug in an allocator that quits on out-of-memory.
Only in the case of option 2 would the hash table struct actually contain a context pointer (set by the user via _init).
Would those two options be sufficient? Or is there actually a use case in which the user would need their free function to receive the size of the memory to free but not need a context pointer?

@yrashk mentioned:

An alternative worth exploring is using realloc instead of malloc so that at least the previous allocation is provided to the allocator, so at least some context can be shoehorned into it.

Verstabe couldn’t use a true realloc-like function because while resizing, both the old and new tables must, of course, exist in parallel. Nevertheless, having the allocation function see the existing allocation, would—in theory—allow it to transfer context information stored in the allocation (in memory before the address that the allocation function returns to Verstable) to the new allocation. In practice, I don’t think this approach could work because Verstable lazy-initializes (i.e. it only allocates upon the first _insert, not upon _init).

@yrashk’s pull request has Verstable pass an enum into the allocator function indicating whether the allocation is for the buckets array or metadata array (but curiously no context pointer?). Is there a good use case for distinguishing between these two allocation purposes (i.e. buckets vs metadata)? Another, possibly better approach is to have the two arrays live in the same allocation, as is done by Swiss/Abseil, for example. This would be slightly more memory efficient (particularly for hash tables containing only a few keys) because each separate allocation—at least by malloc—must be prefixed with malloc metadata and postfixed with padding.

I'll tag @skeeto, too, just in case he has some sage advice to offer.

Hi @JacksonAllan, I'd prefer Option 2 because it integrates better with Arena use cases per @skeeto example. Thanks!

My 2 cent on this - as someone who uses custom allocators a lot - is that a user defined context pointer is a must. One key benefit of custom allocators is the ability to avoid global state. But without a context pointer, it becomes necessary to smuggle the allocator metadata through global state - which is very much undesirable.
In that regard, I don't find #5 to be useful. In fact, from a library design standpoint, I find it to be harmful because it leaks unnecessary internal information out through the interface. For example, if you want to merge the two allocations into one in the future then all of a sudden it will require an API breakage.

If so, that would be an unacceptable cost to impose on users who do not need this functionality

A context pointer and a function pointer is merely 8+8=16 bytes on 64 bit platform (also see the note below). And this cost will occur per hashtable instance, not per node/item in the hashtable. I'm willing to bet that the items that will be inserted into the table will weight multiple orders of magnitude more than this pesky 16 byte.
If you can come up with a way to avoid it, then that's fine. But I can't imagine this being a deal breaker for anyone.
Note: If you want, you can avoid taking in the function pointer. A single context pointer is enough, the user can embed the function pointer into the context pointer and dispatch from there. Not super convenient, but not a deal breaker in my eyes.
my_alloc(..., void *ctx)
{
   MyStruct *a = ctx;
   return a->alloc(...); // allocator function pointer embedded in the context pointer
}

TL;DR: Proper support for custom allocators requires each hashtable to carry a context pointer at least.

@N-R-K
Thanks for weighing in!

A context pointer and a function pointer is merely 8+8=16 bytes on 64 bit platform (also see the note below).

It could make a difference for a user that has many tables that are small or empty. But in any case, the approach I outlined in my earlier comment addresses this issue by making the context pointer an opt-in mechanism.
My plan is still the one I outlined in that comment. To use a custom allocator with a context pointer, users will need to define EXTENDED_MALLOC_FN and EXTENDED_FREE_FN when instantiating the hash table template and then provide the context pointer when calling _init. Users who really need the same hash table type to use different allocator functions (i.e. they can't just instantiate the template once for every allocator) can follow the approach you outlined (i.e. embed the function pointer in the context).
The buckets and metadata arrays will indeed be combined into one allocation.
Whether or not FREE_FN (i.e. a user-defined free function without a context pointer parameter) should still take a size parameter is an open question. I'm inclined to say yes as someone might find it useful (?) and the compiler will optimize away the parameter if goes unused. Technically, this would be a breaking API change, but maybe worrying about minor API changes is at this time a little premature.

@JacksonAllan, one thing not clear to me with
#dedfine EXTENDED_MALLOC_FN/EXTENDED_FREE_FN option is that when the context pointer field is declared in hashtable struct itself. Will it be opted in #ifdef at compile time or void* field already declared (NULL with default malloc/free alloctor). If it's the later, carrying around an extra (void*) NULL field seems not "zero cost".
I personally like the STC's approach as mentioned previously. The key bits are in the source linked and copied below.
https://github.com/stclib/STC/blob/master/include/stc/extend.h#L54
typedef struct {
    i_extend
    i_type get;
} c_JOIN(i_type, _ext);

#define c_extend() c_container_of(self, _c_MEMB(_ext), get)

Just to demonstrate how that design works, I wrote a custom allocator based on an arena implementation (another header file "mem/arena.h" in my forked STC repo) described in @skeeto's blogs.
One difference you may notice, STC defines those custom allocator macros as function call expressions, instead of function names (ie. pointers). One advantage of it is that both struct field and function arg are static typed instead of void*.
https://github.com/fonghou/STC/blob/master/include/stc/arena.h
Below is an example how it looks like in client code.
https://github.com/fonghou/STC/blob/master/misc/examples/mixed/arena.c

@fonghou
Sorry for the belated response—I've been super busy.

Will it be opted in #ifdef at compile time

Yes, exactly. With this approach, the hash table struct would look like this:
typedef struct
{
  size_t key_count;
  size_t bucket_count;

  uint16_t *metadata;
  VT_CAT( NAME, _bucket ) *buckets;

  #ifdef EXTENDED_MALLOC_FN
  void *allocator_context;
  #endif
} NAME;

As for the STC approach, initially I had some reservations. But the more I think about it, the more I like it.
Advantages:

The context pointer can be correctly typed, rather than void *.
It's more flexible because the user can add any variables they like to the parent struct.
It's neat and easy to implement: All it fundamentally requires is that the allocator function takes a pointer to the hash table struct, and the user can handle the rest. With this approach, there's no need for Verstable to provide separate #define MALLOC_FN and #define EXTENDED_MALLOC_FN options.

Disadvantages:

The hash table now has to be accessed via a member of the parent struct, which is a little awkward.
The container_of idiom is generally recognized not to be strictly conforming C due to ambiguities in the Standard about pointer provenance and arithmetic. However, I think the user can dodge this "issue" by making the hash table struct the first member of the wrapper struct. Under <IP_ADDRESS> 15, which states that "A pointer to a structure object, suitably converted, points to its initial member (or if that member is a bit-field, then to the unit in which it resides), and vice versa", deriving a pointer to the wrapper struct from its first member should always be allowed. (For this reason, perhaps @tylov should consider switching the order of i_extend and i_type get; in STC?)

@JacksonAllan Hi, I prefer strict conforming C, but I personally don't worry much about this "possible" non-conformance of container_of(). I use it also in the linked list implementation. However, I still think it is a good idea to have the "contained object" as the initial member, so casting can be used instead (actually container_of() will collapse into a regular cast). I'll likely do it with both the list node and the extend wrapped struct.

@JacksonAllan I have committed an update to STC in the v50dev branch, and have removed the dependency on container_of in the library, and added a clone function for the extended container struct.
That said, I still think "container_of" is an important feature that can be used. The linux kernel uses it quite extensively (I belive), e.g. via Thorvalds intrusive linked list. The linux kernel is arguably the "Mother of all C programs", so I think it is highly unlikely that any compiler vendor will ever dare to make a compiler which renders that code broken.

Hi @tylov, I've tested out this change.

so casting can be used instead (actually container_of() will collapse into a regular cast)

I find it makes below code work as expected (and api more ergonomic).
  hmap_str_ext table = {.arena = &arena};
  hmap_str_emplace(&table, "Map", "test");

However, both gcc and clang give incompatible pointer type warning like below.  Do you recommend this usage? or stick with old way of table.get?
 warning: passing argument 1 of ‘hmap_str_emplace’ from incompatible pointer type [-Wincompatible-pointer-types]
  188 |   hmap_str_emplace(&table, "Map", "test");
      |                    ^~~~~~
      |                    |
      |                    hmap_str_ext *
In

I would go with the type-correct version, i.e. the .get doesn't bother me much. You can always make an extra pointer directly to the container if you use it a lot.

That said, I still think "container_of" is an important feature that can be used. The linux kernel uses it quite extensively (I belive), e.g. via Thorvalds intrusive linked list. The linux kernel is arguably the "Mother of all C programs", so I think it is highly unlikely that any compiler vendor will ever dare to make a compiler which renders that code broken.

Right, the arguments in favor of container_of seem to be 1) the contemporary and historical prevalence of this idiom and 2) the ambiguities in <IP_ADDRESS> 7, which governs char pointer arithmetic within an object (e.g. the exact meaning of "object" in this context and the fact that the text only technically only allows "successive increments" of the char pointer, not general addition to or subtraction from it). To these arguments I might add that at a certain point, we have to let pointers be pointers or we'll all lose our minds. But the unclear status of container_of seems to be well recognized, so if we can transparently avoid it simply be changing the order of our struct members, I say that we might as well do so.

@fonghou
@yrashk
@N-R-K
I've now implemented the extended custom allocator support in the newly created dev branch.
Initially, I took the STC wrapper-struct approach. However, that experiment highlighted a few drawbacks of this approach that caused me to abandon it:

The hash table struct and the wrapper struct are very tightly coupled. When the hash table is defined with allocation and free functions that assume that it is the first member of a wrapper struct, it can only ever be used as part of that wrapper struct. To me, this raises the question, why should there be two separate structs?

A separate wrapper struct, allocation function, and free function must be defined for every hash table type. This is rather cumbersome for anyone wanting to use essentially the same allocator with multiple table types, which seems like a common scenario.

Hence, the approach I ultimately followed is a combination of my original idea (in that a member is conditionally added to the hash table struct) and the STC approach (in that the user fully controls the type of that member).
It works as follows:
To enable and specify the type of the hash table struct’s ctx member, define CTX_TY before including verstable.h.
If CTX_TY has been defined, the custom allocation and free functions supplied via MALLOC_FN and FREE_FN should each take an extra argument, namely a pointer to the table's ctx member: void *( size_t size, CTX_TY *ctx ) for MALLOC_FN and void ( void *ptr, size_t size, CTX_TY *ctx ) and for FREE_FN.
If CTX_TY has been defined, init and init_clone also each take an extra argument that sets the ctx member on the newly initialized table.
Here's how this system might look in practice:
// Example context data as a struct.
typedef struct
{
  // Context data...
} context;

void *malloc_with_ctx( size_t size, context *ctx )
{
  // Allocate size bytes, taking into account ctx, and return a pointer to the allocated memory or NULL in the case of
  // failure...
}

void free_with_ctx( void *ptr, size_t size, context *ctx )
{
  // Free size bytes, taking into account ctx...
}

#define NAME int_int_map
#define KEY_TY int
#define VAL_TY int
#define CTX_TY context
#include "verstable.h"

int main( void )
{
  context our_ctx;

  // Initialize our_ctx...

  int_int_map our_map;
  vt_init( &our_map, our_ctx );

  // Do things with our_map...

  vt_cleanup( &our_map );
}

One thing I wasn't sure about was whether init_clone should accept a context argument or simply copy the ctx member of the source table. For now, I've implemented the former.

@fonghou
@yrashk
@N-R-K
The above changes are now part of the main branch (v2.0.0). I recommend updating to this new version because, besides introducing optimizations, it also fixes a significant bug whereby a key was hashed after its user-supplied destructor was called during erasure.
I'll leave this issue open for now in case there's any feedback.

Just letting you know, in STC branch v50dev, there is a include/hmap-robin.h. Would be great if you could include it in your benchmarks if you have time at some point. It appears to be quite fast (I think insert is slightly slower, but erase and lookup are faster and probably more consistent). I will likely replace it with hmap.h if it works well.


Add checks for Project, Zone, and MachineType

Codecov Report

Merging #110 into master will decrease coverage by 0.27%.
The diff coverage is 82.35%.

@@            Coverage Diff             @@
##           master     #110      +/-   ##
==========================================
- Coverage   82.12%   81.84%   -0.28%
==========================================
  Files          20       20
  Lines        1695     1702       +7
==========================================
+ Hits         1392     1393       +1
- Misses        224      230       +6
  Partials       79       79

Impacted Files
Coverage Δ

daisy/workflow/validate.go
95.83% <ø> (-0.17%)
:arrow_down:

daisy/compute/compute.go
76.85% <0%> (-4.02%)
:arrow_down:

daisy/workflow/step_create_disks.go
89.85% <100%> (ø)
:arrow_up:

daisy/workflow/step_create_images.go
83.07% <100%> (+2.47%)
:arrow_up:

daisy/workflow/step_create_instances.go
87.72% <100%> (-0.65%)
: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 f0c91ce...8468608. Read the comment docs.

Could we add some checkProject, checkZone, checkMachineType methods? And could we cache results?

For organization, we could move those methods into machine_type.go, zone.goz and project.go.


Flight api 2

Added code for a newer flight API that uses Skyscanner. Also, fixed routing.
The netlify website will probably need a key that can be generated for free from here: https://rapidapi.com/3b-data-3b-data-default/api/skyscanner44/

@jaygala223 is this ready for review?

Yes it is ready to be reviewed

This is what it will look like once the flight API key has been added

Yes, I think we'll go ahead with this API for now. It's the best I could find


Negative numbers in case statements

The following code fails
test x =
  case x of
    1 -> "One"
    -1 -> "Minus One"
    0 -> "Zero"

Just tested in the online editor
I ran into something unexpected when parsing your code!
4|     -1 -> "Minus One"
I am looking for one of the following things:
    end of input
    whitespace

Not sure if that's the intended behaviour, seems like it was fixed in #279 but here it is.

It's a duplicate of recently opened https://github.com/elm-lang/elm-compiler/issues/1261, so please close this one here.


rancher-cis-benchmark scan mis-matches as master any non-master node on which a running process has an argument containing the phrase kube-apiserver

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Provision a Rancher v2.5.8 instance, with a custom cluster, containing one controlplane/etcd or all role node and two worker nodes (I used tf-do-rancher-2)
Install rancher-cis-benchmark chart 1.0.400 in the downstream
On one of the worker nodes, start running a command with an argument containing the phrase kube-apiserver, i.e.:

touch test-script
chmod +x test-script
echo "#!/bin/bash" >> test-script
echo "sleep infinity" >> test-script
./test-script --kube-apiserver

Execute a CIS scan in the downstrem with the rke-profile-permissive-1.6 profile

Result:
Scan results in a Fail, due to master tests executing on the worker node with the test-script --kube-apiserver process running, per screenshot below.

Stop the test-script --kube-apiserver process on that node, run a fresh scan with the rke-profile-permissive-1.6 profile and observe a Pass.
Other details that may be helpful:
There are two issues in the run_sonobuoy_plugin.sh script of the rancher/security-scan that cause this behaviour:

Incorrect test to set KUBE_APISERVER_PROC variable for non-RKE2 clusters (https://github.com/rancher/security-scan/blob/v0.2.3/package/run_sonobuoy_plugin.sh#L94).
The test for non-RKE2 clusters based on the variable IS_RKE2 is if [ ! ${IS_RKE2} ]; however, this does not test for false value, per the following test script:
#!/bin/bash

IS_RKE2=false

if [ ! ${IS_RKE2} ]; then
  echo "foo"
fi

if [ ${IS_RKE2} == false ]; then
  echo "bar"
fi

Output of this test script is bar, test would need to be if [ ${IS_RKE2} == false ];.
As a result of this issue, the pgrep command in the master test is always pgrep -f kube-apiserver (https://github.com/rancher/security-scan/blob/v0.2.3/package/run_sonobuoy_plugin.sh#L99), which matches against the full command, including any process with an argument containing kube-apiserver.

With the test in point 1. resolved, the CIS scan would not provide a false-positive master match for RKE and k3s non-master nodes where a running process has an argument containing kube-apiserver. However, this would still occur on RKE2 clusters.
The kernel truncates process names to 15 characters. As both kubelet and kube-apiserver are fewer than 16 characters long, the pgrep command can successfully test for these exact process names, without the -f flag to test the full command line. Thus only a process with the name of kube-apiserver would match the test on any cluster type.

Environment information
Rancher v2.5.8/rancher-cis-benchmark 1.0.400

Related to https://jira.suse.com/browse/SURE-3004

/backport v2.6.10


Remove context.compile_internal where easy on numba/cpython/cmathimpl.py

Note: Some functions were not converted because ufunc_db uses them.
List of functions converted:

~cmath.exp~
~cmath.sqrt~
cmath.acosh
cmath.tanh
cmath.sinh
~cmath.sin~
cmath.cosh
~cmath.cos~
cmath.polar
cmath.phase
~cmath.log~
cmath.log10
cmath.rect

I tried to keep the diff as small as possible and made one commit for each function migrated to @overload

@gmarkall Am wondering if loss of the typing definitions for the cmath functions is going to cause problems for the CUDA target? This either due to there being no registration against which a CUDA lowering can be associated OR if CUDA is relying on using the "old style" implementation injected directly into its registries there's now no reachable implementation as these @overload conversions default to targeting the CPU.

gpuci run tests

It could cause problems - I'm not sure if the cmath module has tests in the CUDA test suite or if it's just "assumed" to work by reusing the CPU target's implementation, so I don't know whether the gpuCI run will fail. If it doesn't fail and there are no explicit tests in CUDA, then I think a test for each modified function will need to be added to the CUDA tests, otherwise we might find that our tests pass but we break code in the wild. The list of supported cmath functions in CUDA is at https://numba.readthedocs.io/en/stable/cuda/cudapysupported.html#cmath which could be a useful reference for checking against.

@gmarkall, I've re-enabled cmath on CUDA by basically overloading the same function from numba/cpython/cmathimpl for the CUDA target.

I think the target hierarchy should be used to allow the sharing of implementations if they are literally the same functions. For example, if the implementations of the cmath functions in question are truly "generic" then they should have the target set as "generic" and both the CPU and CUDA targets can use them. If the CUDA target then needs to specialize some cmath functions further via libdevice it can do so by having an overload with target="CUDA". If this doesn't work, I think it should, and it probably means there are bug(s)!

gpuci run tests

Note: #8554 will make specification of the @overload target as 'generic' unnecessary as it makes it the default.


Is there a way to play audio with negative rate (FastRewind)

Hi.
I see that rewind can be set to negative values to play stream in backward order.
But setting negative rate is not changing the playback itself.
So, I want to ask is there a way to  do a rewind in VLC?

Unless the audio streams behave differently than the video streams, I think it is not possible. I tried to do it some time ago with no luck and there is a closed issue regarding this (#549).

Thanks txelu, it's indeed a duplicate of #549 . I don't know if things changed in 4.0, but you should ask VideoLAN developpers directly.


Feat/hyperspace

Hyperspace relayer ibctest interface checklist

[x] Write chain configs to docker container
[x] Write core config to docker container
[x] Name()
[x] DockerUser()
[x] AddChainConfiguration()
[x] AddKey() [Unused / don't implement]
[x] CreateChannel()
[x] CreateClients()
[x] CreateConnections()
[x] FlushAcknowledgements() [Unused / don't implement]
[x] FlushPackets [Unused / don't implement]
[x] GeneratePath()
[x] UpdatePath() [Unused / don't implement]
[x] GetChannels()
[x] GetConnections()
[x] GetClients()
[x] LinkPath()
[x] RestoreKey() [Implemented in Hyperspace Relayer]
[x] StartRelayer()
[x] UpdateClients [Unused / don't implement]
[x] ConfigContent()
[x] DefaultContainerImage()
[x] DefaultContainerVersion()
[x] ParseAddKeyOutput() [Unused / don't implement]
[x] ParseRestoreKeyOutput()
[x] ParseGetChannelsOutput()
[x] ParseGetConnectionsOutput()
[x] ParseGetClientsOutput()
[x] Init()
[x] CreateWallet()
[x] Add contract hash to substrate/parachain config (actually cosmos chain config, but may change)
[x] Generate correct priv/pub keys for cosmos chain
[ ] ParachainNode: GetIbcBalance(), i.e. QueryBalanceWithAddress should work
[x] Make cosmos chain block time configurable so that relayer doesn't work harder than necessary
[x] Make relayer wallet amounts configurable for different denoms

Needed Hyperspace binary changes

[x] Take mnemonic as input for both chain configs (account used for respective txs) (Only needed for Cosmos, currently using KeyEntry which should be sufficient
[x] Add contract hash to substrate/parachain config for wasm messages
[ ] Optionally, add Hyperspace binary cmd for query clients and connections (if we want to be similar to rly interface)
[x] Support either chain in chain slot a/b
[x] Query channels should not panic. We need to be able to get the channel for each config.

e2e test (examples/hyperspace/hyperspace_test.go)

[x] Add contract hash to Hyperspace's substrate/parachain config  (actually cosmos chain config, but may change)
[x] Add create client
[x] Add create connection
[x] Add create channel
[x] Start relayer
[x] Send ibc tx from cosmos -> substrate
[x] Send ibc tx from substrate -> cosmos

Thank you @joeabbey for volunteering to code review :-D

NB: @agouin sez "notional is handling the rebase to get this up to date w/ main."

Yea, @jonathanpberger. We are doing that.


Get information of media files

Hi, is it possible to get information about all streams in media files?

Yes. But no support for multiple streams yet. You can iterate over existing streams and create codec and format contexts

Latest version allows you to get detailed info for audio, video and subtitle streams. Closing this.


Get timezone name

Hi, It would be possible implement the javascript method Intl.DateTimeFormat().resolvedOptions().timeZone? I need it to get the timezone name.
Or is there other way or workaround in Nativescript to get the timezone name?
Thanks in advance.

Its not working for me


As an author, I want to pull in my github activity to my “stream”

Post github activity

Possibly integrate pulling activity via a button


Suggestions and maybe bugs.

Toggle is actually just rapid fire. Please make an actual "Toggle" that emulates holding the key, and rename what you have now "Turbo" or something. If you can, also add a way to adjust the delay for the turbo.
Can't select attack/use actions in the in-game config. Can be done in the JSON though. That's how I noticed the Toggle problem.
Toggle/Press button in the in-game config is kinda bugged.
"Use Item" turns all of the set item into what you're currently holding. Not sure if that's what it's supposed to do.
A couple suggestions. Maybe add an option to the command config to NOT auto-send commands so it can function more as a clipboard. And not sure how it does the commands without them getting saved as previous messages ("up" key in chat,) but would like an option to let them get saved to that.

Toggle is working as intended. It will use the keybind until you toggle it off again
I'm not exactly sure what you are trying to say here. Can you be a little more specific? :)
Yeah it doesn't save properly, I will look into that.
Use Item is currently completely borked, will be fixed too.
I like the commands ideas, will see if they are possible :)

All bugs mentioned here should be fixed in next version for 1.10.2.
The copy command to clipboard command will be a part of the 1.11.2 release.

All bugs mentioned here should be fixed in next version for 1.10.2.
The copy command to clipboard command will be a part of the 1.11.2 release.


Issue - Flatten an array JS

JS Code to flatten an array
🐞 Problem
Given a nested array say [1,[2,3],[4,[5,6],7],8,9,10]
🎯 Goal
The objective is to flatten it completely like [1,2,3,4,5,6,7,8,9,10]

@Chandrasekar-G, Which array? Why do we need to flatten it? Please provide more information.

Sorry. Wrong Repo.


Add more error messages for failures on CLI invocation of script

For example, avoid silently failing when file paths are given that aren't recognized.

Fixed by https://github.com/microsoft/genaiscript/issues/348


Added optional generation of div in footer to display content license…

This adds an optional footer text when specifying footer_content_license (and footer_content_license_link).
It reads something like this (just like cc does it):
"Except where otherwise noted, content on this site is licensed under a footer_content_license license."

I also added that the theme and color theme are licensed under MIT. I  think that else it is missleading.
closes #19

sorry for the late merge, had a lot to deal with irl, thank you for your contributions!


Any plans for i18n text support?

From a quick glance I see that text shaping has the following defaults with HarfBuzz:
hb_buffer_set_direction(harfbuzz_buf_, HB_DIRECTION_LTR);
hb_buffer_set_script(harfbuzz_buf_, HB_SCRIPT_LATIN);
hb_buffer_set_language(harfbuzz_buf_, hb_language_from_string(text, length));

There's a TODO to make these configurable but are there any plans for more robust i18n support such as BiDi, script detection etc?

In master, now it supports SetTextLocale() API.
With the API, for instance SetTextLocale('ar'), Label/Edit widget support RTL languages.
Items not supported yet are:

Font fallback when a font doesn't include some glyphs.
I'm working on the feature.
Unicode BiDi control characters.
http://www.i18nguy.com/markup/right-to-left.html
Switching other layout directions (e.g. Group layout direction)
Not sure if it's necessary. Any feedback is appreciated.
Script detection.
I'm leaning toward not to have the feature since,

Using compact language detector2 would add additional MB for a library footprint.
https://code.google.com/p/cld2/
Also any feedback is appreciated.

Setting locale seems like a good solution for single language support, but once you mix in multiple languages at once you might need BiDi and script direction to pass information along to Harfbuzz when you do shaping. I've been looking for a small lib to handle i18n mixed text rendering for me and thought I'd push the responsibility on to you :p
If multiple languages in text isn't worth supporting, I think setting locale is good enough. If there are plans to support it, then you need fallback (I can't see fallback mattering too much if you stick to a single language as most fonts are designed to support at least one language unless Im missing something), BiDi and script detection.
I've tried to do something similar to what flatui is doing for text rendering and ended up using harfbuzz+libunibreak+ICU (for bidi and script detection)... ICU is a huge dep. There might be other independent BiDi libraries with a compatible license too though (like https://github.com/mta452/SheenBidi, untested)
My specific use case is rendering map labels which may contain mixed i18n text. This is pretty niche, so whether or not mixed i18n text is in the scope of this project is up to you folks.

Locale support is added in /develop branch.


PlayerKilled event throws NullReferenceException

The title says it all. Relevant line that causes the error:
parser.PlayerKilled += HandlePlayerKilled;

btw. there is also a typo in the summary of the event. "Not"->"Note"

Could you please give a link to a demo file where it happened ? Will be easier to debug :p

That is what I wanted to ask. I have parsed many demos and did not get the error in recent versions.
The current build is passing meaning that at least 3 demos were parsed without any exceptions.

[This testcase] seems to run fine.

Doh,I messed up. Everything works fine. Sorry for the trouble!

No problem :)


setTitles doesn't work

Class PermissionButton
I'm not sure what's going on, but in
func setTitles(_ titles: [PermissionStatus: String?], forState state: UIControlState = UIControlState()) the first line is
guard [.highlighted].contains(state) else { return }
which means, with the default value of state you've specified, this function will never run.
Same goes for a few other functions.
I tried to set up my buttons just like in readme and their title is always empty.

It also seems, you can't set multiple titles for .normal state.
I'm not sure what that guard check was supposed to do, but removing it in my fork solved my problem.

Hey @ysoftware, thanks for the issue.
That's definitely a bug that was introduced during the automatic transition to Swift 3 (https://github.com/delba/Permission/commit/1ef678af334e71c982b476ba344b1a9194c49f8e) and has been fixed here https://github.com/delba/Permission/commit/37c27702d522ff7da6a90e6f27964f693ce1e076.

It also seems, you can't set multiple titles for .normal state.

I'm not sure what you mean (?)
The guard is preventing the user to set titles for states other than .normal or .highlighted. It might be removed completely in the upcoming version of the lib.
Thanks again!

I'm not sure what you mean (?)
Since it's only checking for [.highlighted] and not .normal.

Anyway, Thanks for the responce.


reject_if doesn't work when using AJAX/XHR

Hi experts,
I have a problem submitting nested form with AJAX/XHR request, i have two models, SPG and User, SPG has_one User, and User is using Devise gem as auth system, i added reject_if into accepts_nested_attributes_for method, see the code below:
accepts_nested_attributes_for :user, reject_if: proc {|attributes| attributes[:spg_role].eql?("spg") or attributes[:spg_role].blank?}
But the problem is code above doesn't reject user even though spg_role attribute is empty, this is very confusing since everything is ok when i am not using AJAX request, so do you guys have a solution for my case?, i really appreciate for the help
Many thanks

Hi guys,
I have solved the problem, i put throw :abort in before_validation callback, code is below:
before_validation :prevent_system_creating_user
def prevent_system_creating_user
throw :abort if spg_role.blank? || spg_role.eql?("spg")
end
But, i'm still curious why reject_if can't reject user object under ajax request? anyways, thanks guys


Update discordInteractionManager.js

Changed action switch case for respond to match the wiki. Previously was respondautocomplete changed to respond.

Sorry, my bad, I changed wiki because "respondAutocomplete" is for a concrete use case


[Docs] Whirlpool "Preparing the wallet" should specify P2WPKH wallet required

Issue:
Whirlpool with P2TR wallets is not supported. Currently on this page, it is specified that The wallet needs to be a standard derivation on the default account #0. However an additional prerequisite is that the wallet needs to be native Segwit and that taproot wallets are not supported. Ref.
Suggested change:
update this:
The wallet needs to be a standard derivation on the default account #0 - for example, m/84'/0'/0' for Native Segwit. Electrum generated seeds are not supported.
to this:
The wallet needs to be native Segwit (P2WPKH) and have a standard derivation on the default account #0 - i.e. m/84'/0'/0'. Electrum generated seeds are not supported.

However an additional prerequisite is that the wallet needs to be native Segwit and that taproot wallets are not supported.

Apologies, I misremembered this. It's correct that Taproot wallets aren't supported, but other script types (Legacy and Nested Segwit) are. I'll chat to the Samourai team about adding Taproot support to the Whirlpool client.
The documentation has been updated with a note on Taproot support.


Major Organization

Created new directories in utils: functions and graphing, I have already updated the tests and script paths according, please double check let me know if there are errors
Created new directory in paper: data_results: please save future data results we wish to report in paper here (for example those txt files that are important), accordingly please update scripts saving locations
Changes some coverage issues and updated makefiles
Deleted old-paper respository: we dont need anything from here right?
I did most of 1,2,3 from #114 , except updating scripts to save txt files
Please pull and update any scripts accordingly, let me know anything wrong

Structure looks good. Lets pull this in as soon as we can

not sure, but the other way fails when I run make test

yeah trying to figure out the travis

In test_plot_roc, t_roc needs to be float? Right now, its rounding everything to integer. Like, try " t_roc = np.array([[1.02/4, 1.01/4], [1.01/6, 1.01/2], [1.01/4, 1.02/5], [1.02/3, 1.04/5]]) "?

I imported division from the future, so that shouldn't matter, will change it anyway

Travis passed! lots of changes to structure and tests, should merge asap

Please merge @brianqiu @changsiyao @boyinggong @pigriver123


Created some basic tables using SeaORM

group, fingerprint, logical_property, physical_property, logical_expression, physical_epxression
Working on adding more of them
In order to make them for yourself, follow the README and setup SeaORM according to the tutorial.
Here's what the schema looks like:
sqlite3 memory.db
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
sqlite> .tables
fingerprint          logical_property     seaql_migrations
group                physical_expression
logical_expression   physical_property
sqlite> select * from fingerprint
   ...> ;
sqlite> .schema
CREATE TABLE IF NOT EXISTS "seaql_migrations" ( "version" varchar NOT NULL PRIMARY KEY, "applied_at" bigint NOT NULL );
CREATE TABLE IF NOT EXISTS "fingerprint" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "inner" bigint NOT NULL );
CREATE TABLE sqlite_sequence(name,seq);
CREATE TABLE IF NOT EXISTS "group" ( "group_id" bigint NOT NULL PRIMARY KEY, "winner" integer NULL );
CREATE TABLE IF NOT EXISTS "logical_expression" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "fingerprint_id" integer NOT NULL, "data" json_text NOT NULL, "group_id" bigint NOT NULL, FOREIGN KEY ("fingerprint_id") REFERENCES "fingerprint" ("id"), FOREIGN KEY ("group_id") REFERENCES "group" ("group_id") );
CREATE TABLE IF NOT EXISTS "physical_expression" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "fingerprint_id" integer NOT NULL, "data" json_text NOT NULL, FOREIGN KEY ("fingerprint_id") REFERENCES "fingerprint" ("id") );
CREATE TABLE IF NOT EXISTS "logical_property" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "group_id" bigint NOT NULL, "data" json_text NOT NULL, FOREIGN KEY ("group_id") REFERENCES "group" ("group_id") );
CREATE TABLE IF NOT EXISTS "physical_property" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "physical_expression_id" integer NOT NULL, "data" json_text NOT NULL, FOREIGN KEY ("physical_expression_id") REFERENCES "physical_expression" ("id") );

This has been moved to https://github.com/cmu-db/optd-experimental/pull/2


onContentSizeChange support for growing multiline TextInput

Original discussion here: https://github.com/facebook/react-native/pull/1229#issuecomment-185462712
Problem

the onChange event that we depend upon here only fires when a user enters text via a keyboard. This means that if there is more than one line of text loaded in (e.g. resuming a form), the height will be restricted to whatever the default is. Is there any way to trigger (or measure) the contentSize so that we can set an accurate initial height?

Potential solutions

Fix onChange like @deanmcpherson did in https://github.com/facebook/react-native/pull/6283
"Add a separate onContentSizeChange event which can be observed independently of onTextChange." (https://github.com/facebook/react-native/pull/1229#issuecomment-191996041) -- I did this for Android in this commit.

Decision that needs to be made

Do we push forward with onContentSizeChange?  (an aside, see our justification for naming).
If yes:

do we back out of providing layout information in the onChange event from TextInput and just provide it in onContentSizeChange?
who will implement this on iOS?

@nicklockwood @deanmcpherson @bestander

Any update on this? Most of the relevant issues have gone quiet

I posted internally to get some attention, sorry for the wait.
Meanwhile if this affects you and you want to raise visibility, create an entry in product pains

How is onContentSizeChange getting fired? I'm on Android and react-native v0.32.0, multiline is true. I only get onContentSizeChange fired for the first time, after that it doesn't fire even after i'm hitting the next line.

Our application has tons of forms that are paused and resumed at a later date, and currently this issue alone is making react-native a headache for us.

Checking on v0.33 rn on android, multiline is true.
I only get onContentSizeChange fired for the first time, after that it doesn't fire even after i'm hitting the next line.

Issue reported by @jayshah123 and @holyxiaoxin still persists on v0.34. For now I am using both onChange and onContentSizeChange. The former for Android and the latter for iOS.

Oh ,I get the same issue too as reported by @jayshah123 and @holyxiaoxin

onContentSizeChange is not working on 0.37

is it still on there?

FWIW TextInput + props.onContentSizeChange + props.multiline is working as intended for me
(using 0.37.0)

It's still on there :)
onContentSizeChange on Android is fired only once (^0.39.0-rc.0), works fine on iOS.

the issue is in 0.38.1

Looks like this is fixed in newer versions of RN


Report failed compilation if errors are registered.

In some cases, the local java compiler may report compilation errors,
but succeed in compiling the source files (for instance, if there are
encoding problems in the source). However, the command line javac will
report a failed compilation on the same input.
To have the local java compiler behave like the forked java compiler, we
now report the compilation as failed if error messages have been
registered during compilation.
Fixes sbt/sbt#2228

Can one of the admins verify this patch?

LGTM (for what I can see, not what I know :D)


[Bug] Notification dropdown box-shadow

Version
2
Reproduction link
https://demos.creative-tim.com/material-dashboard/pages/dashboard.html?ref=readme-md2
Operating System
Windows
Device
Acer Nitro 5
Browser & Version
Chrome(114), Firefox(114), Edge(114)
Steps to reproduce

Open the mentioned link.
Click the bell icon in the navbar header.
Adjust the device width in the responsive mode below 992px.

What is expected?
Box-shadow should be there to create a layer of separation from the same white-colored background cards.
What is actually happening?
As the dropdown and the dashboard card's backgrounds are the same. It is getting difficult to know the separation and where the dropdown box ends.

Solution
Remove the box-shadow: none!important; given after @media (max-width: 991.98px) media query to the .navbar .navbar-collapse .navbar-nav .dropdown .dropdown-menu selector.
Additional comments

Hello @abhishekrawat22,
Thank you for your solution in fixing this issue. We will integrate it into the next product update.
Please let us know if we can help you with anything else.
All the best,
Stefan

Sure, thank you.

Hi @groovemen
May I know when are you planning to launch the next update and can I create a PR for the solution?


Euler's Totient function

Do the checklist before filing the issue:

[x] Do you have Node.js and all the relevant dev-dependencies installed?
[ ] Is this a bug fix?
[ ] Is this an enhancement?
[x] Is this a feature request?

NOTE: Provide a clear and concise description of the feature that needs to be added! Or if its a bug, then provide the necessary steps to reproduce it along with screenshots.

Euler’s Totient function for an input n is the count of numbers in {1, 2, 3, …, n} that are relatively prime to n, i.e., the numbers whose GCD (Greatest Common Divisor) with n is 1.
M.phi(6) = 2

M.phi(2.215)        //Error floats not allowed
M.phi(-2)             //Error negative numbers not allowed
M.phi("1")            //Error strings not allowed
M.phi(False)         //Error boolean not allowed

The following function has many applications, especially in RSA algorithm.
Links-
Euler's Totient GFG
Implement the algorithm listed at the end, in the above link, since it is more efficient

Can I work on this ?

@Manvityagi first complete your current PR!

yeah sure! I thought it was done! but found merge conflicts later.

@Manvityagi you're assigned!


Highlight color is barely visible

Hi, this theme is awesome so thank you and good job!
But I have a problem on Ayu Miraje Bordered with the color used to highlight the text when it's selected. It's barely visible and I have trouble seeing what's selected and what not.
Here's an example bellow: (asds is selected, while the last two ss are not

Hi @danechitoaie, this was addressed in the recent release. How do you like it?

Awesome. Thank you.


Can no longer set operation's summary in an IOperationFilter

Hi,
A long time ago I wrote an IOperationFilter which appends Authorization information to an operation's summary, as per this screenshot:

The full source code for this filter lives here:
https://github.com/mattfrear/Swashbuckle.AspNetCore.Filters/blob/master/src/Swashbuckle.AspNetCore.Filters/AppendAuthorizeToSummary/AppendAuthorizeToSummaryOperationFilterT.cs
The gist of it is:
operation.Summary += "(Auth)";
I think when I wrote it it was against Swashbuckle.AspNetCore 1.2.0 and it worked fine.
It seems to work fine with Swashbuckle 3.0 if ASP.NET Core 1.1 is targeted.
But with Swashbuckle 3.0 & ASP.NET Core 2.0 (and of course with Swashbuckle 4.0) it doesn't work if the operation also has an XML summary, as per this screenshot:

What I see when I debug with ASP.NET Core 1.1 is that the operation.Summary already has the XML description in it so the += of "Auth" works.
But when I debug with ASP.NET Core 2.0 the operation.Summary is null, so the += of "Auth" happens, but then later on the XML description must be overwriting it.
Parent issue: https://github.com/mattfrear/Swashbuckle.AspNetCore.Filters/issues/74

Under the hood, the XML comments functionality is implemented as a set of filters. And, as with all filters - the order in which they’re added matters. You could resolve your issue by ensuring your filter is added after the call to IncludeXmlComments


Kernel panic after updating to linux 5.10.2

I'm getting a kernel panic right at boot because PID 1 panics:
panic: open /usr/lib/modules/5.9.14-arch1-1/booster.alias: no such file or directory

goroutine 1 [running]:
main.main()
        init/main.go:785 + 0xd0

I'm using booster-git freshly installed from AUR. Here's my config file:
universal: false
modules: i915

And boot entry:
title	arch
linux	/vmlinuz-linux
initrd	/intel-ucode.img
initrd	/booster-linux.img
options	root=/dev/sda2 rw

When installing the linux package from [testing], booster is invoked like:
booster -force -output /boot/booster-linux.img -kernelVersion 5.10.2-arch1-1
Any idea what's wrong? It worked fine with linux 5.9.

could you please show me output of lsinitcpio /boot/booster-linux.img?

booster -force -output /boot/booster-linux.img -kernelVersion 5.10.2-arch1-1

This looks fine. It builts kernel for the (current) 5.10.2-arch1-1.

panic: open /usr/lib/modules/5.9.14-arch1-1/booster.alias: no such file or directory

But this line says you are trying to use that image for kernel 5.9.14-arch1-1. Hmm.. Do you have multiple kernels in your boot configs?
PS wrt your config:

universal: false

false is the default value, so you do not need to set it.

modules: i915

i915 is module for graphics? Is there a reason you want to load it in the initramfs? The initramfs' goal is to mount the root filesystem and all the graphics/extra perepherials should be really configured by the main init system (systemd+udev).

I just pushed a commit that provides a clear error message in case of the kernel version mismatch.
If you rebuild the booster image with the target linux kernel then the panic you see should go away.

I just noticed that the problem goes away when the mkinitcpio package is installed during kernel update.
After digging further, it looks like the initramfs image was generated correctly, however vmlinuz was NOT correctly updated in the absence of mkinitcpio. So the 5.10.2 package would be installed, but vmlinuz would be stuck on 5.9.

Heh, mkinicpio copies files to /boot indeed. I guess it is time for me to start using booster without mkinitcpio installed.
The fix for this issue is on the way.

Your issue should be fixed now. Please try it and let me know if you see any problems with it.

Yes, it works fine now, thanks for fixing this so quickly. It's a nice project, saves me a bunch of time during kernel updates, although I'm waiting for linux-lts to support zstd before I can fully transition.
To answer your previous question, I added i915 to the modules for early KMS as described here. After testing without, it doesn't make much difference on my laptop so I took it out.

although I'm waiting for linux-lts to support zstd before I can fully transition.

Adding gz compression (used by LTS) is something I have in my TODO list. Filed a ticked #10 to track this activity.


Do not show translation status of the root language

Motivation

Translation status of the root language is always up to date. Therefore it is not so meaningfull to show it in the content list, so let's omit it.
Proposed Solution

Show only status of other languages (non-root).
This can be applied not only for pages but also for POI and event.
Alternatives

Leave it as it is.
User Story

Additional Context

Design Requirements

Does not really makes an effort, can be done if we are bored.

I updated my flag package with the new flag, so this issue is no longer blocked :innocent:


boards: arm: add mikroe_mini_m4_for_stm32

Add support for STM32F415RG.
Add support for mikroe_mini_m4_for_stm32.
CC: @erwango
Fixes #12602

Codecov Report

Merging #12951 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #12951   +/-   ##
=======================================
  Coverage   53.53%   53.53%
=======================================
  Files         239      239
  Lines       27052    27052
  Branches     6521     6521
=======================================
  Hits        14482    14482
  Misses       9900     9900
  Partials     2670     2670

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 66b9e95...0711204. Read the comment docs.

@dbkinder All changed.

@dbkinder All changed.

Changes in #14838 applied.

@KwonTae-young can you look at fixing the license issues.  We improved the checks since you submitted this PR, sorry for having to fix it up.

@galak Fixed license issue.


Add issue templates

Add the system_metrics_collector issue templates to this repo
Signed-off-by: Devin Bonnie<EMAIL_ADDRESS>

Closing as already present in the root tooling repo


Implement "Calculation Inputs" in user interface

Allow user to view calculation inputs on the main web page.
Include the ability to display, or not via the View : Calculation Inputs menu item.

Bri: What is this one? "Implement "Calculation Inputs" in user interface"
Bri: Is this "Constants"?
Mike: Yes, "Constants", aka D vector. By the time that we get to density in Solids, I expect that we will want to be able to change it.  Also, Solids is supposed to lay the groundwork for material tables in Springs.

After a discussion with Mike, we decided to remove the "View : Calculation Inputs menu item" and treat it as part of "View : Display Sub-Problem".
Merged into master, closing.


Ctrl+click doesn't respect my current platform

I work on a Linux/MacOS project which has:
module.h
module.cpp
moduleLinux.cpp
moduleMac.cpp
In CMakeLists.txt the respective file is added for the respective platform. When on Linux ctrl+click, Go to Definition always send me to the Mac version for some reason. It would be nice if VSCode can pick the platform from CMake up and send me to (prefer) the correct definition.

This sounds like something for the cpptools extension to take a look at.


add ManagerWebHookPort ManagerMetricAddr ManagerReadlineAddr in const… and update Dockerfile

…ant.go, and use them in generic.go
Description
What type of PR is this ?:

Related links:

@zheng1 could you review my pull request please?

@zheng1 could you review my pull request please?

Thank you very much for your contribution, can you fix the check according to the prompt.

@zheng1 could you review my pull request please?

Thank you very much for your contribution, can you fix the check according to the prompt.

I really don't know what's that mean?

please refer to DCO

please refer to DCO

How about now ?

please refer to DCO

how about now? @chaunceyjiang

how about now? @chaunceyjiang

how about now? @chaunceyjiang

see here

@chaunceyjiang is there a wechat group of the openelb project?

@chaunceyjiang is there a wechat group of the openelb project?

@hurricane1988  you can add my WeChat(chauncey187) , I invite you

/LGTM


Power-Ups, Bombs, and Level/Theme Enhancements

Description:
To improve Alien Invasion Defense, I propose adding mid-game power-ups, bomb features, and various themes/levels to enhance player experience and engagement.
Suggested Features:
Strength Power-Ups: Collectible health packs, temporary shields, speed boosts, and weapon upgrades.
Bombs: Limited-use bombs that clear nearby aliens, with different types for added strategy.
Diverse Themes & Levels: Introduce various themes and levels to provide players with unique environments and challenges, increasing replayability.
Impact:
These enhancements will create a more interactive and tactical gameplay experience, allowing players to adapt to challenges and enjoy a richer variety of content.

@YadavAkhileshh Assign me this issue .

@YadavAkhileshh You did not add level label

@YadavAkhileshh  I will work on power-ups, bomb features


Feature/add problem interface

@Crell This PR tentatively tries to introduce an Interface for the ApiProblem package.
I say tentatively because I wonder if this should be done using something la PHP-FIG or if this is useful to enable swapping or using other package using object following RFC7807 like https://github.com/phpro/api-problem .
Also I tried to extract the interface without introducing any BC break
If you find this useful the remaining/open question are:
Naming issues:

should the interface be simply called Problem vs ApiProblemInterface
should we used Problem::toArray vs Problem::asArray

New methods/classes

the set/getExtensions methods are added to enable access to the extension members easily
should we introduce a specific Exception if a setter method fails ?

Out of scope features

Currently the Problem interface does not support the JsonSerializable or the ArrayAccess interface as such any conversion feature like asXml or asJson are not present in the interface and are specific to the current implementation.
In contrary asArray is kept in the interface as the other representations can be infer from it. As a consequence, HttpConverter is rewritten internally to only work with the asArray method.
Using PHP native JsonException as this requires at least a PHP requirement bump and maybe a full BC break.

let me know what you think

Thanks, @nyamsprod.  I'm not sure I agree with this, however.  This is a concrete value object, so an interface isn't really necessary.  I only know of two implementations; this one and the one built into Laminas.  There isn't much value in trying to make a value object swappable when the implementation is mostly boilerplate.
Basically, I don't really see what value this adds.

@Crell thanks for the feedback. Indeed having an interface for a value object feels strange but I find myself working on projects where I indeed have multiple implementation of the ApiProblem object 😢  but I fully understand your reasoning.
Having said that here's what I would propose as an alternative:

Add the ApiProblem::setExtensions and ApiProblem::getExtensions methods.

public function setExtensions(iterable $extensions): ApiProblem;
public function getExtensions(): array;

While the ArrayAccess interface provides a nice API around extensions members there's no current easy way to access/set all extension members at once.

Removing the following comment on the ApiProblem class.

Subclassing this class to provide defaults for different problem types for
your application is encouraged.

If we are dealing with a value object we should promote composition over inheritance whenever possible no ?
For instance I usually use the package as shown below:
<?php

interface CastToProblem
{
    public function toProblem(): ApiProblem;
}

This way I ensure that I don't extend the ApiProblem or add more public API than needed.

Adding an exception to cover setting the status code outside the valid HTTP Status code range.

As this is expected to be an error as stated in the docblock of the method but not enforced in the code.
The following 2 would require BC Break

Making the class final.

Remove or move the package JsonException and use instead PHP Native JsonException exception.

If you find those alternative worth pursuing I could submit independent PR to cover them.
Those changes would IMHO remove any need for a dedicated interface.

I find myself working on projects where I indeed have multiple implementation of the ApiProblem object

Dear god why? :smile: And which other implementation?  As I said, I only know of this one and Laminas.  (I've not looked at Laminas' implementation in a long time.)  Knowing what the compatibility issues are with whatever else you're working with would help determine what if anything can/should be done.
To your other suggestions:
1:
I'm not sure how this one would help in your case, unless it's cloning methods from another implementation.  I'm not against it, really, just unsure what the value is it adds without more context.
2 and 5:

If we are dealing with a value object we should promote composition over inheritance whenever possible no ?

I really wish people would stop making dogmatic statements on inheritance. :smile:  It absolutely can be over-used, but it also absolutely has valid use cases, specifically where "is a special case of" really is the right logic you want to implement.  In this case, a deliberate part of the design is the ability do to something like this:
class InsufficientCredit extends ApiProblem {
    public function __construct(int $balance, int $needed, array $accounts) {
        $this->title = "You do not have enough credit.";
        $this->type = "http://example.com/probs/out-of-credit";
        $this->detail = sprintf('Your current balance is %d, but the cost is %d', $balance, $needed);
        $this->balance = $balance;
        $this->accounts = $accounts;
        $this->status = 402; // Or 409, or whatever 412, or whatever code you want.
    }
}

return new InsufficientCredit(balance: 30, needed: 50, accounts: $acct_list);

And now you have an easy to use, domain-specific value object that will still compile to an ApiProblem JSON/XML message like any other.  Composition is not at all helpful in this case.  This is a deliberate and very good feature of this library, IMO, and I am not OK dropping it.  (You should be doing the same with your exceptions in general, in fact.)
3:
Validating the code sounds reasonable to me, depending on how tightly it's restricted.  I'd accept a stand-alone PR for this one.
4:
I think you skipped a number. :stuck_out_tongue:
6:
Off the top of my head, I don't know why I used a custom exception here instead of forcing json_decode() to throw an exception.  This is why comments are useful...  Bad me.  Perhaps because the native exception's debuggability is awful, as it lacks the built in error messages?  I'm open to discussing revising this in its own issue.  It probably would be at least a minor version bump if not major, but we can discuss that separately.

Hm, you closed this one but didn't open new issues?  Are those still coming?

@Crell yes I will create them in different PR. So they will be coming just need to free up sometimes to do them properly.


jwt leeway time added-5.5.0

Added 30-second leeway time for JWT validation

Can one of the admins verify this patch?


train for apparel embedding

Hi, I use this project for my apparel embedding project. Basically, the main for my project is to query similar clothes by an given cloth. I take the DeepFashion dataset as the train data. The positive samples for the triplet loss are the images under same sub directory, they are similar but not exactly the same. Now, I have already test several different structures for training, but the result is not satisfactory. To be specific, it sometimes leads to trivial solution, the embedding for each cloth is almost the same. And the active count never drop and  it converges very fast at somehow high loss value. Is there any suggestion for training? Thanks in advance.

Hi Chris, that's an interesting project.
Yes, what you observe is exactly what we describe in Section D of the appendix of our paper, please read it.
Also, copying from the README here:
:boom: :fire: :exclamation: If you train on a very different dataset, don't forget to tune the learning-rate :exclamation: :fire: :boom:
I'm closing the issue for now. Once you tried everything form above, please either let us know which of the suggestions made it work or, if it still doesn't work, feel free to re-open the issue with details on all the things you have tried and we can then try to help you further.


Semaglutide

Looks ok to me unless we need to reconfigure to suit new measure structures? @inglesp

Looks ok to me unless we need to reconfigure to suit new measure structures?

No, because it's not a vanilla measure -- it queries the raw prescribing data.


feat: added tools support

Add check to see if tools is being used instead of functions.

Yes, I have tested and I'm adding an example. I will merge and release a new vesrion.

New version published 0.3.9 with the support of the tools call function.
Example: https://github.com/st3w4r/openai-partial-stream/blob/main/examples/07_tools.js
Pacakge on npm: v0.3.9


validate logic error.

Some prerequisites
I use Xcode Version 13.2.1 (13C100) and CocoaPods for iOS development.
I have a private Pod component that contains some color values stored in Assets.xcassets and I use R.swift in this private component to manage and use these colors.
My main project uses also uses Storyboard for development and also integrates with R.swift.
Problem
The problem is that I can use the color values in the Assets.xcassets in the private pod component in the storyboard file of the main project.
But in the validation code generated by R.swift for these Storyboards, the bundle used for the color values is the hostingBundle, i.e. the bundle of the main project. the correct value should be the bundle of the private pod.
This error caused me to abandon the validate method for now.
How do I deal with this problem? Has anyone else encountered a problem similar to mine?

I did notice in #186  that a solution is mentioned or could be effective to solve this problem? Just unfortunately there is no sign of this being implemented yet.

I currently have a different way of managing color to circumvent this problem.
I define all the colors in the main project and then create a private pod (ColorConfigPod) for managing the generic colors as an intermediary between the main project and the private pod.
The private pods that need to use these colors only need to rely on ColorConfigPod. Also after the main project integrates ColorConfigPod, the colors are registered with it through the interface.
I hope this temporary solution will help people with the same problem.
In the meantime I'm not going to close this issue for now, looking forward to a better official solution.

In theory, this should now work correctly in version 7.0.0
If it somehow still doesn't work, please reply again.

In theory, this should now work correctly in version 7.0.0
If it somehow still doesn't work, please reply again.

I'm still facing this issue on v 7.2.4

@jsaiti Can you create a new issue with a detailed explanation of what you're trying to do and what isn't working?


Version 5.1.0: Upgrade crypto libs. Upgrade @meeco/vc-api-sdk with th…

Upgrade crypto libs;
Upgrade @meeco/vc-api-sdk lib;
Add presentationSubmission param to createPresentationRequestResponseItem function.

@linasi can you create a CHANGELOG.md and record this change.

@linasi can you create a CHANGELOG.md and record this change.

Thanks for the feedback. Added.


AttributeError: 'DataFrame' object has no attribute 'copy'

I m using autoML(FLAML) with Spark on large data. The error image is given below
train = spark.read.parquet("./train.parquet")
test = spark.read.parquet("./test.parquet")

input_cols = [c for c in train.columns if c != 'target']
vectorAssembler = VectorAssembler(inputCols = input_cols, outputCol = 'features')
vectorAssembler.setHandleInvalid("skip").transform(train).show
train_sprk = vectorAssembler.transform(train)
test_sprk = vectorAssembler.transform(test)

from sklearn.model_selection import train_test_split
from sklearn.datasets import make_classification
y = train_sprk["target"]
X = train_sprk[input_cols]
X, y = make_classification()
X_train, X_test, y_train, y_test = train_test_split(X, y)

from flaml import AutoML

automl = AutoML()

from flaml import logger
import logging
logger.setLevel(logging.WARNING)

settings = {
    "time_budget": 200,  # total running time in seconds
    "metric": 'roc_auc',  # can be: 'r2', 'rmse', 'mae', 'mse', 'accuracy', 'roc_auc', 'roc_auc_ovr',
    "estimator_list": ['lgbm', 'xgboost'],                     # 'roc_auc_ovo', 'log_loss', 'mape', 'f1', 'ap', 'ndcg', 'micro_f1', 'macro_f1'
    "task": 'classification',  # task type
    "log_file_name": 'airlines_experiment.log',  # flaml log file
    "seed": 22,
    "verbose" : 0

           # random seed 22  786
}
automl.fit(X_train=X_train, y_train=y_train, **settings)
'''retrieve best config and best learner'''
print('Best ML leaner:', automl.best_estimator)
print('Best hyperparmeter config:', automl.best_config)
print('Best accuracy on validation data: {0:.4g}'.format(1-automl.best_loss))
print('Training duration of best run: {0:.4g} s'.format(automl.best_config_train_time))

Everything works fine up to the above point. Now when I predict on test data using as
y_pred = automl.predict(test_sprk)
print('Predicted labels', y_pred)

The line 396 X=X.copy() can be removed from data.py. Would you like to create a PR to remove that line and test it?

Thank you!, Would you please elaborate more? Where I can find data.py?

Thank you!, Would you please elaborate more? How to proceed with data.py. Sorry not familiar with PR. I need to convert the spark data frame to Pandas or numpy. So When I convert to Pandas I get memory issues and the notebook restarted. I get a message [Errno 111] Connection refused. So changing data.py will be the most viable option.

PR = pull request.
The first step is to remove line 396 in data.py and try again. There could be new issues after that. Please let me know if that's the case.
If you don't know how to do this and would like help, please share the dataset and use case so that others can test.

FLAML

Thank you, I m not sure how to proceed further. I need help. Here is the  error reproducible notebook.

Hi, I'm afraid you're trying something impossible. FLAML is build upon the in-memory python data stack and interacts beautifully with pandas, numpy, scikit-learn... On the other hand, (py)spark data frames can't easily be used interchangeably with this stack. Thus, training or predicting a FLAML (or scikit, tensor flow, pytorch...) estimator with a pyspark data frame simply does not work.
That's why everything works if you use random X, y generated by scikit and not if you substitute them with your original pyspark data frame. Often, errors only occur late in your code, as pyspark has the property of lazy evaluation and often won't complain until you actually demand to see or calculate a result.
What are you're options.

bring your pyspark data frames to pandas, most stable is saving to parquet and loading with pandas.read_parquet (install pyarrow) if your data can fit in memory (perhaps otherwise sample?).
for predicting, you can use UDFs in pyspark: see for instance https://medium.com/civis-analytics/prediction-at-scale-with-scikit-learn-and-pyspark-pandas-udfs-51d5ebfb2cd8
For training, it won't be easy to use FLAML to train directly on a pyspark data frame I'm afraid  :(

FLAML

Thank you, I m not sure how to proceed further. I need help. Here is the error reproducible notebook.

I got the following error when running this notebook:
AnalysisException                         Traceback (most recent call last)
/tmp/ipykernel_33/1041752136.py in
13   .option("header", first_row_is_header)
14   .option("sep", delimiter)
---> 15   .load(file_location)
16 df.limit(2).toPandas().head()
17
/opt/conda/lib/python3.7/site-packages/pyspark/sql/readwriter.py in load(self, path, format, schema, **options)
175         self.options(**options)
176         if isinstance(path, str):
--> 177             return self._df(self._jreader.load(path))
178         elif path is not None:
179             if type(path) != list:
/opt/conda/lib/python3.7/site-packages/py4j/java_gateway.py in call(self, *args)
1320         answer = self.gateway_client.send_command(command)
1321         return_value = get_return_value(
-> 1322             answer, self.gateway_client, self.target_id, self.name)
1323
1324         for temp_arg in temp_args:
/opt/conda/lib/python3.7/site-packages/pyspark/sql/utils.py in deco(*a, **kw)
194                 # Hide where the exception came from that shows a non-Pythonic
195                 # JVM exception message.
--> 196                 raise converted from None
197             else:
198                 raise
AnalysisException: Path does not exist: file:/kaggle/input/anomaly-sub/train_sub.csv
I agree with @MichaelMarien that converting to pandas dataframe is the first recommended approach. If you have to work with pyspark dataframe for training, consider the following option. As long as you can make training one model works for a fixed configuration, you can wrap it up with a user-defined function and leverage the tuning API to perform hyperparameter tuning.
@markusweimer Please chime in if you have suggestions or if you think this is a motivating example of a deeper integration of flaml and synapseml.

FLAML

Thank you, I m not sure how to proceed further. I need help. Here is the error reproducible notebook.

I got the following error when running this notebook:
AnalysisException Traceback (most recent call last) /tmp/ipykernel_33/1041752136.py in 13 .option("header", first_row_is_header) 14 .option("sep", delimiter) ---> 15 .load(file_location) 16 df.limit(2).toPandas().head() 17
/opt/conda/lib/python3.7/site-packages/pyspark/sql/readwriter.py in load(self, path, format, schema, **options) 175 self.options(**options) 176 if isinstance(path, str): --> 177 return self._df(self._jreader.load(path)) 178 elif path is not None: 179 if type(path) != list:
/opt/conda/lib/python3.7/site-packages/py4j/java_gateway.py in call(self, *args) 1320 answer = self.gateway_client.send_command(command) 1321 return_value = get_return_value( -> 1322 answer, self.gateway_client, self.target_id, self.name) 1323 1324 for temp_arg in temp_args:
/opt/conda/lib/python3.7/site-packages/pyspark/sql/utils.py in deco(*a, **kw) 194 # Hide where the exception came from that shows a non-Pythonic 195 # JVM exception message. --> 196 raise converted from None 197 else: 198 raise
AnalysisException: Path does not exist: file:/kaggle/input/anomaly-sub/train_sub.csv
I agree with @MichaelMarien that converting to pandas dataframe is the first recommended approach. If you have to work with pyspark dataframe for training, consider the following option. As long as you can make training one model works for a fixed configuration, you can wrap it up with a user-defined function and leverage the tuning API to perform hyperparameter tuning.
@markusweimer Please chime in if you have suggestions or if you think this is a motivating example of a deeper integration of flaml and synapseml.

Thank You, @MichaelMarien and @sonichi. I have tested already with pandas parquet. I get the memory issues. I think this may be a limitation of FLAML with Big Data. The integration of FLAML  with synapseml might be a better idea. There is no memory issue when I used  the same data with LightGBMClassifier with synapseml.

FLAML

Thank you, I m not sure how to proceed further. I need help. Here is the error reproducible notebook.

I got the following error when running this notebook:
AnalysisException Traceback (most recent call last) /tmp/ipykernel_33/1041752136.py in 13 .option("header", first_row_is_header) 14 .option("sep", delimiter) ---> 15 .load(file_location) 16 df.limit(2).toPandas().head() 17
/opt/conda/lib/python3.7/site-packages/pyspark/sql/readwriter.py in load(self, path, format, schema, **options) 175 self.options(**options) 176 if isinstance(path, str): --> 177 return self._df(self._jreader.load(path)) 178 elif path is not None: 179 if type(path) != list:
/opt/conda/lib/python3.7/site-packages/py4j/java_gateway.py in call(self, *args) 1320 answer = self.gateway_client.send_command(command) 1321 return_value = get_return_value( -> 1322 answer, self.gateway_client, self.target_id, self.name) 1323 1324 for temp_arg in temp_args:
/opt/conda/lib/python3.7/site-packages/pyspark/sql/utils.py in deco(*a, **kw) 194 # Hide where the exception came from that shows a non-Pythonic 195 # JVM exception message. --> 196 raise converted from None 197 else: 198 raise
AnalysisException: Path does not exist: file:/kaggle/input/anomaly-sub/train_sub.csv
I agree with @MichaelMarien that converting to pandas dataframe is the first recommended approach. If you have to work with pyspark dataframe for training, consider the following option. As long as you can make training one model works for a fixed configuration, you can wrap it up with a user-defined function and leverage the tuning API to perform hyperparameter tuning.
@markusweimer Please chime in if you have suggestions or if you think this is a motivating example of a deeper integration of flaml and synapseml.

Thank You, @MichaelMarien and @sonichi. I have tested already with pandas parquet. I get the memory issues. I think this may be a limitation of FLAML with Big Data. The integration of FLAML with synapseml might be a better idea. There is no memory issue when I used the same data with LightGBMClassifier with synapseml.

@Shafi2016 thanks for confirming that. Since LightGBMClassifier with synapseml works, you can modify this example to do hyperparameter tuning for synapseml.LightGBMclassifier before the integration is made. You might need to modify the search space as well based on the parameter name correspondence between lightgbm and synapseml.LightGBMClassifier.


minor bug at end of telluric correction

got the following error:
Traceback (most recent call last):
File "/Users/adam/python_codes/pyspextool/batch_cl.py", line 227, in
app = runBatch()
File "/Users/adam/python_codes/pyspextool/batch_cl.py", line 197, in init
batch.batch_reduce(par,verbose=(not args['quiet']))
File "/Users/adam/python_codes/pyspextool/src/pyspextool/batch/batch.py", line 1472, in batch_reduce
ps.telluric.telluric_correction('{}{}.fits'.format(spar['COMBINED_FILE_PREFIX'],spar['TARGET_FILES']),spar['STD_NAME'],
File "/Users/adam/python_codes/pyspextool/src/pyspextool/telluric/telluric_correction.py", line 349, in telluric_correction
history = split_text(old_history, length=65)
File "/Users/adam/python_codes/pyspextool/src/pyspextool/utils/split_text.py", line 52, in split_text
pos = ntext.rfind(' ', 0, length-1+i)
AttributeError: 'list' object has no attribute 'rfind'
this appears to be in the "cleanup" stage the code is extracting the old history from the object file header:
old_history = object_hdrinfo['HISTORY']
but for this particular case old_history is a list of strings, not text:
['Spextool FITS files contain an array of size', '[nwaves,4,nordersnaps]. The ith image (array[,*,i]) contains', 'the data ... 1.1872539659152526.']
probably because there are multiple HISTORY lines?
minor nuisance, but causes the code to crash without completing the telluric step. Probably split_text needs to check if it's passed a string or list of strings and flatten the latter.

Can you send me the individual files where this broke?  When I downloaded it was just the combspec69-234.fits file.

@aburgasser Just a poke on this.  If you can put the entire data (all the individual spectra for both std and obj since the problem may be with combine) I can then take a look.

the individual combspec files are here: https://drive.google.com/drive/folders/1BxZ8KIvOfBzsL8d7dq9xqWb4NqDuREJv - let me know if/when you need individual spectral files

So running this code in the directory with the two files, I was able to telluric correction the data.  So perhaps after we get everything synced, you can try running this again?
ps.pyspextool_setup(raw_path='./', qa_path='./', cal_path='./',
proc_path='./', verbose=True, qa_show=False, qa_write=True,
qa_extension='.png')
ps.telluric.telluric_correction('combspec69-234.fits', 'HD 213066',
'combspec185-190.fits', 'test',
fluxdensity_units='Jy')

I think this is stale. If not, can re-open.


brackets-grunt fails to run when a empty space is in user directory path

os: windows 7 sp1
brackets: 1.3
installed via built in package manager
I have been troubleshooting the bejesus out of this plugin trying to resolve a bug with regards to the user path. It seems it can't resolve the path if a space is in the user directory tree. I know the plugin works because I use it at work all the time. I ended up creating a new user on my machine without any spaces to verify the root issue, and got it working.
My actual user path is users/Tombo Combo
Here is the log:
Loading tasks from file
Load Complete!
'C:/Users/Tombo' is not recognized as an internal or external command, operable program or batch file.

I would like to add that I seem to have got your code working with my path problem. I noticed you had some code commented out by the exec command that invoked the spawn process instead. I gave it a shot and it worked flawlessly. Can you tell me why there are 2 instances of run commands and why you chose the one over the other? From my reading on the issue I believe spawn is the superior method, no?
Also, the console shows errors while executing the exec method, while using spawn it does not.
I am just learning about programming node, require js, and AMD.

Same issue on first comment. Can't use grunt extension on brackets due to my user name having an space on it:
'C:/Users/Leo' is not recognized as an internal or external command, operable program or batch file.
My actual user path is 'C:/Users/Leo Messi'

@victorpascual
navigate to:
"C:/Users/%userprofile%/AppData/Roaming/Brackets/extensions/user/brackets-grunt/node/GruntDomain.js"
uncomment line "130,131,132"
if (isWin) {
var spawn = require('child_process').spawn;
cmd =  spawn(modulePath + "/node/node_modules/.bin/grunt.cmd", ['--no-color', task]);
comment out line "134"
//cmd = exec(modulePath + "/node/node_modules/.bin/grunt --no-color " + task, function (error, stdout, stderr) {
Then the plugin will function correctly after a reload with extensions. These methods both execute grunt in different ways. Apparently the spawn method is asynch - asynch and doesn't load the task in a buffer like exec does.  Not sure about the reason why the one was preferred over the other. If I have some time I am going to write a routine that parses the spaces in the path.
It is possible to execute the command with exec, but the path needs to be escaped like so 'C:/Users/"Leo Messi"/' which can be simplified even further to C:/Users/Leo" "Messi/
Just need to add escapes to the spaces, which is fairly doable I think.

@truwdesign thanks for the workaround!
Although now I'm using the Node.js extension instead we're you can then execute the desired grunt task


Epic: 1-1 CLI to GUI from bootc-image-builder upstream project

Epic domain
Below is a list of parameters that we have and don't have between the CLI as well as the GUI (this extension).
Keep in mind that this list covers 100% the CLI, but there needs to be discussion whether it's suitable to have each one in bootc extension or not:

[x] passing in build config https://github.com/containers/podman-desktop-extension-bootc/issues/471
[x] aws https://github.com/containers/podman-desktop-extension-bootc/issues/139
[x] chown: https://github.com/containers/podman-desktop-extension-bootc/issues/472
[x] tls verification: https://github.com/containers/podman-desktop-extension-bootc/issues/473

Additional context
No response

This has been completed! 🚀
We are now 1-1 with parameters with bootc-image-builder!


Publish a new release of jupyterlab-classic to inform about rename

To make users who earlier installed jupyterlab-classic aware of the rename it might be a good idea to publish a new release of jupyterlab-classic to PyPI/npm/both which would add a note about the rename in the README and maybe a console.log/logging.warn message to inform existing users about the need to update their environment/requirements files.
I think that NPM allows for installation-time logs about this but it might not be visible when installing from extension manager (which one should not do probably for this extension which requires a backend component).
Possibly a good place to put a notice would be the description field as it shows up in the Extension Manager GUI.

This issue has been mentioned on Jupyter Community Forum. There might be relevant details there:
https://discourse.jupyter.org/t/focus-mode-intern-project/1552/24

Thanks @krassowski for the suggestion :+1:
There is now a 0.1.x branch that points to the commit before the rename to RetroLab: https://github.com/jupyterlab/retrolab/tree/0.1.x
We could do the change in that branch and then publish the packages.
Would you like to open a PR? Thanks!

Just published a 0.1.11 version to PyPI: https://pypi.org/project/jupyterlab-classic/0.1.11/

Probably this is enough for jupyterlab-classic. We'll likely do something similar for RetroLab later: https://github.com/jupyterlab/retrolab/issues/356


Added toast for login

as we discussed in #51  I added a toast notification for successful user login to improve user feedback. However, due to backend issues, I couldn't implement the logout toast yet. The logout toast will be added once the backend is fixed.

Resolve conflicts

Resolve conflicts

did


Option to select which to upload (strike, fractal, raid)

Should both filter boss name and boss id as they can be saved in both manners.


NIFI-6055 Improving error handling during auto-loading of NARs and en…

…suring only one Jetty NAR is loaded
NIFI-6056 Fixing cassandra bundle so nifi-mock is a test scoped and removing incorrect usage of ProviderCreation exception from nifi-framework-api
To test this PR you can run the assembly built from this branch which is currently 1.10.0-SNAPSHOT and then copy in the entire lib directory from another version like 1.9.0 to the extensions auto-load directory. After refreshing the UI all processors should have a second version available.
You should error/warn messages in the log about skipping the jetty and framework nar from 1.9.0 and failing to load other components like state providers, authorizers, etc.
If you then restart NiFi, it should fail start up because there are two version of Jetty and framework NARs available. Remove the ones from extensions auto-load and then the application should start correctly.

Thanks @bbende all looks good, +1 merged to master.


Proposal to add "properties" array to CDX License object/definition

My team has been working on improving/updating legacy license scanning tools and integrating them with source code scanners that support SBOM generation (CDX format).  Learning from this process we have found that there is additional information we would like to include relative to the "concluded" license. Specifically, we can provide a "confidence score" relative to the "regex" used as well as information about the tool(s) (name, version, reference, github) with its packaged/compiled regex set (at that version level).  In addition, we plan to publish canonical "templates" for various license variants we have found in real-world packages/software in addition to the ones published by the SPDX (license identifier) community which we could also hyperlink to.
However, with the introduction cdx v1.4 schema, most data definitions are marked "additionalProperties": false, which prevents us from adding additional fields to the License data structure (or other similar structures).  I would propose, at a minimum, adding optional "properties" to the "license" object/definition as the approved means to add such information which allows greater clarity to viewers/auditors reviewing license data as well as allows them to improve/evaluate the license scanning tools used in the hopes of having better regex submitted (PRs) to improve these tools over time (thereby improving SBOM data overall).
"license": {
      "type": "object",
      "title": "License Object",
      "oneOf": [
        ...
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          ...
        },
        "name": {
          ...
        },
        "text": {
          ...
        },
        "url": {
          ...
        }
      }
}

The resultant schema would be something like (mirroring other uses of "properties"):
"license": {
      "type": "object",
      "title": "License Object",
      "oneOf": [
          ...
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          ...
        },
        "name": {
          ...
        },
        "text": {
          ...
        },
        "url": {
          ...
        },
        "properties": {
          "type": "array",
          "title": "Properties",
          "description": "Provides the ability to document properties in a name-value store. Formal registration is OPTIONAL.",
          "additionalItems": false,
          "items": {"$ref": "#/definitions/property"}
        },
      }
}

exampled use from use cases mentioned:
                  "properties": [
                        {
                              "name": "confidenceScore",
                              "value": "0.98"
                        },
                        {
                              "name": "regex",
                              "value": "<regex here>"
                        },
                        {
                              "name": "spdxTemplate",
                              "value": "<url to spdx template>"
                        },
                        {
                              "name": "toolRef",
                              "value"<EMAIL_ADDRESS>// similar to a bom-ref (pURL)
                        },
                        ...
                  ],

I am open to considering these use cases for adding actual named fields or new objects; however, to "future proof" and allow for more information around a given license to be aded still points to the need to add a "properties" array.
In addition, I would look to expand the "tools" object to allow for a "ref" (local ID) to be added so it could be referenced by the license structure directly, as we may want to associate a specific tool used for finding/surfacing a license for a given component/library type/language, etc.   I will seek to open another PR on this topic asap.

Scheduled for inclusion in v1.5


Microsoft Defender found a virus

There is no need to translate, it just says that I restored it and "This dangerous program is executing the attacker's commands."

False positive

false positive


Install on Windows 2012R2 failing

Hello,
When I use the powershell to create the windows package for hubblestack it gets partway through and then gives the following error.
.3.0) (3.0.4)
Requirement already satisfied: pywin32>=223 in c:\python27\lib\site-packages (from pypiwin32; sys_platform == "win32"->C
herryPy==10.2.1->salt==2018.3.0) (223)
Requirement already satisfied: backports.functools-lru-cache in c:\python27\lib\site-packages (from cheroot>=5.2.0->Cher
ryPy==10.2.1->salt==2018.3.0) (1.5)
Requirement already satisfied: more-itertools>=2.6 in c:\python27\lib\site-packages (from cheroot>=5.2.0->CherryPy==10.2
.1->salt==2018.3.0) (4.3.0)
Requirement already satisfied: tempora>=1.8 in c:\python27\lib\site-packages (from portend>=1.6.1->CherryPy==10.2.1->sal
t==2018.3.0) (1.13)
Requirement already satisfied: smmap2>=2.0.0 in c:\python27\lib\site-packages (from gitdb2>=2.0.0->GitPython==2.1.7->sal
t==2018.3.0) (2.0.4)
Requirement already satisfied: pytz in c:\python27\lib\site-packages (from tempora>=1.8->portend>=1.6.1->CherryPy==10.2.
1->salt==2018.3.0) (2018.5)
Requirement already satisfied: jaraco.functools>=1.20 in c:\python27\lib\site-packages (from tempora>=1.8->portend>=1.6.
1->CherryPy==10.2.1->salt==2018.3.0) (1.20)
Installing collected packages: salt
  Running setup.py develop for salt
    Complete output from command c:\python27\python.exe -c "import setuptools, tokenize;__file__='C:\\temp\\salt\\setup.
py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file_
_, 'exec'))" develop --no-deps:
    2018.3.0
    running develop
    running install-pywin32-windows
    error: invalid command 'install-pywin32-windows'

    ----------------------------------------
Command "c:\python27\python.exe -c "import setuptools, tokenize;__file__='C:\\temp\\salt\\setup.py';f=getattr(tokenize,
'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --n
o-deps" failed with error code 1 in C:\temp\salt\
Enter a Repository (full URL only):

This is on a standard Amazon Windows 2012R2 AMI.

Thanks for the report. We'll investigate this.

https://jira.corp.adobe.com/browse/CSTTEAM-43987


Update Java.gitignore

Added the list to be ignored for a java project like the build folder, .class generated files and the project files generated by the eclipse editor

Thanks, but we keep Eclipse rules under Global/Eclipse.gitignore