🐛 Bug Report: [New Backend System] createServiceFactory on scheduler is not working as expected

📜 Description
I'm trying to inject a custom implementation of the coreServices.scheduler using the createServiceFactory function but it does not work. This is still the case even when I reduced the code so it returns the o.g. scheduler in the factory method as follows:
// custom-scheduler.ts
export const customSchedulerModule = createServiceFactory({
  service: coreServices.scheduler,
  deps: {
    scheduler: coreServices.scheduler,
    logger: coreServices.rootLogger,
  },
  async factory({ scheduler, logger }) {
    return scheduler;
  },
})

//  index.ts
import { customSchedulerModule } from './custom-scheduler';
const backend = createBackend();
backend.add(customSchedulerModule);

With the code above, I noticed that the plugins that depend on the scheduler service failed to initialize and seems stuck in the "initializing" phase based on the log shown below:
Plugin initialization in progress, still initializing: 'catalog', 'search', 'my-custom-plugin' type=initialization
2024-06-03T03:04:39.929Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search'

I am on backstage version 1.27.3, and here's my dependency in the package.json the packages/backend:
  "dependencies": {
    "@backstage/backend-common": "^0.22.0",
    "@backstage/backend-defaults": "^0.2.18",
    "@backstage/backend-plugin-api": "^0.6.18",
    "@backstage/backend-tasks": "^0.5.23",
    "@backstage/catalog-client": "^1.6.5",
    "@backstage/catalog-model": "^1.5.0",
    "@backstage/config": "^1.2.0",
    "@backstage/core-plugin-api": "^1.9.2",
    "@backstage/errors": "^1.2.4",
    "@backstage/integration": "^1.11.0",
    "@backstage/plugin-app-backend": "^0.3.67",
    "@backstage/plugin-auth-backend": "^0.22.5",
    "@backstage/plugin-auth-backend-module-cloudflare-access-provider": "^0.1.1",
    "@backstage/plugin-auth-backend-module-guest-provider": "^0.1.4",
    "@backstage/plugin-auth-node": "^0.4.13",
    "@backstage/plugin-catalog-backend": "^1.22.0",
    "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.1.16",
    "@backstage/plugin-catalog-backend-module-unprocessed": "^0.4.5",
    "@backstage/plugin-catalog-common": "^1.0.23",
    "@backstage/plugin-catalog-node": "^1.12.0",
    "@backstage/plugin-devtools-backend": "^0.3.4",
    "@backstage/plugin-devtools-common": "^0.1.9",
    "@backstage/plugin-permission-backend": "^0.5.42",
    "@backstage/plugin-permission-common": "^0.7.13",
    "@backstage/plugin-permission-node": "^0.7.29",
    "@backstage/plugin-proxy-backend": "^0.4.16",
    "@backstage/plugin-scaffolder-backend": "^1.22.7",
    "@backstage/plugin-scaffolder-node": "^0.4.4",
    "@backstage/plugin-search-backend": "^1.5.9",
    "@backstage/plugin-search-backend-module-catalog": "^0.1.24",
    "@backstage/plugin-search-backend-module-pg": "^0.5.27",
    "@backstage/plugin-search-backend-node": "^1.2.23",
    "@backstage/types": "^1.1.1",
    "@galaxy/app": "link:../app",
    "@galaxy/common": "^1.0.0",
    "@galaxy/plugin-announcements-backend": "^0.1.0",
    "@galaxy/plugin-announcements-common": "^0.1.0",
    "@galaxy/plugin-canvaworld-backend": "^0.1.0",
    "@galaxy/plugin-catalog-exporter-backend": "^0.1.0",
    "@galaxy/plugin-cloudflare-backend": "^0.1.0",
    "@galaxy/plugin-component-spec-backend": "^0.1.0",
    "@galaxy/plugin-entity-validator-backend": "^0.1.0",
    "@galaxy/plugin-health-status-backend": "^0.1.0",
    "@galaxy/plugin-infra-events-backend": "^0.1.0",
    "@galaxy/plugin-ml-backend": "^0.1.0",
    "@galaxy/plugin-oncall-team-backend": "^0.1.0",
    "@galaxy/plugin-ops-backend": "^0.1.0",
    "@galaxy/plugin-ownership-backend": "^0.1.0",
    "@galaxy/plugin-platy-backend": "^0.1.0",
    "@galaxy/plugin-programs-backend": "^0.1.0",
    "@galaxy/plugin-secret-loader-backend": "^0.1.0",
    "@galaxy/plugin-slack-service-backend": "0.1.0",
    "@galaxy/plugin-snowflake-backend": "^0.1.0",
    "@galaxy/plugin-sourcegraph-backend": "^0.1.0",
    "@galaxy/plugin-user-flow-backend": "^0.1.0",
    "@sentry/node": "^7.80.1",
    "app": "^0.1.0",
    "dd-trace": "^3.15.0",
    "dockerode": "^3.3.1",
    "express": "^4.19.2",
    "express-promise-router": "^4.1.0",
    "fs-extra": "^11.2.0",
    "graphql-request": "^6.1.0",
    "hot-shots": "^10.0.0",
    "knex": "^3.0.0",
    "lodash": "^4.17.21",
    "node-abort-controller": "^3.0.1",
    "node-fetch": "^2.6.7",
    "pg": "^8.7.3",
    "winston": "^3.2.1",
    "yaml": "^2.2.2",
    "zod": "^3.22.3"
  },
  "devDependencies": {
    "@backstage/cli": "^0.26.5",
    "@sentry/types": "^7.80.1",
    "@types/dockerode": "^3.3.0",
    "@types/express": "^4.17.6",
    "@types/express-serve-static-core": "^4.17.5",
    "@types/node-fetch": "2.x",
    "better-sqlite3": "^8.0.0"
  },

👍 Expected behavior
The custom implementation should work and should not cause the plugins depends on it to fail to initialize.
👎 Actual Behavior with Screenshots
When running the start backend command, some plugin would stuck in the "initializing" state, see logs below:
2024-06-03T03:09:42.904Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin' type=initialization
2024-06-03T03:10:42.906Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin', type=initialization
2024-06-03T03:11:42.909Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin' type=initialization
2024-06-03T03:12:42.909Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin', type=initialization
2024-06-03T03:13:42.913Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin',  type=initialization
2024-06-03T03:14:42.914Z backstage info Plugin initialization in progress, still initializing: 'catalog', 'search', 'custom-plugin', type=initialization

👟 Reproduction steps

Create a custom implementation of a scheduler service using the createServiceFactory

export const customSchedulerModule = createServiceFactory({
  service: coreServices.scheduler,
  deps: {
    scheduler: coreServices.scheduler,
    logger: coreServices.rootLogger,
  },
  async factory({ scheduler, logger }) {
    return scheduler;
  },
})

Import the custom implementation in the backend object

import { customSchedulerModule } from './custom-scheduler';
const backend = createBackend();
backend.add(customSchedulerModule);

Run the backend

📃 Provide the context for the Bug.
No response
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

hey it looks like you are defining a factory for a service and requiring the same service as dependency, which led to a circular dependency. This should be the correct way:
// custom-scheduler.ts
  export const customSchedulerModule = createServiceFactory({
    service: coreServices.scheduler,
    deps: {
-     scheduler: coreServices.scheduler,
      logger: coreServices.rootLogger,
    },
-   async factory({ scheduler, logger }) {
+   async factory({ logger }) {
      return yourCustomScheduler;
    },
  })

@vinzscam I see. Is there a way around it?
Our custom scheduler is a wrapper on top of the scheduler plugin. What it does is just wrap it in a custom instrumentation logic, so we don't have to build the scheduler from scratch. Here's how it looks like:
// Wrapper class
class CustomScheduler implements PluginTaskScheduler {
  constructor(
    private readonly pluginTaskScheduler: PluginTaskScheduler,
    private readonly logger: LoggerService,
  ) {}

  private wrapTaskFunction({
    id,
    fn,
  }: TaskInvocationDefinition): TaskFunction {
    return async (abortSignal: AbortSignal) => {
      try {
        await fn(abortSignal);
        this.emitSuccessMetric();
      } catch (error) {
        this.emitFailedMetric();
      }
    };
  }
  scheduleTask(
    task: TaskScheduleDefinition & TaskInvocationDefinition,
  ): Promise<void> {
    const instrumentedFn = this.instrumentTaskFunction(task);

    return this.pluginTaskScheduler.scheduleTask({
      ...task,
      fn: instrumentedFn,
    });
  }

export const customSchedulerModule = createServiceFactory({
  service: coreServices.scheduler,
  deps: {
    scheduler: coreServices.scheduler,
    logger: coreServices.rootLogger,
  },
  async factory({ scheduler, logger }) {
      return new CustomScheduler(
        scheduler, // How do I retrieve the scheduler instance here without causing circular dependency?
        logger,
    );
  },
});

Any pointer would be much appreciated, happy to contribute PR as well if needed :).

Just use the default implementation class just like the default factory does.
https://github.com/backstage/backstage/blob/57b612b5f59a6c97742942df24c7ecc4292ce92b/packages/backend-defaults/src/entrypoints/scheduler/schedulerServiceFactory.ts#L36

Just use the default implementation class just like the default factory does.
https://github.com/backstage/backstage/blob/57b612b5f59a6c97742942df24c7ecc4292ce92b/packages/backend-defaults/src/entrypoints/scheduler/schedulerServiceFactory.ts#L36

don't we need to export it?

@vinzscam @freben can confirm that using the default implementation works, thanks!
Also can confirm that the TaskScheduler is already exported from @backstage/backend-tasks package.

@vinzscam You are right that it should still be moved to @backstage/backend-defaults/scheduler as well.


Tracking issue of AWS Sigv4 support

We have essential AWS sigv4 support now, but we need to implement the whole spec of AWS sigv4 so that our users can migrate to reqsign without effect.

[x] #85
[ ] Signed payload support
[x] security token support

We can fetch the value from request header content-md5.

But if the user forgets to set this request header, should we generate it automatically based on the body? Or is hash from the header the only true source of truth in this package?

But if the user forgets to set this request header, should we generate it automatically based on the body? Or is hash from the header the only true source of truth in this package?

The request body may only be consumed once, and users are required to provide it, we can't make decision for them.

Thank you for your quick reply, it will be much easier to implement now.


partial update without null or zero value

When a field has a null or zero value, I want to remove the part that updates that column from the generated UPDATE statement.
in prisma-client-js, this seems to be accomplished with ternary operator and undefined
Can I do this with prisma-client-go ?
Null and undefined (Reference) | Prisma Docs
const update = await prisma.user.update({
  where: {
    id: 1,
  },
  data: {
    name: "Petunia",
   email: emailInput != null ? emailInput : undefined, // If null, don't include in update!
  },
});

Setting a field value to undefined is the same as not including the email property in the update query at all:
const update = await prisma.user.update({
  where: {
    id: 1,
  },
  data: {
    name: "Petunia",
 // No email update here...
  },
});

You can use the SetIfPresent method, such as User.Email.SetIfPresent(newEmail). If newEmail is nil (since it's a pointer), nothing will be updated; if it's non-nil the value will be updated.
For more information see:
https://github.com/prisma/prisma-client-go/blob/master/docs/reference/14-if-present-methods.md

You can use the SetIfPresent method, such as User.Email.SetIfPresent(newEmail). If newEmail is nil (since it's a pointer), nothing will be updated; if it's non-nil the value will be updated.
For more information see:
https://github.com/prisma/prisma-client-go/blob/master/docs/reference/14-if-present-methods.md

Thank you! 😍
That's just what I was looking for. :bow:

Thank you! 😍
That's just what I was looking for. :bow:

https://github.com/prisma/prisma-client-go/blob/master/docs/reference

For anyone just looking the updated link is
https://github.com/prisma/prisma-client-go/blob/main/docs/reference/16-if-present-methods.md


Inconsistency in Hudi Table Configuration between Initial Insert and Subsequent Merges

Issue Summary
When using dbt Spark with Hudi to create a Hudi format table, there is an inconsistency in the Hudi table configuration between the initial insert and subsequent merge operations. The properties provided in the options of the dbt model are correctly fetched and applied during the first run. However, during the second run, when executing the merge operation, Hudi fetches a subset of the properties from the Hudi catalog table, leading to the addition of default properties and changes in configuration.
Steps to Reproduce

Execute the dbt model with Hudi options for the initial insert.
Sample model
   {{
config(
materialized = 'incremental',
file_format= 'hudi',
pre_hook="SET spark.sql.legacy.allowNonEmptyLocationInCTAS = true",
location_root="file:///Users/B0279627/Downloads/Hudi",
unique_key="id",
incremental_strategy="merge",
options={
'preCombineField': 'id2',
'hoodie.index.type':"GLOBAL_SIMPLE",
'hoodie.simple.index.update.partition.path':'true',
'hoodie.keep.min.commits':'145',
'hoodie.keep.max.commits':'288',
'hoodie.cleaner.policy':'KEEP_LATEST_BY_HOURS',
'hoodie.cleaner.hours.retained':'72',
'hoodie.cleaner.fileversions.retained':'144',
'hoodie.cleaner.commits.retained':'144',
'hoodie.upsert.shuffle.parallelism':'200',
'hoodie.insert.shuffle.parallelism':'200',
'hoodie.bulkinsert.shuffle.parallelism':'200',
'hoodie.delete.shuffle.parallelism':'200',
'hoodie.parquet.compression.codec':'zstd',
'hoodie.datasource.hive_sync.support_timestamp':'true',
'hoodie.datasource.write.reconcile.schema':'true',
'hoodie.enable.data.skipping':'true',
'hoodie.datasource.write.payload.class':'org.apache.hudi.common.model.DefaultHoodieRecordPayload',
}
)
}}

Observe that all specified properties are correctly applied during the first run.

For observation you can check with sample property like hoodie.index.type=GLOBAL_SIMPLE

Execute the dbt model with Hudi options for a subsequent merge operation.

Observe changes in Hudi table properties, with defaults being applied for certain configurations like hoodie.index.type changed to SIMPLE (Target table created seems like following hoodie.index.type= SIMPLE)

Expected Behavior
Hudi should consistently set all specified properties in every run, irrespective of whether it is the initial insert or a subsequent merge operation. The properties passed in the options of the dbt model should be retained and applied consistently across all operations.
Environment Description

Hudi version : 0.12.1

Spark version : 3.3.1

Hive version : 3.1.3

Hadoop version : 3.1.1

DBT version: 1.7.1

Storage (HDFS/S3/GCS..) : Checked with s3 , hdfs and local file system.

Running on Docker? (yes/no) : no

Additional context
In the second run MergeIntohoodieTableCommand.scala executes InsertIntoHoodieTableCommand.run() in this case hudi fetch the props from hudicatalog table where it fetches tableConfigs and catalog properties. But they are not all that complete properties which I passed in the first run using dbt options. Due to which hudi add some other default properties in the hoodie props which are not fetched in the hudicatalog props . Seems due to this many properties are changing.
Below i have attached some images of properties fetched in subsequent merge operations

Hello @ad1happy2go  , I am printing the hoodie configs before writing .
I am attaching the first run and second run conf we got .
DBT model executed
{{
config(
materialized = 'incremental',
file_format= 'hudi',
pre_hook="SET spark.sql.legacy.allowNonEmptyLocationInCTAS = true",
location_root="file:///Users/B0279627/Downloads/Hudi",
unique_key="id",
partition_by="name",
incremental_strategy="merge",
options={
'preCombineField': 'id2',
'hoodie.index.type':"GLOBAL_SIMPLE",
'hoodie.datasource.write.partitionpath.field': 'name',
'hoodie.datasource.hive_sync.partition_fields': 'name',
'hoodie.datasource.hive_sync.table': 'hudi_test_two',
'hoodie.datasource.hive_sync.database':'qultyzn1_prepd',
'hoodie.simple.index.update.partition.path':'true',
'hoodie.keep.min.commits':'145',
'hoodie.keep.max.commits':'288',
'hoodie.cleaner.policy':'KEEP_LATEST_BY_HOURS',
'hoodie.cleaner.hours.retained':'72',
'hoodie.cleaner.fileversions.retained':'144',
'hoodie.cleaner.commits.retained':'144',
'hoodie.upsert.shuffle.parallelism':'200',
'hoodie.insert.shuffle.parallelism':'200',
'hoodie.bulkinsert.shuffle.parallelism':'200',
'hoodie.delete.shuffle.parallelism':'200',
'hoodie.parquet.compression.codec':'zstd',
'hoodie.datasource.hive_sync.support_timestamp':'true',
'hoodie.datasource.write.reconcile.schema':'true',
'hoodie.enable.data.skipping':'true',
'hoodie.datasource.write.payload.class':'org.apache.hudi.common.model.DefaultHoodieRecordPayload',
}
)
}}
-- first run  select 1 as id, 2 as id2,"test2" as name
-- second run  select 1 as id, 2 as id2,"test" as name

second_run_conf.txt
first_run_conf.txt

https://github.com/apache/hudi/issues/9342
@ad1happy2go  We were also facing this issue as well. So basically we know which  datasource options we want to use, but we want to use them with spark sql support given by hudi. In the second run , on of the property that was also changing was "hoodie.datasource.write.payload.class" . As seen in the issue I mentioned, it has been fixed in the 0.13.1 version release for InsertInto.
But for MergeInto command, it's will still override the payload class to ExpressionPayload.
Our original requirement is we want to UPSERT on COW/MOR table while using Hudi DefaultHoodieRecordPayload.
On first run we do CreateTable -> InsertInto
On Second run we do MergeInto.  Here the match condition look somewhat like this.
```
when matched then update set *
when not matched then insert *

** "We" as in dbt does **

It would be great if you can articulate it better here for our understanding. Should we move to 0.13 or higher version will that solve the issue. Should we use InsertInto with some additional insert into behaviour properties?

@prashant462 I tried exact same model and it is working as expected with 0.14.1 version.
After first run (select 2 as id, 2 as id2,"test" as name) -

After second run (select 2 as id, 2 as id2,"test2" as name)

Can you please try with Hudi version 0.14.X

yes, w/ pre 0.14.0, hudi expects to pass in all write configs w/ every write.
from 0.14.0, atleast for table properties, hudi tries to reuse from the properties already serialized as table props.
this is not applicable to write properties btw. those are not serialized anywhere.

@ad1happy2go I tried with hudi 0.14.1 hudi configs seems to be working now.
But I am facing one other issue with this property 'hoodie.simple.index.update.partition.path':'true',
I am running a dbt model  with below config.
{{
config(
materialized = 'incremental',
file_format= 'hudi',
pre_hook="SET spark.sql.legacy.allowNonEmptyLocationInCTAS = true",
location_root="file:///Users/B0279627/Downloads/Hudi",
unique_key="id",
partition_by="name",
incremental_strategy="merge",
options={
'hoodie.datasource.write.precombine.field': 'id2',
'hoodie.index.type':"GLOBAL_SIMPLE",
'hoodie.datasource.write.partitionpath.field': 'name',
'hoodie.datasource.hive_sync.partition_fields': 'name',
'hoodie.datasource.hive_sync.table': 'hudi_test_five',
'hoodie.datasource.hive_sync.database':'qultyzn1_prepd',
'hoodie.simple.index.update.partition.path':'true',
'hoodie.keep.min.commits':'145',
'hoodie.keep.max.commits':'288',
'hoodie.cleaner.policy':'KEEP_LATEST_BY_HOURS',
'hoodie.cleaner.hours.retained':'72',
'hoodie.cleaner.fileversions.retained':'144',
'hoodie.cleaner.commits.retained':'144',
'hoodie.upsert.shuffle.parallelism':'200',
'hoodie.insert.shuffle.parallelism':'200',
'hoodie.bulkinsert.shuffle.parallelism':'200',
'hoodie.delete.shuffle.parallelism':'200',
'hoodie.parquet.compression.codec':'zstd',
'hoodie.datasource.hive_sync.support_timestamp':'true',
'hoodie.datasource.write.reconcile.schema':'true',
'hoodie.enable.data.skipping':'true',
'hoodie.spark.sql.insert.into.operation': 'upsert',
'hoodie.datasource.write.payload.class':'org.apache.hudi.common.model.DefaultHoodieRecordPayload',
}
)
}}
1st run -- select 1 as id, 4 as id2, "test5" as name
2nd run -- select 1 as id, 2 as id2, "test4" as name
But parition path is not updating for the record key.
I am attaching the table result.

@prashant462 Yes, this is expected as precombine(ordering) field is for that cause only. Any upsert will happen only if precombine is more than existing data value.

@prashant462 Feel free to close this issue in case you are all good. Or let us know how can we help on this more. Thanks a lot.


Use filtered link flags for shared lib install

This PR adjusts the shared library install command:
https://github.com/mfem/mfem/blob/735b4de627e4904b53daeda4920d7c95460d498e/makefile#L539-L541
to match the shared library build command:
https://github.com/mfem/mfem/blob/735b4de627e4904b53daeda4920d7c95460d498e/makefile#L458-L460
This was causing issues when both MFEM_USE_CUDA and MFEM_SHARED were enabled, as the -x=cu is present in the MFEM_BUILD_FLAGS (it's only filtered out of the MFEM_LINK_FLAGS).

I believe this issue is already addressed in #1950.


Shared Component build is broken.

With latest master TOT, shared component build doesn't work. Need to fix this.

@rakuco So you think this should be resolved now ?

There's still a problem with Chromium itself I've been discussing with the Chromium folks in #ozone-wayland on and off: OzonePlatformWayland::CreateNativeDisplayDelegate() refers to NativeDisplayDelegateOzone, which is not exported in src/ui/ozone/common/native_display_delegate_ozone.h.
For Crosswalk I've been exporting that class, but we need to consider whether we can just return NULL, copy that class locally or convince the Chromium people to move that file to public.

I think we can return null as we dont intend to use that here.

Right; I'll try to do that tomorrow and see if the build works. If it does, I'll close this issue.

It worked, as I've sent #358 to do this. However, as I mentioned in f5b3508f200892b0e1548071b390cc81104ece2a, that commit causes a regression, as it calls a symbol that's implemented in libozone.so and we cannot add a dependency on the ozone target in wayland.gyp.

Should be fixed now. Closing this.


Analysis downloaded files separated into input and output folders

Fixes #971
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Codecov Report

Merging #973 into master will decrease coverage by <.01%.
The diff coverage is 90.9%.

@@            Coverage Diff             @@
##           master     #973      +/-   ##
==========================================
- Coverage   90.01%   90.01%   -0.01%
==========================================
  Files          49       49
  Lines        6671     6681      +10
==========================================
+ Hits         6005     6014       +9
- Misses        666      667       +1

I changed it to use a ternary inline, but changes LGTM. I'll merge when CI is green.

@kofalt: This is a breaking change to the output of an analysis download. Let me know if the CLI or SDK use the result of an analysis download and would be affected by the change in the file path to the input and output files.


Live data via APIs?

Would be great to illustrate how the data variable for any chart can be updated from another source vs. hard coding it, as shown in the examples - for example, can I use this with a text file with the values? or even pull data directly from an API source like google analytics? thx

In the fist example every time animation happens the chart gets cut on the left and then it slides to the left into that blank space. Is it possible to make it so that the blanking out does not happen and the chart flows to the left smoothly, without chopping?

CPU status monitor

disable animation

update data

https://codepen.io/webgeeker/pen/jKBqge


[FEATURE] Dynamically adjust the search engine

Please Describe The Feature You Would Like To See
Is it possible to dynamically adjust the search engine? That is, when google is unavailable, use bing instead?

Hey @onnttf, you can change, add or remove search engines with different prefixes as you wish.
Please look at the wiki page for search related options.
If this answers your question, please let me know so I can close this issue.
Cheers!

Hey @onnttf, you can change, add or remove search engines with different prefixes as you wish.
Please look at the wiki page for search related options.
If this answers your question, please let me know so I can close this issue.
Cheers!

Hi, I read the document you gave me, but it is actually preconfigured.
Perhaps I didn't express it clearly. I want to automatically select the appropriate search engine based on the situation when the page is opened.
(China blocks Google, so if I don't have a proxy, I'm hoping it can automatically switch to Bing or something.

Ah, gotcha! Unfortunately, there is no such feature implemented. As a workaround for you, I would suggest using prefixes depending on your connection.
* While using proxy, `g search params` will initiate a search through Google

* While not using proxy, `d search params` will initiate a search through DuckDuckGo

You can add the Bing option on your configuration below these blocks
EDIT: If there is a service that redirects those queries depending on blocks, you could add that URL to config and launch that service instead. Then, it should reroute to the non-blocked URL.

Got it, thank you for your reply


Update instructions for Spark on macOS

Setting the SPARK_HOME env variable on the latest version of Spark (2.3.1) will cause Spark to crash in a jupyter notebook setting.

I just spent an hour trying to debug this. It would be great if it could be merged!


"name" attribute doesn't seem to work in marker-locate

Setting the name attribute in marker-locate is supposed to show on hover over the marker but doesn't seem to work.
Code Snippet:
<px-map-marker-locate name="This is You" lat="{{location.lat}}" lng="{{location.lng}}" accuracy="{{location.accuracy}}" ></px-map-marker-locate>

Fixed in #107


Microsoft Defender Is Flagging The amd64 Download As A Virus

The Windows amd64 download is flagged as a virus:

Looks like this is fairly common (and now that I have a minute to think, this perhaps has happened to me before at work). I'll try out the strategy outlined here: https://www.reddit.com/r/golang/comments/s1bh01/goexecutables_and_windows_defender/ with https://github.com/mtrojnar/osslsigncode
Thanks for taking a minute to make an issue, otherwise I wouldn't have known! If this is happening with bearclaw it's probably my other programs too, so I'll get this rolled in ASAP. There may be some delay bc I'm preoccupied with holiday things with family.

Working on this issue right now. I have generated the keys and cert, but the cert is self signed because I want to try what I can without having to buy an issued cert from a CA first. Stay tuned.


Missing style classes only loaded dynamically

I'm hitting a very strange bug where classes for some HTML are not included on page load, but navigating to that same page from elsewhere loads them correctly. This is easier shown than explained:
1 - Load the page: https://next.js.wiki/docs/install
You'll see the docs sidebar navigation items are all stuck together and without styling (other than classes used elsewhere on the page, which are loaded correctly):

2 - Click on any page in the docs sidebar nav, the missing styles now appear:

3 - Full Reload the page you're currently on, the styles are now missing again:

So for some reason, the classes are not included on page load, but correctly when loaded afterward by a route change. I can't figure out what's causing this behavior.
It happens both in local development mode (pnpm run dev) and in production as a static website (pnpm run generate).
Version
@nuxtjs/tailwindcss: 6.8.0
nuxt: 3.6.5
Reproduction Link
https://github.com/requarks/wiki-site-v3
The component is located in components/docs/Sidebar.vue.
Including the html directly into the page, rather than a separate component, produced the same problem.

I think I'm having something similar, but I'm struggling to reproduce it inside a POC.
When I land in a prerendered route I'm missing a lot of styles, if i navigate to other routes everything is still broken until I refresh outside of the prerendered route.

I think that this fixed my problem, I'm not so sure if it's the right aproce
export default defineNuxtConfig({
  experimental: {
    inlineSSRStyles: false
  }
})

I tried that already and it doesn't address the problem.

 Some tags were using className attributes instead of class for some reason. Changing them to class fixed the issue.


[Bug][docs] cdc-ingestion.md fails to build

Search before asking

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

Paimon version
master (39f5c8c53254e581be2877c66dbea5709fe17b94)
Compute Engine
Irrelevant.
Minimal reproduce step
Run hugo serve in docs directory.
What doesn't meet your expectations?
Hugo fails with
Error: Error building site: "/Users/tsreaper/github/incubator-paimon/docs/content/how-to/cdc-ingestion.md:179:21": failed to extract shortcode: template for shortcode "savepointPath" not found

Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

I'd like to look into this


Source Filtering Doesn't Seem to Fully Filter Excluded System sources

It would appear, at least for content that exists in the system compendia, if I duplicate that content to move it to a module (where I can edit it to my heart's content) and then try to exclude the system's sources from being used, the drop downs will still pull from the system compendia if I fully delete a copied item in my module.
For example, with Languages, here's what I did:

set up my own module-specific source for content I intend to keep in my shared compendium, following the format shown in the latest release.
launch my SD world, go to settings for the system.
Select my own module-specific source as the only one to be included.  UI says it will only take content from the selected source.
Go to Shadowdark compendiums and import all the Languages into the world
Edit all the languages to change the source to my own module-specific source.
Export all the languages out to my personal shared compendium, delete them from the world.
Later on, I deleted the "Elvish" and "Goblin" languages from my shared compendium, for reasons.
When migrating the Dwarf ancestry in similar fashion, I had to update all the languages to match my module source.
With the languages drop down open, I still see Elvish and Goblin in the list, even though the only allowed source is my module source and those languages no longer exist in my module.
When I select either of those two languages and check the Source tab, it says "Shadowdark: Quickstart Set" (ie: the system source.)
The rest of the languages besides the two I deleted are properly linking to my module versions.
If I delete the system versions of those languages, they disappear form the drop down in the Ancestry tile.

So it seems like I can redirect content to my own module as long as I don't delete it.  System content will keep appearing even when the system sources are excluded in settings, if there is no copy of that content in my module source.

Currently the filtering only applies to selectors on the character sheet.
Can I ask why you're trying to duplicate core items?

Because I want to edit them and insert a bunch of flavour unique to my campaign world in the descriptions and so on, which happens to include deleting some of them (Elves speak Sylvan, for example) and renaming others.  I don't want these changes to be erased on a system update, so I'm making my own copies.
Even if I make all my campaign-specific languages from scratch, I still want to filter out the core system ones, which is the main problem I'm having here.  Core sources are still showing up even though they are not selected in the new filter setting.

Because I want to edit them and insert a bunch of flavour unique to my campaign world in the descriptions and so on, which happens to include deleting some of them (Elves speak Sylvan, for example, so there's no separate "Elvish" language) and renaming others. I don't want these changes to be erased on a system update, so I'm making my own copies.
Even if I make all my campaign-specific languages from scratch, I still want to filter out the core system ones, which is the main problem I'm having here. Core sources are still showing up even though they are not selected in the new filter setting.

I mean, this is doable from a coding point of view, but it does raise problems.
For example, in order to completely disable the quickstart materials in all selectiors you would have to duplicate almost every item type, including Armor, Weapons, Properties, Ancestries, Backgrounds, Class Abilities, Classes, Deities, Languages and Talents.  Basically anything that is pulled from the compendiums in a drop down.
That's a lot of work compared to just naming them slightly differently so they are easily distinguishable...

If you're not willing to address the issue, I understand, but the issue is about what sources show up in the dropdowns, not what I am or am not creating in my own source.
If I filter only for items from source X, Y and Z, I don't expect to see items from source A appear when I'm making a new ancestry.  The fact that source A is core is irrelevant.
Maybe I want to use Shadowdark to run a sci-fi game using Star Trek races.  I still want to filter out Dwarvish and Elvish even if I'm creating new languages to match the Star Trek races.  The fact that I can more easily tell them apart from the language items I created does not change the fact that they're cluttering up the drop down list with things I was trying to exclude.


API Exception occured.

I get an API Exception occur when trying to stream something from the MediaFusion/Torbox add on in Stremio. Anyway you can help me fix it?

I think its resolved with #204 lets see in the latest release.
CC: @ragmehos


fix(labelsReducer): fix labels reducer to accept empty strings

This commit is fixing the labels reducer to support labels with an empty string value.
Closes DCOS-21467

My first question would be: This does not affect 1.11? just 1.10 and 1.09? I asking because I started testing it on master, and it works. I am now trying on release/1.09.
Also maybe we should indicate on the header of this PR that it is 1.09

cluster for 1.9 - <IP_ADDRESS> (4h)

Also I get an error when I try this feature, I have release/1.9 as plugins and ph/fix/DCOS-21467-labels-1.9-backports.
I cant launch a service, I get the error:
https://cl.ly/0C332t2a3s2F

We already merged this in 1.11 and 1.12 ... I had tests for this but they are not present in this PR since we added tests in 1.11 they are also not present in 1.10.

Could we backport the tests also from 1.11 @Poltergeist ?

Sure we can but then I need to reestimate the issue, AS I also need to adjust all the other tests which are in that file. So that they pass for 1.9.

I get this error when trying to go in the edit field. Doesn't happen on 1.9 branch.

@Fabs you're still blocking this, can you revisit please?


Make DCF translatable

Can you start adding translations tags to DCF so that at some point it can be used in different languages ?

Hi!
Yeah, i definitely will do it soon.

added translation


Question about selector config

For the configuration of selector, I have two doubts:

I don’t know what the continued field means, and I don’t see where it is used in the code.
This can be considered a bug, this If we choose FULL_FLOW, the gateway will choose the last rule, for some plugin, just like param-mapping plugin,this will not meet expectations.

in org.apache.shenyu.plugin.base.AbstractShenyuPlugin#execute
            RuleData rule;
            if (selectorData.getType() == SelectorTypeEnum.FULL_FLOW.getCode()) {
                //get last
                rule = rules.get(rules.size() - 1);
            } else {
                rule = matchRule(exchange, rules);
            }

I suggest adjusting the logic here to FULL_FLOW to match specific rules

Hi
1 . continued filed not used
2. if config FULL_FLOW ， its mean all request  match


Redesign of the GEOMETRY table for 3DCityDB v5

More details: 3DCityDB_Geometry_Table.pdf

"may" or "will" cause issues?
I also like "geometries" as name. Would mean to also use "features", "properties" and "appearances". But why not?

In QGIS, GeoPackage and PostGIS domains they are mostly renamed as "geom". How about to rename as "geom"?


Rephrase AWS CLI requirement for getting started

Merging with follow-up work on taking the important bits from the Setup page and updating the styling on notes.


remove unused imports in deploy-agent

@mingzhaodotname I'd like to more understand the context about your contribution to Teletraan. Can you share some contact we can talk offline?


Publish cdk8s-plus-23 and deprecate cdk8s-plus-20

Currently our plan is to support the three latest versions of kubernetes. Since Kubernetes 1.23 has been released (https://kubernetes.io/blog/2021/12/07/kubernetes-1-23-release-announcement/) we should update the supported libraries accordingly.

Released: https://constructs.dev/packages/cdk8s-plus-23


MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 response listeners added.

Hi,
it seems you have a bug here:
  function response () {
        const source = (end, cb) => {
          if (end) return cb(end)
            req.on('response', res => {  // <=here
              res.on('data', chunk => cb(null, chunk))
              res.on('end', () => cb(true))
            res.on('error', err => cb(err))
          })
        }

On each iteration you are adding new 'response' listener.
Should be enough to add it once, e.g:
      function response () {
        let registered = false;
        const source = (end, cb) => {
          if (end) return cb(end)
          if(!registered){
            req.on('response', res => {
              res.on('data', chunk => {
                cb(null, chunk)
              })
              res.on('end', () => cb(true))
              res.on('error', err => cb(err))
            })
            registered = true;
          }
        }

Both seem like good improvements.  Feel free to send a PR, or I can get around to it sometime this week. :smile:

I'll try tomorrow...
One more thing - was this an intention, to make callback on every 'data' event? :
res.on('data', chunk => {
cb(null, chunk)
})
I guess its against the pull-stream principles. 'Sink' should pull the chunks from 'source'.
But now it looks more like pushing chunks to sink ....
I'll try to improve it with buffer, in a similar way as it is in https://github.com/pull-stream/pull-ws/blob/master/source.js

You're right, that is another mistake. Each read should give one chunk, but should not push multiple chunks on a single read.

Can you please give me permission to push new branch + PR? Thanks

Yeah. Thanks for your help. Sent an invite: https://github.com/jamen/pull-fetch/invitations

Published<EMAIL_ADDRESS>with your changes.  Thanks!


MeetUp Invalid DateTime

For invalid time (like in this case where day is 32), the description can be more explicit

Check exception. / change msg to -> Check that date time is valid


Fix Comonad example

Current example doesn't run
extract is supposed to be a function
this.v is not a thing
Unfortunately, I'm not sure if it's possible to do this with arrow functions, as they'll bind the current this scope, which will be CoIdentity's current scope instead of the actual returned object..

LGTM

We could use the method shorthand:
const CoIdentity = (v) => ({
val: v,
extract(){
return this.val;
},
extend(f){
return CoIdentity(f(this));
}
});

The most concerning thing to me about comonad is that it doesn't explain what it's useful for. I wish we had an example that shows a problem that can be solved with it.

@jethrolarson good idea, updated 👍

Thanks!


Force ready notification to be called each time nav agent enters the scene tree

Solves #54812
Using the Reparent notification wouldn't solve all scenarios of taking the agent out of the scene tree. The agent may not necessarily be reparented. However, if they do get reparented, they do leave the scene tree. Doing this in ready is a safe scene tree operation as well. So it will solve both scenarios.

We can use the NOTIFICATION_POST_ENTER_TREE notification to do the same and catch the new parent / update agent without affecting 'ready'.
I think we should not emit another 'ready' in this case as this can have severe sideeffects that users might not want. Since ready is only called ones per node it is often used for custom code setups and calling those multiple times unexpected might create serious issues.

Yes, request_ready() will also affect scripts, so it can't be used.

Superseded by #61589.


IAP has some lint failures

Found in #5621
#
# iap
#

[ERROR] src/main/java/com/example/iap/VerifyIapRequestHeader.java:[18,1] (whitespace) EmptyLineSeparator: '//' should be separated from previous line.
[ERROR] src/main/java/com/example/iap/BuildIapRequest.java:[18,1] (whitespace) EmptyLineSeparator: '//' should be separated from previous line.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check (default-cli) on project iap-samples: You have 2 Checkstyle violations. -> [Help 1]

Fixed with #5621


New Microlearning videos

Jordan and Lewis updated their Microlearning video library with the following videos:

Accessing the Calendar in Ultra
Adding Questions from Pool for Ultra Tests
Student Progress Tool in Ultra
Embed Padlet into Ultra
Finding Document URL in Ultra Course Content
Create Pass or Fail Marking Schema

Waiting for the links to be updated on the library and think about how these can be integrated in Ultra Essentials.

Finally some new videos have been updated to the library. However, they are lack of voice over and one of them needs editing with the background noise.


Cannot set body on POST request.

Hello!
Trying to get file, but i need to make a POST request with params.
A pdf file will be generated with params, that must be send in post request, like name and so on.
new JsFileDownloader({
        url: process.env.REACT_APP_API_URL + url,
        headers: [{ name: "authorization", value: `Bearer ${token}` }],
        method: "POST",
        withCredentials: true,
        filename: "NDA.pdf",
        contentType: "application/json;charset=UTF-8",
      }) //@ts-ignore
        .catch(function (error) {
          console.dir("download error", error);

        });

Can you add a body field for POST request ?

Hi @copperfox777 !
This could be a very useful feature. 🚀
I'm unable to do this soon, do you want to send a PR?
Thanks

Hi @copperfox777 ,
Check the release v1.1.21
Thank you

Thank you! Very useful!


Variables in the URL template are case-sensitive

The https://tools.ietf.org/html/rfc6570 says:
"Variable names are case-sensitive because the name might be expanded within a case-sensitive URI component."
This means that coverageid is not the same as coverageId.
I request that OGC API coverages uses lowerCammelCase for path variables.
I'm not able to find any reference to "case" in the definition of the key in a KVP "query" part (known as application/x-www-form-urlencoded)". Actually, https://www.ietf.org/rfc/rfc3986.txt says that the query string is case-sensitive. "The other generic syntax components are assumed to be case-sensitive unless specifically defined otherwise by the scheme (see Section 6.2.3)." If somebody is able to find a RFC that says that, please tell me.
It seems that OGC introduced in OWS Common 1.0 "11.5.2  Capitalization" : "The capitalization of parameter names when KVP encoded shall be case insensitive, meaning that parameter names may have mixed case or not. EXAMPLES   The “request” parameter name could be REQUEST, request, Request, or ReQuEsT."

In #11 we decided to use all lower case https://github.com/opengeospatial/ogc_api_coverages/issues/11#issuecomment-502845550

Action to CMH - make sure all URL templates are lower case.

@joanma747 actually here https://stackoverflow.com/questions/24699643/are-query-string-keys-case-sensitive it is clarified that query string keys are in fact case sensitive.
See also https://github.com/opengeospatial/oapi_common/issues/42 .

common practice, for all that I know, is that GET keys are all-uppercase; values are case-sensitive anyway.

@pebau In OWS, keys were case-insensitive and all-uppercase were commonly used.
The approach (as discussed in issue above) in OGC API is that it is case-sensitive, and the convention is camelCase.

The approach (as discussed in issue above) in OGC API is that it is case-sensitive, and the convention is camelCase.

actually, I thought we agreed to use all lower case in #11 as referenced above?

@Schpidi camelCase is what was agreed in Common (https://github.com/opengeospatial/oapi_common/issues/42). It makes it more readable to separate words.
My vote would be camelCase, for both consistency with Common (especially if some parameters will end up in common, it would be very confusing to have different conventions) and readability. If the SWG already decided on lower case, we may not want want to re-open the issue now, but the mismatch with the OGC API family may come up later in reviews...

@jerstlouis camelCase like datetime and bbox in https://github.com/opengeospatial/oapi_common/blob/master/collections/clause_8_collections.adoc#2-parameter-requirements or bbox-crs in https://github.com/opengeospatial/oapi_common/blob/master/crs/standard/clause_6_crs.adoc#query :thinking:

Coverages SWG call: The SWG asks for guidance from the naming authority on the punctuation of paths and parameters. Can you please add a comment here @ghobona? Thanks

See updates from Common in
https://github.com/opengeospatial/ogcapi-common/issues/131
https://github.com/opengeospatial/ogcapi-common/issues/158
where it was agreed that the servers are allowed some leeway in accepting the non-official casing, and where either camelCase or dash separation can be chosen by a given standard.

2020-12-23: We suggest to use kebab-case for OGC API - Coverages (e.g. scale-size), following the OGC API - Features example.

Is there any agreement within OGC on casing? I've seen all variants from kebab-case over snake_case to ?necklace.case?, and of course the occasional dinosaur such as myself still stuck in camelCase...
Is there any common agreement here (I know some tools have some issues with some variants ;) ), or just the agreement to disagree and get on with other stuff?

Is there any agreement within OGC on casing? I've seen all variants from kebab-case over snake_case to ?necklace.case?, and of course the occasional dinosaur such as myself still stuck in camelCase...
Is there any common agreement here (I know some tools have some issues with some variants ;) ), or just the agreement to disagree and get on with other stuff?

+1 for kebab-case

+1 for kebab-case

Coverages SWG: Agreed to use kebab-case unless there is different guidance from the naming authority.
@tomkralidis offered to recommend kebab-case to EDR

Coverages SWG: Agreed to use kebab-case unless there is different guidance from the naming authority.
@tomkralidis offered to recommend kebab-case to EDR

FYI EDR API has now been updated to support kebab-case (https://github.com/opengeospatial/ogcapi-environmental-data-retrieval/issues/170 / https://github.com/opengeospatial/ogcapi-environmental-data-retrieval/issues/172).

FYI EDR API has now been updated to support kebab-case (https://github.com/opengeospatial/ogcapi-environmental-data-retrieval/issues/170 / https://github.com/opengeospatial/ogcapi-environmental-data-retrieval/issues/172).

@Schpidi Since this issue has been resolved through the kebab-case approach, I recommend that the Issue is closed at the next telecon.

@Schpidi Since this issue has been resolved through the kebab-case approach, I recommend that the Issue is closed at the next telecon.

Coverages SWG call: Thanks @jerstlouis for implementing the change.

Coverages SWG call: Thanks @jerstlouis for implementing the change.


Externalize data file configuration and set the type of database for hive and ranger

This issus is to externalize data file configuration and set the type of database for hive and ranger.
# Ranger Admin install.properties
install_properties:
  setup_mode: SeparateDBA
  DB_FLAVOR: MYSQL
  SQL_CONNECTOR_JAR: /usr/share/java/mysql-connector-java.jar
  db_host: localhost
  db_name: ranger
  db_user: rangeradmin
  db_password: rangeradmin

Close as inactive.


Registering global components

Currently, to import a component to a page, I appear to have to import Vue itself, then the component (with Vue.component).
Where do I globally register components and why do I need to import Vue itself?
Apologies if these are silly questions.

Hi,
No worries the documentation isn't ready yet so we understand.
Import a component globally in Nuxt is easy, we call this option "plugins" in the nuxt.config.js.
You can see the configuration on this example.

Ah! Thanks, that's handy :-)


Runtime error with future queries in EF Core 2.0 (v1.6.11)

I'm using the Future LINQ extension method to run separate queries in one trip to the database. Our tests are running against an in memory database, and we are getting the following runtime error in v1.6.11 using EF Core 2.0:
System.NullReferenceException : Object reference not set to an instance of an object.
at Z.EntityFramework.Plus.InternalExtensions.GetInMemoryContext[T](IQueryable'1 source)
   at Z.EntityFramework.Plus.QueryFutureExtensions.Future[T](IQueryable'1 query)
The query I'm running looks like this:
var query = db.Set<MyEntity>().Where(x => false);

var myEntities = query.Include(x => x.Property1).Future();

query.Include(x => x.Property2).Future();

var result = myEntities.ToList();

It's blowing up on the first .Future() call.

Hello @mtrainham ,
Thank you for reporting, we will try to look at it during the weekend.
Best Regards,
Jonathan

Hello @mtrainham ,
The issue has been fixed, it should be released along with some other fix before Monday.
Best Regards,
Jonathan

Thanks @JonathanMagnan ! I can't believe how fast you took care of these issues. It's much appreciated.

Hello @MitaTarp ,
The v1.6.12 has been released.
You should no longer have this issue.
Please, reopen this issue if it has not been fixed correctly.
Best Regards,
Jonathan

@JonathanMagnan, I can confirm my tests now pass with future queries. Thanks again for taking care of this so quickly.


android adb support ?

Description of the problem or steps to reproduce
130|aeon6763_66_n1:/data/zmywork # ./micro
Error creating XDG_CONFIG_HOME directory: mkdir //.config: read-only file system
Press enter to continue
Error creating configuration directory: mkdir //.config/micro: no such file or directory
Press enter to continue
terminal entry not found
Micro does not recognize your terminal: dumb
Please go to https://github.com/zyedidia/mkinfo to read about how to fix this problem (it should be easy to fix).
Specifications
1|aeon6763_66_n1:/data/zmywork # ./micro -version
Version: 1.4.0
Commit hash: af520cf
Compiled on January 26, 2018
OS:          Android5.x
Terminal:  ubuntu16 shell & 【ADB】

I had try to copy .tcelldb from host UBuntu16 to same dir of micro (/data/zmywork/). There's no help.
and many path is readonly and I can't put the .tcelldb file

Have you tried passing -config-dir to change your configuration location to somewhere writable? Also try TERM=xterm to make Micro recognise your terminal.


Dynamic table generation don't woks anymore

Project datas:
https://github.com/camptocamp/demo_geomapfish/tree/printV3/print/print-apps/demo
Result:
15:32:53.110 [ForkJoinPool-1-worker-1] DEBUG o.m.p.p.ProcessorDependencyGraph - Finished executing processor graph:
+ JasperReportBuilder(/home/sbrunner/demo_geomapfish/print/print-apps/demo/.)
+ LegendProcessor
+ CreateNorthArrowProcessor
+ CreateScalebarProcessor
+ CreateMapProcessor
+ DataSourceProcessor
Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at jsr166y.ForkJoinTask.get(ForkJoinTask.java:913)
        at org.mapfish.print.output.AbstractJasperReportOutputFormat.getJasperPrint(AbstractJasperReportOutputFormat.java:159)
        at org.mapfish.print.output.AbstractJasperReportOutputFormat.print(AbstractJasperReportOutputFormat.java:109)
        at org.mapfish.print.MapPrinter.print(MapPrinter.java:138)
        at org.mapfish.print.cli.Main.run(Main.java:156)
        at org.mapfish.print.cli.Main.main(Main.java:112)
Caused by: java.lang.NullPointerException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
        at jsr166y.ForkJoinTask.get(ForkJoinTask.java:912)
        ... 5 more
Caused by: java.lang.NullPointerException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at jsr166y.ForkJoinTask.getThrowableException(ForkJoinTask.java:507)
        at jsr166y.ForkJoinTask.reportResult(ForkJoinTask.java:567)
        at jsr166y.ForkJoinTask.join(ForkJoinTask.java:611)
        at org.mapfish.print.processor.ProcessorDependencyGraph$ProcessorGraphForkJoinTask.compute(ProcessorDependencyGraph.java:206)
        at org.mapfish.print.processor.ProcessorDependencyGraph$ProcessorGraphForkJoinTask.compute(ProcessorDependencyGraph.java:161)
        at jsr166y.RecursiveTask.exec(RecursiveTask.java:64)
        at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:305)
        at jsr166y.ForkJoinWorkerThread.execTask(ForkJoinWorkerThread.java:575)
        at jsr166y.ForkJoinPool.scan(ForkJoinPool.java:755)
        at jsr166y.ForkJoinPool.work(ForkJoinPool.java:617)
        at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:369)
Caused by: java.lang.NullPointerException
        at java.net.URI$Parser.parse(URI.java:3023)
        at java.net.URI.<init>(URI.java:595)
        at org.mapfish.print.servlet.fileloader.AbstractFileConfigFileLoader.resolveChildFile(AbstractFileConfigFileLoader.java:142)
        at org.mapfish.print.servlet.fileloader.AbstractFileConfigFileLoader.isAccessible(AbstractFileConfigFileLoader.java:108)
        at org.mapfish.print.servlet.fileloader.ConfigFileLoaderManager.loadFile(ConfigFileLoaderManager.java:157)
        at org.mapfish.print.config.Configuration.loadFile(Configuration.java:526)
        at org.mapfish.print.processor.jasper.TableProcessor.generateSubReport(TableProcessor.java:311)
        at org.mapfish.print.processor.jasper.TableProcessor.execute(TableProcessor.java:281)
        at org.mapfish.print.processor.jasper.TableProcessor.execute(TableProcessor.java:77)
        at org.mapfish.print.processor.ProcessorGraphNode$ProcessorNodeForkJoinTask.compute(ProcessorGraphNode.java:210)
        at org.mapfish.print.processor.ProcessorDependencyGraph$ProcessorGraphForkJoinTask.compute(ProcessorDependencyGraph.java:203)
        at org.mapfish.print.processor.ProcessorDependencyGraph$ProcessorGraphForkJoinTask.compute(ProcessorDependencyGraph.java:161)
        at jsr166y.RecursiveTask.exec(RecursiveTask.java:64)
        at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:305)
        at jsr166y.ForkJoinWorkerThread.execTask(ForkJoinWorkerThread.java:575)
        at jsr166y.ForkJoinPool.scan(ForkJoinPool.java:733)
        ... 2 more

from the stack trace it appears that there is a URL with no schema or host.  Make sure all urls are valid

Witch URL ? I didn't see any URL in the log ...

I run this standalone (without Tomcat) ...

I dont know what url but if you look at the stacktrace:
Caused by: java.lang.NullPointerException
    at java.net.URI$Parser.parse(URI.java:3023)
    at java.net.URI.<init>(URI.java:595)

you can see it is problem with the uri.  in my experience this is usually the host name is missing.

What's this jasperTemplate ?
https://github.com/mapfish/mapfish-print/blob/development/core/src/main/java/org/mapfish/print/processor/jasper/TableProcessor.java#L311

If I remember right.  You can define a jasper tempalte with all the styles and columns you want for the table and it will construct a table dynamically with arbitrary number of columns based on the styles declared in the jasper template.
The idea was that for certain projects you need an arbitrary number of columns but want to be able to design the table using jasper studio or some editor.  This permits this functionality.

    - !createDataSource
        reportTemplate: table.jrxml
        reportKey: reportTemplate
        processors:
        - !prepareTable
            dynamic: true

I think you don't need a datasource, or do you? Try to do it like in this example:
https://github.com/mapfish/mapfish-print/tree/development/core/src/test/resources/org/mapfish/print/processor/jasper/table_converters_dyn

Yes I need a data source because I have list of table, Than your example didn't have a list of table, and he isn't dynamic ...

dynamic initially mean that we don't know the number of column ...

And we strongly need this in GeoMapFish

Have you looked at the examples on how to use this?
On Fri, Feb 20, 2015 at 8:53 AM, Stéphane Brunner<EMAIL_ADDRESS>wrote:

And we strongly need this in GeoMapFish
—
Reply to this email directly or view it on GitHub
https://github.com/mapfish/mapfish-print/issues/194#issuecomment-75201739
.

I have a look on this file:
https://github.com/mapfish/mapfish-print/blob/development/core/src/test/resources/org/mapfish/print/processor/jasper/table_converters_dyn/requestData.json
Only one table, than not the same case as me,
And this file:
https://github.com/mapfish/mapfish-print/blob/development/core/src/test/resources/org/mapfish/print/processor/jasper/table_converters_dyn/table.jrxml
On witch one we should know the number of columns that not my case :-(

so I have this figured out now.  the table is configured as dynamic but there is no jasper report configured for the processor.
This is a major problem in that there should be an error message if the table processor is incorrectly configured.  I am thinking of:

Providing a default template so you can set default == true and it will automatically work dynamically.
Check that the templates exist and that the styles exist.

After more research I found that the problem was actually DataSourceProcessor not calling validate on all of its contained processor so the errors are never reported.  I have fixed this issue and added defaults to the jasperReport template file is optional instead of required.
See:
https://github.com/mapfish/mapfish-print/pull/200
and
https://github.com/mapfish/mapfish-print/pull/202


fix: buffer

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.005%) to 98.366%

Files with Coverage Reduction
New Missed Lines
%

src/Secure.php
1
98.37%

Totals

Change from base Build<PHONE_NUMBER>3:
0.005%

Covered Lines:
301

Relevant Lines:
306

💛  - Coveralls


Missing OneDrive info

Article is missing how to access another employee's OneDrive yet the title says it will show you

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

ID: 5ca63bae-95f1-3248-ed6e-1bfbe0d7e9ff
Version Independent ID: a56fc5c1-7ffd-0829-b5a4-9297ce2873ac
Content: Step 4 - Forward a former employee's email to another employee or convert to a shared mailbox - Microsoft 365 admin
Content Source: microsoft-365/admin/add-users/remove-former-employee-step-4.md
Service: o365-administration
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@BwaddellProtectedTrust The Page has been updated now.
@yogkumgit  We can close the issue.
Thanks
Sri


How to switch back to prior Jupyter Notebook interface?

The new Jupyter Notebook interface (native interactive) is unusable with Vim. Changing between the normal and insert mode in Vim in each cell becomes extremely messy because pressing Esc change to mode to moving between cells. Is there any way to disable the new native interactive or disable the Vim Extension only in Jupyter Notebook (.ipynb files)?
I have tried to adapt to the new interface in 2 weeks but it is still so hard to use.

Dupe of #6997.

To work around this problem, you can remap the keybinding for Notebook: Stop Editing Cell from something other than escape. However we will be looking into better VIM support in the interactive window in the near term. See https://github.com/microsoft/vscode/issues/130425
{
"key": "escape",
"command": "notebook.cell.quitEdit",
"when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible"
}

Thanks for the workaround but the Jupyter Notebook with Vim keybindings is still extremely hard to use. I resolved to temporarily use a Jupyter Lab server.


Suggestion Form

I have taken the approach to create a Netlify form. Since we are still with Gatsby for now, we can inline the Netlify form directives into the JSX directly. I have embedded the form into the About page.
The page has 4 internal states: initial, submitting, success & error.
I have attached screenshots of these 4 states.
NOTE: I cannot test this properly since I do not have access to Netlify. I have tested this with Netlify dev cli on my local computer.
Also I have had no design or copy, so it has been freestyle in those areas!

Sorry for poor communication, this was in the v2 Project and those PRs should be going to the new branch and be all Vueish. I'll take this because you did it, and because we dunno when the rewrite is done, but we'll have to port this. Sorry!!

Can you recreate this in the new branch and send a PR to #39 ?


Match - Failed to create new development provisioning profile

Hello there,
New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Successfully creates certificate but fails to create a new development provisioning profile after running fastlane match nuke development. I've changed recently from using an account Login to the AppStoreConnectAPI key.
Command executed
fastlane match development
Complete output when running fastlane, including the stack trace and command used

[✔] 🚀
[13:58:20]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
+--------------------------------+---------------------------------------------------------+
|                                Summary for match 2.184.0                                 |
+--------------------------------+---------------------------------------------------------+
| type                           | development                                             |
| readonly                       | false                                                   |
| generate_apple_certs           | true                                                    |
| skip_provisioning_profiles     | false                                                   |
| app_identifier                 | ["com.touchbistro.TouchBistro"]                         |
| api_key_path                   | ./appstore_connect_api_key.json                         |
| team_id                        | R8HVB85AU9                                              |
| team_name                      | TouchBistro Inc.                                        |
| storage_mode                   | git                                                     |
| git_url                        | git@github.com:TouchBistro/redacted.git |
| git_branch                     | renew-certificates                                      |
| shallow_clone                  | false                                                   |
| clone_branch_directly          | false                                                   |
| keychain_name                  | login.keychain                                          |
| force                          | false                                                   |
| force_for_new_devices          | false                                                   |
| skip_confirmation              | false                                                   |
| skip_docs                      | false                                                   |
| platform                       | ios                                                     |
| derive_catalyst_app_identifier | false                                                   |
| template_name                  | Contact Note Field Access iOS                           |
| fail_on_name_taken             | false                                                   |
| skip_certificate_matching      | false                                                   |
| skip_set_partition_list        | false                                                   |
| verbose                        | false                                                   |
+--------------------------------+---------------------------------------------------------+
[13:58:25]: Cloning remote git repo...
[13:58:25]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
[13:58:25]: Checking out branch renew-certificates...
[13:58:26]: 🔓  Successfully decrypted certificates repo
[13:58:26]: Verifying that the certificate and profile are still valid on the Dev Portal...
[13:58:26]: Creating authorization token for App Store Connect API
[13:58:26]: Couldn't find a valid code signing identity for development... creating one for you now
+-------------------------+----------------------------------------------------+
|                           Summary for cert 2.184.0                           |
+-------------------------+----------------------------------------------------+
| platform                | ios                                                |
| development             | true                                               |
| generate_apple_certs    | true                                               |
| force                   | true                                               |
| api_key_path            | ./appstore_connect_api_key.json                    |
| team_id                 | R8HVB85AU9                                         |
| team_name               | TouchBistro Inc.                                   |
| keychain_path           | /Users/echeong/Library/Keychains/login.keychain-db |
| skip_set_partition_list | false                                              |
+-------------------------+----------------------------------------------------+
[13:58:26]: Creating authorization token for App Store Connect API
[13:58:27]: Using keychain password from keychain item fastlane_keychain_login in /Users/echeong/Library/Keychains/login.keychain-db
[✔] Setting key partition list... (this can take a minute if there are a lot of keys installed)
[13:58:27]: Using keychain password from keychain item fastlane_keychain_login in /Users/echeong/Library/Keychains/login.keychain-db
[✔] Setting key partition list... (this can take a minute if there are a lot of keys installed)
[13:58:28]: Successfully generated 448V38V6YK which was imported to the local machine.
[13:58:28]: Verifying the certificate is properly installed locally...
[13:58:28]: Successfully installed certificate 448V38V6YK
+-------------------------------------+-----------------------------------------------+
|                              Summary for sigh 2.184.0                               |
+-------------------------------------+-----------------------------------------------+
| app_identifier                      | com.touchbistro.TouchBistro                   |
| force                               | false                                         |
| cert_id                             | 448V38V6YK                                    |
| provisioning_name                   | match Development com.touchbistro.TouchBistro |
| ignore_profiles_with_different_name | true                                          |
| api_key_path                        | ./appstore_connect_api_key.json               |
| team_id                             | R8HVB85AU9                                    |
| team_name                           | TouchBistro Inc.                              |
| template_name                       | Contact Note Field Access iOS                 |
| fail_on_name_taken                  | false                                         |
| platform                            | ios                                           |
| development                         | true                                          |
| adhoc                               | false                                         |
| developer_id                        | false                                         |
| skip_install                        | false                                         |
| skip_fetch_profiles                 | false                                         |
| skip_certificate_verification       | false                                         |
| readonly                            | false                                         |
+-------------------------------------+-----------------------------------------------+
[13:58:31]: Creating authorization token for App Store Connect API
[13:58:31]: Fetching profiles...
[13:58:32]: Verifying certificates...
[13:58:32]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[13:58:34]: Creating new provisioning profile for 'com.touchbistro.TouchBistro' with name 'match Development com.touchbistro.TouchBistro' for 'ios' platform
[13:58:38]: An error occurred while verifying your certificates and profiles with the Apple Developer Portal.
[13:58:38]: If you already have your certificates stored in git, you can run fastlane match in readonly mode
[13:58:38]: to just install the certificates and profiles without accessing the Dev Portal.
[13:58:38]: To do so, just pass readonly: true to your match call.
Looking for related GitHub issues on fastlane/fastlane...
Traceback (most recent call last):
27: from /Users/echeong/.rbenv/versions/2.7.2/bin/fastlane:23:in <main>' 	26: from /Users/echeong/.rbenv/versions/2.7.2/bin/fastlane:23:in load'
25: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/bin/fastlane:23:in <top (required)>' 	24: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/fastlane/lib/fastlane/cli_tools_distributor.rb:114:in take_off'
23: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/commands_generator.rb:26:in start' 	22: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/commands_generator.rb:188:in run'
21: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!' 	20: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
19: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command' 	18: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run'
17: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call' 	16: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/commands_generator.rb:69:in block (3 levels) in run'
15: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:109:in run' 	14: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:109:in each'
13: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:110:in block in run' 	12: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:110:in loop'
11: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:111:in block (2 levels) in run' 	10: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/runner.rb:269:in fetch_provisioning_profile'
9: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/match/lib/match/generator.rb:108:in generate_provisioning_profile' 	 8: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/sigh/lib/sigh/manager.rb:8:in start'
7: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/sigh/lib/sigh/runner.rb:54:in run' 	 6: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/sigh/lib/sigh/runner.rb:182:in create_profile!'
5: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/spaceship/lib/spaceship/connect_api/models/profile.rb:76:in create' 	 4: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/2.7.0/forwardable.rb:235:in post_profiles'
3: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb:189:in post_profiles' 	 2: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/spaceship/lib/spaceship/connect_api/provisioning/client.rb:39:in post'
1: from /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/spaceship/lib/spaceship/connect_api/api_client.rb:124:in post' /Users/echeong/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.184.0/spaceship/lib/spaceship/connect_api/api_client.rb:194:in handle_response': \e[31m[!] { (Spaceship::UnexpectedResponse)
"errors" : [ {
"id" : "f99d0e0d-6230-4a47-93c3-10a449b2f3eb",
"status" : "409",
"code" : "ENTITY_ERROR",
"title" : "There is a problem with the request entity",
"detail" : "There was an error generating the provisioning profile 'match Development com.touchbistro.TouchBistro'.  Please try again.  If the problem persists, please contact Apple Developer Program Support. https://developer.apple.com/support"
} ]
}\e[0m

Environment
[✔] 🚀
[14:04:21]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[14:04:26]: Generating fastlane environment output, this might take a few seconds...
✅ fastlane environment ✅
Stack

Key
Value

OS
10.15.7

Ruby
2.7.2

Bundler?
false

Git
git version 2.24.3 (Apple Git-128)

Installation Source
~/.rbenv/versions/2.7.2/bin/fastlane

Host
Mac OS X 10.15.7 (19H2)

Ruby Lib Dir
~/.rbenv/versions/2.7.2/lib

OpenSSL Version
OpenSSL 1.1.1i  8 Dec 2020

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode-12.2.app/Contents/Developer/

Xcode Version
12.2

System Locale

Variable
Value

LANG
en_CA.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
Fastfile redacted, not applicable
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.184.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.4.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

multipart-post
2.0.0

word_wrap
1.0.0

artifactory
3.0.15

colored
1.2

highline
2.0.3

commander
4.6.0

faraday_middleware
1.0.0

gh_inspector
1.1.3

rubyzip
2.3.0

security
0.1.3

google-apis-playcustomapp_v1
0.2.0

google-apis-androidpublisher_v3
0.3.0

uri
0.10.0

nanaimo
0.3.0

colored2
3.1.2

claide
1.0.3

CFPropertyList
3.0.3

atomos
0.1.3

xcodeproj
1.19.0

unicode-display_width
1.7.0

plist
3.6.0

public_suffix
4.0.6

addressable
2.7.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.4

excon
0.81.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

ruby2_keywords
0.0.4

faraday-net_http_persistent
1.1.0

faraday-net_http
1.0.1

faraday-excon
1.1.0

faraday-em_synchrony
1.0.0

faraday-em_http
1.0.0

faraday
1.4.2

faraday-cookie_jar
0.0.7

fastimage
2.2.3

json
2.5.1

mini_magick
4.11.0

naturally
2.2.1

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

bundler
2.2.17

simctl
1.6.8

jwt
2.2.3

webrick
1.7.0

rexml
3.2.5

httpclient
2.8.3

multi_json
1.15.0

signet
0.15.0

os
1.1.1

memoist
0.16.2

googleauth
0.16.2

mini_mime
1.1.0

retriable
3.1.2

trailblazer-option
0.1.1

declarative
0.0.20

uber
0.1.0

representable
3.1.1

google-apis-core
0.3.0

rake
13.0.3

digest-crc
0.6.3

google-apis-storage_v1
0.3.0

google-apis-iamcredentials_v1
0.3.0

google-cloud-errors
1.1.0

google-cloud-env
1.5.0

google-cloud-core
1.6.0

google-cloud-storage
1.31.1

emoji_regex
3.2.2

aws-eventstream
1.1.1

aws-sigv4
1.2.3

aws-partitions
1.461.0

jmespath
1.4.0

aws-sdk-core
3.114.0

aws-sdk-kms
1.43.0

aws-sdk-s3
1.95.0

forwardable
1.3.1

logger
1.4.2

cgi
0.1.0

date
3.0.0

timeout
0.1.0

stringio
0.1.0

ipaddr
1.2.2

openssl
2.1.2

zlib
1.1.0

ostruct
0.2.0

strscan
1.0.3

io-console
0.5.6

delegate
0.1.0

fileutils
1.4.1

singleton
0.1.0

open3
0.1.0

yaml
0.1.0

psych
3.1.0

mutex_m
0.1.0

generated on: 2021-05-22

I'm experiencing the same problem right now.

@krystianpaszek @escakot I am experiencing the same issue; any resolutions you can share?

@msuzoagu Nope, it still wasn't working for me in the end.
Fastlane still couldn't create the Provisioning Profile. So, I manually created a the Certificate & Provisioning profile and used fastlane match import instead.

@msuzoagu for me it was a problem with the development team. For some reason profiles with com.apple.developer.playable-content can't be created in this particular team and that was the reason for getting 409 ENTITY_ERROR response from the dev portal.

This is such a great resource that you are providing and you give it away for free. I like seeing blog that understand the value of providing a quality resource for free.
paycheckrecords


Add a launcher to contentctl.py to allow easier debugging and launchi…

Add a launcher to contentctl.py to allow easier debugging and launching with python -m contentctl.contentctl

For awareness of anything else looking at the PR, this addition means that you can do things like
python -m contentctl.contentctl validate
python -m contentctl.contentctl test --post-test-behavior always_pause mode:all

which is convenient, because you do not need to poetry install / poetry shell or pip install contentctl to run the tool as long as you have the requirements met.

Yes and it also allows to put breakpoints in IDEs like pycharm and VS code (idk if there is another way but its usually how I do it haha)


Improve cpu hotplug test

What this PR does / why we need it:
It should be more reliable to check domain xml once migration is done.
Currently, we see that the wrong Pod is picked for domain xml. There is more work to fix this behavior.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

NONE

/cc @dhiller @brianmcarey

@dhiller Can we adjust flake lane?

@dhiller Can we adjust flake lane?

Do you mean that we should make it required?

/type flake

/kind flake


Add setPath helper function

The path less traveled

This PR adds a function that adds the functionality from the assocPath function provided by ramda. This was motivated by the documentation on the meiosis project from @foxdonut.
This PR signals a change to some of the existing functions to match this new format for dealing with prop and propPath. The following functions will be addressed in the next breaking change release, although they will be deprecated and their original names will still be available until we hit 1.0.0:

propPath -> getPath
prop -> getProp
assoc -> setProp (will work with Array as well)
dissoc -> unsetProp (will work with Array as well)

Coverage remained the same at 100.0% when pulling 30303c2a5bec57aa7261cc769dfebb5d8588031a on feature/setPath into 2de9adc4d681d4b3438874796e116b13ae66b2b5 on master.


Clarify / cleanup docs for IGListDisplayDelegate

These docs could be improved:
https://github.com/Instagram/IGListKit/blob/master/Source/IGListDisplayDelegate.h
Background:
https://github.com/Instagram/IGListKit/issues/159#issuecomment-258447813

Fixed in #198


chore: remove custom plugins

BREAKING CHANGE: removed custom gradients plugin. use native functionality instead https://v2.tailwindcss.com/docs/gradient-color-stops
BREAKING CHANGE: removed custom rotate plugin. use native functionality instead https://v2.tailwindcss.com/docs/rotate
gradients forces a full lodash dependency into our client-side bundle apart from another large dependency https://github.com/benface/tailwindcss-gradients/blob/master/package.json. this was the reason we introduced a separate node entrypoint. while we're cleaning up, let's also remove the rotation one. both have equivalent core plugins by now

superseeded by https://github.com/carforyou/carforyou-components-pkg/pull/538


kubeconfig: unbound variable

Hi, I wanted to try Kubenix, but I couldn't get the example to work. I have the following flake taken from the examples:
{
  inputs.kubenix.url = "github:hall/kubenix";
  outputs = { self, ... }@inputs:
    let system = "x86_64-linux";
    in {
      kubenix = inputs.kubenix.packages.${system}.default.override {
        module = { kubenix, ... }: {
          imports = [ kubenix.modules.k8s ];
          kubernetes.resources.pods.example.spec.containers.nginx.image =
            "nginx";
        };
      };
    };
}

Then I use nix run .#kubenix, which produces:
error: builder for '/nix/store/7v7s2h891xicsa9bcijvsb6016aj82fk-kubenix.drv' failed with exit code 1;
       last 1 log lines:
       > /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 8: kubeconfig: unbound variable
       For full logs, run 'nix log /nix/store/7v7s2h891xicsa9bcijvsb6016aj82fk-kubenix.drv'.

Thanks for reporting, @pizzapim!
This error is because executing the kubenix package through nix run attempts to apply resources to a target cluster while something like nix build will only evaluate the output to ./result without touching any target cluster. So the former needs kubernetes.kubeconfig while the latter does not.
I do think we could throw a better error message though (and probably update the README.md CLI section to show more than a vague import ./cluster) so I'll leave this open to at least track that.

Thanks for the reply, that makes total sense. Mentioning the kubeconfig option in the README would be useful for new users.

I got the same error in the beginning as well. @hall many other tools rely on kubectl being "already configured" so maybe it makes sense to have $HOME/.kube/config as the default for kubernetes.kubeconfig option?

Hey @zarelit! I agree that'd be a sensible default. I've started a PR to do just that.

just got bitten by it as well trying to help with another issues :)


[WIP] RFC FS-1007 - Additional Option module functions

This pull request relates to the additional option module functions RFC
I'd like to add this PR  so that discussion and development of the RFC can progress

Hi @andredublin, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@andredublin, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.

Feels almost like a threat!

Lol

The failure is because a public API has been added to fsharp core.

I think this is no longer WIP. (/ping @dsyme)
Functions added to OptionModule:

map2
map3
defaultIfNone
defaultIfNoneFrom
orElse
orElseFrom

I've added two other PRs for contains (#1778) and flatten (#1779).

Closing in favour of https://github.com/Microsoft/visualfsharp/pull/1781


Add ADC Coin

.json and .png document checklists

[x] logo dimensions: 120*120 px
[x] logo background: Transparent
[x] At least one transaction on the token contract
[x] For ERC-20 project teams: Upper and lower capitalized alphabets in token address (For checksum purposes)
[x] Same document name for both .json and .png (Including capitalization)

Project background details:
Team background:
The information about all of oduwa team members can be found under the oduwa coin company page on linkedin
https://www.linkedin.com/company/oduwablockchain/
Current situation of the project:
We are pleased to announce that Oduwa Coin  has just been added to http://coinmarketcap.com  today 25th February 2019 (UTC+8). This listing further serves as an official recognition to Oduwa  cryptocurrency blockchain ecosystem and our Oduwa community.
Media exposures:
https://www.newsbtc.com/2018/04/17/oduwa-coin-perfect-hedge-bitcoin-volatility/
Tradeable exchanges:
https://forkdelta.app/#!/trade/0x64921aCb8Fc1B54D7F774788A405b7cF1864CBFf-ETH
Recommended Gas Limit (For ERC-20 project teams) for transaction: (Default is 60,000)

Welcome to recommend imToken 2.0 to your token holders to manage their token.


Speed up WordNet tests and/or move to unit tests

I'm working on speeding up the testing process by breaking tests into two stages:

doctests, which should build fast-ish
unit tests, which contain slow-to-run tests

Since wordnet makes remote calls (and because it is so thoroughly covered -- good!), it takes ~5 mins to run.
I propose that you guys work on one or more of the following:

refactoring the many little doctests (example) and moving them "up" into the class docstring. Would doing this reduce the number of remote calls you'd need to make?
If the cannot be sped up with the above, them move most to a module tests/test_wordnet.py. These we'll as a more thorough "integration" test which we may or may not need during day-to-day development. In these, I really don't care about speed at all!

#68

Elsewhere I have been able to keep doctests in place, but skip them when they take too long (e.g. see https://github.com/todd-cook/ML-You-Can-Use/blob/master/mlyoucanuse/bert_fun.py#L45 )
This would allow us to keep tests in place for documentation continuity, and also place some in the integration test (without the skip switch).
I'll profile the tests and see if there are any hotspots or places we can aggregate for a win.

  # doctest: +SKIP -- this would work too

Is there a task I can take on without interfering with Todd's work on the tests? Todd you had mentioned some issues with the tests relating to the API -- shall I focus on these?

Yes, please look into those issues. If there are changes to be made, I'll
be able to move things around, and nothing will get lost.
On Thu, Jun 25, 2020 at 4:22 AM William Michael Short <
<EMAIL_ADDRESS>wrote:

Is there a task I can take on without interfering with Todd's work on the
tests? Todd you had mentioned some issues with the tests relating to the
API -- shall I focus on these?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/cltk/cltkv1/issues/70#issuecomment-649479128, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFCOLLHDVBS33EEIEPTKBDRYMXPLANCNFSM4OGBH2XA
.

OK, perfect, I will get that done tonight or tomorrow morning! Thanks for all your help
William Michael Short
Lecturer in Classics & Ancient History
University of Exeter
Phone: 01392 724794
E-mail<EMAIL_ADDRESS>Amory Building, Rennes Drive, Exeter, Devon, EX4 4RJ
Ancient Greek WordNethttps://greekwordnet.chs.harvard.edu/ | Latin WordNethttps://latinwordnet.exeter.ac.uk/ | Cylleneus: Next-gen corpus search for ancient languageshttps://github.com/cylleneus
[http://www.exeter.ac.uk/codebox/email-sig/staff-sig.gif]
This email and any attachment may contain information that is confidential, privileged, or subject to copyright, and which may be exempt from disclosure under applicable legislation. It is intended for the addressee only. If you received this message in error, please let me know and delete the email and any attachments immediately. The University will not accept responsibility for the accuracy/completeness of this email and its attachments.
From: Todd Cook<EMAIL_ADDRESS>Sent: 25 June 2020 15:50
To: cltk/cltkv1<EMAIL_ADDRESS>Cc: Short, William Michael<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [cltk/cltkv1] Speed up WordNet tests and/or move to unit tests (#70)
CAUTION: This email originated from outside of the organisation. Do not click links or open attachments unless you recognise the sender and know the content is safe.
Yes, please look into those issues. If there are changes to be made, I'll
be able to move things around, and nothing will get lost.
On Thu, Jun 25, 2020 at 4:22 AM William Michael Short <
notifications<EMAIL_ADDRESS>wrote:

Is there a task I can take on without interfering with Todd's work on the
tests? Todd you had mentioned some issues with the tests relating to the
API -- shall I focus on these?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/cltk/cltkv1/issues/70#issuecomment-649479128, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFCOLLHDVBS33EEIEPTKBDRYMXPLANCNFSM4OGBH2XA
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcltk%2Fcltkv1%2Fissues%2F70%23issuecomment-649597764&data=02|01|W.Short%40exeter.ac.uk|f65f2680708548adf22408d819172167|912a5d77fb984eeeaf321334d8f04a53|0|0|637286934426456316&sdata=vaBDmvwZbCec0TjwqllP4RWJvnSZaatPvzi92IW7oQM%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIWMJIXNEHQYKLF7PBQ6WDDRYNP2LANCNFSM4OGBH2XA&data=02|01|W.Short%40exeter.ac.uk|f65f2680708548adf22408d819172167|912a5d77fb984eeeaf321334d8f04a53|0|0|637286934426466273&sdata=fJwcHtZAC85VBgOD6g%2F3WhagvXJeEq7KgMBjuCSb77I%3D&reserved=0.


Test suite method for incrementing epoch

Background
We need a method to increment epoch for our test suite. Right now, we're lacking test for modules' logic with epochs, for example, as shown this issue here, we need a test to confirm if we pay out the last epoch of a gauge rewards.
Suggested Design
Add method for incrementing epoch to KeeperTestHelper in apptesting so that other modules can use it to test their epoch logic.

closing this since BeginNewBlock already covered this


Consuming up to N records or M seconds

Sorry if I missed something, but is there a way to consume up to N records or M seconds? For example, I want to consume 5k records or whatever is available (up to a limit of 5k) in a 10 seconds poll window. I thought of using a context for this, but it looks like this would result in an error when using PollRecords.
In my scenario, I'm using the GroupTransactSession.
Thanks in advance, and for your work in this awesome library :).

The other option is configuring the waitTime in the client, but wanted to make sure this would be the correct way!!

I think a context is the right solution for the M seconds aspect of this, and then counting the records you've received is a solution for the N records. You can check for context.DeadlineExceeded and if the poll error is that, know that you've elapsed M seconds. Note that if any records are available, PollRecords returns, so if you see context.DeadlineExceeded, you're not missing out on any error.
I do something similar here in the tests, actually, though you might want to use Err0: https://github.com/twmb/franz-go/blob/01651affd204d4a3577a341e748c5d09b52587f8/pkg/kgo/group_test.go#L185

(closing preemptively hoping this answered but please ping if it did not)

Thanks for the answer @twmb! I thought of that but, in this case, wouldn't the Poll return 0 records? If I have an error of context.DeadlineExceeded, it looks like I would have no records returned, right?

Yes but, isn't that what's desired? You have no records in the requested time allowance?

Actually what I meant was:
Let's suppose that I want at most 5000 records in a 10 seconds window, and I call PollRecords with a value of 5000. If, after 10 seconds, I only have 3200 records available, return those records immediately!
Does that make sense?

Can you do something like,
ctx, cancel := context.WithTimeout(ctx, 10*time.Second)
var fs []kgo.Fetch
out:
for fs.NumRecords() != 5000 {
    poll := cl.PollRecords(ctx, 5000-fs.NumRecords())
    switch err := poll.Err0(); err {
    case context.Canceled:
        break out
    default:
        // handle
    }
    fs = append(fs, poll...)
}

That's actually what we are doing today over here (almost at least)! I was just wondering if I was missing something, or some config, to achieve this behavior.
Thanks for the help!!