[build-script] Add an option to only run executable tests. Off by def…

…ault.

@swift-ci smoke test

I'm not sure I fully understand under what conditions this is particularly useful (e.g. the non-executable-tests only allow you to test CodeGen for foreign targets).  This on the other hand only runs the executable tests, which I assume is a means of running tests which can run locally.  I think that having another option such as -native_only would be better (there is no reason to disallow the CodeGen tests which can run locally).  Alternatively - since I believe the goal here is to ease standard library development, add an option to run the standard library test suite only (split the two category of tests out).

@compnerd I am not trying to run tests that can only run locally. I am trying to run all executable tests. That is it. I am fine doing renamings later if you want. I want to get this in now so lets do it in a follow up.

@swift-ci smoke test os x platform


WIP: reconcilers/apis: controllers should wait for caches to sync before they run.

Summary
controllers should be self-contained and make sure all caches they operate on have been synchronized before they start working.
TODO:

[ ] some controllers but not all wait for the caches in the installXYZController function, these functions should be updated.
[ ] fix the remaining controllers.

Related issue(s)
Fixes #

/hold

This is covered by https://github.com/kcp-dev/kcp/blob/3c4e7937b80aac7b2f20878393e957417702969a/pkg/server/controllers.go#L1107

s.syncedCh is closed when all informers are synced

s.syncedCh is closed when all informers are synced

okay, but I think that:

controllers should be self-contained
this is now how a standard controller looks like
this is non-intuitive, for example, this controller accepts informersStarted <-chan struct{} (s.syncedCh) but also waits for crdInformer.Informer().HasSynced or the bootstrap controller that waits for workspaceInformer.Informer().HasSynced

controllers should be self-contained

This is the key point up for discussion I'd say. @sttts & I made a decision a while ago to do it the way you currently see in the repo. I am happy to discuss if we want to change the approach.

this is non-intuitive, for example, this controller accepts informersStarted <-chan struct{} (s.syncedCh)

This is a one-off requirement of the Kubernetes quota controller. Now that I think about it, since we don't start any quota delegates until after s.syncedCh is closed, we could remove passing it in, and instead pass an always-closed channel when creating delegate controllers.

but also waits for crdInformer.Informer().HasSynced

I don't recall the specifics, but I think I ran into some issues... we could try removing this and see what happens. Maybe I missed putting in the waitForSync originally, added the specific crdInformer check, and never went back to remove it.

or the bootstrap controller that waits for workspaceInformer.Informer().HasSynced

It's probably safe to remove this.

Ok, updated the PR.
The only controller that makes use of the HasSynced method is ResourceController. I think it is okay since it uses DynamicDiscoverySharedInformerFactory.

/unhold
/lgtm
/approve


[Bug]: BigQuery IO Batch load using File_load causing the same job id ignoring inserts as the job_id is already completed

What happened?
BigQueryIO.Write<Row> batchWrite =
          rowWrite
              .withMethod(BigQueryIO.Write.Method.FILE_LOADS)
              .withTriggeringFrequency(Duration.standardMinutes(fileLoadSpecOptional.get().writeTriggerFrequency))
              .withAutoSharding()
              .withExtendedErrorInfo()
              .withMaxRetryJobs(fileLoadSpecOptional.get().withJobRetryCount)
              .withWriteTempDataset(TMP_TABLE_DATASET)
              .withCustomGcsTempLocation(ValueProvider.StaticValueProvider.of(fileLoadSpecOptional.get().stagingBucket));

Have following code to setup file_load operation for Dataflow streaming jobs using GCS and File_notification based ingestion into BigQuery

It creates a JobId for new file after few minutes and load data into Live table  with jobId beam_bq_job_LOAD_defaultnetworkvpcflowlogslive_e78561b1b6e147e7abafe83b9314c7f1_41dd2dbb7ce5b6e717e5aadb4244b4e0_00001_00000-0
but after this every new files are added to staging bucket new set of files have exactly 1 partition and c.pane.index seems to be 0 causing the same job_id and ignoring file writes
See the screenshot for different timestamp we have the same job_id ignoring inserts

Should we add random uuid to jobId logic to fix this issue here ?
by changing this line to:
 String jobIdPrefix =
          BigQueryResourceNaming.createJobIdWithDestination(
              c.sideInput(loadJobIdPrefixView), tableDestination, partition, c.pane().getIndex()) + "-" +  random5CharUUID();

Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

We faced the same issue after we switched to Dataflow Runner v2. BigQuery Load job with the same jobId is used for every batch write so only the first batch is actually written.
In addition to @yeshvantbhavnasi 's logs, I have the following warnings:

Thanks for reporting this. It's clearly a bug and should be fixed.

We faced the same issue after we switched to Dataflow Runner v2.

This also suggests runner v2 somehow generates smaller load jobs. Most of time, within one window it should only have one load job. Another issue to track.

I see, they are different window. Should also add window to job name.

There is a bug in Dataflow Runner V2 where ProcessContext c.pane().getIndex() always returns 0 here:
https://github.com/apache/beam/blob/a636f25e139d4ccecc1154028d63168f99200c5a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/WriteTables.java#L254
Causing duplicated BigQuery job id. However in Dataflow Runner V1 the pane index is increasing.

Either use legacy runner (with streaming engine enabled); or under Dataflow runner v2 and manually set sharding BigQueryIO.write().withNumFileShards(1) or any positive integer would mitigate this issue.

Either use legacy runner (with streaming engine enabled); or under Dataflow runner v2 and manually set sharding BigQueryIO.write().withNumFileShards(1) or any positive integer would mitigate this issue.

I did try using withNumFileShards still see the same problem causing the same load job-id

Either use legacy runner (with streaming engine enabled); or under Dataflow runner v2 and manually set sharding BigQueryIO.write().withNumFileShards(1) or any positive integer would mitigate this issue.

I did try using withNumFileShards still see the same problem causing the same load job-id

You're right, sorry, I messed up different test pipelines. Confirm that setting withNumFileShards issue still exists. The problem is not need GroupIntoBatches to trigger

The problem is Downstream PCollection lost the pane info of first GBK after a ReShuffle. The pipeline involved is: Trigger->GBK->ReShuffle->Downstream
ReShuffle happens here: https://github.com/apache/beam/blob/3ff66d38c41fde475f71254d889ba46440904238/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BatchLoads.java#L806
After discussion we think the pane index is either work as intended or undefined behavior. While GBK will re-fire a pane, ReShuffle is implemented differently in runners. Current behavior is inconsistent among runner:
Is pane info preserved in Downstream for a pipeline with Trigger->GBK->ReShuffle->Downstream?

runner
ReShuffle.of()
ReShuffle.viaRandomKey

Java Direct Runner
Yes
No

Java Dataflow Legacy Runner
Yes
Yes

Java Dataflow Runner V2
No
No

Opened #28272 for a fix. Added randomness to job id.
The implication of randomness in job id is that if the bundle gets retried it will have duplicates.
Note that Python SDK implementation did not consider pane info but also uses random job id: https://github.com/apache/beam/blob/3ff66d38c41fde475f71254d889ba46440904238/sdks/python/apache_beam/io/gcp/bigquery_file_loads.py#L89

removed 2.51.0 milestone as a consensus is pending

Question: if we do assume the behavior should be like I said in the design doc and like Reuven said - the exact identity function - would this change be needed or not?

Question: if we do assume the behavior should be like I said in the design doc and like Reuven said - the exact identity function - would this change be needed or not?

This change is then not needed

For Dataflow v1 the behavior is already correct.

@kennknowles we cannot use dataflow v1 as we are using custom images for security which is supported only on dataflow v2

Got it. This is a high priority. It is underway but takes some work. (fixing it in the SDK does not necessarily fix it for all the runners, because they do customized things under the hood)

To be clear: the proposed change actually would be a different behavior that we do not desire. The work here is to fix Reshuffle implementations.

Hey @kennknowles can we point to reshuffle implementation codebase ? if we can try rollout our own version of beam after the fix and see if it works on GCP dataflow with batch .

Ah, sorry I missed this message. This change is https://github.com/apache/beam/pull/28853 which is in Beam 2.54.0 and above.

Hi @kennknowles @Abacn ,
I am using Batch load job (moving data from GCS- Cloud Storage to BigQuery) , and Job shows successfully run, but writes only a small portion of data to BigQuery table, Typically 2- 10 rows out of 1071 (expected),
While searching more, I stumbled upon above discussion here. From diagnostics it seems to be similar issue , Getting a lot of 409s at bigquery write step (screenshot attached) , Also most BigQuery jobs seems to have same IDs (attached screenshot)
Is this the same issue,
Happy to share more details if required on this

Another version of this job with exact same DynamicDestination configuration  is running successfully with streaming setup - (Basically that pipeline is moving data from Kafka to BigQuery)
Java SDK version:
2.60.0
2.57.0
Runner:
GCP Dataflow
Tried to run with both below- but job still writes only partial output to BQ

Dataflow runner v2
Disabling runner v2

JobID looks like:
beam_bq_job_LOAD_debugbqload_952f816652304fca8d830ed781542535_3739ddb1bbdb83c1edfec375a931a79a_00001_00000-0
Have given job name like below
        options.setJobName("debug-bq-load");

        WriteResult result = bigQueryRows.apply("WriteToBigQuery",
                BigQueryIO.<BigQueryRow>write()
                        .to(new MyDynamicDestination(bigqueryDatasetName))
                        .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)
                        .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_EMPTY)
                        .withFormatFunction(bigQueryRow -> bigQueryRow != null ? bigQueryRow.getFormattedTableRow() : null)
                        .withMethod(BigQueryIO.Write.Method.FILE_LOADS)
        );

Also pasting dataflow job describe output here
gcloud dataflow jobs describe 2024-10-18_11_41_06-2506487362125660927 --region=asia-south1  --format=json
{
  "createTime": "2024-10-18T18:41:07.476926Z",
  "currentState": "JOB_STATE_DONE",
  "currentStateTime": "2024-10-18T18:44:52.815102Z",
  "environment": {
    "shuffleMode": "SERVICE_BASED",
    "userAgent": {
      "container.base_repository": "gcr.io/cloud-dataflow/v1beta3",
      "fnapi.container.version": "2.60.0",
      "fnapi.environment.major.version": "8",
      "java.vendor": "Oracle Corporation",
      "java.version": "<IP_ADDRESS>",
      "legacy.container.version": "2.60.0",
      "legacy.environment.major.version": "8",
      "name": "Apache Beam SDK for Java",
      "os.arch": "aarch64",
      "os.name": "Mac OS X",
      "os.version": "14.6.1",
      "version": "2.60.0"
    },
    "version": {
      "job_type": "JAVA_BATCH_AUTOSCALING",
      "major": "8"
    }
  },
  "id": "2024-10-18_11_41_06-2506487362125660927",
  "jobMetadata": {
    "sdkVersion": {
      "sdkSupportStatus": "SUPPORTED",
      "version": "2.60.0",
      "versionDisplayName": "Apache Beam SDK for Java"
    }
  },
  "location": "asia-south1",
  "name": "gcs_to_bq",
  "projectId": "livewel-prod",
  "stageStates": [
    {
      "currentStateTime": "2024-10-18T18:43:34.734Z",
      "executionStageName": "s74.org.apache.beam.sdk.values.PCollection.<init>:397#bed3177b52ae68e-c181",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:34.922Z",
      "executionStageName": "s75.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.147Z",
      "executionStageName": "F204",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.589Z",
      "executionStageName": "s81-close-shuffle148",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:37.382Z",
      "executionStageName": "s109-close-shuffle51",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.439Z",
      "executionStageName": "s54-shuffle-session105",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.618Z",
      "executionStageName": "s32-shuffle-session77",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.770Z",
      "executionStageName": "s2840-shuffle-session71",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.954Z",
      "executionStageName": "s109-shuffle-session48",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.719Z",
      "executionStageName": "s3913-shuffle-session85",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.589Z",
      "executionStageName": "success211",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.996Z",
      "executionStageName": "F185",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.037Z",
      "executionStageName": "s92-open-shuffle164",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.508Z",
      "executionStageName": "F198",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.417Z",
      "executionStageName": "s22.org.apache.beam.sdk.values.PCollection.<init>:397#1d275f544daf228c",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:13.890Z",
      "executionStageName": "F187",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.380Z",
      "executionStageName": "F205",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.819Z",
      "executionStageName": "s45",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.204Z",
      "executionStageName": "F207",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.732Z",
      "executionStageName": "s504-shuffle-session99",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.097Z",
      "executionStageName": "s43-close-shuffle94",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.513Z",
      "executionStageName": "s43-open-shuffle92",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.061Z",
      "executionStageName": "s92-shuffle-session163",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.734Z",
      "executionStageName": "s6-close-shuffle116",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.694Z",
      "executionStageName": "s86-open-shuffle155",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.554Z",
      "executionStageName": "s43-shuffle-session91",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:34.894Z",
      "executionStageName": "s75",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:38.225Z",
      "executionStageName": "s112.org.apache.beam.sdk.values.PCollection.<init>:397#689338c1ae4b4531",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.096Z",
      "executionStageName": "s86-close-shuffle157",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.707Z",
      "executionStageName": "s6122-shuffle-session122",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.670Z",
      "executionStageName": "s6122-open-shuffle123",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.145Z",
      "executionStageName": "s113.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.713Z",
      "executionStageName": "F195",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.764Z",
      "executionStageName": "s55.org.apache.beam.sdk.values.PCollection.<init>:397#30b23d9769235bb2",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.683Z",
      "executionStageName": "s97-open-shuffle173",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.755Z",
      "executionStageName": "s1731-shuffle-session57",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.059Z",
      "executionStageName": "s81-open-shuffle146",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.874Z",
      "executionStageName": "s56.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:34.809Z",
      "executionStageName": "s73-u182",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.734Z",
      "executionStageName": "s21-open-shuffle64",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.717Z",
      "executionStageName": "F192",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.086Z",
      "executionStageName": "s54-close-shuffle108",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.475Z",
      "executionStageName": "F200",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.662Z",
      "executionStageName": "s65-close-shuffle131",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.697Z",
      "executionStageName": "s1731-open-shuffle58",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.384Z",
      "executionStageName": "s3913-close-shuffle88",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.832Z",
      "executionStageName": "s56",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.524Z",
      "executionStageName": "F210",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:34.837Z",
      "executionStageName": "s74.org.apache.beam.sdk.values.PCollection.<init>:397#bed3177b52ae68e",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.015Z",
      "executionStageName": "F188",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:27.777Z",
      "executionStageName": "F202",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.561Z",
      "executionStageName": "F186",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.824Z",
      "executionStageName": "s101.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.697Z",
      "executionStageName": "s504-open-shuffle100",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.782Z",
      "executionStageName": "s97-close-shuffle175",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:21.444Z",
      "executionStageName": "start213",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.696Z",
      "executionStageName": "s6-open-shuffle114",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.351Z",
      "executionStageName": "F209",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.698Z",
      "executionStageName": "s2840-open-shuffle72",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.514Z",
      "executionStageName": "s33.org.apache.beam.sdk.values.PCollection.<init>:397#c22b25ea2180c33a",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.119Z",
      "executionStageName": "s113",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.084Z",
      "executionStageName": "s81-shuffle-session145",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.750Z",
      "executionStageName": "s44.org.apache.beam.sdk.values.PCollection.<init>:397#b06373aead4e1949",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:44:03.052Z",
      "executionStageName": "s90.org.apache.beam.sdk.values.PCollection.<init>:397#eb37685a4ffcf182",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.378Z",
      "executionStageName": "s65-shuffle-session128",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.613Z",
      "executionStageName": "s67",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.721Z",
      "executionStageName": "s86-shuffle-session154",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.433Z",
      "executionStageName": "s2840-close-shuffle74",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.281Z",
      "executionStageName": "s504-close-shuffle102",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.590Z",
      "executionStageName": "F199",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.003Z",
      "executionStageName": "F193",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.857Z",
      "executionStageName": "s45.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:27.814Z",
      "executionStageName": "s74.org.apache.beam.sdk.values.PCollection.<init>:397#bed3177b52ae68e-c180",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.304Z",
      "executionStageName": "F208",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.741Z",
      "executionStageName": "s100.org.apache.beam.sdk.values.PCollection.<init>:397#160896c2d158da1f",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.692Z",
      "executionStageName": "s3913-open-shuffle86",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.564Z",
      "executionStageName": "s32-open-shuffle78",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.778Z",
      "executionStageName": "s70-open-shuffle137",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.163Z",
      "executionStageName": "F201",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.161Z",
      "executionStageName": "F206",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.797Z",
      "executionStageName": "s101",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.813Z",
      "executionStageName": "s70-shuffle-session136",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:38.199Z",
      "executionStageName": "F189",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:21.363Z",
      "executionStageName": "failure212",
      "executionStageState": "JOB_STATE_PENDING"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.245Z",
      "executionStageName": "s32-close-shuffle80",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.533Z",
      "executionStageName": "s23.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.729Z",
      "executionStageName": "F190",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.608Z",
      "executionStageName": "s1731-close-shuffle60",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.003Z",
      "executionStageName": "F191",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.573Z",
      "executionStageName": "s92-close-shuffle166",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.526Z",
      "executionStageName": "s21-close-shuffle66",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:14.396Z",
      "executionStageName": "s54-open-shuffle106",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.709Z",
      "executionStageName": "s97-shuffle-session172",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:37.322Z",
      "executionStageName": "F194",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:17.494Z",
      "executionStageName": "s23",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.543Z",
      "executionStageName": "s66.org.apache.beam.sdk.values.PCollection.<init>:397#556f4ebf84d9869b",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:27.864Z",
      "executionStageName": "s70-close-shuffle139",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:35.511Z",
      "executionStageName": "F196",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.773Z",
      "executionStageName": "s21-shuffle-session63",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:19.647Z",
      "executionStageName": "s67.output",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:41:30.743Z",
      "executionStageName": "s6-shuffle-session113",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.584Z",
      "executionStageName": "s34",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:36.929Z",
      "executionStageName": "s109-open-shuffle49",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.216Z",
      "executionStageName": "s6122-close-shuffle125",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:34.708Z",
      "executionStageName": "F197",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:18.341Z",
      "executionStageName": "s65-open-shuffle129",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:15.653Z",
      "executionStageName": "F203",
      "executionStageState": "JOB_STATE_DONE"
    },
    {
      "currentStateTime": "2024-10-18T18:43:16.621Z",
      "executionStageName": "s34.output",
      "executionStageState": "JOB_STATE_DONE"
    }
  ],
  "startTime": "2024-10-18T18:41:07.476926Z",
  "type": "JOB_TYPE_BATCH"
}

@pranjal5215 are you experiencing this with both - with and without V2?

Possible to share the code here?


[BUG] Favicon not present on some pages

Description
Describe the bug:
Hey, @akshitagupta15june Favicon is not present on some of the pages link blogs and rejuvenate. Please assign me this issue. Thank you!
Expected behavior:
Favicons should be present ton all pages
Actual behavior:
Favicons is not present on these pages.
Reproduction Steps
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected result:
A clear and concise description of what you expected to happen at each step.
Actual result:
A clear and concise description of what actually happened at each step.
Screenshots

Additional Information
Device (please complete the following information):

OS: [e.g., Windows, macOS, Linux]
Browser [e.g., Chrome, Safari, Firefox]
Version [e.g., 22]

Additional context:
Add any other context about the problem here.

its not required


fix(setOrigRanges): add missing props

there's no valueRange in comments
fake node should respect setOrigRanges

Looks good. Do you have any other fixes lined up in the near future, or should I just release this as 1.0.2?

Thanks for the quick response!
This should be all the bugs related to CRLF. After this fix, my tests are passed and I'm able to support CRLF in yaml-unist-parser. ❤


Relicense SlimeVR under Dual MIT + Apache 2.0 license

With #306 and the discussion on discord, it seems like we are approaching a consensus that people would be willing to dual license.
What is the proposed change?
SlimeVR will be dual licensed under both LICENSE-MIT and LICENSE-APACHE.
All contributions will be licensed such that we grant users of our software the right to choose to use either license. So if I want to use the MIT license, I can - if I want to use Apache 2.0, I can.
Why Apache 2.0?
MIT license doesn't protect against patent trolls. Technically SlimeVR could get a patent on fbt and then sue people for patent infringement. We want to give users the confidence that this won't happen.
For this reason, other libraries like the GUI, SlimeVR-Rust, SolarXR-Protocol, SlimeVR wrangler use dual licensing.

To keep the server repo's licensing simple, it is going to be confusing for the GUI to be dual licensed but the server not to be. Lets just unify everything under a dual license.
How do we do it?
I will follow the example of other libraries I know.
I will @ every contributor to SlimeVR to get their agreement to relicense. Assuming everyone (who has done a non-trivial change that can't easily be reverted) agrees, we can officially relicense and unify the codebase under dual MIT/Apache 2 licenses.
Agreement
Paste the following into a comment in this thread:

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

[x] @Eirenliel
[x] @ButterscotchV
[x] @loucass003
[x] @Louka3000
[x] @TheButlah
[x] @Spazzwanjunk
[x] @adigyran
[x] @deiteris
[x] @TheDevMinerTV
[ ] @carl-anders
[x] @ColdIce1605
[x] @Kamilake
[x] @Stermere
[x] @JimWails
[x] @williammb
[x] @ImUrX
[x] @unlogisch04
[x] @Loler920a
[x] @Blixtdraken
[x] @MightyGood
[x] @LETS-BEE
[x] @Boronare
[x] @Levi--G
[x] @masterex1000
[x] @Vyolex
[x] @JINODK
[x] @Timocop
[x] @doormatt-dev
[x] @ThreadOfFate
[x] @sctanf
[ ] @0x8080
[ ] @ThePheonixGuy
[x] @nullstalgia
[x] @bluekani
[x] @inkuxuan
[x] @DemorianJH
[x] @gbpii
[x] @Charlito33
[x] @ChlorideCull
[x] @nEuDy
[x] @Torikari
[x] @kitlith

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the
SlimeVR github organization or its repositories, shall be dual licensed
under MIT License and Apache 2.0 license, as described above, without any
additional terms or conditions. I agree that the copyright owner shall be
marked as "Eiren Rain and SlimeVR Contributors".
On Fri, 25 Nov 2022 at 8:38 PM, sctanf @.***> wrote:

I agree that any contribution intentionally submitted for inclusion in the
SlimeVR github organization or its repositories, shall be dual licensed
under MIT License and Apache 2.0 license, as described above, without any
additional terms or conditions. I agree that the copyright owner shall be
marked as "Eiren Rain and SlimeVR Contributors".
—
Reply to this email directly, view it on GitHub
https://github.com/SlimeVR/SlimeVR-Server/issues/308#issuecomment-1327778476,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGL4GHFPG7KKF4KAMZ555KLWKEBT3ANCNFSM6AAAAAASLRJT3Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
James Reynolds
Senior Platform Engineer
+27824498619
@.***

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

i don't see my name listed but eh
I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I changed the text to the following:

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

This is because Eiren may wish to remove their name.

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked as "Eiren Rain and SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

Sorry for the Ping.
Due to the change i had to remove the checkmkark from some user that already did replay but did not update the comments.
See comment from @TheButlah https://github.com/SlimeVR/SlimeVR-Server/issues/308#issuecomment-1327792019
So following user have to update the comment to agree on the new text. (Post the new text)
@carl-anders
@doormatt-dev
@ImUrX
@inkuxuan
@kitlith
@Louka3000
@Stermere
@ThePheonixGuy
@ThreadOfFate

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

@gbpii you need to say "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors" you only wrote one

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

@ChlorideCull submitted this commit which does would not fall under copyright law as a creative work, so I have marked their name as checkmarked.

Same with @0x8080: https://github.com/SlimeVR/SlimeVR-Tracker-ESP/pull/24/files

@ThePheonixGuy Can you edit your comment or add a new one with the updated text please

I agree that any contribution intentionally submitted for inclusion in the SlimeVR github organization or its repositories, shall be dual licensed under MIT License and Apache 2.0 license, as described above, without any additional terms or conditions. I agree that the copyright owner shall be marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR Contributors".

I agree that any contribution intentionally submitted for inclusion in the
SlimeVR github organization or its repositories, shall be dual licensed
under MIT License and Apache 2.0 license, as described above, without any
additional terms or conditions. I agree that the copyright owner shall be
marked either as "Eiren Rain and SlimeVR Contributors" or "SlimeVR
Contributors".--
James Reynolds
Senior Platform Engineer
@.***

Done! Finally!


issue #1762 : Forge / Add Foreign Keys

implements ability to add foreign keys in the Database Forge

Consider that you also need a reliable way to delete foreign keys as well, if you want this to be useful for migrations (need a down as well as an up). In order to that correctly, I think you will need syntax to specifically name the foreign keys, otherwise you may not know the keyname to remove the key.
CONSTRAINT my_unique_user_selected_key_name_here FOREIGN KEY...


[Feature]: Pagination in a URL path

Feature scope
Taps (catalog, state, stream maps, etc.)
Description
For APIs with a URL path pagination (eg. /endpoint/{page}), the Meltano SDK does not provide a clear way to pass the next_page_token for use in the URL path in a RESTStream.
A possible solution could be to add the next_page_token as an optional parameter to get_url, and altering the call to get_url in the prepare_request method to pass along the next_page_token. This would be consistent with other method calls in prepare_request that pass along the next_page_token. Developers then would only have to override the get_url method to implement URL path pagination.
Another option could be to add the next_page_token to the context, which would pass on to get_url.

@robby-rob-slalom supporting interpolation of the next_page_token in the URL would require us to standardize the expected key, such as page in your example.
With that assumption in mind, and making sure it's well documented and examples included, would you be willing to contribute a PR?

@edgarrmondragon After thinking about it, I took a shot at the second option:
    def prepare_request(self, context: dict, next_page_token: Any) -> requests.PreparedRequest:
        context['page'] = next_page_token or 0
        return super().prepare_request(context, None)

This may turn out to be a better way of dealing with this type of pagination without having to alter any existing code.

Still relevant and open to contributions


CAMEL-19586: camel-parquet-avro - Allow users to unmarshal Parquet file into Avro's GenericRecords

Description
This PR add a new functionality to camel-parquet-avro for (un)marshalling with Avro's GenericRecord instead of POJO so that users don't need to define a POJO corresponding to Parquet file's data structure.
Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/camel-parquet-avro

/component-test parquet-avro


python3Packages.homepluscontrol: init at 0.0.5

Motivation for this change
Python API to interact with the Legrand Eliot Home and Control
https://github.com/chemaaa/homepluscontrol
This is a Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 118768 run on x86_64-linux 1

2 packages built:

python38Packages.homepluscontrol
python39Packages.homepluscontrol


Test improvements

private where appropriate
final where appropriate
Call super.setUp() - to be a good citizen
Added tearDown() method to correctly deinitialize test objects
Fixed a couple of typos

Thank you so much @msrutek-paylocity
I'm releasing a 0.9.3 now, with your changes and Catalyst support.


Errors during running waste water tutorial

Auguste ran into errors when running the tutorial:
Dear Geert,
Here are the errors that I got after running the V-pipe tutorial:

Image
Best,
Auguste

The first error is possibly because the vocs directory was created in an incorrect place. I've reworded the tutorial and changed the code blocks to make this clearer.
An example of timeline.tsv can be found later in the tutorial. I've put a reference in the text.
This file disappeared in a recent release of v-pipe. I've submitted an issue for that: https://github.com/cbg-ethz/V-pipe/issues/161. I've included the required file now in https://vpipe-gsod.s3.eu-central-1.amazonaws.com/cowwid_tutorial.tar.gz


Polymorphic relations and custom fields in many-to-many in v2

Is this something you've considered for v2?
For instance, it would make it possible to create a user role table with the structure shown below.
user_id: 4
role: "editor"
foreign_table: "articles"
foreign_id: "23"

Hi @jakobrosenberg,
This is not implemented yet. We can do it at the framework level, but this feature make migrations more complicated.

Thanks for having highlighted this issue. This is not our purpose to handle polymorphic relations at this time. I close this issue because this is not in our roadmap for the next months.


chore: always test against latest patch versions

:tada: This PR is included in version 0.1.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add all "optional" attributes getters to OpinionSiteLinear, and correct failing sources

This surfaced on #1020, where the _get_docket_document_numbers getter was needed for the new OpinionSiteLinear scraper to keep the old behavior. However, when adding this and other getters to the base OpinionSiteLinear class, it breaks the tests because some fields that were supossed to be scraped, were actually not passed into the scrape caller. They were present on site.cases[0], but not on site[0]. With the getter change, theyare now added to the example tests. For example, on fla and "disposition": disposition.text_content().strip(),

It may be worth to check freelawproject/courtlistener#4042, maybe we can get rid of some of the unused attributes in this PR

I found another type of silent failure for OpinionSiteLinear
For example, in haw, we collect a "lower_courts" key. However, this won't appear on the final dictionary used in CL, nor in the example file because the OpinionSiteLinear getter expects a "lower_court" key. So, it fails silently https://github.com/freelawproject/juriscraper/blob/92d27210adebfe7efa3b5ff2777667d3cd0de78f/juriscraper/opinions/united_states/state/haw.py#L44
A similar instance is in mo.py, where "judge" and "judges" keys are both collected, and only the first one is used
https://github.com/freelawproject/juriscraper/blob/92d27210adebfe7efa3b5ff2777667d3cd0de78f/juriscraper/opinions/united_states/state/mo.py#L42-L43
I will write a test to catch this problem of unused keys in OpinionSite Linear, and will also correct the straightforward ones

I have extended AbstractSite._check_sanity for OpinionSiteLinear, to check for "wrong" case key strings, which were not being used by the OpinionSiteLinear cases. Found and corrected these:
KeyError: "Invalid key 'author' for case dictionary juriscraper.opinions.united_states.federal_appellate.ca7"
KeyError: "Invalid key 'cite' for case dictionary juriscraper.opinions.united_states.federal_special.armfor"
KeyError: "Invalid key 'lower_courts' for case dictionary juriscraper.opinions.united_states.state.haw"
KeyError: "Invalid key 'judges' for case dictionary juriscraper.opinions.united_states.territories.nmariana"
KeyError: "Invalid key 'dispostion' for case dictionary juriscraper.opinions.united_states.state.mo" (this one is a typo, should be 'disposition')
KeyError: "Invalid key 'judges' for case dictionary juriscraper.opinions.united_states.state.mo"
KeyError: "Invalid key 'judges' for case dictionary juriscraper.opinions.united_states.state.tenn"


[Web][CanvasKit][Mobile]: Various TextField cursor bugs on iOS Safari and Chrome browsers

Steps to Reproduce

Create a new flutter app by flutter create textfield.
Modify main.dart, adding some TextFields  in a scrollable widget. Code:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: SingleChildScrollView(
        child: Container(
          color: Colors.white,
          child: Column(children: [
            SizedBox(height: 20), make(2, null),
            SizedBox(height: 30), make(4, null),
            SizedBox(height: 40), make(6, null),
            SizedBox(height: 50), make(8, null),
            SizedBox(height: 60), make(10, null),
            SizedBox(height: 70), make(12, null)
          ]),
        ),
      ),
    );
  }

  TextField make(minLines, maxLines) {
    return TextField(
      minLines: minLines,
      maxLines: maxLines,
      keyboardType: TextInputType.multiline,
      decoration: InputDecoration(filled: true, isDense: true, fillColor: Colors.yellow, focusColor: Colors.yellow),
      style: TextStyle(color: Colors.black, fontSize: 14, height: 1.4, backgroundColor: Colors.yellow),
    );
  }
}

Build the app flutter build web --web-renderer canvaskit --dart-define=FLUTTER_WEB_USE_SKIA=true
Host the app with any server
Visit the app from an iPhone's Safari (or Chrome, which shows same bugs)
We see three buggy behaviors:

Bug 1 (Most often):

Scroll to a tall TextField
Long press to focus on it
Watch the keyboard pops up

Bug 2 (Quite often):

Focus on a TextField
Scroll
Another cursor shows up

Bug 3 (Less often but not hard to reproduce):

Double tap to focus on a TextField
Two cursors are blinking (They're very close and almost overlapped)

Expected results:
For Bug 1: After the keyboard pops up, the TextField should show properly.
For Bug 2: There's only one cursor.
For Bug 3: There's only one cursor.
Actual results:
For Bug 1: After the keyboard pops up, the TextField shows less than it should be.
For Bug 2: There are two cursors.
For Bug 3: There are two cursors.

Logs

Analyzing textfield...
No issues found! (ran in 3.4s)

[✓] Flutter (Channel beta, 2.0.0, on macOS 11.2.1 20D74 darwin-x64, locale en-CN)
    • Flutter version 2.0.0 at /Users/hejq/flutter
    • Framework revision 60bd88df91 (9 days ago), 2021-03-03 09:13:17 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0
    • Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
    • Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/hejq/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.54.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (3 available)
    • ObjectPhone (mobile) • 00008101-001D70941189003A • ios            • iOS 14.4
    • macOS (desktop)      • macos                     • darwin-x64     • macOS 11.2.1 20D74 darwin-x64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 88.0.4324.192

https://user-images.githubusercontent.com/39660295/110963908-9813e480-838d-11eb-9996-a6bbbf09e939.MP4
https://user-images.githubusercontent.com/39660295/110963944-a104b600-838d-11eb-8ae0-71674961f58a.MP4
https://user-images.githubusercontent.com/39660295/110963964-a82bc400-838d-11eb-99d9-e9f7bb9f1ed9.MP4

@git9am
Thanks for the detailed report.
Can you please confirm if the same behavior persists on latest beta (2.0.1) or master (2.1.0) ?

@git9am
Thanks for the detailed report.
Can you please confirm if the same behavior persists on latest beta (2.0.1) or master (2.1.0) ?

Yes it reproduces on master.
[✓] Flutter (Channel master, 2.1.0-13.0.pre.104, on macOS 11.2.3 20D91 darwin-x64, locale en-CN)
    • Flutter version 2.1.0-13.0.pre.104 at /Users/hejq/flutter
    • Framework revision 5be3f215ed (5 hours ago), 2021-03-16 08:35:00 +0100
    • Engine revision 20375cebcf
    • Dart version 2.13.0 (build 2.13.0-137.0.dev)
    • Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
    • Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/hejq/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (3 available)

Tested on iOS 14.4.
Uploading RPReplay_Final1615897058.mov…

Thanks for the detailed bug report @git9am.

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.2, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.0.2 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 8962f6dc68 (5 days ago), 2021-03-11 13:22:20 -0800
    • Engine revision 5d8bf811b3
    • Dart version 2.12.1

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.54.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 89.0.4389.82

! Doctor found issues in 1 category.

Bug 1
I'm not able to reproduce this one. From the video, it looks more like a rendering issue not a text editing issue (cc @yjbanov & @hterkelsen).
Bug 2
I'm unable to reproduce this one either.
Bug 3
The 3rd bug (double caret) is a known issue (https://github.com/flutter/flutter/issues/70841).

I did a few research and found something, but I'm not sure if it's relevant to this issue.
Enabling _debugVisibleTextEditing (src/flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart) in the flutter engine shows flutter TextField and the textarea element not overlapping.

Same thing happens on a PC Chrome but there's no browser highlight or tooltip, so everything works.

TextFields, especially multiline ones, are still unusable for us for web on mobile browsers as of 3.3.10. The bug isn't noticeable on a simple page with one TextField. But when it's nested deep in a scrollable widget, custom fonts etc., trying to tap the cursor to anywhere results in the cursor jumping to the start, end, or some random place in between.

The issue also happened in a dialog even the dialog only contains of on simple TextField
https://github.com/flutter/flutter/assets/5109308/9ef136ea-aacb-40fc-9159-756754c082c4

Bug #1 is captured by https://github.com/flutter/flutter/issues/129174. Since we deduplicated 2 out of 3, and the third one couldn't be reproduced, I'm closing this issue in favor of the existing ones.


Android Basics: LiveData

https://developer.android.com/codelabs/basic-android-kotlin-training-livedata?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-livedata#3
**4. Add LiveData to the current scrambled word **
**step 3 there are statement "Change the backing field currentWordCount type to LiveData, because it is immutable"
and there should be currentScrambledWord instead of currentWordCount **
Steps to reproduce?

Go to the link and task 4...
scroll down a bit at step 3...
and there are wrong variable name in explanation

...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Thank you so much for reporting this issue. This is fixed and will be published soon.


Is it possible to run local mode client in Windows?

Hello, I would like to run local mode client in Windows, but I use NewOpenClient failed to create session.
How can I create a valid client?

Sorry, currently the local mode client is ONLY supported on Linux.

Got it. Is there any possible to support on Windows in the future?


[Bug] Property pane updated incorrectly.

Description
Property pane is inconsistent when opened for different widgets of the same type.
Steps to reproduce the behaviour:

Add similar text input widgets and add some properties, default text per se.
Click on widget settings controls to see inconsistent values.

Important Details

Version: [Cloud / Self-Hosted vx.x]
OS: [e.g.MacOSX]
Browser [e.g. chrome, safari]

https://images.zenhubusercontent.com/275993885/de95dff6-eaa1-4f11-8eba-d8365ee0c305/property_pane_bug.mov


Revert MenuFlyoutItem placeholder margin to ThemeResource in Version2 styles

Description
This PR changes the MenuFlyout resources MenuFlyoutItemDoublePlaceholderThemeThickness and MenuFlyoutItemPlaceholderThemeThickness to be applied with ThemeResource in the new Version2 styles, to re-enable easy theming that was possible in Version1.
Motivation and Context
To create a menu design in which check boxes and radio buttons align with icons, it is necessary to adjust the resources MenuFlyoutItemDoublePlaceholderThemeThickness and MenuFlyoutItemPlaceholderThemeThickness on your MenuFlyoutItems. Prior to the Version2 styles in WinUI 2.6, this could be done without any retemplating, however, the new styles apply these resources as StaticResource instead of ThemeResource like the old styles. This PR restores the functionality already present in the Version1 styles (as well as the generic.xaml system style).

How Has This Been Tested?
Tested in MUXControlsTestApp manually. Minimal sample menu:
<MenuFlyout>
    <MenuFlyoutItem Icon="Emoji2" Text="Item with icon">
        <MenuFlyoutItem.Resources>
            <Thickness x:Key="MenuFlyoutItemPlaceholderThemeThickness">0</Thickness>
            <Thickness x:Key="MenuFlyoutItemDoublePlaceholderThemeThickness">28,0,0,0</Thickness>
        </MenuFlyoutItem.Resources>
    </MenuFlyoutItem>
    <ToggleMenuFlyoutItem IsChecked="True" Text="Item with check">
        <ToggleMenuFlyoutItem.Resources>
            <Thickness x:Key="MenuFlyoutItemPlaceholderThemeThickness">0</Thickness>
        </ToggleMenuFlyoutItem.Resources>
    </ToggleMenuFlyoutItem>
</MenuFlyout>

Screenshots (if appropriate):
This is my use case below (with radio buttons added to demonstrate):

As you can see, the icons do not line up and this menu is not pleasant to look at.
Intended look:

With the control of the styles restored, I can make the menu look how I want it to.

This has also begun affecting me after upgrading to WinUI 2.6:

With this PR merged, I'll be able to restore the expected menu appearance without needing to retemplate every menu item control.

/azp run

@ranjeshj @jevansaks any concerns with this one?


How was the ARIMA model evaluated?

Hello, I want to know how the baseline experiment of ARIMA is designed in the univariate experimental part?
Especially in test evaluation, how do you use ARIMA to produce, say, L length output? Is it done in an autoregressive way, or use ARIMA to output L variables at one time? And do you re-fit the ARIMA model for every test batch (or step)?

Hello, I want to know how the baseline experiment of ARIMA is designed in the univariate experimental part?
Especially in test evaluation, how do you use ARIMA to produce, say, L length output? Is it done in an autoregressive way, or use ARIMA to output L variables at one time? And do you re-fit the ARIMA model for every test batch (or step)?

Hi, we fix the input length of model, and refit the ARIMA model to get prediction with output length for every test step.

Hello, I want to know how the baseline experiment of ARIMA is designed in the univariate experimental part?
Especially in test evaluation, how do you use ARIMA to produce, say, L length output? Is it done in an autoregressive way, or use ARIMA to output L variables at one time? And do you re-fit the ARIMA model for every test batch (or step)?

Hi, we fix the input length of model, and refit the ARIMA model to get prediction with output length for every test step.

Could you also provide some details on the parameter settings of the ARIMA model?

Hi!
I am also interested about parameter settings of ARIMA model.

Hello,
Anyone has any inside of the parameters used for each dataset(at least ETTh1) for the ARIMA model? After my analysis of the dataset, the parameters i chose gave a mean mse of 3.03 which is way of the one in their tables


Generate Epytext style Docstrings

Generate declerative docstrings about functions

Docstrings are added with 35db38d, from now on new functions will contain docstrings as well.


1.0.0-rc-part-9: is defined array objects

Is defined dot '.' notation currently only supports nested DTOs and uses recursion.

convert recursive method to iterative approach
add support for ArrayAccess
add support for objects
add support for arrays
show full nested property path for unknown properties on nested DTOs
add tests for nested types

Somehow didn't even notice the nested ifs
On Tue, 22 Sep 2020, 5:31 pm Lachlan Krautz<EMAIL_ADDRESS>wrote:

Merged #18 https://github.com/rexlabsio/data-transfer-object/pull/18
into develop.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/rexlabsio/data-transfer-object/pull/18#event-3791844773,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADUYY5WHSHQX2PCKICVVVLSHBHFBANCNFSM4RUHBRHQ
.


This job just started failing with Internal Server Error

Hi! I have been using this github action for months without issues. Unfortunately tonight I started seeing the following in my builds:
 Deploy to Azure WebApp1s
    NODE_VERSION: 12.x
Run azure/webapps-deploy@v2
  with:
    app-name: XXX
    publish-profile: ***
    package: .
    slot-name: production
  env:
    AZURE_WEBAPP_NAME: XXX
    AZURE_WEBAPP_PACKAGE_PATH: .
    NODE_VERSION: 12.x
##[error]Deployment Failed with Error: Error: Internal Server Error. Please try again
Error: [object Object]

The internal server error makes me think it's on Azure's end. But I am able to deploy my function app successfully from Visual Studio Code. Also, the object output at the end would be helpful if I knew how to JSON.stringify it! 😄
Can you please advise?

Issue is fixed in PR.

It is working again for me


Not setting miniforge-version silently uses bundled miniconda

If you only set miniforge-variant but not miniforge-version. The bundled miniconda is used with the current code on master.

Brave developer! Thanks for reporting. I have also been using master in a few places, and hadn't encountered that yet. Will get on it.

Was a pretty straightforward fix over on #146!


Update tokenlist.json

Adding our token symbol to the Moraswap pair.

Please upload your logo.

I mean you should create a folder named by your token address and upload the logo there: https://github.com/moraswap/tokens/tree/master/blockchains/neon/assets

Hello,
I uploaded a folder with the CA and 200x200 logo to neon/assets
I don't see it at the moment, let me know if I did it wrong or if it's only visible after it's merged.
Unfortunately our dev has the opposite schedule than me, so he's always been asleep when I get to checking on the logo and seeing your comments.
Sorry for the hassle, hopefully I did it right this time. If not, I will make sure to have him do it

Cannot see the folder you created in your commit, please check again.


Entries created with KeeFox 1.4.7 extension are not decrypted correctly

Hi,
I created a brand new database on KeePass 2.28 and I am able to see the entries that I create manually.
But when I save an entry using KeeFox 1.4.7 on firefox, the password is not decrypted correctly using openkeepass:
Title: Sample Entry #2 Password: 12345
Title: Sign in - Google Accounts Password: 1�
The first is an entry created on KeePass and the second created on KeeFox addon.
Cheers,

What version of openkeepass are you using?
Can you add a sample database which could not be correctly decrypted?

Just forked the master.
I will send a pull request with the file.
Cheers,

Fixed with commit b945e4674ac2366fa9d2c1dd1a329b5badf9b674
Please pull from master.

Now it decrypts my database correctly. Thanks.


Test local push notification

capacitor.config.ts Setting below is made to make OneSignal push notifications work. Check if this affects local push notification
  ios: {
    handleApplicationNotifications: false
  }

Configure if Capacitor will handle local/push notifications. Set to false if you want to use your own UNUserNotificationCenter to handle notifications.

After installing new version of Distortion local notification is triggered when when favoriting an artist with timetable slot. Subsequently favorites does not trigger push


Stock install, error on every Plugin* command

Hello,
i just installed Vundle following the readme on github.
I don't added any plugin yet.
I got an error like this when trying to to :PluginList (or PluginInstall etc)
Error detected by treating function vundle#installer#list[2]..vundle#scripts#vi
My .vimrc :
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
"Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
"Plugin 'L9'
" Git plugin not hosted on GitHub
"Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
"Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
"Plugin 'ascenator/L9', {'name': 'newL9'}

" My plugins
"Plugin 'terryma/vim-multiple-cursors'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

set number
syntax on
set wildmenu
set wildmode =list:longest,list:full
set cursorline
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smartindent
set showcmd
set mouse=a
set ignorecase
set smartcase

" Use same clipboard as selection system clipboard ('*' in vim)
set clipboard=unnamed

" Don't wrap around to the beggining when searching next match
set nowrapscan

" Fold
set foldmethod=manual

" Stop certain movements from always going to the first character of a line.
" While this behaviour deviates from that of Vi, it does what most users
" coming from other editors would expect.
set nostartofline

" Display the cursor position on the last line of the screen or in the status
" line of a window
set ruler

" Use <F3> to toggle between 'nu' and 'nonu'
noremap <F3> :set invnumber<CR>
inoremap <F3> <C-O>:set invnumber<CR>

" Use <F4> to toggle between 'paste' and 'nopaste'
set pastetoggle=<F4>

" Use <F5> to remove all non desired whitespaces
:nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>

" <Ctrl-L> redraws the screen and removes any search highlighting.
nnoremap <C-L> :nohl<CR><C-L>"

" Macros
:source /usr/share/vim/vim74/macros/matchit.vim
:source ~/.vim/plugin/autoclose.vim

" highlight search
set hlsearch

" Spell check
"set spelllang =fr
"set spell
"set spellsuggest =5

" change colour scheme
:colorscheme murphy

" cursor memory
if has("autocmd")
    filetype plugin indent on
    autocmd FileType text setlocal textwidth=78

    autocmd BufReadPost *
                \ if line("'\"") > 0 && line("'\"") <= line("$") |
                \   exe "normal g`\"" |
                \ endif
endif

" View autoload
au BufWinLeave ?* mkview
au BufWinEnter ?* silent loadview

" # Function to permanently delete views created by 'mkview'
function! MyDeleteView()
    let path = fnamemodify(bufname('%'),':p')
    " vim's odd =~ escaping for /
    let path = substitute(path, '=', '==', 'g')
    if empty($HOME)
    else
        let path = substitute(path, '^'.$HOME, '\~', '')
    endif
    let path = substitute(path, '/', '=+', 'g') . '='
    " view directory
    let path = &viewdir.'/'.path
    call delete(path)
    echo "Deleted: ".path
endfunction

" # Command Delview (and it's abbreviation 'delview')
command Delview call MyDeleteView()
" Lower-case user commands: http://vim.wikia.com/wiki/Replace_a_builtin_command_using_cabbrev
cabbrev delview <c-r>=(getcmdtype()==':' && getcmdpos()==1 ? 'Delview' : 'delview')<CR>

" Delete view and reload file
function! DeleteViewAndReload()
    call MyDeleteView()
    edit
endfunction

" Command Delviewreload
command Delviewreload call DeleteViewAndReload()

" # Function close all brackets
function! CloseAllBrackets()
    "search('{','We')
    "/"\v\(\) \{"
    echo "Write in Progress"
endfunction

" Command ClsBrackets
command ClsBrackets call CloseAllBrackets()

Ty !

Sorry for the late reply.
Still having this issue?
If so, what OS? What version of Vim?

Hey thank you for replying !
Yes i still have the issue.
I'm running Arch Linux, 'uname -a' give me out :
Linux legendance 4.6.2-1-ARCH #1 SMP PREEMPT Wed Jun 8 08:40:59 CEST 2016 x86_64 GNU/Linux
And 'vim --version'  (sorry for the french inside)
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul  5 2016 18:34:08)
Rustines incluses : 1-1910
Compilé par Purgator
Énorme version sans interface graphique.
   Still an issue?
Are you sure the rtp is correct?

Don't worry, that cool you replied anyway ;)
I think the rtp is correct yes, the directory exist. Here is the content :
[purgator@legendance ~]$ ls -l ~/.vim/bundle/Vundle.vim
total 60
-rw-r--r-- 1 purgator users 6191 13 juil. 12:23 CONTRIBUTING.md
-rw-r--r-- 1 purgator users 1068 13 juil. 12:23 LICENSE-MIT.txt
-rw-r--r-- 1 purgator users 6068 13 juil. 12:23 README.md
-rw-r--r-- 1 purgator users 7017 13 juil. 12:23 README_ZH_CN.md
-rw-r--r-- 1 purgator users 7017 13 juil. 12:23 README_ZH_TW.md
drwxr-xr-x 3 purgator users 4096 13 juil. 12:23 autoload
-rw-r--r-- 1 purgator users  809 13 juil. 12:23 changelog.md
drwxr-xr-x 2 purgator users 4096 13 juil. 12:44 doc
drwxr-xr-x 2 purgator users 4096 13 juil. 12:23 ftplugin
drwxr-xr-x 2 purgator users 4096 13 juil. 12:23 syntax
drwxr-xr-x 3 purgator users 4096 13 juil. 12:23 test

[purgator@legendance ~]$ find ~/.vim/bundle/Vundle.vim
/home/purgator/.vim/bundle/Vundle.vim
/home/purgator/.vim/bundle/Vundle.vim/README_ZH_CN.md
/home/purgator/.vim/bundle/Vundle.vim/CONTRIBUTING.md
/home/purgator/.vim/bundle/Vundle.vim/ftplugin
/home/purgator/.vim/bundle/Vundle.vim/ftplugin/vundlelog.vim
/home/purgator/.vim/bundle/Vundle.vim/README_ZH_TW.md
/home/purgator/.vim/bundle/Vundle.vim/syntax
/home/purgator/.vim/bundle/Vundle.vim/syntax/vundlelog.vim
/home/purgator/.vim/bundle/Vundle.vim/README.md
/home/purgator/.vim/bundle/Vundle.vim/doc
/home/purgator/.vim/bundle/Vundle.vim/doc/tags
/home/purgator/.vim/bundle/Vundle.vim/doc/vundle.txt
/home/purgator/.vim/bundle/Vundle.vim/test
/home/purgator/.vim/bundle/Vundle.vim/test/files
/home/purgator/.vim/bundle/Vundle.vim/test/files/test.erl
/home/purgator/.vim/bundle/Vundle.vim/test/vimrc
/home/purgator/.vim/bundle/Vundle.vim/test/minirc.vim
/home/purgator/.vim/bundle/Vundle.vim/LICENSE-MIT.txt
/home/purgator/.vim/bundle/Vundle.vim/changelog.md
/home/purgator/.vim/bundle/Vundle.vim/autoload
/home/purgator/.vim/bundle/Vundle.vim/autoload/vundle
/home/purgator/.vim/bundle/Vundle.vim/autoload/vundle/installer.vim
/home/purgator/.vim/bundle/Vundle.vim/autoload/vundle/scripts.vim
/home/purgator/.vim/bundle/Vundle.vim/autoload/vundle/config.vim
/home/purgator/.vim/bundle/Vundle.vim/autoload/vundle.vim
/home/purgator/.vim/bundle/Vundle.vim/.git
/home/purgator/.vim/bundle/Vundle.vim/.git/logs
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs/heads
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs/heads/master
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs/remotes
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs/remotes/origin
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/refs/remotes/origin/HEAD
/home/purgator/.vim/bundle/Vundle.vim/.git/logs/HEAD
/home/purgator/.vim/bundle/Vundle.vim/.git/refs
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/tags
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/heads
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/heads/master
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/remotes
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/remotes/origin
/home/purgator/.vim/bundle/Vundle.vim/.git/refs/remotes/origin/HEAD
/home/purgator/.vim/bundle/Vundle.vim/.git/index
/home/purgator/.vim/bundle/Vundle.vim/.git/config
/home/purgator/.vim/bundle/Vundle.vim/.git/description
/home/purgator/.vim/bundle/Vundle.vim/.git/HEAD
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/applypatch-msg.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/pre-commit.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/prepare-commit-msg.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/pre-rebase.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/pre-applypatch.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/commit-msg.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/post-update.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/update.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/hooks/pre-push.sample
/home/purgator/.vim/bundle/Vundle.vim/.git/branches
/home/purgator/.vim/bundle/Vundle.vim/.git/info
/home/purgator/.vim/bundle/Vundle.vim/.git/info/exclude
/home/purgator/.vim/bundle/Vundle.vim/.git/objects
/home/purgator/.vim/bundle/Vundle.vim/.git/objects/info
/home/purgator/.vim/bundle/Vundle.vim/.git/objects/pack
/home/purgator/.vim/bundle/Vundle.vim/.git/objects/pack/pack-4a1ccf31d0ffa844ce622bbe1781a61e404c4657.idx
/home/purgator/.vim/bundle/Vundle.vim/.git/objects/pack/pack-4a1ccf31d0ffa844ce622bbe1781a61e404c4657.pack
/home/purgator/.vim/bundle/Vundle.vim/.git/packed-refs
/home/purgator/.vim/bundle/Vundle.vim/.gitignore

fellas, any work around on this? I am also seeing same issue.
Error detected while processing /Users/shahsaifi/.vim/bundle/ShahL9/plugin/l9.vim:
line   40:
E174: Command already exists: add ! to replace it
line   89:
E174: Command already exists: add ! to replace it
line  100:
E174: Command already exists: add ! to replace it
line  104:
E174: Command already exists: add ! to replace it
Press ENTER or type command to continue

OS:
Darwin Kernel Version 16.1.0
VIM:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 19 2016 15:09:36)

@shahsaifi Your issue is related specifically to the l9 plugin. Removing it should solve the issue.
@Purgator I know it has been a while.. but do you still have this issue or were you able to solve it?

@ryanoasis I have removed Vundle directory created from 'git clone' command and installed it again by calling git clone.
If i call :PluginInstall the plugin is installed but i still have the same error.
BTW, there is also a warning :  Warning: Changing a readonly file
The total message can be :
Error detected while processing function vundle#installer#list[2]..vundle#scripts#view:
line 15:W10: Warning: Changing a readonly file
If i run :PluginList or :PluginInstall a second time only the warning is displayed.

@Purgator Can you see if anything from https://github.com/VundleVim/Vundle.vim/issues/80#issuecomment-2634262 and the comments that follow help you?

@ryanoasis Thank you I solved my error ! Out from the linked thread the error seems related to views. Vim tries to create a view of the buffer created by Vundle when calling PluginList for example.
What was wrong in my vimrc ?
au BufWinLeave ?* mkview
au BufWinEnter ?* silent loadview

This is not checking if the buffer is read-only, nether is a special buffer like Plugin buffer.
I think there is a good read here : http://vim.wikia.com/wiki/Make_views_automatic
To summarize, you can use in this case the condition
if empty(glob(expand('%:p')))
like
    autocmd BufWritePost,BufLeave,WinLeave ?* if empty(glob(expand('%:p'))) | mkview | endif
    autocmd BufWinEnter ?* if empty(glob(expand('%:p'))) | silent loadview | endif

But I think it's good to try to get how this works :
let g:skipview_files = [
            \ '[EXAMPLE PLUGIN BUFFER]'
            \ ]
function! MakeViewCheck()
    if has('quickfix') && &buftype =~ 'nofile'
        " Buffer is marked as not a file
        return 0
    endif
    if empty(glob(expand('%:p')))
        " File does not exist on disk
        return 0
    endif
    if len($TEMP) && expand('%:p:h') == $TEMP
        " We're in a temp dir
        return 0
    endif
    if len($TMP) && expand('%:p:h') == $TMP
        " Also in temp dir
        return 0
    endif
    if index(g:skipview_files, expand('%')) >= 0
        " File is in skip list
        return 0
    endif
    return 1
endfunction
augroup vimrcAutoView
    autocmd!
    " Autosave & Load Views.
    autocmd BufWritePost,BufLeave,WinLeave ?* if MakeViewCheck() | mkview | endif
    autocmd BufWinEnter ?* if MakeViewCheck() | silent loadview | endif
augroup end

You can set an ignore list (may be useful in the future, in some cases).
You can avoid the temporary dirs, I removed this part personally (my environments variable are not even set anyway :p )
Have fun :)

@Purgator That's great news! Perhaps we can add something related to this in the wiki since this has come up at least twice (I think that is a good general rule for adding to a FAQ :smile: )

I'm still trying to fix https://github.com/VundleVim/Vundle.vim/issues/779
The YouCompleteMe errors and incorrect :PluginList output persists after removing everything in $VIM/bundle and re-cloning Vundle.Vim
can you point me to any cached data I can clear?

@therealplato For :PluginList the problem is from mkview, just see my previous post, or the wiki since today :
I don't know about YouCompleteMe but it's not the topic here imo.
@ryanoasis Nice idea, I edited the wiki :)

@shahsaifi   :  I have the same issue like you, have you resolved the problem?


InnerProduct

Hello,
I have a question,  does NGT support InnerProduct as distance function?
I dont see IP function when use float as datatype.
If it does support IP, have you test the performance using IP as distance function? Compared to Hnsw?

Hello,
I think that you mean maximum inner product search (MIPS). NGT does not support MIPS.
#55 might be helpful.

thanks a lot


workflow.json gone from the replicate page.

Since you updated the https://replicate.com/fofr/any-comfyui-workflow
We cant run workflows anymore as it replaced with video generator that does not seem to work.
Are you bringing back the "run any workflow" or it now replaced with that?
Also, this model worked earlier: animatediffLCMMotion_v10.ckpt but now it gives "model not found" error.

Fixed, sorry about this.

@fofr Is it still undrer construction? The replicate looks now like it should be but api gives this error:
"error": "Internal Server Error. Request to https://api.replicate.com/v1/predictions failed with status 422 Unprocessable Entity: {"title":"Version disabled","detail":"Sorry, this version is currently disabled.","status":422}\n."
Is the api version now disabled?
I used this: fofr/any-comfyui-workflow:d571d571599d4a157a922bd26405e1542b5077048951277c1352a2cba289661e


added animedaisuki

openload and streamango are dead it seems so I've 'disabled' them.

I'm leaving the merge to you as I clearly misunderstood your opinion the last time regarding nyaa

Regarding the base class for getting the correct server based on config I was thinking something like this:
(reworking anime.py get_data)
    def get_data(self):
        self._sources = self._get_sources()

        if type(self._sources[0][0]) != str:

            version = self.config.get('version','subbed') #TODO add a flag for this
            servers = self.config.get('servers',[''])
            data = self._sources[0]
            sources = ''

            logger.debug(data)

            for a in servers: #trying all supported servers in order using the correct language
                for b in data:
                    if b['version'] == version:
                        if b['config'] == a:
                            if get_extractor(b['extractor']) == None:
                                continue
                            sources = [(b['extractor'], b['url'],)]

            logger.debug('No servers found in selected language. Trying all supported servers')

            if not sources:
                for a in servers: #trying all supported servers in order
                    for b in data:
                        if b['config'] == a:
                            if get_extractor(b['extractor']) == None:
                                continue
                            sources = [(b['extractor'], b['url'],)]
            self._sources = sources

        logger.debug('Sources : {}'.format(self._sources))

This way it's still backward compatible (which we later can deprecate) and supports both language and priority of servers through config. For reference, data variable would look something like this:
[{'extractor': 'no_extractor', 'url': 'https://animedaisuki.moe/f/Yakusoku no Neverland - 01 [720p]-808d589c.mp4', 'config': 'official', 'version': 'subbed'}, {'extractor': 'no_extractor', 'url': 'https://animedaisuki.moe/f/Yakusoku no Neverland - 01 [720p]-808d589c.mp4', 'config': 'official', 'version': 'subbed'}]


A possible suggestion on how to fix the CSRF issue

A possible suggestion to fix the CSRF issue raised here:
github.com/grails-plugins/grails-spring-security-ui/issues/9
I've only tested this in my app which doesn't take full advantage of all of the spring security ui.
Adding CSRF protection using withForm/invalidToken/useToken="true"
in the controllers and views.

Thank-you @virtualdogbert for this PR!
I'm closing this PR in favor of a newer one which does not have conflicts against the current codebase.
https://github.com/grails-plugins/grails-spring-security-ui/pull/82