Use latest labels for identifying IngressGateway workload

Resolves https://github.com/istio/istio/issues/18773 by using labels that are valid in 1.4 beta.

@esnible: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@esnible: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test unit-tests_istio

integ-istioio-k8s-tests_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test integ-istioio-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@esnible: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test unit-tests_istio

integ-istioio-k8s-tests_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test integ-istioio-k8s-tests_istio

pilot-e2e-envoyv2-v1alpha3_istio
c85454da86ab3bba1a2c45c1026781f8e3ec2ff3
link
/test pilot-e2e-envoyv2-v1alpha3_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

should probably sync the operator add the same labels instead of this change?

@esnible: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio
0c0afc88c77cfd156207d22a2fcc6c2feb07c487
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn The operator creates these labels for the Ingress Pod:
  labels:
    app: istio-ingressgateway
    operator.istio.io/component: IngressGateway
    operator.istio.io/managed: Reconcile
    operator.istio.io/version: 1.4.0
    release: istio

The helm deployment of Istio 1.4 alpha I installed last week used
  labels:
    app: istio-ingressgateway
    chart: gateways
    heritage: Tiller
    istio: ingressgateway
    release: istio

I don't object to the new labels from the operator.  I was not surprised to lose chart and heritage.  I was surprised to lose istio: ingressgateway and if you agree can you create an Issue for the operator to also include that label?
I will put a hold on this PR to await your decision.

we should get rid of chart and heritage (like we have) but I think app,
istio, and release should be consistent with the helm charts to avoid
breaking things like istioctl, tests, users tooling, and to be more
consistent, etc. It was not an intentional design decision as far as I know
On Fri, Nov 8, 2019, 7:14 AM Ed Snible<EMAIL_ADDRESS>wrote:

@howardjohn https://github.com/howardjohn The operator creates these
labels for the Ingress Pod:
labels:
app: istio-ingressgateway
operator.istio.io/component: IngressGateway
operator.istio.io/managed: Reconcile
operator.istio.io/version: 1.4.0
release: istio
The helm deployment of Istio 1.4 alpha I installed last week used
labels:
app: istio-ingressgateway
chart: gateways
heritage: Tiller
istio: ingressgateway
release: istio
I don't object to the new labels from the operator. I was not surprised to
lose chart and heritage. I was surprised to lose istio: ingressgateway
and if you agree can you create an Issue for the operator to also include
that label?
I will put a hold on this PR to await your decision.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/18774?email_source=notifications&email_token=AAEYGXKTTBICGKZ7UKPET2DQSV637A5CNFSM4JKRXWGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDSM4KA#issuecomment-551865896,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXPO6WVKLAMUCE7EA5TQSV637ANCNFSM4JKRXWGA
.

If ingress doesn't have istio: ingressgateway it will break 99% of users Gateway objects and docs. Proper fix is in operator


Sun and moon icons

Obviously this is a slippery slope, but I wanted to put this one out there given the number of themes which are introducing a toggle for daytime and nighttime reading.

Or, combine both into a semicircle for a single icon

@jhabdas Sorry for the delay. I do like this idea! I am exploring this for my next release.
Here is one potential version:
<svg xmlns="http://www.w3.org/2000/svg" id="i-moon" viewBox="0 0 32 32" width="32" height="32" fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
    <circle fill="none" cx="16" cy="16" r="14" />
    <path stroke-width="0" stroke-miterlimit="10" fill="currentColor" d="M16 5 L16 27 C9 27 5 21.5 5 16 5 10.5 10 5 16 5Z" />
</svg>

You da man Mr Dan!

Looks absolutely fantastic and I'm looking forward to using it. Thanks, Dan.

Added Moon icon to v1.4 which can be used for both Dark Mode and/or Do Not Disturb.

@danklammer: have you thought about a sun or bulb icon too?


bug: On save event added to callback

Description of the change
on_save event has been added to callback
Related issue number
"Closes #178"
How to verify the PR
Use on_save as trigger event as illustrated below in the configuration for trainer controller:
controller_metrics:
  - name: state
    class: TrainingState
controllers:
  - name: stop_on_training_loss_on_save
    triggers:
      - on_save
    rule: state["epoch"] >= 0.5
    operations:
      - hfcontrols.should_training_stop

Was the PR tested

[x] I have added >=1 unit test(s) for every new method I have added.
[x] I have ensured all unit tests pass

@kmehant please review.


Normalized interface for automatic mirror selection

 Issue by xloem
Monday Jul 06, 2020 at 13:01 GMT
Originally opened as https://github.com/NebulousLabs/skynet-docs/issues/11

I'm interested in coming to agreement on an API for reliable fast transfers: where a backend automatically selects mirrors and retries through network issues.
It could possibly look just like the current api without the portal options object.
I've also been exploring more complex apis that give the user more participation in mirror selection: being able to provide additional mirrors or optionally specify which one to use, with the system recording speed metrics for later selection.

 Comment by m-cat
Tuesday Jul 07, 2020 at 11:37 GMT

Thanks for writing the issue!

It could possibly look just like the current api without the portal options object.

If we were to add this to the API we'd still want the other options to be accessible. I would keep the options object.
The upload function itself should not be choosing the mirror, but should stick to a single well-defined responsibility and only accept a single portal and try to upload to it. Here are some possibilities I see for additions to the API:

Helper functions that choose mirrors which can then be passed one at a time into separate upload calls by the user. Possibly there can be a helper that queries an API for available portals, though we don't have an official API for this yet I don't think.
Functions that try uploading with different supplied mirrors. They call the existing functions but take an array of options. The user can call these after getting portals from (1).
A single function that combines (1) and (2), choosing portals for the user automatically and keeping track of metrics. The user can still pass non-portal options into this function like custom_filename and timeout_seconds. Due to the complexity of this option, it is the least likely to be added in the short term, though it is the best for the end user.

I wonder whether these additions belong in the SDKs or if they should live in a separate more high-level library. The SDKs for now only provide low-level calls to the Skynet endpoints with minimal wrapping. There are issues with introducing complexity, such as replicating the functionality across all the SDKs, maintaining the code and ensuring its quality, and not overwhelming the end user with complexity.


MemPool-backed targets

Dagger relies on MemPool.jl to provide a storage management system which provides:

An LRU/MRU implementation for moving data between RAM and disk
StorageDevice abstractions for defining arbitrary serialization/deserialization to/from some permanent storage (e.g. a CSV file on disk, a table in an SQL DB, etc.)

I have some local changes to MemPool that would enable the above abstractions to provide a lazy file source to Dagger tasks, which would be loaded on-demand once a task requires it. We could consider also implementing file sink behavior so that the output of a Dagger task or a Waluigi job would be automatically persisted through the file and be later restorable as needed.

That would be great! I haven't yet woven Targets into Dagger checkpointing because I wasn't sure how to handle the following behaviors:

User wants to generate a Table that is larger than memory and checkpoint its chunks to Parquet. The downstream job wants to get the path to that dataset on disk, not the data itself, so that it can grab some metadata about the job without having to deal with the actual data. My understanding is that checkpoints have the expectation that checkpoint and restore are inverses of each other.
The user wants to check if a checkpoint exists with a function that is less intensive than an actual call to restore. For example, checking if a database table already exists instead of querying for the contents of the table. Waluigi Targets have a separate is_complete function which allows custom logic for discerning if the Job should be skipped and jump straight to calling retrieve logic.

I am sure that these cases are supported, but I wanted to keep moving forward until I understand checkpointing a little better.

I read over the MemPool StorageDevice source code. I'd like to repeat my understanding to make sure I'm tracking
Imagining a Table.jl to SQL Table target implemented with the MemPool types:

The StorageResource would be a database (a specific database connection?)
The StorageDevice would be a table within that database
The StorageLeaf would be the specific data that is now saved in a table after move todevice!

You'd then define (psuedo code)
write_to_device!(dev::SQLTable, data::Dref) = execute(dev.connection, """CREATE TABLE $(dev.table_name) ...""") # write data to table...
read_from_device(dev::SQLTable, data::Dref) = execute(dev.connection, """SELECT * FROM $(dev.table_name) ```) |> DataFrame # insert it into data somehow
delete_from_device!(dev::SQLTable, data::Dref) = execute(dev.connection, """DROP $(dev.table_name) "")

User wants to generate a Table that is larger than memory and checkpoint its chunks to Parquet. The downstream job wants to get the path to that dataset on disk, not the data itself, so that it can grab some metadata about the job without having to deal with the actual data. My understanding is that checkpoints have the expectation that checkpoint and restore are inverses of each other.

Yeah, this is true, we fully expect checkpoint and restore to be inverses of each other. It might be possible to expose a way to directly see the associated Chunk in downstream tasks (we could expose a helper that pulls it from the cache), but that'd then require digging into the structure of the contained MemPool.DRef, which isn't currently supported (although I could also potentially be convinced that this is a useful thing generally). I assume you need this because you want to be able to wait on the file at that path to change, so that you can trigger a new invocation of the downstream job?

The user wants to check if a checkpoint exists with a function that is less intensive than an actual call to restore. For example, checking if a database table already exists instead of querying for the contents of the table. Waluigi Targets have a separate is_complete function which allows custom logic for discerning if the Job should be skipped and jump straight to calling retrieve logic.

This is something I've also wanted for Dagger, because in a graph full of checkpoints, you want to skip all the way to the last checkpointed result and start executing from there. We could probably have a new function-typed option that checks if restore is possible (with the default behavior being that we just always call restore).
...

The StorageResource would be a database (a specific database connection?)
The StorageDevice would be a table within that database

This could work, but I'd probably choose to make the StorageResource just a URI or other kind of simple reference to the database, and the StorageDevice would be mostly empty - we'd then use tags from my upcoming MemPool PR to specify the table name (which would otherwise be automatically generated). We probably want to also add some state caching to StorageDevice or similar that could hold an open database connection.

You'd then define (psuedo code)

Something like this :smile: The details of implementing a StorageDevice are kinda low-level and annoying (it's a very new API, which will probably change), so grabbing the connection handle and the table name are slightly more involved (ideally they'll become a single simple function call each), but this is approximately the idea!

I assume you need this because you want to be able to wait on the file at that path to change, so that you can trigger a new invocation of the downstream job?

Yes, and I often have pipelines where there are multiple steps in the chain that are handled completely at the database level. The jobs I'm scheduling locally (hopefully with Waluigi 😄 ) are just constructing SQL, kicking off a query, and then reporting that they are done, so that the next, dependent, query can be started.
In these cases, I'd like Targets to remain flexible enough that the user could define something like SQLQueryTarget that runs CREATE TABLE on the provided query. Alternatively, another approach to Targets could be that there is a subtype of Target called AbstractExternalProcessTarget which does not receive data from the result of a local process, it just awaits some completion status and the work of kicking off the external process is done within the process itself. I'm shying away from the latter a bit because I like the idea that store(::Target, data) and retrieve(::Target) are the only places where side effects (loosely defined, not the Lambda Calculus version) happen.

The details of implementing a StorageDevice are kinda low-level and annoying

I would really like to make sure that Waluigi.AbstractTarget is extensible by the user at a pretty low overhead so that folks can venture off and setup Azure buckets, or whatever other random service that I don't use  as targets,. I think it makes sense to roll some generally useful ones with MemPool built-in with the package, but my gut is saying that I don't want to build all the infrastructure assuming that we have a MemPool-backed target so that users don't need to learn another API. I'm not saying that's what you're suggesting, but just documenting the higher-level design goals for myself and future folks.
All of this is making it crystal clear that I need to do some thinking on

What are the specific ways in Waluigi.Targets and Dagger checkpoint/MemPool.StorageDevices overlap and diverge in functionality?
Are there actually two concepts living inside Target right now that need to be separated more than just being subtypes Target? Maybe it's actually a difference in Job type. Maybe there should be LocalJobs that are producing data that are needed by downstream tasks (and need a checkpoint) vs ExternalJobs that drive computation outside the pipeline and just need a flag for when they are complete. (As I type this, the latter feels right. But I don't like making decisions at 12:25AM).


Question about Cache getImage

Hi,
What is the concrete return type of game.cache.getImage("key")?
Phaser.CachedImage or Phaser.Image?
Because in typescript using the 2.4.4 definitions i cant cast this.game.cache.getImage("key") to Phaser.Image;
In definition it says CachedImage but in the website docs it says Image.
Thanks

It's an HTML Image object, or null if not found.


Mr/gradle classes

I fixed the tests and removed the dependencies to CheckstyleReports and AbstractCodeQualityPlugin.
I will write more tests in the days to come.
Make sure to run  ./gradlew clean publishToMavenLocal to create the 1.0.0-GRADLE version of the cli

@Mauin As far as I can tell, the check task should now work with a root project and a multi module project. If not specified in the submodule, the properties are drawn from the parents.
Should we try to rebase onto the master?
What else needs to be done?

@Mauin do you have any idea how to solve the chicken-and-egg-problem that the we can only build the latest gradle plugin with the latest gradle plugin? Locally I did:
./gradlew clean publishToMavenLocal -x dokka -x detekt
./gradlew build -x dokka


Add logic for transactional commits

Q
A

Type
feature

BC Break
no

Fixed issues

Summary
~This PR contains a commit from #2587, which will be removed when rebasing.~
After refactoring commit logic in #2580 to no longer clear changesets and scheduled document actions after executing them, this pull request allows for running all UnitOfWork::commit operations within a multi-document transaction. Note that the feature does not check whether the deployment supports transactions, but it always acts if the configuration setting is enabled.
Included in this PR is a test change that enables transactional commit for all tests if the deployment supports it. This effectively tests transactional commit logic when testing with replica sets (introduced in this PR) or sharded clusters (already present). Standalone deployments continue to test legacy logic.
The commit logic makes use of the convenient transaction API, which takes care of starting the transaction, committing it, and restarting the entire transaction if necessary. The convenient API retries transactions for up to 2 minutes when encountering transient errors, which may be undesirable. As the API does not allow changing this timeout by design, we have to decide whether we want to keep using the convenient API, or rather introduce our own logic for retrying transactions that uses a lower timeout. Note that the 2-minute limit has been set since the introduction of the convenient API, and has not been challenged since. This PR may be a reason to suggest changing the specification to allow for lower timeouts, as a 2-minute timeout makes no sense in a web-based environment where we'd rather show the user a quick error page instead of delaying a page response. Either way, this issue should not come up in practice unless you're dealing with highly contentious parallel workloads, which I'd argue is quite rare.
Documentation for this feature will be introduced in a separate PR.

phpstan errors are unrelated and are fixed separately in https://github.com/doctrine/mongodb-odm/pull/2593.


Al/endpoints dashboard middleware

Hello,
Here is the updated branch with missing endpoints for dashboard. Please review when possible and merge.
Kind regards
Adrian

There is issue #96, still not merging


Export Expand-GitCommand

Close #562

This is another that needs to be merged to develop, right?

This is another that needs to be merged to develop, right?

Correct. It's been a while since master has been merged into develop.


Sequenced Gearshift Causes Game Crash

Describe the Bug
More or less what the title says, powering a sequenced gearshift with redstone while it's connected to a creative motor and mechanical piston causes a crash.
Possibly caused by Starlight?
Reproduction Steps

Load Minecraft with latest version of Create, Fabric API, and Starlight (I have several other mods in the logs but the crash happens regardless of whether those are loaded)
Attach a creative motor to a sequenced gearshift and a downwards-facing mechanical piston
Set gearshift to extend said piston
Power gearshift
Crash
...

Expected Result
No game crash, contraption works as normal
Screenshots and Videos
No response
Crash Report or Log
https://mclo.gs/nfALp7U or https://crashy.net/w7AMUF5GL3f1ZrDbQ4eq
Operating System
Windows 10
Mod Version
0.4.1
Minecraft Version
1.18.2
Other Mods
A crap ton but as I said, the crash does also occur with only Fabric API, Create, and Starlight loaded!
Additional Context
No response

duplicate of #360, happens on Forge too, awaiting a PR. If the contraption has more blocks on it, it should be fine.


[Test] Disable availability checking when building ExternalGenericMetadataBuilder tests.

The compiler can end up thinking that _mangledTypeName isn't available, but we're always going to be running against a just-built runtime which has it.

@swift-ci please smoke test


[5.8] Fix whereIn() with global scopes

whereIn() accidentally removes global scopes from subqueries:
class Post extends Model {
    use SoftDeletes;
}

User::whereIn('id', Post::select('user_id'))->get();

# expected
 select * from "users" where "id" in (
  select "user_id" from "posts" where "posts"."deleted_at" is null
)

# actual
select * from "users" where "id" in (
  select "user_id" from "posts"
)

The fix requires breaking changes, so I used the opportunity to simplify the whole whereIn() code.
Fixes #26198.

If it requires breaking changes, please list the breaking changes.

We would have had to change the method signature of Grammar::whereInSub() and whereNotInSub() from (Builder $query, $where) to ($query, $where).

We would have had to change the method signature of Grammar::whereInSub() and whereNotInSub() from (Builder $query, $where) to ($query, $where).

Should that be in this PR? would seem strange to merge this without those changes as well?

Why is addBinding now called twice when the value is instance of self, EloquentBuilder, or Closure? The previous implementation returned there. Looks like we have a test not covering something?

When $values is a subquery/closure, the second addBinding() doesn't do anything because $this->cleanBindings($values) returns an empty array.
The current code contains a lot of unnecessary duplicates. We don't need whereInSub() and whereInExistingQuery(), we can handle all possibles values with a single implementation.


Improve FST performance created by Builder [LUCENE-9481]

Hi,

We are using Lucene 8 and recently we observed a performance issue with FST. When FST is used directly from org.apache.lucene.util.fst.Builder.finish(), its about 40-50% slower than when it's first saved to a DataOutput (e.g filesystem or heap) and loaded again. The FST we used is about 1.6MB.

Using VisualVM, we tracked the issue down to the DataInput.readVInt method, which in turn calls the readByte of the reversed BytesReader. When FST is loaded from filesystem/heap, it's using OnHeapFSTStore which use ReverseBytesReader, but when it's created by the Builder, it's backed by the BytesStore. The problem is, when the number of blocks of BytesStore is not 1, it'll use an anonymous class for reading bytes, and possibly because of JVM inlining, the ReverseBytesReader.readByte is inlined, while that of the anonymous class is not. We confirmed this by adding XX:+PrintInlining flag.
`@ 80` org.apache.lucene.util.fst.BytesStore$2::readByte (68 bytes) too big

`@ 17` org.apache.lucene.util.fst.ReverseBytesReader::readByte (17 bytes) inline (hot)

Currently we have 2 workarounds, which can also confirm the above theory:

Use a larger bytesPageBits in Builder, so that the block size is greater than the FST size.
Save and load the FST to heap after building, e.g using GrowableByteArrayDataOutput and ByteArrayDataInput.

But I think it would be better if this optimization is done inside Builder.finish() instead, e.g by auto-adjust the block size of BytesStore or copy it to a FSTStore if possible, since none of the 2 workarounds above look great. We have many FST with largely different sizes, so with the first option we need to maintain the bytesPageBits for each dictionary, otherwise we risk wasting unnecessary heap or using insufficient block size. I also think this issue would affect other Lucene users too.

For reference, the benchmark we setup is as below:

Warm up both FST for 10.000 iterations (10.000 seems to be the JVM inlining trigger threshold)
Run 100 tests, each test run 100.000 iterations
Each iteration is simply call org.apache.lucene.util.fst.Util.get() with the same 4-character word.

It reports that 98 out of 100 tests, the one with save/load logic is 40-50% faster on average.
Thanks

Migrated from LUCENE-9481 by Anh Dung Bui

Coming back to this fun FST issue ...
Given that FSTs are now readable off-heap, if we simply fixed FST writing to also be off-heap (this should not be so hard since the writing is already append-only), then we wouldn't have these silly performance problems because we are re-inventing an on-heap filesystem (paged byte[]), badly.
But a less radical fix here would be good too (progress not perfection) -- growing the byte[] maybe (though this is maybe problematic for larger FSTs since you need at least 2X the final size of the FST max heap size).  Or, when the FST is done being built, allocate a single byte[] and copy the pages to it?  (But the same 2X+ heap size requirement is there too).

I originally also think of allocating single byte[] and yeah it would have the 2X heap size requirement.
As our use case are building and using FST at runtime, there might be (some, I'm not sure) penalty we would have if we are to read/write entirely with filesystem. In some of my previous experience with Java I/O, using FileChannel would be much faster than InputStream/OutputStream when writing to filesystem, but even so they are still slower than main memory.
I'm curious if Lucene also has a benchmark for comparison of off-heap and heap mode? (Also by off-heap, I assume you mean filesystem, instead of the direct memory, e.g with ByteBuffer.allocateDirect()?)

Maybe we could first allow FSTCompiler to specify its own DataOutput even when building the tree on-the-fly, instead of always relying on BytesStore? And we are free to choose an appropriate implementation, whether off-heap, or growing byte, etc.

I'm planning to refactor the BytesStore into an interface that can be chosen from the FST builder. And one can decide whether on-heap or off-heap or on-heap without blocks is best suited.

I'm planning to refactor the BytesStore into an interface that can be chosen from the FST builder. And one can decide whether on-heap or off-heap or on-heap without blocks is best suited.

Awesome, thanks @dungba88!
But, at write time, can we avoid BytesStore entirely, maybe?  Just write to a DataOutput?  But we would need to first refactor FST#addNode to not use this reverse method on BytesStore, and do its own byte[] buffering/reversal before writing?  If possible, can we do this as a first step, which we test/merge before making the change to move to DataOutput?
Let's have further discussions on #12543?

Maybe we could first allow FSTCompiler to specify its own DataOutput even when building the tree on-the-fly, instead of always relying on BytesStore? And we are free to choose an appropriate implementation, whether off-heap, or growing byte, etc.

Ahh, yes, exactly!  (Sorry, catching up and reading comments out-of-order!).

As our use case are building and using FST at runtime, there might be (some, I'm not sure) penalty we would have if we are to read/write entirely with filesystem. In some of my previous experience with Java I/O, using FileChannel would be much faster than InputStream/OutputStream when writing to filesystem, but even so they are still slower than main memory.

Well, Lucene's DataOutput abstraction can be backed by heap too, e.g. ByteBufferDataOutput or ByteArrayDataOutput (there may be others!).  An application could even easily make its own "double the byte[]" to grow custom DataOutput.

I'm curious if Lucene also has a benchmark for comparison of off-heap and heap mode? (Also by off-heap, I assume you mean filesystem, instead of the direct memory, e.g with ByteBuffer.allocateDirect()?)

I think in the original issue that introduced off-heap FST reading, luceneutil benchmarks were run?  Not certain though.  I don't know of other benchys.


[Suggestion]: Simplify the configuration API

All of following is not a strong opinion, just fresh impressions on trying to use the current codebase.

How much settings do we need to alter N of iterations?
Here they are:

RunMode.Default.InvocationCount / IterationTime
AccuracyMode.Default.MinInvokeCount / AccuracyMode.Default.MinIterationTime
RunMode.Default.LaunchCount
RunMode.Default.TargetCount
RunMode.Default.WarmupCount
RunMode.Default.UnrollFactor
OperationsPerInvoke attribute

can these be simplified down to
RunMode.Default.TargetCount / TargetTime
RunMode.Default.WarmupCount / WarmupTime
RunMode.Default.UnrollFactor => OperationsPerInvoke

:scrathes_head:?

Please, consider to use human-oriented API. The creation of a new job should not look like this:

   		var job = Job.Default
   			.WithLaunchCount(1)
   			.WithWarmupCount(100)
   			.WithTargetCount(300)
   			.WithUnrollFactor(1)
   			.Mutate(
   				new JobMutator("have no idea what")
   					.Add(RunMode.Default.RunStrategy.Mutate(RunStrategy.Throughput))
   					.Add(RunMode.Default.InvocationCount.Mutate(1))
   					.Add(GcMode.Default.Force.Mutate(false))
   					.Add(InfrastructureMode.Default.Toolchain.Mutate(InProcessToolchain.Instance)))

Can freezable objects be used instead? Fast prototype to show what I'm talking about.

We can't do this simplification, all the listed characteristics are very important
a) When you are working with RunMode, you specify exact values. For example, if you set RunMode.IterationTime = 100ms, you say: "Single iteration should take 100ms". When you set AccuracyMode.MinIterationTime = 100ms, you say: "Magic algorithm should choose ideal iteration time automatically, however it should be at least 100ms".
b) As I understand, you suggest to drop some of characteristics. But each of them is needed for some specific task. E.g. RunMode.Launch specifies how many times we have to run generated program. UnrollFactor is not OperationsPerInvoke: OperationsPerInvoke specifies how many operations we have in a method, UnrollFactor specifies how many times we have to invoke this method in the loop body (it's extremely important for nanosecond benchmark, a blog post with explanation are coming).
Probably, we just have to add more examples in documentation. For example, you could write:

var job = Job.Default
    .WithLaunchCount(1)
    .WithWarmupCount(100)
    .WithTargetCount(300)
    .WithUnrollFactor(1)
    .With(RunStrategy.Throughput)
    .WithInvocationCount(1)
    .WithGcForce(true)
    .With(InProcessToolchain.Instance);

JobMutators is another mechanism which allows to mutate all the jobs at the same time. For example, if you have 5 jobs (defined inside a benchmark) and you want to make all of them dry (just for checking that everything is ok), RunMode.Dry is your friend (it mutates only some of the RunMode characteristics and leaves the rest of them (like toolchain or platform) untouched).

@AndreyAkinshin
1 - Ok, got it. Lets forget about unroll factor and ops per invoke for now. Why do we need both InvocationCount and TargetCount at the same time? Shouldn't these be refactored into
WarmupStage:
  * IterationTime
  * MinIterationTime
  * IterationCount
  * MinIterationCount

TargetStage:
  * IterationTime
  * MinIterationTime
  * IterationCount
  * MinIterationCount

?
Yep, there's more properties than before but at least these are a bit more obvious.
2 - Err, I'm still not sure that we do need immutable objects here.
The rest of config props uses much more friendlier POCO approach. Advanced features such as mutators / resolvers etc can be implemented behind the scenes. All we need is an Apply method  that will traverse both template and target object properties and update target's props with non-default values from the template. From user's point of view it will look something like
var job = new Job
{
  Run =
  {
    TargetCount = 123,
    WarmupCount = 10
  }
}

var mutator = new Job
{
  Run =
  {
    WarmupCount = 321
  }
}

var resultJob  = job.Apply(mutator);
Assert.AreEqual(resultJob.Run.TargetCount, 123); // value not changed
Assert.AreEqual(resultJob.Run.WarmupCount, 321); // value from mutator

mutator = new Job
{
  Run = new RunMode(overrideEntireNode: true)
  {
    WarmupCount = 321
  }
}

var resultJob2  = job.Apply(mutator); // the entire Run node will be replaced.
Assert.AreEqual(resultJob2.Run.TargetCount, 0);  // from the mutator (default value)
Assert.AreEqual(resultJob2.Run.WarmupCount, 321); // from the mutator (new value)

InvocationCount specifies how many times we should invoke the benchmark method in an iteration. TargetCount specifies how may iteration we want to make. Probably, we need another titles (more obvious for new users) but we definitely need two characteristics here.
Hmm. POCO approach makes sense, let me think about it.
What we should do with default values in this case? Right now we could mark any characteristics as the default, in this case actual value will be calculated by 3rdParty logic from resolver.

InvocationCount specifies how many times we should invoke the benchmark method in an iteration. TargetCount specifies how may iteration we want to make.

Ouch, finally got it. There're three levels with similar naming:

setting for entire run- only LaunchCount for now
setting for N of iterations (TargetCount/ WarmupCount)
settings for what to do per each iteration: iteration time / invocation count  / unroll factor / ops per invoke etc.

Don't know how I managed to forget the things (I've remember that I was digging it some month ago). Damn. Thanks :)

2 What we should do with default values in this case?

I'd prefer to do two things:

Add an default fallback value parameter into DepProperty .ctor
In case we need dynamic override of defaults: just check the properties of a parent object. In WPF that's called property value inheritance

if 2 is not an option we can add an explicit resolve method ala
resolver.Resolve(SomeClass.SomePropertyKey, instance)

I'll do proof code for both and will post here.

Don't know how I managed to forget the things

I think, we need better naming here. However, I don't know how to rename these things.

I'll do proof code for both and will post here.

Great, thanks.

However, I don't know how to rename these things.

Same here : )

I'll do proof code for both and will post here.

done
The code is not feature complete yet and it's internals are ugly, I know:)
Before finishing it: does the current approach looks good enough for you? If no, can you provide some use case code to give an idea how it should look like?

I like it in general, but could we keep the resolving feature? Sometimes we don't have a specific value in advance, it should be calculated in runtime with help of a resolver. If some property has "default" value, it means that the actual value could be calculated dynamically (e.g. based on other properties or current environment or based on collected data from the pilot stage...).

@AndreyAkinshin
Should we close this one as #286 is merged?

@ig-sinicyn, yep.


Update o365-data-locations.md

updated for Norway region launch.

@JoeDavies-MSFT - PR is ready for final review.
Thank you.
cc: @kenwith


Fix broken asset url in svg fallback

The crown logotype svg in the GOVUK Frontend header has a fallback
in-built for older browsers. The hard-coded src value was incorrect
for the Rails asset pipeline.
This will stop us seeing rollbar errors like this one:
https://rollbar.com/dxw/teachers-payment-service/items/56/occurrences/93408935412/

I must've amended onto a prior commit, closing this and sorting it out.


CASSANDRA-17628 trunk: CQL writetime and ttl functions should be forbidden for multicell columns

@adelapena do we need to add testing for maxwritetime here?


feat(city and country input validation)

Issue #5
Tested with the following inputs:
city, country
city, country,,
citycountry
Apply settings works here:

Examples of invalid input:

Hi, I have to get this pull request merged for a school assignment very soon. Could you review my PR? Thanks.

Thank you so much for your contribution!
I just checked and it works great 👍


Restore quiet mode in CI/CD

coverage: 75.549% (-0.01%) from 75.563% when pulling 76a89f9006f67cd473b7c033fc0abb289072984f on restore-quiet-ci into 877f7fbc93cb6c37b27fc20f9b9273ead74f3a43 on main.


Updates options to have all Standard Options

This adds all standard options, including the use of --fix.

@EasyAsABC123 This looks awesome, thanks!
Would you have any interest in adopting this module? We can move it to your repo and we can transfer it to you on npm.

@pdehaan sure, i'd be happy to adopt and maintain this.
npm-username: easyasabc123

Updated

GLORIOUS! :+1:

@pdehaan deleted my fork, Transfer ownership whenever ;)

Oh wow, kinda neat to see a little bit of my crappy tinkering made it into the main repo. 👍 Awesome job @EasyAsABC123. 😄


Document DYNAMIC_FUNCTION_TABLE

This PR provides documentation for DYNAMIC_FUNCTION_TABLE to describe how a debugger should discover all the dynamic function tables in a target process.

#sign-off


Application not loading correctly after following quick start guide

When trying to launch the docker compose env everything looks ok until after I log in. Then I'm greeted with a welcome page with an image that does not load and two buttons that doesn't do anything.
How to reproduce the bug

git clone https://github.com/apache/superset.git
touch ./docker/requirements-local.txt && echo "mysqlclient" >> ./docker/requirements-local.txt
docker compose up
Go to localhost:8088 and log in with admin/admin
Get stuck on semi-blank page

Expected results
I expect the application to load
Actual results
Get stuck on welcome screen. The console only logs errors about the missing gifs shown in the screenshots below.
Logs
There are errors in a couple of the containers.
Superset_app:
2023-08-31 08:26:20,442:INFO:werkzeug:<IP_ADDRESS> - - [31/Aug/2023 08:26:20] "GET /static/appbuilder/datepicker/bootstrap-datepicker.js HTTP/1.1" 200 -
2023-08-31 08:26:20,443:WARNING:superset.views.base:HTTPException
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 713, in <lambda>
    view_func=lambda **kw: self_ref().send_static_file(**kw),  # type: ignore # noqa: B950
  File "/usr/local/lib/python3.9/site-packages/flask/scaffold.py", line 331, in send_static_file
    return send_from_directory(
  File "/usr/local/lib/python3.9/site-packages/flask/helpers.py", line 590, in send_from_directory
    return werkzeug.utils.send_from_directory(  # type: ignore[return-value]
  File "/usr/local/lib/python3.9/site-packages/werkzeug/utils.py", line 578, in send_from_directory
    raise NotFound()
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
2023-08-31 08:26:20,457:INFO:werkzeug:<IP_ADDRESS> - - [31/Aug/2023 08:26:20] "GET /static/appbuilder/js/ab.js HTTP/1.1" 200 -
2023-08-31 08:26:20,458:INFO:werkzeug:<IP_ADDRESS> - - [31/Aug/2023 08:26:20] "GET /static/appbuilder/select2/select2.js HTTP/1.1" 200 -
2023-08-31 08:26:20,473:INFO:werkzeug:<IP_ADDRESS> - - [31/Aug/2023 08:26:20] "GET /static/assets/images/superset-logo-horiz.png HTTP/1.1" 404 -

Superset_node (Exit status 251):
npm ERR! code EIO
npm ERR! syscall rename
npm ERR! path /app/superset-frontend/node_modules/sha.js
npm ERR! dest /app/superset-frontend/node_modules/.sha.js-sPyHcmzN
npm ERR! errno -5
npm ERR! EIO: i/o error, rename '/app/superset-frontend/node_modules/sha.js' -> '/app/superset-frontend/node_modules/.sha.js-sPyHcmzN'

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-08-31T08_25_51_287Z-debug-0.log

Superset_websocket (exit status 1):
><EMAIL_ADDRESS>start
> node dist/index.js start

config.json file not found
{"date":"Thu Aug 31 2023 08:50:14 GMT+0000 (Coordinated Universal Time)","error":{},"exception":true,"level":"error","message":"uncaughtException: Please provide a JWT secret at least 32 bytes long\nError: Please provide a JWT secret at least 32 bytes long\n    at Object.<anonymous> (/home/superset-websocket/dist/index.js:75:11)\n    at Module._compile (node:internal/modules/cjs/loader:1198:14)\n    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)\n    at Module.load (node:internal/modules/cjs/loader:1076:32)\n    at Function.Module._load (node:internal/modules/cjs/loader:911:12)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\n    at node:internal/main/run_main_module:22:47","os":{"loadavg":[0.99,0.7,1.14],"uptime":3751308.32},"process":{"argv":["/usr/local/bin/node","/home/superset-websocket/dist/index.js","start"],"cwd":"/home/superset-websocket","execPath":"/usr/local/bin/node","gid":1000,"memoryUsage":{"arrayBuffers":340227,"external":1561581,"heapTotal":21270528,"heapUsed":15773984,"rss":58896384},"pid":19,"uid":1000,"version":"v16.20.2"},"stack":"Error: Please provide a JWT secret at least 32 bytes long\n    at Object.<anonymous> (/home/superset-websocket/dist/index.js:75:11)\n    at Module._compile (node:internal/modules/cjs/loader:1198:14)\n    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)\n    at Module.load (node:internal/modules/cjs/loader:1076:32)\n    at Function.Module._load (node:internal/modules/cjs/loader:911:12)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\n    at node:internal/main/run_main_module:22:47","trace":[{"column":11,"file":"/home/superset-websocket/dist/index.js","function":null,"line":75,"method":null,"native":false},{"column":14,"file":"node:internal/modules/cjs/loader","function":"Module._compile","line":1198,"method":"_compile","native":false},{"column":10,"file":"node:internal/modules/cjs/loader","function":"Module._extensions..js","line":1252,"method":".js","native":false},{"column":32,"file":"node:internal/modules/cjs/loader","function":"Module.load","line":1076,"method":"load","native":false},{"column":12,"file":"node:internal/modules/cjs/loader","function":"Module._load","line":911,"method":"_load","native":false},{"column":12,"file":"node:internal/modules/run_main","function":"Function.executeUserEntryPoint [as runMain]","line":81,"method":"executeUserEntryPoint [as runMain]","native":false},{"column":47,"file":"node:internal/main/run_main_module","function":null,"line":22,"method":null,"native":false}]}

Screenshots
Here's how the page looks. The url is http://localhost:8088/superset/welcome/

And the network log. The url for the missing gif is http://localhost:8088/static/assets/images/loading.gif.

Environment
(please complete the following information):

browser type and version: Latest version of Arc/Firefox/Safari
superset version: master 846c79ef552e7d0436e006470ac3b4574cba4daf since I did the git clone according to docs. Got the same error in 2.1.1.
python version: unknown - This is defined in the Dockerfile
node.js version: unknown - This is defined in the Dockerfile
Docker version: 20.10.6

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Workaround for me here was to extend the pre-built docker image instead which did not have the same problem.

I have the same issue.
I've found issues with similar log: #24014 #23304 #20319

I have the same problem, building from ubuntu 20.04

I don't have the same issue with

docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up

I have the same issue
Traceback (most recent call last):
superset_app             |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
superset_app             |     rv = self.dispatch_request()
superset_app             |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
superset_app             |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
superset_app             |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 713, in
superset_app             |     view_func=lambda **kw: self_ref().send_static_file(**kw),  # type: ignore # noqa: B950
superset_app             |   File "/usr/local/lib/python3.9/site-packages/flask/scaffold.py", line 331, in send_static_file
superset_app             |     return send_from_directory(
superset_app             |   File "/usr/local/lib/python3.9/site-packages/flask/helpers.py", line 590, in send_from_directory
superset_app             |     return werkzeug.utils.send_from_directory(  # type: ignore[return-value]
superset_app             |   File "/usr/local/lib/python3.9/site-packages/werkzeug/utils.py", line 578, in send_from_directory
superset_app             |     raise NotFound()

Same problem on Mac M1 Pro, 14.1.1 (23B81).

Use following superset image on M1,M2 or M3
image: apache/superset:latest-py310-arm
replace it with *superset-image in docker-compose-non-dev.yml
THEN run:
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up

Same thing on Ubuntu 22.04 / i7-14700K

I have the same issue,you may need to wait a bit, after starting superset_node there are some packages to download.

Yes indeed, you have to wait for webpack to build the frontend assets before you can serve the webpack assets :)

I needed to wait around 20 mins before it started working, @rusackas was right, thank you :)


Issue while playing Arkanoid.

Able to successfully start Arkanoid game, while playing I was able to eliminate greenbrick but when ball touches yellow brick I was seeing an error in pharo like attached. please help me.

Hello, which Pharo version?

Try downloading again and let me know if it is fixed

Arkanoid is working fine on Pharo 7 but not on pharo 8. Spider Invasion is not working properly on both instance pharo 7 and 8. attaching screenshot of pharo 7 issue with Spider Invasion but please take a look on pharo 8. thanks

Ok, now is fixed. But there is another known bug: The ship does not shoot

Okay thanks Apiorno, I really appreciate you. I need one more help I have one simple gaming idea. A man will run upwards on a hill and I want to slide few stones towards man and should be able to escape stones sliding could you help be build this project. I'm beginner for pharo please help me

I see Winter-Examples not working on Pharo 8.0 64 bit. please find attached. thanks

Okay thanks Apiorno, I really appreciate you. I need one more help I have one simple gaming idea. A man will run upwards on a hill and I want to slide few stones towards man, man should be able to escape stones sliding on to him could you please help me build this project. I'm an beginner for pharo please help.

OK, but first try yourself and the ask me. Your feedback will be of help to me to improve Winter

I see Winter-Examples not working on Pharo 8.0 64 bit. please find attached. thanks

Which were the actions that led you to the error?

Just followed same process pulled repo from github copied assets folders into image folder and after launching repo from playground i ran spiderInvasion start. Giving me above attached error on Pharo8.0 64 bit

Ok, this is due to some update did to AthensCairo in Pharo8. Will try to fix it soon, try in Pharo7 by the moment

Okay

Hi,
I have been working on this.
The error was introduced in Pharo8, but fixed in Pharo9, So i removed Pharo8 support and added Pharo9 support.
You can run the examples or create yours using Pharo 7 or Pharo 9.
I will close the issue, if you find something else, create a new one.
Cheers


Java exit code = 14

System information:

Operating system (distribution) and version // Microsoft Windows [Version 10.0.19043.1466]
DBeaver version // Latest Release
Java version // Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Additional extensions // None

Describe the problem you're observing:
I installed DBeaver and decided to not check the Java install. When attempting to run DBeaver, it notified me that my Java version was out of date. I obtained a new Java version, and it prompted me to uninstall my old version. I allowed it to uninstall my previous version. Now every time I boot DBeaver I receive this error message.

Include any warning/errors/backtraces from the logs
I do not appear to have any log files. There is no Java error dump within %LOCALAPPDATA%/DBeaver , and the only files within %LOCALAPPDATA%/DBeaver/configuration are config.ini, platforms.xml, and bundles.info.

After installing JDK 11, DBeaver runs fine. I was under the assumption that only the runtime was required. Is this accurate?

Hi @xxauroraxx. DBeaver requires JRE 11+. We include our custom JRE in most of our packages.


Select columns order ensuring

Is there a way for ensuring the order of select columns?
SELECT id, name, gender FROM users LIMIT 100;

I hope this query would be resulted in id, name, gender order, not gender, id, name

If you haven't use Join, the sequence of columns is the sequence of fields on the struct. If you have Join, the select sequence is the sequence on table.

The above table is not defined as Go struct, but created manually. In this case, can't xorm ensure the select sequence?

If not Join and you use Struct Get or Find, xorm will use struct's sequence. If use Join will use database columns sequence.

Oh sorry, ok I got it. So, I should use Join for using the DB columns seq. :|

Or you can engine.Select("*") to to that.

Wait, so, the same rule is applied to raw query?

Oh .. this problem was not about xorm. The built-in json package force sort the all keys of a map. Sorry


Fixes update style after layout-item is not hidden

Fixes https://github.com/vaadin/vaadin-ordered-layout-flow/issues/92

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


Comodoro: Initial commands

Description
Similar to https://www.raycast.com/jns/himalaya, but for https://github.com/soywod/comodoro instead. Let's you get the current status (and keeps it in the menu bar), and start/stop a Pomodoro.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Could you look into that the commands dies gracefully, seems like all of them are crashing

✅

Is this the same as https://www.raycast.com/asubbotin/pomodoro?

Whilst they're both about the Pomodoro concept, that one is one that is standalone and Raycast only. This one uses https://github.com/soywod/comodoro instead!

Makes sense, just wanted to learn a bit more about it 🙂


Faster unaligned read_bytes

Todo:

More edge tests
Benchmark (make sure that the inner loop is being auto-vectorized)

Closes #30

Yeah this is exactly what I was after. Btw I just ran the test with the old version and it doesn't pass the test. Could you maybe re-check that the test passes with the old version?

https://rust.godbolt.org/z/7W45jzE1h
I think this is the hot loop:
.LBB0_18:
        movdqu  xmm5, xmmword ptr [rdx + rcx]
        movdqu  xmm6, xmmword ptr [rdx + rcx + 1]
        psrlw   xmm5, xmm0
        pand    xmm5, xmm3
        pand    xmm5, xmm1
        psllw   xmm6, xmm2
        pand    xmm6, xmm4
        paddb   xmm6, xmm5
        movdqu  xmmword ptr [r8 + rcx], xmm6
        add     rcx, 16
        cmp     r10, rcx
        jne     .LBB0_18

seems fine

Great catch on the test case. I've fixed it, I've also run benchmarks. Great improvements across the board (for aligned and unaligned, and for all read sizes), culminating in a 22x throughput increase for unaligned byte reads at 960 bytes.

Amazing job, tried it and it worked perfect. I tested it in my workflow on >10 million read_bytes calls and it works exactly the same as old version but just much faster 👍

Great to hear, and thank you for the verification! I also see everything passing on my own corpus of data 👍
Let me merge this and issue a 0.6.2 release


After Update to Release 3.1.0 all devices/scenes and automations have been deleted in homekit!!!

I have installed the update 3.1.0 and all my devices (and the associated scenes and automatiions also) have been deleted in homekit.
Please test and fix this error.
This cost me two hours to get all running again.

Apologies for this @drheck . In testing I completed the upgrade and didn't experience this issue. I believe this was most likely related to some of the config schema changes that were included in the PRs between the 2.0.1 and the 3.1.0 version (Some two years worth of changes).
I do not intend on making any further changes to the schemas so this shouldn't happen again.

Okay. I have reinstalled 2.0.1 and the configured new...
I mean i have not seen new devices after deletion of the old ones - but i am not sure.
I will test this with my Homebridge Testsystem.

I looked and the disappeared devices are coming after a some minutes...
So i will update and reconfigure...
You can close the issue.


sig#815 - Improve the clarity on the app/service subscription process

Description
AS a customer
WHEN i want to subscribe an App
THEN i want to be made aware that i start an approval/negotiation process and not directly get access to the app/service.
Proposal by @maximilianong

Button Text Update: Instead of "Subscribe," the button text could say "Get Offer." Directly subscribing doesn’t make sense as > customers first need to have a contract in place. An offer is required before proceeding.
Customer Communication: After clicking "Get Offer," a pop-up could notify the customer with a message like "Sales will contact > you soon." This would help set expectations.
Status Update: Once the request is initiated, the button status could change to "Offer in Preparation," indicating progress.

Acceptance Criteria

[ ] [criteria 1]
[ ] [criteria 2]
[ ] [criteria 3]

Additional Information

@MaximilianHauer please keep in mind the whole user flow for this functionality. Wording is more accurate with "Request offer" (since it's not instantly downloadable but requested). How will the customer be contacted? Will the Portal e-mail address of the user be provided to the app/service provider? What do we offer in case that negotiations need to happen with another user/person of the sales/procurement department?
Since the subscription component will be improved, the other steps in the process also need to be refined/rephrased (for each app and service). Especially the last step "activation, notifications & credentials" is not giving clear information about "this process is done, you can use your subscription now".
First drafts, but needs clearer refinement of the process steps for each service and app subscription flow. Do you have any flowcharts ready for this? Happy to contribute here UX at an early stage.


Upgrade to java 21 & Spring 3

https://companieshouse.atlassian.net/browse/JU-376

@aduffy-ch  ReadME file need to be changed too , and also check if spring 3.3.* version


Parse and query a DSD

I don't think this is the intended usage of the library, but I was wondering if it might be possible to use PandaSDMX to parse and query a DSD, given a remote URL or local file. For example, I am interested in things like:

Getting a list of all the codelists in a DSD
Getting a list of all the dimensions in a DSD
Getting a dimension by its ID
etc.

I had a quick look at the DataStructureDefinition code, but nothing jumped out at me. Thank you!

Hi,
pandaSDMX provides These Features since 2015. It is best practice to
query a specific DataflowDefinition. By Default, the Response will
include the DatastructureDefinition referenced by that dataflow which,
in turn, references the codelists describing the dimensions. The
codelists and related concepts are contained in such Response as well
alongside other Information such as DataProvider, constraints to be
applied to codelists in the context of the selected dataflow.
This is extensively documented at
https://pandasdmx.readthedocs.io/
under "Walkthrough", or shown at a glance in the 10-lines Code example.
It is straightforward to browse dimensions and codelists at model
Level alongside any exported Pandas Series or Dataframes. to this end,
once you've queried a StructureMessage as shown in the 10 lines
example, do something like:

metadata.structure

Then Focus on the DataStructureDefinition by ist ID (= the only key in
the DictLike), and look at the dimensionsand attributes attribute.
Note that each enumerated Dimension and Attribute (in the SDMX sense)
has a local_representation Attribute whose ènum`  attfibute Shows
the codelist at model Level. Other dimensions, in particular, the
MeasureDimension is likely to be of a non-enum type such as float.
Please let me know whether this has gotten you started or whether you
Need any additional Information.
Leo
On 05/07/2020, brockfanning<EMAIL_ADDRESS>wrote:

I don't think this is the intended usage of the library, but I was wondering
if it might be possible to use PandaSDMX to parse and query a DSD, given a
remote URL or local file. For example, I am interested in things like:

Getting a list of all the codelists in a DSD
Getting a list of all the dimensions in a DSD
Getting a dimension by its ID
etc.

I had a quick look at the DataStructureDefinition code, but nothing jumped
out at me. Thank you!
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dr-leo/pandaSDMX/issues/181

Thanks very much @dr-leo. Apologies for my SDMX ignorance, but is it possible to query a DataflowDefinition with only a URL to a DSD? (I have not fully grasped the idea of a dataflow, probably).
The reason I bring this up is that I'm working on a tool that needs to create a drop-down listing all the dimensions in a DSD, and additional drop-downs for each associated code.
Thanks again for the feedback.

v1.1.0 has been released. Re-open this in case there is anything to fix or explain.


OneDrive

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
None
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[X] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version
SPFx version
Node.js version
etc

Describe the bug / error
OneDrive: I want to recover data deleted 80 days ago, Via Scrips
Steps to reproduce
OneDrive: I want to recover data deleted 80 days ago, Via Scrips
Expected behavior
There are 5 users of a common OneDrive. This OneDrive lost data about 80 days ago.

OneDrive: I want to recover data deleted 80 days ago, Via Scrips

Hi @artinger
While it might very well be too late now, since files only stay in the recycle bin for ~93 days - but you could take a look at some of the community samples over on the PnP Script Samples - OneDrive's are really just a different type of SharePoint Sites
Your best bet at restoring the files now is to open an actual support ticket with MS under your admin center, sometimes you can be lucky, make sure you highlight in the subject that it's already been a while!

Thanks Tanddant!


Add PHP-8.1 and PHP-8.2 tests in GitHub actions

Changed log

Add PHP-8.1 and PHP-8.2 tests in GitHub actions.
Reopen #2.

This has been added to the latest version. Thanks.


Implement a solver for linear systems based on Kokkos kernels

This is WIP. Wanted to make sure we are on the right track using test-driven development as the development principle and relying on Kokkos and Kokkos-Kernels for container and linear algebra support.

I was able to add kokkos-kernels as a dependency for OpenTurbine and started off with the TDD we talked about in the last meeting. However, I am not sure about how to get a linear solver working based on Kokkos-Kernels and would appreciate your thoughts. Particularly, I don't see any explicit documentation regarding wrappers for LAPACK methods and I don't want to write linear algebra library for our work. There must be something already implemented in Kokkos ecosystem, right?

kokkos-kernels provides a KokkosBlas::gesv method that performs a simple dense LU solve, if that works for this application. kokkos-kernels also has a lot of dense solvers under the KokkosBatched namespace. These are mainly used for when you need to solve a lot of small systems, so you can saturate the GPU better, but you should be able to use them for a single system just as well.
I do admit to being surprised that they don't have an easier LAPACK type interface in there. I understand that those algorithms are harder to parallelize, but it still seems like it would be a good tool in the toolbox.

Doesn't look there they implemented the KokkosBlas::gesv as of yet. Am I missing something here?
https://github.com/kokkos/kokkos-kernels/blob/develop/blas/impl/KokkosBlas_gesv_impl.hpp

@ddement Doesn't look like they implemented the KokkosBlas::gesv method as of yet. Am I missing something here?

It looks like you're correct, that's puzzling. I wonder why they would leave an un-implemented stub in there like that...

kokkos-kernels provides a KokkosBlas::gesv method that performs a simple dense LU solve, if that works for this application. kokkos-kernels also has a lot of dense solvers under the KokkosBatched namespace. These are mainly used for when you need to solve a lot of small systems, so you can saturate the GPU better, but you should be able to use them for a single system just as well.
I do admit to being surprised that they don't have an easier LAPACK type interface in there. I understand that those algorithms are harder to parallelize, but it still seems like it would be a good tool in the toolbox.

@ddement Doesn't look like they implemented the KokkosBlas::gesv method as of yet. Am I missing something here?
https://github.com/kokkos/kokkos-kernels/blob/develop/blas/impl/KokkosBlas_gesv_impl.hpp

That's really odd.  They do seem to have one based on TPLs:
https://github.com/kokkos/kokkos-kernels/blob/develop/blas/tpls/KokkosBlas_gesv_tpl_spec_decl.hpp
Basically, it is a wrapper for the system BLAS gesv, so we don't have to do it ourselves.  They also let you use a device based solver TPL.  We just have to make sure that we build Kokkos kernels with the right BLAS.
Another way forward would be to write our own wrapper around a BLAS/LAPACK TPL that takes in the Kokkos views.  My first instinct says this would be harder on us, but I'll leave that judgment up to you.

We may want to start testing from a more top-down perspective. I'm thinking a test for a base-case of the generalize alpha solver. Then, as we quickly need more functionality, we can add things like the linear solver, coordinate manipulations, etc. This might help us to add only the features we need for now to solve our simple problem.

@ddement While I completely agree with the top-down approach and see the value of using this viewpoint as we build the minimum viable proof-of-concept for the rigid body pendulum, I am in favor of implementing the required features for the generalized-alpha solver separately. This will keep the development work in focused, relatively small (few hundred lines of change max), reviewer-friendly pull requests (as opposed to a large PR containing several Ks of lines of code). I do see ourselves merging back to the draft pull request on generalized-alpha solver and completing the GA solver incrementally.
Does the above plan sound like a reasonable approach to you?

That sounds like a plan to me

@faisal-bhuiyan You'll have to configure kokkos-kernels to use BLAS.  If you're using CMAKE directly to build it, you can just add  -DKokkosKernels_ENABLE_TPL_BLAS=ON.  If you're using Spack, there should be a corresponding flag.  It should be able to find the packages that are loaded into your path - I don't know what your development environment looks like to know what modules you need for this.
OpenBLAS should be as good of a BLAS as any for now.  I know that CMAKE has a findBLAS function, as well as using find_package, so that should give us some modularity when including/linking to BLAS ourselves.

@faisal-bhuiyan You'll have to configure kokkos-kernels to use BLAS. If you're using CMAKE directly to build it, you can just add  -DKokkosKernels_ENABLE_TPL_BLAS=ON. If you're using Spack, there should be a corresponding flag. It should be able to find the packages that are loaded into your path - I don't know what your development environment looks like to know what modules you need for this. Let me know if you need help getting this configured.

I used spack to install kokkos-kernels as follows: spack install kokkos-kernels +blas. Does it seem reasonable? That's what is provided in their build instructions here.

OpenBLAS should be as good of a BLAS as any for now. I know that CMAKE has a findBLAS function, as well as using find_package, so that should give us some modularity when including/linking to BLAS ourselves.

I agree and that's what is installed as a dependency for kokkos-kernels with TPL BLAS as pointed out above. I used a find_package(BLAS REQUIRED) into CMake and got the following output:
-- OpenTurbine Information:
-- VERSION = v0.0.0-69-gc27d7cd-DIRTY
-- CMAKE_SYSTEM_NAME = Darwin
-- CMAKE_CXX_COMPILER_ID = AppleClang
-- CMAKE_CXX_COMPILER_VERSION = <IP_ADDRESS>30022
-- CMAKE_BUILD_TYPE = RELEASE
-- Enabled Kokkos devices: SERIAL
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for dgemm_
-- Looking for dgemm_ - found
-- Found BLAS: /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/System/Library/Frameworks/Accelerate.framework
-- Enabled Kokkos devices: SERIAL
-- Found GTest: /opt/homebrew/lib/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Enabled Kokkos devices: SERIAL
-- Enabled Kokkos devices: SERIAL
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/fbhuiyan/dev/openturbine/build

I still get the same error when I run the main function with call to KokkosBlas::gesv. Any thoughts on next steps here?

@ddement @alanw0 @michaelasprague  I was able to ask some questions on kokkos slack and was referred to the GMRES solver (an iterative solver for sparse matrices) by a kokkos-kernels developer. Please take a look in the following link.
https://github.com/kokkos/kokkos-kernels/tree/master/example/gmres
Before I dive into any implementation for OpenTurbine, want to make sure what you might think of the suitability of this particular solver for our purposes.

This code is not production ready. It lacks guard rails to prevent using device memory or non-row-major matrices. It also lacks size checking and error handling for in input system. These should be added before merging into master to prevent segfault risk.

@ddement I added some of the checks and error handling to the solver function. Check for non-row major matrices and more than one r.h.s does not appear to be necessary at this point since the function signature does not allow them and throws. I am not sure about the device memory stuff - could explain that a little more?
Also, could you take a quick scan and let me know if there is anything else we might need to add to this PR before going into review?

Basically, we don't want to try to use a view of device memory here, because LAPACK is host only.  Thinking about it, the easiest way would probably be to put the Kokkos::DefaultHostExecutionSpace in the type signature.  We could also do some templates and type checking magic, but that's probably too complicated for this stage in the game.

@ddement I meant to ask you, did you need to do anything in CMake related to finding the LAPACKE package such as find_package(LAPACKE REQUIRED) or something similar? I had to do something non-trivial for CMake to find LAPACKE and wanted to make sure if there's a better way to do it.

@ddement I meant to ask you, did you need to do anything in CMake related to finding the LAPACKE package (pertaining to the #include <lapacke.h> in solver) such as find_package(LAPACKE REQUIRED) or something similar? I had to do something non-trivial for CMake to be able to find LAPACKE and wanted to make sure if there's a better way to do it.

I only needed to do the find_package command you listed in the src/CMakeLists.txt.  We should only at most need to point CMake to where it lives on a given machine at cmake time, unless it already lives in your path as it does on my machine.  That being said, I may be missing something.  I've never been confused for a CMake expert.

@michaelasprague @alanw0 @ddement This one is ready for a final review at this point. I will need to make some updates to the documentation regarding compiling OpenTurbine since we added a dependency on LAPACK. Will work with @rafmudaf to figure that out since I don't have the write access to it.


Can you provide inference model for MutliSports Dataset?

We need to inference setup the multisports model for football to find fine grain localization of football events

You mean the pretrained model? Unfortunately , I can't provide it at this time. If, however, you want to train it by yourself, I'd recommend using the code from the HIT_ava repository, since it's easier to setup for the Multisports dataset.

Can you provide some usefull tips to train MultiSports Dataset on a single GPU ?
How to download the dataset from Hugging Face or any other means?


[e2e] add local_public_key_path to envstore keys

What does this PR do?
Add local_public_key_path to env store
Motivation
Avoid warning in test logs for missing key
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge


Updated the layout of cmdlets in SystemInsights

#2078

Docs Build status updates of commit 90b4c9f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/systeminsights/Add-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Disable-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Disable-InsightsCapabilitySchedule.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Enable-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Enable-InsightsCapabilitySchedule.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Get-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Get-InsightsCapabilityAction.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Get-InsightsCapabilityResult.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Get-InsightsCapabilitySchedule.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Invoke-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Remove-InsightsCapability.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Remove-InsightsCapabilityAction.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Set-InsightsCapabilityAction.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Set-InsightsCapabilitySchedule.md
:white_check_mark:Succeeded

docset/windows/systeminsights/SystemInsights.md
:white_check_mark:Succeeded

docset/windows/systeminsights/Update-InsightsCapability.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Release fix for Django 1.8 ou Pypi

@ebertti is there any problem on django-summernote with Django 1.8 ?

If you're still in problem, please reopen this issue, thanks.

I just requested to update the project on pypi :smile:
I see now is updated :+1:
thanks!
The right subject of this issue is:
Release fix for Django 1.8 on Pypi
Sorry for this error

P R O F I T
:dancer:


doesn't change dir for new files

I have let g:rooter_change_directory_for_non_project_files = 'current' in my .vimrc
When I run :w ~/testing it will chdir if testing exists. Otherwise the directory stays the same.

If I save, navigate away from buffer and naviage back the cwd changes correctly.

thanks!


fontSize is always 1.0 for all characters, regardless of height or typeface

We're using tabula-1.0.2 to extract text from regions of various PDFs. We've been using character height as our primary measure for text, but would also like to grab the font size in points for particular elements. Unfortunately the fontSize attribute on TextElements for all of the PDFs I've tried are all set to 1.0. Is there something I'm missing?

Yes I too get the same unfortunately.

@satyaraj479 we've been relying on getYScale for font size in points, and it seems to always work.

OK i will try this option @billwanjohi , Have you worked on NurminenDetectionAlgorithm, it doesn't ignore Page headers or footers. Any approach known to you ? I recently raised as an issue as well,
If you help me it would be a great help ! thanks :)


2.0 wip: respect navbar height and color variables found in variables.less in navbar.less

navbar will now continue to vertically align nav elements no matter what height is specified for the navbar; same idea for colors -- vertical divider and input border colors are themed using the navbar background colors

Already handled a few of these with some new variables, but we won't be heading down this route for 2.0. Perhaps in 2.x, but this adds a lot of more complicated CSS that I'd like to avoid for now.
Thanks for pointing out all the shortcomings though—this made it easy to find all the missing values for the existing variables.


CORS Example application

This shows you how to host your API service on a different domain than your Angular application.
The "website" option is required to enable the /login endpoint, which the front-end needs for posting a login attempt to.  It feels awkward to enable this option on the api service, as the api service is not a website :) I think the solution is to implement the grant_type=password flow for the /oauth/token endpoint that is served by the express-stormpath application.  We then:

modify the Angular library to use the token endpoint for login
rename the "api" option in express-stormpath to oauth2, as this option is, in-fact, enabling the OAuth features of our service.

Nice, well done! Everything works as expected except that logout tries to redirect to / which then returns a 404 and the XHR call fails. However this has been fixed in the Social Login PR on the Express library.

Thanks @timothyej !


solve RangeError (index): Invalid value: Valid value range is empty: 0

Hi @pav3lo !
Thanks so much for contributing. But it solved in version '0.4.4'


Timestamps losing precision on import

Describe the bug
When reading timestamps from Kusto into spark (with pyspark), timestamps get rounded to milliseconds, even though they should have microsecond precision.
To Reproduce
Example with print, but also happens when actually reading from tables
Run this in pyspark with the correct configuration:
>>> kustoOptions = {
    "kustoCluster": xxx,
    "kustoDatabase": "xxx",
    "kustoAadAppId": xxx,
    "kustoAadAppSecret": xxx,
    "kustoAadAuthorityID": xxx,
}
>>> kustoDf = (
    spark.read.format("com.microsoft.kusto.spark.datasource")
    .options(**kustoOptions)
    .option("kustoQuery", "print datetime(2022-11-11 07:45:20.915245)")
    .load()
)
>>> kustoDf.show(truncate=False)

+-----------------------+
|print_0                |
+-----------------------+
|2022-11-11 07:45:20.915|
+-----------------------+

Expected behavior
I expect the resulting datetime to have the precision until microseconds, datetime(2022-11-11 07:45:20.915245).
This precision is documented on the spark TimestampType doc page.
Desktop (please complete the following information):

OS: Windows
Version [e.g. 22]

Additional context
Running pyspark on databricks single node cluster, runtime 10.4

spark version: 3.2.1

Hello @IvoMerchiers , Sorry for being late on the issue.
What version of the spark connector are you using. We'll try and replicate this on the latest version and report back findings

Hi @ag-ramachandran, I've added the spark version to the ticket description.

Hello @IvoMerchiers, we have just released 3.1.7. Should be in maven central in a few hours
cc: @asaharn

Hello @IvoMerchiers, If you've had a chance to test and the behavior is okay can you please close the issue as fixed

Closing it. Feel free to open it if issue persists.


Added tests for /vnc and /log API (related to #404)

Codecov Report

Merging #410 into master will increase coverage by 3.45%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #410      +/-   ##
=========================================
+ Coverage   74.75%   78.2%   +3.45%
=========================================
  Files           9       9
  Lines        1101    1101
=========================================
+ Hits          823     861      +38
+ Misses        227     188      -39
- Partials       51      52       +1

Flag
Coverage Δ

#unittests
78.2% <100%> (+3.45%)
:arrow_up:

Impacted Files
Coverage Δ

selenoid.go
87.06% <100%> (+9.43%)
:arrow_up:

service/docker.go
83.14% <0%> (+1.14%)
:arrow_up:

Continue to review full report at Codecov.

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


Remove default xml parser, allow users to use their own libraries.

bumps version to 1.0.0, as output of API is now by default an XML string.

also bumps SOAP to the latest 1.0.0, which has up-to-date packages which had vulnerabilities.


Skipping Login to create Strapi project not possible anymore

🐛 Bug Report
I cant use the arrows anymore in the step to Skipt the log in:
🤷♀ What did you do
`We can't find any auth credentials in your Strapi config.
Create a free account on Strapi Cloud and benefit from:

✦ Blazing-fast ✦ deployment for your projects
✦ Exclusive ✦ access to resources to make your project successful
An ✦ Awesome ✦ community and full enjoyment of Strapi's ecosystem

Start your 14-day free trial now!
? Please log in or sign up. (Use arrow keys)
❯ Login/Sign up
Skip
^[[B`
⛔ Error log
🕵♀ Stack trace
Stack Trace

## 🙇♀ Expected behavior/code

It should be possible to choose the SKIP option to go forward
## 👩💻 Environment

- 📦 Node version: v18.19.1
- 💻 OS: Ubuntu24.04 and Windows 10 x64

## 💡 Possible Solution

<!-- Only if you have suggestions on a fix for the bug -->

## 📺 Additional context/Screenshots

<!-- Add any other context about the problem here. If applicable, add screenshots to help explain. -->

I'm releasing a new version hopefully within a month it's currently in testing phase which is a rebuild

Any updates related to this bug?

Any updates?

Any updates?

Do we have an update?


Add support for Laravel 5.8

Add support for Laravel 5.8
Dropped support for Laravel 5.2, 5.3 and 5.4

A new inspection was created.

The inspection completed: No new issues


overview: add 1.2 & 4 from agreg program with minor fixes

I think that 1.2&4 were the parts missing from the agreg program.

So far, I checked 7/9 pages. I am close to verify we have "99 % of the text" [1].
[1]: Excluding my own mistakes.

So far, I checked 8/9 pages. modulo my own mistakes.
All that remains is distribution calculus, which I'm myself not that proficient and knowledgeable.

One could argue this is not part of the standard undergrad curriculum actually. For instance when I took this exam this topic was not on the list. But we could keep it anyway, so that we can claim we're not cheating.


Have tags that can be clicked on the events webpage

Is your feature request related to a problem? Please describe.
I find it difficult to simply find all talks (works with any category)
Describe the solution you'd like
I'd would like to be able to click on the talk button/tag on the right and sign and only see events that share this tag.
Describe alternatives you've considered
Look at the whole list and figure it all by myself...
Additional context
A specific tag for the bytesize could be of interest too

This has been already fixed (Example: https://nf-co.re/events)


May I run this CRM on a virtual machine

Hello , may I run this CRM on a virtual machine , such as virtualbox or vmware ?

Yes @wdw139130

When you run it on local what is default UI username & password?


Add package-lock

Add missing file for CI

Maybe I've not been keeping up with what we're doing with these, but adding package-lock has never been useful on PS projects IME (start getting spammed by dependabot/security warnings that wouldn't otherwise arise), I add it to gitignore instead usually.
I guess maybe it's a bit different since this one has actual dependencies, where as usually they're dev, but 🤷, just my 2p.

@garyb they’re only being added for projects which use JS dependencies (like this one). Also, as we’ve experienced on other repositories, removing the lock file unfortunately doesn’t appear to remove the dependabot spam; you still get it just based on the package.json file alone.
By the way — are you aware of a reason not to switch to strict equality in these underlying JS files? They’re failing the eslint check, which is the same config file used with Aff.

I just meant "more" dependabot spam :smile: as it will warn you about things that the ^ bumps would skip when there are fixed version in the lock that are insecure, I think? I'm probably wrong. But yeah, I realised while writing the above that this does have a real dependency, so if that's the way we're dealing with it, I'm okay with it :+1:
Switching to strict equality sounds good to me too, probably just an oversight that it's not already.

I think it's acceptable to not commit lockfiles and only commit the package.json files. I will need to update the template files for CI as the npm ci command won't work and we'll need to use ordinary npm install, and template files for .gitignore to add the package-lock.json file.
That's because we aren't actually providing this dependency to users via this library. They have to actually install it themselves. We'll still receive security alerts, but as you said, not ones that would already be covered by the ^ ranges.
With that in mind, @milesfrain, this PR will have to be updated to remove the lock file again and update the .gitignore. But the eslint issues do still need to be resolved. You might want to wait for those updates in the governance repository before doing anything else.

You might want to wait for those updates in the governance repository before doing anything else.

Sounds good. I have some other fish to fry over this next week, so no rush.

@milesfrain I've updated the .gitignore and ci.yml files and removed the package-lock.json file. You should be good to go to fix the eslint errors, after which this will be all done!


fix AddCentroidList

AddCentroidList() doesn't work at all. Fix it, and add a simple sanity test for the Add methods.

@nathanielc @goller any chance of a merge here? This fixes a pretty serious landmine for new users of this library.

I think the original implementation of AddCentroidList was correct

A surprising assertion - it doesn't work at all. It only adds some of the centroids. Try the original code with my new test, and see. In addition to the total count being wrong, the quantile results are way off.
I updated the test. CCLA is... in progress.

@nathanielc we (Honeycomb) now have an executed CCLA. Should be good to merge.


chore: update dependabot commit message prefix

Matches internal convention commit standard

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.28%. Comparing base (9700490) to head (5feb116).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #452   +/-   ##
=======================================
  Coverage   83.28%   83.28%
=======================================
  Files          62       62
  Lines        4235     4235
=======================================
  Hits         3527     3527
  Misses        551      551
  Partials      157      157

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


task/96/remove-dupe-tests

remove duped cypress tests. env vars to indicate if screenshots shoul…

Codecov Report

Merging #99 (e7520e2) into main (aa10c78) will increase coverage by 0.61%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
+ Coverage   81.04%   81.65%   +0.61%
==========================================
  Files          56       56
  Lines        1630     1630
  Branches      235      234       -1
==========================================
+ Hits         1321     1331      +10
+ Misses        309      299      -10

see 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[BUG] Fix versioning issues discovered through version bump

This PR fixes up the version framework to ensure a smooth version bump across releases.

start gradle check

start gradle check

As we discussed this, lets open an issue for having a cleaner way of bumping up versioning in OpenSearch.
Hopefully one day we will not have a hack :)


New Action: insertOrUpdate

Today I stumbled upon a common use case which currently isn't covered by vuex-orm.
Idea
Add an action insertOrUpdate (couldn't think of a better name) which will insert new records into the collection or update records already existing.
// Initial State
{
    entities: {
        users: {
            data: {
                '1': { id: 1, name: 'John', roles: [3] }
            }
        }
    }
}

// `insertOrUpdate` is going to add new records and update existing data (see `update`).
store.dispatch('entities/users/insertOrUpdate', {
    data: [
        { id: 1, name: 'Peter' },
        { id: 2, name: 'Hank' },
    ]
})

// State after `insertOrUpdate`.
{
    entities: {
        users: {
            data: {
                '1': { id: 1, name: 'Peter', roles: [3] },
                '2': { id: 2, name: 'Hank' }
            }
        }
    }
}

Use case
In my case relationships aren't always returned by the API. You can specify which relationships should be embedded in the response to reduce data transfer and queries on the database.
E.g. when loading the current user, I will fetch his roles, but for listing all users this isn't needed, so I can fetch them when loading the detail view. But currently when loading all users without roles, all existing users will be overwritten with the provided data.
Current workaround
My current workaround is looking like the following and I think it would be helpful for many users to include a similar solution in vuex-orm.
const users; // Retrieved from some API
const promises = users.map(user => {
    if (this.$store.getters['entities/users/find'](user.id) !== null) {
        return this.$store.dispatch('entities/users/update', {
            where: user.id,
            data: user
        });
    }
    return this.$store.dispatch('entities/users/insert', {
        data: user
    });
});

Promise.all(promises).then(() => {
    // All users have been inserted or update, now we can do anything we want
});

Final words
What are you thinking about this idea? Is it a good approach to extend vuex-orm or should I just use a self-written helper? If you like this idea, I could try to create a PR implementing this feature.

Hi! Thank you for the request! I think this is a very good feature to have. I think the method name insertOrUpdate is good too.

Is it a good approach to extend vuex-orm or should I just use a self-written helper?

I think it is good for Vuex ORM to have this feature 👍

If you like this idea, I could try to create a PR implementing this feature.

That would be super awesome! However, the implementation should be in Repo class. So, if you're not so familiar with the Repo class, I could implement this. What do you think?

Thank you for the fast response. I will have a look at the Repo and how it processes the create and update actions.  Thanks. I think you can follow repo.insert method to see what it is doing (it actually calling Query class to perform non relational things such as fetching record or modifying states). Maybe I should document this but the role is;
Repo – Responsible for handling data normalization and relationals. Repo will not mutate or reference state directly but do anything related to relation such as getting related models or normalize data before passing data to the Query.
Query – Responsible for actually mutating or referencing Vuex State. So ideally Query will also have insertOrUpdate method and Repo will just call this method in this case, I guess.
@timoschwarzer That could be a nice idea since we have create option in insert method. API feels consistent. I think it's nice to have insertOrUpdate method too though. I like the idea of having shorthand or alias methods so after implementing insertOrUpdate method, we could use it through insertMissing option as well.
Will that option take boolean? or would it take relation name so that users can control which relation get's which?

Maybe insertMissing: true → Insert all missing data, insertMissing: ['foo', 'bar'] → Insert boo and bar when updating.

Hah, that's nice idea. However, when I think about it, I don't think it's possible to pass relational (nested) data to the update action...
We should first update that and then add that option I guess.

Thanks to @iNaD, this feature is now implemented in Vuex ORM 0.19.0 🎉
https://github.com/vuex-orm/vuex-orm/releases/tag/v0.19.0


Give authority Solr core a _version_ field so it can be loaded

References

Fixes #9122
main version of this PR: https://github.com/DSpace/DSpace/pull/9123

Description
Define the required _version_ field and its fieldType.
Instructions for Reviewers
List of changes in this PR:

Defined the long field type.
Defined version as a long field.

Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[x] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

Ported to main in #9123


Feat: Reset Password Page

Describe the feature
@SUGAM-ARORA I want to make a reset password Page in the Login Page. Kindly assign me this issue.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Ojas-Arora Issue assigned to you


Random string suffix for bucket objects

In order to host a static website on a Google Cloud Storage bucket, I adapted this example from pulumi-aws.
First try :
    relativeFilePath,
    {
      bucket: siteBucket.name,
      contentType: mime.getType(filePath) || undefined,
      source: new pulumi.asset.FileAsset(filePath),
    },
    {
      parent: siteBucket
    }
  );

Error message :
error: expected an asset, but source is not an asset
Second try :
    relativeFilePath,
    {
      bucket: siteBucket.name,
      contentType: mime.getType(filePath) || undefined,
      source: filePath, // with no Asset specification
    },
    {
      parent: siteBucket
    }
  );

All goes right but objects have a random suffix, like index.html-f07c416, even if I try my own "unique names" for every object.
Is there a real issue for this FileAsset() constructor, as I saw no other issue of this kind for AWS in the pulumi/examples repo ?
How do you keep your basic object names, without the suffix ?

@sebght explicitly setting a name property on gcp.storage.BucketObject objects is working as expected for me and not appending the random suffix.
Code
import * as gcp from "@pulumi/gcp";

const bucket = new gcp.storage.Bucket("my-bucket");

const file = new gcp.storage.BucketObject("main", {
    bucket: bucket.name,
    name: "index.html",                                 // <------ Explicitly set name.
    content: "asdfadf",
})

export const bucketUrl = bucket.url;
export const fileSelfLinkk = file.selfLink;

Log
$ pulumi up -y
Previewing update (dev):

     Type                         Name                               Plan
 +   pulumi:pulumi:Stack          private-pulumi-gcp-issues-145-dev  create
 +   ├─ gcp:storage:Bucket        my-bucket                          create
 +   └─ gcp:storage:BucketObject  main                               create

Resources:
    + 3 to create

Updating (dev):

     Type                         Name                               Status
 +   pulumi:pulumi:Stack          private-pulumi-gcp-issues-145-dev  created
 +   ├─ gcp:storage:Bucket        my-bucket                          created
 +   └─ gcp:storage:BucketObject  main                               created

Outputs:
    bucketUrl    : "gs://my-bucket-6607e62"
    fileSelfLinkk: "https://www.googleapis.com/storage/v1/b/my-bucket-6607e62/o/index.html"

Resources:
    + 3 created

Duration: 4s

Permalink: https://app.pulumi.com/clstokes/private-pulumi-gcp-issues-145/dev/updates/6
$ gsutil ls $(pulumi stack output bucketUrl)
gs://my-bucket-6607e62/index.html
$

I'm pretty confident this is as working as expected, so I'm going to close this. @sebght please reopen if you're still having issues.

I feel bad for this quite simple solution, but thank you !
Concerning my first try : is there some issue with FileAsset() or I just misused it ?

@sebght you would still need to specify name even with using FileAsset or raw content as my example did.