Port Forwarding / Accessing a host port during build

I am using sqlx which requires a connection to my local postgres db at build time. Is it possible to port forward postgres into the cross container or alternatively is there an environment variable to get the IP address of the host from the container?
Related: conversation about removing this build-time network dependency in sqlx: https://github.com/launchbadge/sqlx/issues/60#issuecomment-586634589

I faced the same issue.
In the meantime there's no fix for this, i figured a workaround using a couple docker containers.
This one to emulate an architecture with qemu, allowing to run containers meant for different architectures, like this one with the same arch as the Raspberry PI 2/3
(you may need to setup a docker network to access the sql server, but it depends on your setup)
You can then run the container, install rust and whatever dependencies you may need, and just use cargo build like normal to compile the application.
Using this method takes way longer to compile the application, but that's expected given it's emulating an architecture.

That is very interesting. I'll look into these. Docker buildx might be another potential avenue to achieve a very similar result. I would love to see a docker-inside-qemu solution like this baked into cross some day.

We now pre-ship containers with cross installed, such as ghcr.io/cross-rs/cross:main. This might make it a bit simpler. I'll see if I can get port forwarding to work, however.

using CROSS_CONTAINER_OPTS="--network host" should solve this without needing dind
sqlx also has support for offline building via offline feature flag


Disable iOS zoom on field focus and capitalization

On iOS, the font-size triggers a zoom when you focus a field. Can we disable this (without increasing font size)?
The first letter is also capitalized by default on iOS, which is not allowed for a username. Need to use autocapitalize=none.

I've added this attribute on the PR I just made.
I don't think there's a way around auto zoom, as this is an accessibility feature. Shall we make it 16px?


OSDDownloadContent.exe failing with latest script

Hi,
We currently have a very odd issue in our environment. We are using v4.2.0 (latest) of the script and have noticed we are getting failures in the Task Sequence when the script tries to download the package files using OSDDownloadContent.exe. However, after the initial failure, if the machine is tried again then the script works successfully!
The packages are correctly distributed to all our DP's and have been re-done since the issue started. I have attached the point in the log where it fails to download and oddly, the second time it runs it succeeds.
Running module version 5.0.9078.1000 from location 'X:\sms\bin\x64\OSDDownloadContent.exe' RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) OSDDownloadDownloadPackages = CV10079C RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) OSDDownloadDestinationLocationType = Custom RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) OSDDownloadContinueDownloadOnError = 0 RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Packages will be downloaded to custom download location: 'C:\_SMSTaskSequence\DriverPackage' RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Getting package content: CV10079C, version: 0 RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) GetPackageContent: RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Resolving content for SMS Package CV10079C RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Site Code CV1 RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) MP <our_MP> RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) TSPkgVar _SMSTSCV10079C RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) RunFromDPEnabled false RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Resolving local content for CV10079C:0 RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) spCacheMgr.createInstance(CLSID_ContentCacheManager, CLSCTX_LOCAL_SERVER), HRESULT=80040154 (X:\bt\1116398\repo\src\Framework\TSCore\resolvesource.cpp,4646) RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Setting URL = <our_MP>, Ports = 80,443, CRL = false RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Setting Server Certificates. RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Setting Authenticator. RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) ::DecompressBuffer(65536) RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Decompression (zlib) succeeded: original size 4777, uncompressed size 5027. RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Creating CCMCertStore RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Failed to create instance of of ICacheManager. Is ccmexec running?, hr=0x80040154 RunPowerShellScript 09/09/2022 05:36:04 180 (0x00B4) Signing Certificate is not available in the store OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) CCMRetrieveCertificateContext failed : 0x87d00215 OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) CCMRetrieveCertificateContext(eType, ppTmpContext), HRESULT=87d00215 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,3416) OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) CCMGetCurrentCertificateContext(eCertMsgAuthSignature, ppCertContext), HRESULT=87d00215 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,3473) OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) Signing certificate context not found. Importing client identity OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) No duplicate signing/encryption certifcates detected. OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) Signing Certificate is not available in the store RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) CCMRetrieveCertificateContext(eType, ppTmpContext), HRESULT=87d00215 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,3416) RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) CCMGetCurrentCertificateContext(eCertMsgAuthSignature, ppCertContext), HRESULT=87d00215 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,3473) RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) Signing certificate context not found. Importing client identity RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) No duplicate signing/encryption certifcates detected. RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) CCMRetrieveCertificateContext failed : 0x87d00215 RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) Signing Certificate is not available in the store OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) CCMRetrieveCertificateContext failed : 0x87d00215 OSDDownloadContent 09/09/2022 05:36:05 1424 (0x0590) Signing Certificate is not available in the store RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) CCMRetrieveCertificateContext failed : 0x87d00215 RunPowerShellScript 09/09/2022 05:36:05 180 (0x00B4) Encryption Certificate is not available in the store OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) CCMRetrieveCertificateContext failed : 0x87d00215 OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Unable to open TPM key provider (0xc0000225). TPM not available. OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Key ConfigMgrPrimaryKey not found in provider Microsoft Software Key Storage Provider OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Key ConfigMgrMigrationKey not found in provider Microsoft Software Key Storage Provider OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) NCrypt::NCryptSetProperty( hKey, BCRYPT_RSAFULLPRIVATE_BLOB, pbKeyBlob, cbKeyBlob, 0 ), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\KSPUtils.cpp,1887) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Failed to import the key pair, 0x80090005 OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) ImportFullKeyPair(hProvSoft, L"ConfigMgrPrimaryKey", pbKeyBlob, cbKeyBlob), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\KSPUtils.cpp,1036) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) KSP::ImportKeyPairFromMigration(szFullKeyBlob), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,6668) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) CCM::Authentication::CcmImportIdentityFromMigration((LPCWSTR)clientIdentityBuffer.getBuffer()), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\TSCore\utils.cpp,7437) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) CcmImportIdentityFromMigration failed to import client identity. OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) PrepareTransportEx() failed. 0x80090005. OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) TS::Utility::PrepareTransport(oHttpTransport), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\TSCore\resolvesource.cpp,4788) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Failed to download content for SMS package CV10079C, hr=0x80090005 OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Failed to resolve the source for Package: CV10079C, hr=0x80090005 OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Failed to download package CV10079C, cannot continue (0x80090005) OSDDownloadContent 09/09/2022 05:36:06 1424 (0x0590) Encryption Certificate is not available in the store RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Unable to open TPM key provider (0xc0000225). TPM not available. RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Key ConfigMgrPrimaryKey not found in provider Microsoft Software Key Storage Provider RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Key ConfigMgrMigrationKey not found in provider Microsoft Software Key Storage Provider RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) NCrypt::NCryptSetProperty( hKey, BCRYPT_RSAFULLPRIVATE_BLOB, pbKeyBlob, cbKeyBlob, 0 ), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\KSPUtils.cpp,1887) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) ImportFullKeyPair(hProvSoft, L"ConfigMgrPrimaryKey", pbKeyBlob, cbKeyBlob), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\KSPUtils.cpp,1036) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) KSP::ImportKeyPairFromMigration(szFullKeyBlob), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\security\MsgAuth\CCMGenCert\ccmgencert.cpp,6668) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) CCM::Authentication::CcmImportIdentityFromMigration((LPCWSTR)clientIdentityBuffer.getBuffer()), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\TSCore\utils.cpp,7437) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) TS::Utility::PrepareTransport(oHttpTransport), HRESULT=80090005 (X:\bt\1116398\repo\src\Framework\TSCore\resolvesource.cpp,4788) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) CCMRetrieveCertificateContext failed : 0x87d00215 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Failed to import the key pair, 0x80090005 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) CcmImportIdentityFromMigration failed to import client identity. RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) PrepareTransportEx() failed. 0x80090005. RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Failed to download content for SMS package CV10079C, hr=0x80090005 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Failed to resolve the source for Package: CV10079C, hr=0x80090005 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Failed to download package CV10079C, cannot continue (0x80090005) RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Process completed with exit code 1 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) PowerShell command line returned code 1 RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) ReleaseSource() for C:\_SMSTaskSequence\Packages\CV1004EA. RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) reference count 1 for the source C:\_SMSTaskSequence\Packages\CV1004EA before releasing RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Released the resolved source C:\_SMSTaskSequence\Packages\CV1004EA RunPowerShellScript 09/09/2022 05:36:06 180 (0x00B4) Process completed with exit code 1 TSManager 09/09/2022 05:36:06 1700 (0x06A4) !--------------------------------------------------------------------------------------------! TSManager 09/09/2022 05:36:06 1700 (0x06A4) Failed to run the action: Apply Drivers (21H2). Error 1 TSManager 09/09/2022 05:36:06 1700 (0x06A4)
Can anyone figure what could be causing this based on the above log? Any assistance would be appreciated!
Note - I have changed anywhere where it referenced our management point to <our_MP>

We're having the same problem. It only happens on task sequences running through the Software Center, not PxeBoot. We also ran the raw OSDDownloadContent.exe commands and saw the same result (sidestepping the script).


undefined to_sym with hiera

I tried to install the module but I keep getting hiera errors:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Error from DataBinding 'hiera' while looking up 'statsd::librato_skipInternalMetrics': undefined method `to_sym' for []:Array on node beadmin-dev0-lior-cm-3f4gxw0f.sizmek Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run
Can you please advice ?
puppet version: 3.8.7 Ruby version: 1.8.7 hiera version: 1.3.4
stackoverflow: http://stackoverflow.com/questions/37115759/puppet-undefined-method-to-sym-for-array
Thanks in advance

According to your SO post, you're only using the Graphite backend, so you shouldn't even be setting Stackdriver or Librato params. My hunch is you have a bad config in your hierarchy for the statsd::librato_skipInternalMetrics key. Check in the files in your hierarchy for this:
:hierarchy:
  - client/%{clientcert}
  - roles/%{role}
  - environment/%{env}
  - global```


⚠ Auth API Endpoint has degraded performance

In cc48394, Auth API Endpoint (https://auth.roblox.com) experienced degraded performance:

HTTP code: 200
Response time: 2200 ms

Resolved: Auth API Endpoint performance has improved in 98ec710.


Make Params for onRunJob NonNull

This helps with Kotlin users to know that the Params will never be null (right?)

Thanks!


[DEV-12054] Next.js 13 - Experiment with SSG

Closing with lessons learned and partially integrated the changes with https://github.com/prezly/theme-nextjs-bea/pull/1008


restic: 0.9.6 -> 0.10.0

based on #98419

Motivation for this change
Things done
I removed the fuse tests with a patch since they were failing, probably because of the sandbox (permission denied).

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

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

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

/nix/store/2b3f8kanpsg80j430lby4mq226pc0ryp-restic-0.9.6         101.9M
/nix/store/0n82y3i34ypjj2i9csp3h0b1bqda7dn0-restic-0.10.0        104.5M
1 package built:
restic

goPackagePath can be removed, it isn't needed with buildGoModule

@zowoq done, thanks. Yeah, removing the file is better than a patch since.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/250

Thanks!


Indexing stuck/aborts on testnet

Are you able to run the indexer over latest testnet? For me it stops after 1h with error. Trying on latest commit on master 76b8376a783badc876e2b789948404bc5bf0b6db
time ./target/debug/ord --testnet --index-runes --data-dir index-8e3b6666-attempt4 index update
error: JSON-RPC error: transport error: Couldn't connect to host: Broken pipe (os error 32)

Around block 2582834/2583889 it stops, when I rerun the indexer, it starts again from 2580000. Then stops again.
Trying this from an M3 18GB Macbook, maybe latest changes need more memory? Would be nice to keep it working locally.

This was happening for me as well, I did the following to resolve:

Refetched latest code from repo
Rebuilt from source
Wiped indexdb
Restarted
Happy days!

Interesting, I still get the same error with the latest code, rebuilt from source, fresh indexdb. Activated debug logs, it looks like connection with the node breaks for some reason
[2024-03-29T20:13:35Z DEBUG bitcoincore_rpc] JSON-RPC request: getblock ["00000000a2054ff61c69010c6e60d59829d0fd3eebfc51e06331e8470f3592fa",0]
[2024-03-29T20:13:35Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 175 ms
[2024-03-29T20:13:35Z DEBUG bitcoincore_rpc] JSON-RPC request: getblockhash [2583238]
[2024-03-29T20:13:35Z INFO  ord::index::updater] Block 2583205 at 2024-03-23 17:07:11 UTC with 347 transactions…
[2024-03-29T20:13:35Z DEBUG bitcoincore_rpc] JSON-RPC request: getblock ["00000000003094b8263777a801e959d8280ef5cfc7f94a6a2f936f0ffb9d4803",0]
[2024-03-29T20:13:35Z DEBUG bitcoincore_rpc] JSON-RPC request: getrawtransaction ["8366813032f95133199f101da2119ec9fbc48f5b6e893ba138e0aef9cb3544df",true]
[2024-03-29T20:13:35Z DEBUG bitcoincore_rpc] JSON-RPC failed parsing reply of getrawtransaction: JsonRpc(Transport(SocketError(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })))
[2024-03-29T20:13:35Z DEBUG ord::index::updater] Outpoint channel closed
[2024-03-29T20:13:35Z INFO  ord::index::updater] Block receiver disconnected: sending on a closed channel
[2024-03-29T20:13:36Z INFO  ord::index] JSON-RPC error: transport error: Couldn't connect to host: Broken pipe (os error 32)
error: JSON-RPC error: transport error: Couldn't connect to host: Broken pipe (os error 32)

reduced the number of parallel requests sent by ord to bitcoin node, and it works. Most probably running out of resources. We can close this.


Promote KafkaSource to V1

Problem
Kafka should be promoted to v1
Persona:
Persona:
Which persona is this feature for?
Exit Criteria
A measurable (binary) test that would indicate that the problem has been resolved.
Time Estimate (optional):
How many developer-days do you think this may take to resolve?
Additional context (optional)
Add any other context about the feature request here.

/remove-lifecycle stale

/remove-lifecycle stale

/remove-lifecycle stale
/triage accepted


Remove Water treatment from starting techs

Move Clarifier unlock to Washing 1. This allows washing for mud (clarify saline water). Also doing slag earlier (sulfur from washing; clarify sulfuric waste water).

Increase tech cost to 50. To encourage building slag using Hydrogen Sulfide Gas.

Increase tech cost to 50. To encourage building slag using Hydrogen Sulfide Gas.


Found broken /docs link. Please fix!

too young too single

will re-open if the broken link is shared


Generated link allowing to download OpenAPI specification uses 'plugin-redoc-0.yaml' as name of the file instead of the original name

Hi,
I am using docusaurus 2.2.0 and redocusaurus 1.4.0 to generate a nice website and API documentation.
I am super happy with the result but wit one caveat: the generated link allowing to download OpenAPI specification uses 'plugin-redoc-0.yaml' as name of the file instead of the original specification file name.
In the documentation, I can see: "We will also automatically generate a single downloadable YAML and add it as a static asset to be used as the download url." but I don't find information about how to change (or just preserve) the name of the original specification file ... could you help me?
I probably missed something obvious, sorry about that
Thanks
Vincent

You can customize the name of the file by specifying an id in the spec:
module.exports = {
  presets: [
    [
      'redocusaurus',
      {
        specs: [
          {
			id: 'your-api-name',
            spec: 'openapi/openapi.yaml',
            route: '/api/',
          },
        ],
        theme: {
          primaryColor: '#1890ff',
        },
      },
    ],
  ],
};

By default the id is generated using index of array so that is why it was plugin-redoc-0.yaml. Feel free to re-open the issue if it doesn't work.


miniplex-react: The Next Iteration

After using miniplex and miniplex-react in a bunch of projects, here's what I think the next round of polish (especially for the React components) could look like.
Splitting up <ManagedEntities>?
<ManagedEntities> (formerly known as <Collection>) is a massively useful component, but it has caused a significant amount of confusion among early users of the library. The reason for this confusion is that this component combines both the concern of rendering state, but also managing it, which is an unusual pattern in the reactive world.
Another drawback to this is that in order to be able to pull this off, it can't consume "any" archetype, but needs to identify the entities it manages and renders via a single tag component (identified through its tag prop.)
To keep things easy to reason about, I suggest that we split up the two concerns into separate components and/or hooks. The first concern, the rendering of entities of a specific archetype, is already covered by the <Entities> component, so all we need is a primitive (which can be a hook, or a component, or maybe both?) for declaratively spawning a specified number of entities (and optionally destroying them when the component unmounts.)
Naming Note: we also have <Entity>, which creates an entity, so having a component that is named <Entities> but only renders existing components may be confusing. Maybe the component should be named more explicitly, eg. <ViewEntities>, <RenderEntities>, ...?
Use Cases
Let's try to describe all the things the user would want to do with miniplex-react.
Interact with the ECS world imperatively
createECS always returns the world created by the miniplex package, so all situations where the user would want to interact with it imperatively are already covered. For this reason, the remaining use cases will focus on React-specific situations where you want to do things either declaratively in JSX, or through a hook.
Render existing entities
The user may already have one or more entities that they want to render (in the JSX sense.) For example, in a react-three-fiber game, certain entities may be rendered twice: once as part of the main gameplay scene, but also as icons on an overhead map.
Rendering an array of entities:
<Entities entities={entities}>
  {/* ... */}
</Entities>

Rendering all entities of an archetype, and automatically re-rendering when entities get added to/removed from the archetype:
<Entities archetype="enemy">
  {/* ... */}
</Entities>

<Entities archetype={["enemy", "showInMap"]}>
  {/* ... */}
</Entities>

Extend existing entities
The user may be applying a pattern where an entity that already exists in the world must be extended with additional components. The typical example is a game where new enemies are spawned just by creating a new entity with the isEnemy tag, and then having a declarative React component mix in additional components (sprites, physics, health, ...) through JSX.
This use case is already covered with the <Entities> component used above:
<Entities archetype="isEnemy">
  <Component name="health" data={1000} />
  <Component name="sceneObject">
    <EnemyAsset />
  </Component>
</Entities>

Create singular new entities
The user will often want to create entities in React components (and have them destroyed when the component unmounts.)
In JSX:
<Entity>
  <Component name="health" data={100} />
</Entity>

As a hook:
const entity = useEntity(() => ({ health: 100 }))

Both of these will create an entity with the components specified, and destroy it again once the React component unmounts.
Create multiple new entities
The user will sometimes want to create a whole series of entities (likely of the same archetype) from within a React component.
As a hook:
const entities = useEntities(10, () => ({ health: 100 }))

Both of these will create 10 entities with the components specified, and destroy them again once the React component unmounts.
<Entities count={10}>
  <Component name="health" data={100} />
</Entities>

⚠ The functionality of Entity and Entities are equivalent, with one simply being the singular form of the other. Should both be combined into a single React component/hook? What would this be named?

Cleaning up all entities of a given archetype
In games especially, you often have the situation where an entity with a specific set of components represents a certain type of game object, and you maybe spawn an initial number of them (or not), but definitely want to destroy all of them once a specific branch of your React component tree unmounts.
For example, you might have bullets, identified by the isBullet tag. One of your React components is rendering all bullets that currently exist in the game using <Entities archetype="isBullet">. Some imperative code spawns new bullets through world.createEntity({ isBullet: true }). When the React component unmounts, you may want to run some code that destroys all bullets.
Without any extra glue provided by miniplex-react, this could be done in userland through a useEffect hook that only provides a return function:
useEffect(() => {
  return () => {
    for (const entity of world.archetype("isBullet").entities) {
      world.queue.destroyEntity(entity)
    }
  }
}, [])

That is quite a bit of code, so we might want to provide something here. As a first step, maybe miniplex itself could provide a convenience function for quickly destroy all entities of a given archetype?
useEffect(() => {
  return () => {
    world.queue.destroyAllEntities("isBullet")
  }
}, [])

miniplex-react could similarly provide this as a hook:
useCleanupEntities("isBullet")

It is kind of weird to have a hook that just destroys things, though. We could also have a hook that can automatically spawn entities of a specific archetype, in a variation of the useEntities hook:
const entities = useManagedEntities("isBullet", 10, () => ({ health: 100 }))

The first argument is the tag that this hook uses to identify the entities it is supposed to manage (and destroy on unmount), the second the (optional) number of entities to spawn on mount (defaults to 0), and the third the (optional) factory function to call to initialize each entity.

⚠ This is really just the hook version of <ManagedEntities> 🤡

Access the parent entity
The user might be writing React components that interact with the entity that contains them. For this, we need a hook that allows the user to get this parent entity.
const entity = useCurrentEntity()

⚠ The naming useCurrentEntity is a bit iffy, and I can already see users confusing this with useEntity. Is there a better name?

The React glue has received a nice upgrade for 2.0, and I will be closing this ticket now.


Facebook - bot in the group

Is the Facebook's bot in the group supported or pending for future development? I try to integrate it however it throws exception.

Not currently.


ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on<PHONE_NUMBER> for 5f9ee12b15855a2bbb296dc3009fb9e2bc9d4e52
https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/1001925228

Pipeline Succeeded on<PHONE_NUMBER> for 5f9ee12b15855a2bbb296dc3009fb9e2bc9d4e52
https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/1001925228


GRPC client deadlocks if TCP connection fails synchronously

What version of gRPC and what language are you using?
1.14.1, Javascript
What operating system (Linux, Windows, …) and version?
Debian 8.11 (node:8 docker image).
What runtime / compiler are you using (e.g. python version or version of gcc)
Node.js 8.11
What did you do?
Please see this repo: https://github.com/alexeevg/grpc-deadlock for scripts reproducing the problem.
In short, I tried making a gRPC call over IPv6 from within a Docker container with IPv6 disabled.
const grpc = require('grpc');

const {Calculator} = grpc.load('./proto/math.proto').test;
const client = new Calculator('[::1]:1234', grpc.credentials.createInsecure()); // there is no server listening at [::1]:1234

client.add({a: 1, b: 2}, (err, result) => {
  // the callback is never called, the calling process hangs
});

What did you expect to see?
I expected the client to invoke the callback with connection error. Also, I expected the process to remain responsive while the call is in progress, event loop should not be blocked.
What did you see instead?
Node.js process deadlocked deep inside gRPC core native code.
Attaching gdb to the hanging process resulted in the following stacktrace:
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fba9b8fb479 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fba9b8fb2a0 in __GI___pthread_mutex_lock (mutex=0x4052f18) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007fba992f6319 in gpr_mu_lock (mu=<optimized out>) at ../deps/grpc/src/core/lib/gpr/sync_posix.cc:47
#4  0x00007fba9928047f in connected (arg=0x4052f10, error=0x40541e0)
    at ../deps/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.cc:172
#5  0x00007fba9925c2c1 in exec_ctx_run (error=0x40541e0, closure=<optimized out>)
    at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:40
#6  grpc_core::ExecCtx::Flush (this=this@entry=0x7fff4adf27d0) at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:128
#7  0x00007fba992e8ffe in ~ExecCtx (this=0x7fff4adf27d0, __in_chrg=<optimized out>)
    at ../deps/grpc/src/core/lib/iomgr/exec_ctx.h:108
#8  custom_connect_callback (socket=<optimized out>, error=0x40541e0)
    at ../deps/grpc/src/core/lib/iomgr/tcp_client_custom.cc:100
#9  0x00007fba9928016a in chttp2_connector_connect (con=0x4052f10, args=0x7fff4adf2940, result=0x4053290,
    notify=0x40532a0) at ../deps/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.cc:215
#10 0x00007fba9928e7dc in continue_connect_locked (c=0x4053260)
    at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:408
#11 maybe_start_connecting_locked (c=0x4053260) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:483
#12 0x00007fba9928f415 in grpc_subchannel_notify_on_state_change (c=0x4053260, interested_parties=0xdeafbeef,
    state=0x405281c, notify=<optimized out>) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:532
#13 0x00007fba992d9e07 in grpc_core::SubchannelData<grpc_core::(anonymous namespace)::PickFirst::PickFirstSubchannelList, grpc_core::(anonymous namespace)::PickFirst::PickFirstSubchannelData>::StartConnectivityWatchLocked (
    this=<optimized out>) at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h:304
#14 0x00007fba992dac70 in StartPickingLocked (this=0x40523d0)
    at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc:249
#15 grpc_core::(anonymous namespace)::PickFirst::PickLocked (this=0x40523d0, pick=0x404ceb0)
    at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc:270
#16 0x00007fba99289e2a in StartLocked (elem=<optimized out>)
    at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2687
#17 process_service_config_and_start_lb_pick_locked (elem=0x404cd80)
    at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2815
#18 grpc_core::ResolverResultWaiter::DoneLocked (arg=0x40514a0, error=0x0)
    at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2920
#19 0x00007fba992a2332 in grpc_combiner_continue_exec_ctx () at ../deps/grpc/src/core/lib/iomgr/combiner.cc:260
#20 0x00007fba9925c2e4 in grpc_core::ExecCtx::Flush (this=this@entry=0x7fff4adf2b00)
    at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:131
#21 0x00007fba992a364a in ~ExecCtx (this=0x7fff4adf2b00, __in_chrg=<optimized out>)
    at ../deps/grpc/src/core/lib/iomgr/exec_ctx.h:108
#22 grpc_custom_resolve_callback (r=0x3fc2bc0, result=0x3fa6e80, error=<optimized out>)
    at ../deps/grpc/src/core/lib/iomgr/resolve_address_custom.cc:85
#23 0x0000000001410b75 in uv__work_done (handle=0x2179ab0 <default_loop_struct+176>)
    at ../deps/uv/src/threadpool.c:251
#24 0x0000000001412c8b in uv__async_io (loop=0x2179a00 <default_loop_struct>, w=<optimized out>,
    events=<optimized out>) at ../deps/uv/src/unix/async.c:118
#25 0x0000000001424d48 in uv__io_poll (loop=loop@entry=0x2179a00 <default_loop_struct>, timeout=25)
    at ../deps/uv/src/unix/linux-core.c:400
#26 0x0000000001413616 in uv_run (loop=0x2179a00 <default_loop_struct>, mode=UV_RUN_DEFAULT)
    at ../deps/uv/src/unix/core.c:368
#27 0x00000000008d443d in node::Start(uv_loop_s*, int, char const* const*, int, char const* const*) ()
#28 0x00000000008cc8fd in node::Start(int, char**) ()
#29 0x00007fba9b567b45 in __libc_start_main (main=0x89b0c0 <main>, argc=2, argv=0x7fff4adf7208, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff4adf71f8) at libc-start.c:287
#30 0x000000000089b1b1 in _start ()

Running strace -e trace=network -f npm test produced the following log:
77    socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12
77    setsockopt(12, SOL_TCP, TCP_NODELAY, [1], 4) = 0
77    connect(12, {sa_family=AF_INET, sin_port=htons(1234), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation now in progress)
77    getsockopt(12, SOL_SOCKET, SO_ERROR, [111], [4]) = 0
77    socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 13
77    setsockopt(13, SOL_TCP, TCP_NODELAY, [1], 4) = 0
77    connect(13, {sa_family=AF_INET, sin_port=htons(1234), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation now in progress)
77    getsockopt(13, SOL_SOCKET, SO_ERROR, [111], [4]) = 0
77    socket(PF_INET6, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 14
77    setsockopt(14, SOL_TCP, TCP_NODELAY, [1], 4) = 0
77    connect(14, {sa_family=AF_INET6, sin6_port=htons(1234), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EADDRNOTAVAIL (Cannot assign requested address)

Running test with GRPC_TRACE=connectivity_state,tcp produced the following log:
D0822 16:19:46.249122621      25 dns_resolver.cc:280]        Start resolving.
I0822 16:19:46.249524376      25 connectivity_state.cc:92]   CONWATCH: 0x3936548 pick_first: get IDLE
I0822 16:19:46.249582095      25 connectivity_state.cc:116]  CONWATCH: 0x3936548 pick_first: from IDLE [cur=IDLE] notify=0x39a2788
I0822 16:19:46.249603812      25 connectivity_state.cc:164]  SET: 0x3921498 client_channel: IDLE --> IDLE [resolver_result] error=(nil) "No Error"
I0822 16:19:46.249648189      25 connectivity_state.cc:116]  CONWATCH: 0x3937360 subchannel: from IDLE [cur=IDLE] notify=0x39122b8
I0822 16:19:46.249664640      25 connectivity_state.cc:164]  SET: 0x3937360 subchannel: IDLE --> CONNECTING [state_change] error=(nil) "No Error"
I0822 16:19:46.249684799      25 connectivity_state.cc:190]  NOTIFY: 0x3937360 subchannel: 0x39122b8
I0822 16:19:46.249761199      25 tcp_client_custom.cc:139]   CLIENT_CONNECT: 0x39354b0 ipv6:[::1]:1234: asynchronously connecting
I0822 16:19:46.249906749      25 tcp_client_custom.cc:69]    CLIENT_CONNECT: ipv6:[::1]:1234: on_alarm: error="Cancelled"

I suppose the problem is that TCP connection fails immediately with EADDRNOTAVAIL (Cannot assign requested address) and chttp2_connector isn't prepared to handle synchronous connection errors.
As a result, error handler attempts to acquire a mutex protecting the connector at https://github.com/grpc/grpc/blob/v1.14.1/src/core/ext/transport/chttp2/client/chttp2_connector.cc#L172.
But this mutex is already held at https://github.com/grpc/grpc/blob/v1.14.1/src/core/ext/transport/chttp2/client/chttp2_connector.cc#L215, and the mutex is non-recursive.

My plate has been full for quite some time. I just whipped a fix in #16979
Please verify that it works for you.

@yashykt are there instructions on how to build grpc-node from your branch?

+1 This file is not even in the src's distributed with grpc node_modules. There is a very similar (but different) file called chttp2_connector.c
I can try this real quick if there are instructions on how to rebuild the node module.

But the change looks reasonable to me.

I was trying to rebuild from source (what is the right way to do this?)
using npm rebuild --build_from_source.  For some reason my folder structure
was missing the 'deps' folder. But I have it now and I am getting errors
like:
make: *** No rule to make target
'Release/obj.target/grpc/deps/grpc/src/cpp/ext/filters/census/grpc_context.o',
needed by 'Release/obj.target/libgrpc.a'.  Stop.
The instructions in the "Build from source" section of
https://www.npmjs.com/package/grpc . also do not work.
On Wed, Oct 24, 2018 at 2:27 PM Michael Lumish<EMAIL_ADDRESS>wrote:

I'm not sure what you're looking at, but that exact file is definitely
distributed with the grpc node module. The simplest way to test this might
be to apply that diff directly to that file in the installed package and
then rebuild from source.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/16427#issuecomment-432834285, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJNkXqDJfY3Od_o2jAB-Kpk2A_E44-WQks5uoNtCgaJpZM4WIDtO
.

--
-Abhishek

Since I was unable to rebuild grpc npm module with this patch, I tried it on release 1.15.1 (rebuilding grpc node module works fine for that).
With this patch unfortunately . another similar deadlock shows up in subchannel.cc. Looks like this entire call chain is not prepared for grpc_connector_connect to finish synchronously
#0  0x00007fc25c36226d in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fc25c35bdbd in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fc25832f5b9 in gpr_mu_lock (mu=mu@entry=0x2558128) at ../deps/grpc/src/core/lib/gpr/sync_posix.cc:47
#3  0x00007fc2582c4902 in on_subchannel_connected (arg=0x2558090, error=0x269c640) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:652
#4  0x00007fc25828d7f1 in exec_ctx_run (error=0x269c640, closure=) at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:40
#5  grpc_core::ExecCtx::Flush (this=this@entry=0x7fff4e347a50) at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:134
#6  0x00007fc2583224bd in ~ExecCtx (this=0x7fff4e347a50, __in_chrg=) at ../deps/grpc/src/core/lib/iomgr/exec_ctx.h:108
#7  custom_connect_callback (socket=, error=0x269c640) at ../deps/grpc/src/core/lib/iomgr/tcp_client_custom.cc:86
#8  0x00007fc2582b5c21 in chttp2_connector_connect (con=0x25c5af0, args=0x7fff4e347bd0, result=0x25580c0, notify=0x25580d0) at ../deps/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.cc:218
#9  0x00007fc2582c5a2e in continue_connect_locked (c=0x2558090) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:410
#10 maybe_start_connecting_locked (c=0x2558090) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:483
#11 grpc_subchannel_notify_on_state_change (c=0x2558090, interested_parties=, state=state@entry=0x25e31fc, notify=notify@entry=0x25e31d0) at ../deps/grpc/src/core/ext/filters/client_channel/subchannel.cc:532
#12 0x00007fc2583139d4 in StartConnectivityWatchLocked (this=0x25e31b0) at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h:335
#13 grpc_core::(anonymous namespace)::PickFirst::PickFirstSubchannelData::CheckConnectivityStateAndStartWatchingLocked (this=0x25e31b0) at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc:630
#14 0x00007fc258313d0f in StartPickingLocked (this=) at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc:257
#15 grpc_core::(anonymous namespace)::PickFirst::PickLocked (this=, pick=0x26a2a80, error=) at ../deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc:292
#16 0x00007fc2582bfc4b in StartLocked (elem=) at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2716
#17 process_service_config_and_start_lb_pick_locked (elem=0x26a2950) at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2844
#18 grpc_core::ResolverResultWaiter::DoneLocked (arg=0x25edfd0, error=0x0) at ../deps/grpc/src/core/ext/filters/client_channel/client_channel.cc:2949
#19 0x00007fc2582d9132 in grpc_combiner_continue_exec_ctx () at ../deps/grpc/src/core/lib/iomgr/combiner.cc:260
#20 0x00007fc25828d814 in grpc_core::ExecCtx::Flush (this=this@entry=0x7fff4e347de0) at ../deps/grpc/src/core/lib/iomgr/exec_ctx.cc:137
#21 0x00007fc2582da502 in ~ExecCtx (this=0x7fff4e347de0, __in_chrg=)  at ../deps/grpc/src/core/lib/iomgr/exec_ctx.h:108
#22 grpc_custom_resolve_callback (r=0x26a1bf0, result=0x26aa680, error=0x0) at ../deps/grpc/src/core/lib/iomgr/resolve_address_custom.cc:74

Anyway I was able to test this patch on grpc node 1.15.1 and unfortunately
it exposes other similar deadlocks in subchannnel.cc.  I have posted details
https://github.com/grpc/grpc/issues/16427
I am surprised that there are no unittests that cover these events
happening synchronously.
On Wed, Oct 24, 2018 at 4:37 PM Abhishek Parmar<EMAIL_ADDRESS>wrote:

I was trying to rebuild from source (what is the right way to do this?)
using npm rebuild --build_from_source.  For some reason my folder structure
was missing the 'deps' folder. But I have it now and I am getting errors
like:
make: *** No rule to make target
'Release/obj.target/grpc/deps/grpc/src/cpp/ext/filters/census/grpc_context.o',
needed by 'Release/obj.target/libgrpc.a'.  Stop.
The instructions in the "Build from source" section of
https://www.npmjs.com/package/grpc . also do not work.
On Wed, Oct 24, 2018 at 2:27 PM Michael Lumish<EMAIL_ADDRESS>wrote:

I'm not sure what you're looking at, but that exact file is definitely
distributed with the grpc node module. The simplest way to test this might
be to apply that diff directly to that file in the installed package and
then rebuild from source.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/16427#issuecomment-432834285, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJNkXqDJfY3Od_o2jAB-Kpk2A_E44-WQks5uoNtCgaJpZM4WIDtO
.

--
-Abhishek

--
-Abhishek

I have made changes that should avoid the closure being run immediately if it is on the same thread, which should solve the deadlock issue too.

@nicolasnoble helped test the fix on docker, and it works!
#16979 has been merged in gRPC Core

Is this going to be cherrypicked into either 1.14 or 1.15?

@murgatroid99 / @nicolasnoble should be able to answer that

@yashykt Thanks!

@nicolasnoble @murgatroid99
What releases is this going to be patched into?


Conflicts when install Spyder 5.0.0 in new environment

Issue Report Checklist

[x ] Searched the issues page for similar reports
[x ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[x ] Could not reproduce inside jupyter qtconsole (if console-related)
[x ] Tried basic troubleshooting (if a bug/error)

[] Restarted Spyder

[ ] Reset preferences with spyder --reset

[ ] Reinstalled the latest version of Anaconda

[ ] Tried the other applicable steps from the Troubleshooting Guide

[x ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
What steps reproduce the problem?

Create new enviroment with conda create -n myenv python=3.8 spyder=5.0.0

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package python conflicts for:
python=3.8
spyder=5.0.0 -> atomicwrites[version='>=1.2.0'] -> python[version='>=2.7|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.5|>=3|>=3.6']
spyder=5.0.0 -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0']

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

Hi @93chanle,
This is a duplicate of , were we noticed that the recipe for Spyder in the default channel of anaconda is broken. For now, please install Spyder using the conda-forge channel in a clean environment,
conda create -n spyder-cf python=3.8
conda activate spyder-cf
conda install spyder -c conda-forge

We are working really hard to fix this issue as soon as we can.
Thanks for reporting!

@steff456 Does this mean the package that was uploaded today (April 6th) is still causing issues?

I'm afraid so, we are checking on it right now. We will close #15113 once the package is working.


Getting array from url query

I wounder if MVC 6 is going to support array of primitive type at from the Url
For example the url http://www.someDomain.com/data=[1,2,3]
The actionInvoker will bind the json array to int[] data or even IEnumerable data ?
to support such a thing today we override the ActionInvoker, yet on WDCIL talk @yishaigalatzer gave last week he recommended not to override it in MVC 6.

@guy-lud like @rynowak mentions, you really don't need to override the action invoker for this, neither in MVC 5 or Web API 2.
We don't plan to add this syntax as it's really non standard, feel free to ping us for more advice if the solutions above do not resolve your scenario.


dns-tunnel-iodine.pcap corrupt

editcap, tcpdump and wireshark don't seem to like dns-tunnel-iodine.pcap is it corrupt, or some windows/mac binary file issue?

Not sure what happened there. I found the original on my machine and updated it.
MD5 (dns-tunnel-iodine.pcap) =<PHONE_NUMBER>4cf8c30b583ee1ee6c5a91


ENH: get_m and point.m property

Adds get_m and a m point property, available with GEOS 3.12 or later. For example:
import shapely

assert shapely.geos_version[0:2] >= (3, 12), shapely.geos_version_string

pt = shapely.from_wkt("POINT M (1 2 4)")
assert pt.m == shapely.get_m(pt) == 4.0

And similar to the z property:
pt = shapely.geometry.Point(1, 2)
shapely.get_m(pt)  # nan
pt.m
# raises: DimensionError: This point has no m coordinate.

Other checks to shapely/tests/geometry/test_point.py will be added after reworking Point().

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

11 of 12 (91.67%)  changed or added relevant lines in 2 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.3%) to 88.13%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

shapely/geometry/point.py
6
7
85.71%

Files with Coverage Reduction
New Missed Lines
%

shapely/_geometry.py
3
96.33%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
2621

Relevant Lines:
2974

💛  - Coveralls

@jorisvandenbossche do you have any idea why "Create a merge commit" is no longer enabled for this repository? This is usually my "go to" method, otherwise I can manually re-write this PR with one commit.


New: Add generic-type-naming (#111)

https://github.com/nzakas/eslint-plugin-typescript/issues/111

@unlight I think @macklinu has provided some good feedback here. I will give you chance to comment and/or update before merging this.

I agree, feedback is good. I'll try to improve code in the coming days.

@unlight let me know if you plan on making any other changes, or if this is now ready to go

@macklinu Please, take a look. I've implemented your code review notes.
@JamesHenry I'm not planning to make any other changes

@unlight @macklinu I am very sorry for the long delay in coming back to this, we are going to work out a better maintenance plan for this project


SummedOp does not distribute over ListOp under reduce()

What is the expected enhancement?
We currently have
(Y @ ListOp([X, Z])).reduce() == ListOp([Y @ X, Y @ Z])

That is, ComposedOp distributes over ListOp.
But, we also have
(Y + ListOp([X, Z])).reduce() != ListOp([Y + X, Y + Z])

reduce does not change the expression on the LHS.
Several other operations are vectorized wrt ListOp. I suspect this has simply not yet been implemented for SummedOp.
It would be good if the inequality above were instead an equality.

Since this is a feature request for the now-deprecated Opflow, I'm going to close this as "won't fix".  Please feel free to re-open if I'm wrong.


Add IReadOnlyList interface to ContainerBlock to unify and simplify e…

Problem: ContainerBlock implements the  IList<Block> interface, but this interface does not contain the IReadOnlyList<Block>
In order to simplify and unify the enumeration of child items, add the IReadOnlyList<Block> interface to  ContainerBlock. ContainerBlock already contains the neccessary implementations of the IReadOnlyList<Block> interface.

Thanks!


bad rendering on small screens

"Unreachable nodes" sounds indeed better than dead, but it is too big of a term. In smaller screens, it ends up line-wrapping, and the end result looks ugly

Agree.
@amnonh can you please take a look?
I guess we can either widen the boxs or add wording (or whitespace) to the "Total Node"

How about rename to "Unreachable"?
I think it is clear from the context

Good idea.
"The Unreachables" can be a good movie title ;)

Fine by me
On Thu, May 4, 2017 at 5:17 AM, Tzach Livyatan<EMAIL_ADDRESS>wrote:

Good idea.
"The Unreachables" can be a good movie title ;)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/scylladb/scylla-grafana-monitoring/issues/166#issuecomment-299134899,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUNvZXrNWByUi8XLq0kpTOpyCVhKpoQks5r2ZfEgaJpZM4NP7X4
.


Add action

Issue reported by sergio in order to optimize RAM

@adriexnet / @sergioyuhjtman
Can you please describe this issue further

Whenever a user performs an exchange operation to receive a token that she does not previously have, the RAM for the new record will be paid by evolutiondex. The table belongs to the token contract. This is how the standard eosio.token works (the user will pay for the RAM the first time she sends some amount of that token). It is preferrable to avoid this by making the user sign an "open" action from the token contract in these cases, in the same transaction.


dvcc: Add support for BMS Can with SOK SK48V100 battery.

Hello,
I am requesting for the SOK 48v 100ah using a PACE BMS (Pylontech-CAN protocol) to have support added.
We already have a pull request with the solution to make this work - it takes 2 lines of code to make this work.  See pull request here: https://github.com/victronenergy/dbus-systemcalc-py/pull/9
We are already manually implementing the fix manually, but if this fix were added, it would make many battery owners very happy!

@dexter12353  I see this is now included in the VenusOS firmware. It is a better place to add it.
Should we close this request, or is there a reason to try and add this to the serialbattery driver in future?

You can close the request.  We posted here because it was posted elsewhere but appeared to be unseen for months.
Thank you for all your hard work!


Issues sending an image within the body of the email

Hello,
Is there any examples on how to send an image within the body of the email? I read through the documentation and the talked about inline images. Are inline images images inside the body of the email?
Any assistance or advice on how to accomplish this would be great. I truly appreciate it.
Thank you,
Peter

Sorry did not see you responded to my previous query.
Have a good day


When switching to bright theme, code highlighting seems to be in trouble

When switching to a bright theme (light,solarized,custom theme), the code highlighting seems to have a problem.It looks like this.

Switch to a bright theme

I don't know if it's a personal problem. Can you check it?

Oh, I see. Something is wrong. This was not used to happen before. Maybe after some updates, I mistakenly changed something.

@fandean Did you set in the data/skin.toml file,  chroma_theme = "default?

I set chroma_theme = "monokai"

set the params to "default" and it will be fixed

Hi, add @codeapes666 added: jianshu
Originally posted by @fandean in https://github.com/zzossig/hugo-theme-zzo/issues/38#issuecomment-568951179

We can solve this problem by setting chroma for each of the themes.

@fandean I divided chroma_theme param to separate 5 params
...
theme_light_chroma = "default"
theme_dark_chroma = "default"
theme_hacker_chroma = "default"
theme_solarized_chroma = "default"
theme_custom_chroma = "default"

You can override this file at your root/data/skin.toml

Ah, how to say, and I expect the effect is not the same

Can we match
    content-pre-main-color: #607d8b,
    content-pre-color: #344952,
    content-pre-number-color: #aaa,
    content-pre-background-color: #F5F2F0,
    content-pre-border-background-color: darken(#F5F2F0, 7%),
    content-pre-header-background-color: darken(#F5F2F0, 3%),
    content-pre-header-color: #344952,

to some of the values in
  /* Background */ .chroma { color: #f8f8f2; background-color: #171f2e }
  /* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: black }
  /* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
  /* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }

of the currently selected chrome, rather than fixing it?
That is to say, let chrome theme color and zzo theme color be completely independent.

Now I understand what you mean.
Actually, I think it's a good idea.
I'll investigate more about it on how to achieve that concept.

@fandean Thank you for the good suggestion.
Now, we have another option variable in the skin.toml file
...
theme_light_chroma_background = "default"
theme_dark_chroma_background = "default"
theme_hacker_chroma_background = "default"
theme_solarized_chroma_background = "default"
theme_custom_chroma_background = "default"

I'm sorry, I was not clear enough expression 😨

I've been on a long trip today

The updated version is not what you expected?

The way I think about it is this

Want to completely customize code block color by setting color codes?

Feasibility is also a consideration, I can compromise on it

I don't understand what this means

Feasibility is also a consideration, I can compromise on it

I think you should know more about zzo and related matters than I do. There may be situations I didn't take into account.

I'm afraid if we make 35 variables to accomplish the goal, it will slow down the web performance. And it makes the Zzo theme more complicated.
I think setting the color one by one is not a good idea.
But we can make more chroma background color packs.
We currently have 5 color packs(dark, light, hacker, solarized, custom).
But if necessary, we make more pack something like darkorange, darksolarized, something like that

I am relieved, ha ha, looking forward to your results.
Do you see this?

Yes, I'm fixing it currently

That's exactly what I meant

@fandean I uploaded for fixing the code block color.
Do you have any color suggestions for the code block? I'll add it if you have
content-code-color: #fcfcfa,
    content-pre-main-color: #FFA7C4,
    content-pre-color: #eee,
    content-pre-number-color: #666,
    content-pre-background-color: #171f2e,
    content-pre-header-background-color: darken(#011627, 1.5%),
    content-pre-border-background-color: #3a3a3a,
    content-pre-header-color: #FCFCFA,

Bro,
I think this session is too long. We can close this issue now.
We can talk further by making a new issue!
And I really welcome any issue that makes the Zzo theme better. You know I deeply appreciate your keep interest.


Why the decision to use minimap2 as replacement for BLASR?

I am wondering why you decided to use minimap2 as a replacement for BLASR. I know, BLASR is designed for PacBio data, so BLASR is not the right choice for ONP data. Also I am aware of the fact, that minimap2 is super fast.
However, can you elaborate a bit on why you did not choose GraphMap as a replacement? Isn't it more sensitive than minimap2?
It might even be an option to incorporate GraphMap as well and let the user to choose? :-) Though this means quite some work on your side I guess...

Well, the initial choice was pretty much arbitrary - we were looking for a BLASR replacement. I did not do any benchmarks myself, but according to Heng Li's preprint minimap2 is more sensitive - https://arxiv.org/abs/1708.01492. Plus, it is easier to integrate into the existing codebase (less extra dependencies). If you feel that GraphMap should work better, you are always welcome to propose changes via pull request :)


BGE: order data import records by createddate instead of id

Critical Changes
Changes

Explicitly order the data import rows in the BGE grid by CreatedDate, not Id.

Issues Closed
New Metadata
Deleted Metadata

**lurch: attach W-030467

Tracking W-030467


Add a PredictionExamples notebook to the tutorials

A few notes

Updated Project.toml to use Turing v0.13.0
Added StatsBase to Project.toml. the predict function wouldn't get exported without that (not sure if that's intentional or not, but installing Turing didn't install it)
Did this on a Mac, so changed render-example.bash to make it compatible to Mac OS (hopefully didn't screw something up. The conversion to markdown worked fine)

The code looks a bit ugly in parts, so I'd be happy to receive comments on that!

I think it's really rough at the moment. There is very little in the way of explanation -- this is currently more of an example than a tutorial. There needs to be more description and explanation of what's going on and why you're doing it.


fix(metrics): modify the 'path' of the built-in request metrics to path in the configuration file.

In order to prevent the number of metrics from exploding, modify the path of the built-in request metrics to the path in configuration file.
Signed-off-by: storyicon<EMAIL_ADDRESS>

Codecov Report

Merging #172 (c367347) into main (2be4fc3) will not change coverage.
The diff coverage is 40.00%.

@@           Coverage Diff           @@
##             main     #172   +/-   ##
=======================================
  Coverage   36.25%   36.25%
=======================================
  Files          14       14
  Lines        1015     1015
=======================================
  Hits          368      368
  Misses        599      599
  Partials       48       48

Impacted Files
Coverage Δ

proxy/proxy.go
53.69% <40.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


#1759 cases 30% slowdown when generating diagnostics

When changing swift-parser-cli performance-test to also fold operators and generate diagnostics (like the SourceKit stress tester does), then https://github.com/apple/swift-syntax/pull/1759 causes a 30% slowdown.
Steps to Reproduce

Apply the following diff to SwiftSyntax

diff --git a/Sources/swift-parser-cli/Commands/PerformanceTest.swift b/Sources/swift-parser-cli/Commands/PerformanceTest.swift
index 5b3c0afa..844fdaaa 100644
--- a/Sources/swift-parser-cli/Commands/PerformanceTest.swift
+++ b/Sources/swift-parser-cli/Commands/PerformanceTest.swift
@@ -14,6 +14,9 @@ import _InstructionCounter
 import ArgumentParser
 import Foundation
 import SwiftParser
+import SwiftOperators
+import SwiftSyntax
+import SwiftParserDiagnostics

 struct PerformanceTest: ParsableCommand {
   static var configuration = CommandConfiguration(
@@ -42,7 +45,11 @@ struct PerformanceTest: ParsableCommand {
     for _ in 0..<self.iterations {
       for file in files {
         file.withUnsafeBytes { buf in
-          _ = Parser.parse(source: buf.bindMemory(to: UInt8.self))
+          var tree = Parser.parse(source: buf.bindMemory(to: UInt8.self))
+          if let foldedTree = OperatorTable.standardOperators.foldAll(tree, errorHandler: { _ in }).as(SourceFileSyntax.self) {
+            tree = foldedTree
+          }
+          _ = ParseDiagnosticsGenerator.diagnostics(for: tree)
         }
       }
     }

Save the following file to /tmp/i/input.swift

//  Copyright (c) 2015 Rob Rix. All rights reserved.

#if swift(>=4.2)
#if compiler(>=5)

// Use Swift.Result
extension Result {
	// ResultProtocol
	public

extension Result {
	/// The compatibility alias for the Swift 5's `Result` in the standard library.
	///
	/// See https://github.com/apple/swift-evolution/blob/master/proposals/0235-add-result.md
	/// and https://forums.swift.org/t/accepted-with-modifications-se-0235-add-result-to-the-standard-library/18603
	/// for the details.
	public typealias Success = Value
	/// The compatibility alias for the Swift 5's `Result` in the standard library.
	///
	/// See https://github.com/apple/swift-evolution/blob/master/proposals/0235-add-result.md
	/// and https://forums.swift.org/t/accepted-with-modifications-se-0235-add-result-to-the-standard-library/18603
	/// for the details.
	public typealias Failure = Error
}

extension Result {
	// MARK: Constructors

	/// Constructs a result from an `Optional`, failing with `Error` if `nil`.
	public init(_ value: Value?, failWith: @

extension Result: CustomStringConvertible {
	public var description: String {
		switch self {
		case

extension Result: CustomDebugStringConvertible {
	public var debugDescription: String {
		return description
	}
}

extension Result: ResultProtocol {
	/// Constructs a success wrapping a `value`.
	public init(value: Value) {
		self =

extension Result where Result.Failure == AnyError {
	/// Constructs a result from an expression that uses `throw`, failing with `AnyError` if throws.
	public init(_ f:

// MARK: - Equatable

#if swift(>=4.2)
#if !compiler(>=5)
	extension Result

#if swift(>=4.2)
	// Conformance to `Equatable` will be automatically synthesized.
#else
	extension Result where Result.Success: Equatable

// MARK: - Derive result from failable closure

@available(*, deprecated, renamed: "Result.init(attempt:)")
public func

@available(*, deprecated, renamed: "Result.init(_:)")
public func

// MARK: - ErrorConvertible conformance

extension NSError: ErrorConvertible {
	public static func error(from error: Swift.

// MARK: - migration support

@available(*, unavailable, message: "Use the overload which returns `Result<T, AnyError>` instead")
public func

@available(*, unavailable, message: "Use the overload which returns `Result<T, AnyError>` instead")
public func

#if os(macOS) || os(iOS) || os(tvOS)

// MARK: -

import Foundation

Run swift-parser-cli performance-test --directory /tmp/i --iterations 1000

On my local machine I’m seeing an instruction count of ~27.000.000 before https://github.com/apple/swift-syntax/pull/1759 and ~36.000.000 after that PR. That’s a >30% slowdown.

Tracked in Apple’s issue tracker as rdar://111332992


ThreeFold Now - Stakeholder Feedback

Please provide your feedback on the new ThreeFold now subpage. It is currently on staging on https://www2.threefold.io/TFNow.html

First that caught my eye:

Messaging/text needs an update as well. More on that here: https://secure.threefold.tech/pad/#/2/pad/edit/FQWCRZeGzMXY46p6aMRzmA7f/

Thanks for the constructive input Kristine. All changes are on the way, besides the header image. Would like to get more feedback from stakeholders regarding the direction. Your idea with the sprinting figure is nice though.

These three points kind of lead to the direction - also we can make it more personal & direct:
Don't be a product anymore

Today, most cloud services, websites & applications collect, use and sell user data. Data is the most valuable asset on earth. Take back the value that should be only yours.

Experience true decentralization

The ThreeFold Grid is the largest decentralized grid on the planet and enables edge storage and compute at a fraction of the cost of centralized clouds and with many advantages.

A private & secure experience

A decentralized environment provides real privacy and security. With ThreeFold Now, only you can access and share your data, no one else, not even ThreeFold.

*Also make sure spacing is consistent across the page...
Good work @maximilianrang

Thank you Sacha. Will implement your text suggestions on staging.


Support for idiomatic endpoints in protobuf

What this does?
Bumps skeuomorph and adds support for idiomatic endpoints in proto
Checklist

[ ] Reviewed the diff to look for typos, println and format errors.
[ ] Updated the docs accordingly.

@juanpedromoreno nice catch. Docs updated in cc526c7


Support for UITableViewStyleGrouped and changing mainImage

At the moment, MGSpotyViewController doesn't handle UITableViewStyleGrouped very well, allowing the backing view to be visible alongside the overView behind the cells (especially when scrolling). Also, there's no way to properly change the mainImageView image after its initial setup (the image backing is not visible from other classes). This means there's no way to "lazy load" imagery and prevent lengthy delays if the main image needs to be pulled from the server. Love the utility besides these drawbacks! I'm sure they'd be solved by simply using header-declared properties instead of ivars.
Let me know if you have any plans to resolve these issues, or if you wouldn't mind me submitting a pull request for them myself :)

Done


make build_m1 command not working

Expected Behavior
make build_m1  should work for mac m1

Actual Behavior
reeta@Reetas-MacBook-Pro slim % make build_m1
'/Users/reeta/git/slim/scripts/src.build.m1.sh'
~/git/slim ~/git/slim
fatal: No names found, cannot describe anything.
make: *** [build_m1] Error 128
reeta@Reetas-MacBook-Pro slim %

Steps to Reproduce the Problem

clone the repo
cd slim
make build_m1

Specifications

Version: latest source from main
Platform: Mac m1

thank you for fixing it!

closed by https://github.com/slimtoolkit/slim/pull/574


Icon color disappears when I add Attributed Stroke

@0x73
Whenever I add a stroke to my Icon, the stroke outline is there but the Icon color either disappears or is completely transparent

@0x73 close without addressing the issue?


allow custom ignored-mount-points

You have some default variables commented out here that I'd like to use. Is there another way to do this?

You should override node_exporter_enabled_collectors in your playbook or any other place that is further in ansible variable precedence list than "role defaults"


Update for new ember-cli-deploy compatibility

Hello @duizendnegen
This should make the plugin compatible with both ember-deploy and the new ember-cli-deploy. In order to do so, I've removed the dependency on the Adapter and replaced it with CoreObject. Additionally, the tagging adapter is passed in so there is no need to instantiate the tagging adapter directly.
I however do not have an azure account and was unable to verify this code with the plugin. Please take a look and let me know if you have any questions.

Thank you! I just tested this and this works just fine.


Decompose dangerfile into separate rule plugins

RFC: We can build out Danger to do a lot more interesting checks in the future that are relevant to our codebase. This change moves each Danger check into its own file, each of these can be a separate rule/check for the pull request. Danger calls these plugins http://danger.systems/js/usage/extending-danger.html#writing-your-plugin
Its important to note the way danger works is by stripping out the import { ... } from 'danger' line before executing so we need to update the eslintrc file to understand that the danger variables are indeed globals in each of these rule files.

Deploy preview for gestalt ready!
Built with commit 30e67ece2625811005e36b5cd1d9b1493437805f
https://deploy-preview-253--gestalt.netlify.com

Works for me @chrislloyd! No strong opinions on where to put these so makes to me

Warnings

:warning:

:memo: CHANGELOG - Please add a CHANGELOG.md entry for your changes

  Generated by :no_entry_sign: dangerJS

Codecov Report

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

@@           Coverage Diff           @@
##           master     #253   +/-   ##
=======================================
  Coverage   70.73%   70.73%
=======================================
  Files          46       46
  Lines         820      820
  Branches      189      189
=======================================
  Hits          580      580
  Misses        169      169
  Partials       71       71

Continue to review full report at Codecov.

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


[Doc] add scala user doc

What do these changes do?
add scala user doc

Related issue number

Closes #1024
Check code requirements

[ ] tests added / passed (if needed)
[ ] Ensure all linting tests pass, see here for how to run them

Hi @pjfanning , I just add a simple scala doc. It would be great if you can take a look at it.

I did a quick test with Scala List and it looks like a lot of internal Scala classes are needed under the hood and they all need to be explicitly registered (unless you disable the need for registration).
I can come back to this but it could take a while. I suspect that the list of Scala library classes that need to be registered is going to be very large.
To make matters worse, Scala 2.13 rewrote a lot of Scala code relating to the collections - so the internal classes will be different from Scala 2.12. Any code to register a curated list of Scala library classes will need to try to register classes but move on if some of them fail.
This could be a fair amount of work.

That would be an issue. Registered should be stable across scala versions.
Do we need to support registration check for some clas pattern such as scala.collection?

Hi @pjfanning , do you think we should merge this pr now, or hold it until we have a more scala-native serialization support?
There are some fury scala users already: https://github.com/alipay/fury/issues/1029

It's fine to merge as is.


Replace Get-IefPoliciesAddCommon with Add-IefPoliciesAADCommon

This cmdlet no longer needs to return the variable, configurable values for Ext app - they are automatically repalced by import. The Add- cmdlt should simply add this claims provider to extensions.

AAD-Common now added automatically when New-IefPolicies executes.


Give JNord perms on m2release

Description
Given @jtnord is the maintainer of m2release  plugin give him permissions to release it...
/cc @imod

Permissions pull request checklist

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[ ] Make sure the file is created in permissions/ directory
[ ] artifactId (pom.xml) is used for name (permissions YAML file).
[ ] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[ ] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

Looking at older releases of the plugin (and there are no recent releases), @jtnord created all of them -- just the initialization of this repo considered them too old to be relevant. So this is just restoring maintainer permissions…


null in tags leads to exception

Describe the bug

If there is a null in a tag an exception is thrown. This might not be a bug because the event is in theory invalid but I think having fault tolerance is beneficial. You can close this issue if you disagree.
To Reproduce

        val json = """
            {
              "content": "This is what we should be doing with your lives  nostr:npub1saq2yucll8apcw4qcts0n7s98shjyu4jlhejtcz9tp98m2073lcqw5r0vt\n\nnostr:note1q5rtu5edkcg8krl3fu6d7lhunz368g9z0xykmhytq395q88uuytqdk0r28 ",
              "created_at":<PHONE_NUMBER>,
              "id": "ffcaf31e14842f744d05c24d3ddc8651a86c55e5245f5985d42bfd6117c1756f",
              "kind": 1,
              "pubkey": "06830f6cb5925bd82cca59bda848f0056666dff046c5382963a997a234da40c5",
              "sig": "00c55b36f8fb2c282b4731855a4b4fb6a1f65b2d5238a0c85e826c1b71565790e3c4b6e91cec095c18cfb9aeb1ddb25c24834243bfff4151822b82d6e8df1afd",
              "tags": [
                [
                  "p",
                  "8740a2731ff9fa1c3aa0c2e0f9fa053c2f2272b2fdf325e045584a7da9fe8ff0",
                  "",
                  "mention"
                ],
                [
                  "e",
                  "0506be532db6107b0ff14f34df7efc98a3a3a0a279896ddc8b044b401cfce116",
                  null,
                  "mention"
                ]
              ]
            }
        """.trimIndent()
        Event.fromJson(json = json)

Expected behavior

Treat null as an empty string ""
Build environment

Library:  nostr
Language:  Kotlin
Language version:  0.12.1
Tag/commit:
OS+version:

Additional context

It's possible a fix but add more code to handle it, so IMO should be fixed the client that generated that invalid event.


Memory leak with set/getToolOptions

There is an issue with the new set / get tool options module which was used to help replace jQuery's passing of additional data (e.g. mouse button mask) into event handlers. It never clears the data, not even if the element or tools are disabled.
Relevant code is here:
https://github.com/cornerstonejs/cornerstoneTools/blob/master/src/toolOptions.js
Options:

We could set up a 'clearToolOptions' function to be run when a tool is disabled
We could attach a listener for 'cornerstoneelementdisabled' to clear all element-specific data when an element is disabled
We could update cornerstone core to incorporate an optional callback to run when an element is disabled, and we could register clearToolOptions to run in this callback.

Not exactly sure what's cleanest, so I'm open to suggestions, and of course pull requests, should anyone wish to fix this themselves!


Reduce diffs with the 1.8.0 SDK

This updates outdated components that lagged behind the 1.8.0 SDK and reduces non-semantic changes to make updating easier.
I got about halfway through the diffs before deciding that the pull request was getting large and that further changes should go in a separate pull request.

https://ocd.appscale.com:8080/job/Daily Build/4953/

@jeanleonov When reducing diffs, I compare the AppServer directory with the target version directory (in this case, 1.8.0) with a diff tool. For every diff, I check:

Is this an AppScale-related change?
Does this come from an earlier SDK?
Does this come from a later SDK?

Sometimes it's tricky to determine which category the diff falls under, but I find it's helpful to use a git annotation tool to see the commit message and date associated with the lines.
If it's an AppScale-related change, I try to add a comment that indicates as much.
If it's from an earlier SDK, I bisect previous versions until I find the SDK where that portion is updated. If one of the lines is distinctive enough, it's often faster to search a directory (containing a bunch of unpacked SDKs) for the line and see the earliest ref. When I commit, I include the SDK version where that change was introduced in the commit message.
If it's from a later SDK, I ignore it. When we finally upgrade to that SDK, it will no longer be a diff.


Debugger not showing local variable values

The array value variable isn't showing in the viewer window
Code - _7HM9kb3UPA3k

@riknoll can you verify if this is a regression?

This is fixed.


Add possibility to use libqasm to read a cqasm3.0 string

Circuit.from_string(cqasm_string, use_libqasm=True)

use_libqasm is False by default
That should be changed ASAP when we are proud of it


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:27: python_build_tool_in_run: The python build tool setuptools is in run depends
ERROR: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:44: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:44: missing_description: The recipe is missing a description
ERROR: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:44: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_38qztu_wgp/clone/recipe/meta.yaml:44: missing_license_family: The recipe is missing the about/license_family key.
Errors were found


VSCode & Task Output freezing, printing and sleeping

VSCode Version: 0.10.11
OS Version: Windows 10

I encountered some odd behaviors in VSCode, when using tasks and the output window.
I'm currently doing some Python and has setup a task, for ease of execution using
Ctrl+Shift+B.

The main issue is that VSCode opens the output window when the task starts (given that "showOutput": "always" is true), but output is first appearing when the task has ended.
The following text first appears in the output window 10 seconds after the task is started (i.e. when the task is done).
from time import sleep

for i in range(10):
    print(i)
    sleep(1) # seconds

What makes this further confusing it that the following never prints anything (as expected, due to the above).
from time import sleep

while True:
    print("Freeze")
    sleep(1) # seconds

But change the delay to 10 milliseconds and suddenly the output window is filled with "Freeze" every 4-10 seconds.
from time import sleep

while True:
    print("Freeze")
    sleep(0.01) # seconds

I changed the delay to 100 milliseconds instead of 10 milliseconds, and "Freeze" first appeared after 2-3 minutes in the output window.

Also removing the sleep command entirely, ends up in VSCode freezing completely.
Something interesting in this case, is that "Freeze" appears once. Then after 10-20 seconds, the output window is then again filled with "Freeze", while VSCode is still totally frozen. While the only solution being to kill VSCode with the task manager.
while True:
    print("Freeze")

Also something that is worth mentioning. As (obviously) it's an output window, and not an input window. When the running task tries to read from the standard input (raw_input()/input() in Python) the task just stops.
As a feature request it would be nice to have an input/output window, instead of just an output window. If not, then just at least some prompt for closing the running task, instead of just having it frozen and hidden away in the background, not knowing what is happening.

@isidorn changed quite some code here for March milestone. Need to check if this behavior got better.

@dbaeumer to verify that the improvements for March improve this.

I still see the freeze on latest. @isidorn, @bpasero  I though the output window throttles.

I profiled it and the time is still spent mostly in the Output Window (see attached screen shot, self time)

In the sleep 1 seconds case the child process managed by node never receives any output data. I have no idea right now why this is the case.

There seems to be some buffering involved. In data comes in 8KB chunks. If only written every second then it takes a while until 8K are full.

If I do the same in node the text appears immediately. So it looks like the buffering happens somehow on the python side. The node code is:
setInterval(function() {
    console.log('Freeze');
}, 1000);

Given the complexity of this I will investigate more for April.

@dbaeumer can you attach the CPU snapshot so that we can drill into the output editor input?

Reading through the Python docs it looks like that python buffers stdout & stderr when running as a child process. Calling python with the -u switch works as expected.

Wasn't able to reproduce the freeze on latest alpha. Closing.


Update Chronos default memory usage

Update Chronos memory usage so we can successfully process jobs without
out of memory errors

@jsancio or @ConnorDoyle, please take a look when you have a chance. This was tested.


Certificate Rotation

For mTLS is there any documentation on the validity of the certificates? How long are the certificates valid for and are they rotated automatically or not? Is the root CA also rotated automatically upon expiration? Is there a way to rotate the private keys? Can we trigger the rotation manually?

90 days - https://istio.io/help/faq/security/
Automatic rotation AFAIK.

@adityats2020 I just checked the CA and it's valid for 1 year, I checked a few other certificates created which are valid for 90 days

This seems a new document https://istio.io/docs/ops/security/root-transition. So this means CA certificates are not rotated automatically, is there a plan to automate this?

IIRC the root certificates are now valid for 10 years.

@adityats2020 not automatic or triggered rotation sounds dangerous and I wonder why both kubernetes and istio chose to go down this path
do you know if what happens to the intermediate ca certificates and certificate chain when self signed certificates are disabled, will at least those be rotated automatically?

@tushar00jain
Expiration of root CA (Citadel) certificates:

if self-signed, expiration is long (>1y IIRC)
if imported - whatever is set by the cert's creator
It is currently your responsibility to rotate these. There have been some design attempts to automate this process, but I don't think they were merged (@wattli ?)

workload certificates used in mTLS are automatically rotated by Citadel and have a short lifetime (<1h, IIRC).
Hope this answers your questions

@elevran
I see root CA is 10 years now. Does the intermediate CA count as a workload certificate or is it also subject to being our responsibility to rotate also?
BTW k8s has an issue to rotate CA here https://github.com/kubernetes/kubeadm/issues/1350, can Istio also do the same? If it's our own responsibility, I'd be more inclined to canary migrate to a new cluster

This is done. We have released the automatic cert rotation in 1.4. @JimmyCYJ for visibility.

@elevran @incfly  @tushar00jain  @adityats2020
We are plugging in existing CA certificates as mentioned in this https://istio.io/latest/docs/tasks/security/cert-management/plugin-ca-cert/
Could you please let me know, Root CA, Intermediate CA will be rotated automatically upon expiration? Will there be any downtime during this process?


add branch detection functionality

I found some time to implement the branch detection functionality for this repository as well. This PR adds two new files branches.py and core_graph.py. The latter implements re-usable functions that compute hdbscan-like clusters from a kNN--MST union graph with edges weighted by given data-point lens values. The former uses those functions to compute branches with a per-cluster eccentricity lens.
Like #667 on the Cython implementation, this PR adds a persistence threshold to the hdbscan interface and supports overriding the cluster labels in the BranchDetector. In addition, I simplified a couple of functions without changing their function. Finally, I added a compute_minimum_spanning tree entry point so future external projects can use the sequence compute_minimum_spanning_tree, compute arbitrary lens value, core_graph_clusters to extract clusters on arbitrary functions under core distance connectivity.
Feel free to let me know if things need to change to better fit the project. I'll add review comments to explain the most important code changes below.

Let me know when this is ready for a full review.


fix: fixes config creation

read from proper config file entries

Coverage remained the same at 100.0% when pulling f37b03d03e9b8837e478afbbb4d32bd95fad13b1 on fixes-config-file into 0112aa0ba11c15ac429705575732ef8b249f3ec0 on master.


support of mac with m1 pro chip

Hi there, I tried to follow the example in README and got following error:
ImportError: dlopen(/Users/xxx/for-rustimport/playground/lib.cpython-39-darwin.so, 0x0002): tried: '/Users/xxx/for-rustimport/playground/lib.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/xxx/for-rustimport/playground/lib.cpython-39-darwin.so' (no such file), '/Users/xxx/for-rustimport/playground/lib.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

Does rustimport support m1 pro chip? Thanks.
My env:
Macbook Pro 14, macOS 13.4.1
python 3.11
venv

Hm, this should work and afaik people have successfully used rustimport on M1 already.
Sadly, I know little about macOS and also don't own a mac so I can't reproduce this myself. However, from searching around I see that this might have to do with your llvm installation. Could you try following these steps - https://stackoverflow.com/a/71925201?
And if that doesn't help, could you try setting these environment variables before running your script?
export ARCHFLAGS="-arch x86_64 -arch arm64"
export PYO3_CROSS_LIB_DIR=/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.11/lib
export RUSTIMPORT_FORCE_REBUILD=true

With ARCHFLAGS and RUSTIMPORT_FORCE_REBUILD, it works.
Thanks for the reply.


Check cross-platform build - Windows

I am not sure that the code will build under windows - particularly:
https://github.com/woodcoder/circa/blob/main/circa.c#L190
The autoconf script creates a config.h with a bunch of #defines so it feels like this should be easy enough to make work with a few #ifdefs.

Closed, but this is a bit of a cheat, as it's building using WSL.


RateLimiter - consider whole operation execution time

Closes #246

Considering comment.
DurationRateLimiterAlgorithm.FixedWindow tracks number of running operations and doesn't replenish number of permits that running operations are "blocking".
DurationRateLimiterAlgorithm.SlidingWindow adds entry to log only after the operation is finished. This means that we consider end of operation as a point where we can replenish permits after per passes.
These changes mean that fixed window behaves in example as specified in the comment.
For sliding window consider this example:
We have three types of operations - instant, short(300 millis), long (3 seconds)
val rateLimiter = RateLimiter.slidingWindow(3, FiniteDuration(1, "second"), OperationDuration)

forkUserDiscard:
  result1 = rateLimiter.runOrDrop(shortOperation)
forkUserDiscard:
  result2 = rateLimiter.runOrDrop(shortOperation)
forkUserDiscard:
  result3 = rateLimiter.runOrDrop(longOperation)
forkUserDiscard:
  sleep(1500.millis)
  result4 = rateLimiter.runOrDrop(instantOperation)
  result5 = rateLimiter.runOrDrop(instantOperation)
  result6 = rateLimiter.runOrDrop(instantOperation)

After 1.5 second, two of three operations ended(at 0.3 seconds, so one full second passed since then), so we should have 2 available permits. Since at this point long operation is still running, we drop last operation and result6 is None

@Kamil-Lontkowski thanks, this looks much better. I left some comments - I think it's especially worthwhile describing how the modified algorithms work (for our future selves :) ), and how they differ from the other mode counterparts.

And yes, I think the token bucket only makes sense in the original mode

Thanks! :)


Allow writing of threshold dates with friendly date names

Is your feature request related to a problem? Please describe.
Due dates can be entered quickly and easily with friendly date names like "tomorrow," "Wednesday," "next month," etc. Threshold dates, on the other hand, have to be entered in the precise format of YYYY-MM-DD.
Describe the solution you'd like
Allow threshold dates to be entered with friendly date names such as "tomorrow," "Wednesday," "next month," etc., just like due dates can.

Hi @loopernow this has been added to the latest developer preview: https://github.com/ransome1/sleek/releases/tag/v2.0.0-dev5
Please feel free to provide some feedback, if this works as expected. Before testing it, please backup your todo.txt file.


fix minor typo

It should be Cambridge University, see here:
https://github.com/gabors-data-analysis/da-coding-rstats#:~:text=com or visit-,Camridge,-University Press
To

yep


CMake Build error

I tried to update the version in order to see which instances the CGSHOP server is rejecting my solutions.
My teammember also has exactly this problem on Windows when using WSL. It seems somewhere in the cmake structure a 'tests' subdirectory is not being found, however the tests directory seems to have a CMakeLists.txt. Commenting this out in CMakeLists.txt also did not help.
Here are the most relevant parts of the error; ( I can provide more if needed, it's fairly long...).
 pip install --upgrade cgshop2023-pyutils
Defaulting to user installation because normal site-packages is not writeable
Collecting cgshop2023-pyutils
  Using cached cgshop2023_pyutils-0.2.2.tar.gz (34 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: requests>=2.25.1 in /usr/lib/python3/dist-packages (from cgshop2023-pyutils) (2.25.1)
Requirement already satisfied: networkx>=2.5.1 in /home/rolf/.local/lib/python3.10/site-packages (from cgshop2023-pyutils) (2.8.7)
Requirement already satisfied: chardet>=4.0.0 in /usr/lib/python3/dist-packages (from cgshop2023-pyutils) (4.0.0)
Building wheels for collected packages: cgshop2023-pyutils
  Building wheel for cgshop2023-pyutils (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cgshop2023-pyutils (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [351 lines of output]
      Configuration:
      [settings]
      arch=x86_64
      arch_build=x86_64
      build_type=Release
      compiler=gcc
      compiler.libcxx=libstdc++
      compiler.version=11
      os=Linux
      os_build=Linux
      [options]
      [build_requires]
      [env]

     ....

      --------------------------------------------------------------------------------
      -- Trying "Ninja" generator
      --------------------------------
      ---------------------------
      ----------------------
      -----------------
      ------------
      -------
      --
      Not searching for unused variables given on the command line.
      -- The C compiler identification is GNU 11.3.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- The CXX compiler identification is GNU 11.3.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_cmake_test_compile/build
      --
      -------
      ------------
      -----------------
      ----------------------
      ---------------------------
      --------------------------------
      -- Trying "Ninja" generator - success
      --------------------------------------------------------------------------------

      Configuring Project
        Working directory:
          /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_skbuild/linux-x86_64-3.10/cmake-build
        Command:
          cmake /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_skbuild/linux-x86_64-3.10/cmake-install -DPYTHON_VERSION_STRING:STRING=3.10.6 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.10.so -DPython_EXECUTABLE:PATH=/usr/bin/python3 -DPython_ROOT_DIR:PATH=/usr -DPython_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPython_FIND_REGISTRY:STRING=NEVER -DPython_NumPy_INCLUDE_DIRS:PATH=/usr/lib/python3/dist-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3 -DPython3_ROOT_DIR:PATH=/usr -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_NumPy_INCLUDE_DIRS:PATH=/usr/lib/python3/dist-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release

      -- The CXX compiler identification is GNU 11.3.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Using CCache
      CMake Warning at cmake/CPM.cmake:62 (message):
        Your project is using an unstable development version of CPM.cmake.  Please
        update to a recent release if possible.  See
        https://github.com/cpm-cmake/CPM.cmake for details.
      Call Stack (most recent call first):
        CMakeLists.txt:19 (include)

      -- CPM: adding package<EMAIL_ADDRESS>(9.1.0)
      -- Module support is disabled.
      -- Version: 9.1.0
      -- Build type: Release
      -- CXX_STANDARD: 17
      -- Performing Test has_std_17_flag
      -- Performing Test has_std_17_flag - Success
      -- Performing Test has_std_1z_flag
      -- Performing Test has_std_1z_flag - Success
      -- Required features: cxx_variadic_templates
      -- Conan: Using autogenerated FindCGAL.cmake
      -- Found CGAL: 5.3.2 (found version "5.3.2")
      -- Conan: Using autogenerated FindBoost.cmake
      -- Found Boost: 1.75.0 (found version "1.75.0")

.... (Finding more libraries)

      -- Conan: Using autogenerated Findnlohmann_json.cmake
      -- Found nlohmann_json: 3.11.2 (found version "3.11.2")
      CMake Error at CMakeLists.txt:67 (add_subdirectory):
        add_subdirectory given source "tests" which is not an existing directory.

      -- CPM: adding package<EMAIL_ADDRESS>(v2.10.0)
      -- pybind11 v2.10.0
      -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.10.6", minimum required is "3.6")
      -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so
      -- Performing Test HAS_FLTO
      -- Performing Test HAS_FLTO - Success
      -- Configuring incomplete, errors occurred!
      See also "/tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_skbuild/linux-x86_64-3.10/cmake-build/CMakeFiles/CMakeOutput.log".
      Traceback (most recent call last):
        File "/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/skbuild/setuptools_wrap.py", line 632, in setup
          env = cmkr.configure(
        File "/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/skbuild/cmaker.py", line 334, in configure
          raise SKBuildError(

      An error occurred while configuring with CMake.
        Command:
          cmake /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_skbuild/linux-x86_64-3.10/cmake-install -DPYTHON_VERSION_STRING:STRING=3.10.6 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.10.so -DPython_EXECUTABLE:PATH=/usr/bin/python3 -DPython_ROOT_DIR:PATH=/usr -DPython_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPython_FIND_REGISTRY:STRING=NEVER -DPython_NumPy_INCLUDE_DIRS:PATH=/usr/lib/python3/dist-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3 -DPython3_ROOT_DIR:PATH=/usr -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_NumPy_INCLUDE_DIRS:PATH=/usr/lib/python3/dist-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/tmp/user/1000/pip-build-env-ohl26poh/overlay/local/lib/python3.10/dist-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
        Source directory:
          /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe
        Working directory:
          /tmp/user/1000/pip-install-nm4h1zxp/cgshop2023-pyutils_66df537ae9484c648ca2a6b67d28d2fe/_skbuild/linux-x86_64-3.10/cmake-build
      Please see CMake's output for more information.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cgshop2023-pyutils
Failed to build cgshop2023-pyutils
ERROR: Could not build wheels for cgshop2023-pyutils, which is required to install pyproject.toml-based projects

Interesting. The problem is with
      CMake Error at CMakeLists.txt:67 (add_subdirectory):
        add_subdirectory given source "tests" which is not an existing directory.

which happens because the tests have not been packed but are in the CMakeLists.txt.
Can you install the package by cloning the repo and simply running pip install . in it?
If this is the problem, it is trivial to fix for us.

Should also be fixed in the new release v0.2.4

pip install . indeed works; If I was more experienced with pip/python I would probably have tried that too.
Thanks for your help.

Great! Thanks for reporting this bug, as it seems not to happen on all platforms. We made the CMake more robust. It should now also work simply using the original command without cloning the repository.