User impersonation at chart level

Feature:
Ability to install a chart for a different persona to the user calling the Helm CLI or Helm library.
Use Case:
A user logs into a portal that provides the ability to install charts.  The user is assigned to a team, which grants the user access to specific resources on the system:  namespaces, repositories, and charts within the repository.  The user is also assigned a role on the specific team which controls what actions the user may perform, such as a viewer or an editor.
On the UI, there is a catalog of charts to which the user has been given access.  The user selects one of the charts, updates the configuration values, and clicks install.  The request is sent to a backend processor for installing the chart.  The backend retrieves the user identify from an access token the user was assigned when logging into the portal, and the backend maps the teams to which the user is assigned to a set of groups for the user.
The backend service has been given the right to perform user impersonation, and includes the user identity and groups in impersonation headers that are sent to Kubernetes.  Kubernetes validates the backend service and since it is able to impersonate users, accepts the user identity and user groups passed in the impersonation headers.
The key is the user does not use the helm library directly but is used instead by the backend service on behalf of the user.

@adamreese As we discussed.

We can create kubernetes api objects as a user, but I am not sure how a chart would map to a specific user.  Can you add your use case.  Thanks!

@adamreese I added a use case to the description. Let me know if you need more details.

If I'm understanding this correctly, you're asking to support the --as and --as-group flags similar to kubectl. Those flags are how kubectl interacts with the user impersonation API. Is this right, or is there something else here?
A solid use case example would be helpful here.

@bacongobbler More details provided in description as requested. Let me know if anymore details needed.

I'm looking for something similar as well. Here's what my use case looks like:

UI talks to a backend service with user context ( token in header ).
The backend service uses the helm cli with user impersonation to talk to the API server do a "helm install".

closing as inactive.

user impersonation is basically "sudo" for kubernetes. no need for everybody to always run around with full admin permissions if they just view things most of the time.
in our clusters nobody has permission to change anything by default. you must always impersonate an admin user in order to make changes... just like sudo.
so if i need to install a helm chart, i must have some way to impersonating the correct admin user.
here's how i use kubectl:
$ kubectl --as cluster-admin <create/delete/modify cluster resources>
$ kubectl --as my-namespace-admin <create/delete/modify namespace resources>

it forces people to think about what they're about to do and allows them to limit the scope to what can possibly get destroyed if they make a mistake.
would it not be straight-forward to add an --as option to helm?

here's the kubes rbac that goes along with this:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: admin
  namespace: app-team1
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: admin
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: app-team1-admin
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: app-team1-admin-impersonate
rules:
- apiGroups: [""]
  resources: ["users"]
  verbs: ["impersonate"]
  resourceNames: ["app-team1-admin"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: app-team1-admin-impersonate
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: app-team1-admin-impersonate
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name<EMAIL_ADDRESS>

This was exactly what I was looking for (and --as and --as-group) option in helm3 to work with our RBAC policies. I'm sad to see the only two issues related closed.

issues can be reopened if there's activity. Just saying. ;)
Re-opening due to resurging interest. @crookedstorm please feel free to work on a patch to implement this if you need this for your RBAC policies. Have a look at https://github.com/helm/helm/pull/7230 for ideas.

FYI this can be worked around by setting the proper fields in your ~/.kube/config file. We just don't have a CLI flag available to pass this flag to kubectl's clients on-the-fly.

Here is an example of how to create a proper impersonated user in your ~/.kube/config:
users:
- name: myuser-as-admin
  user:
    # Normal credentials here, could be client certs, exec, whatever
    username: myuser
    password: password123

    # Impersonation information below
    as: admin
    as-groups:
      - myorg:admins
    as-user-extra:
      reason:
        - helm

( derived from https://github.com/istio/istio/issues/22365#issuecomment-610419899 )

@bacongobbler I'm looking at supporting this properly in helm, to support fluxcd/helm-controller's multi-tenancy model for gitops-toolkit.

Didn't end up needing any special code in helm-controller, because we can control the client restmapper settings via code, but I was able to get this working with the helm cli.


Research and Define the Threats for Our Business

User Story- I want to identify and address potential threats to our business so that we can proactively mitigate risks and enhance our overall organizational resilience.
Actions- Initiate a comprehensive analysis of the business environment to identify potential threats.
Results- Identified Threats that will effect our business.

Threats- Sharing competitive markets with consumer preferences. Economic factors have a huge play in which it impacts spending on consumers.


Add check in the rpc that the class isn't already declared

Description
Everytime a declare transaction is sent madara will process it regardless of wether it's already declared or not. This should not be the case and we should check in the RPC if the class is already declared. If it is the rpc should return an error: Class already declared.
In order to check that you can use the runtime api like so:
self
      .overrides
      .for_block_hash(self.client.as_ref(), substrate_block_hash)
      .contract_class_by_class_hash(substrate_block_hash, class_hash.into())

If the value is Some then you should return an error Class already declared else you can proceed with the normal flow.

I can take this ser 🙌

@bajpai244 are you still working on this?

Hello @chirag-bgh, I was travelling back from a conference, so was away from keyboard.
I will attempt this today :)

@LucasLvy we talked about this and the current behavior on starknet mainnet/testnet is just to process the tx as it if was the first time. If we definitely can check if it is already declared to avoid useless compute, I think that for now we need to stick to the ecosystem de facto standard, ie responding with a success and the expected object

@ClementWalter, as discussed, according to the Starknet spec, there should be an error emitted by the sequencer.
Attaching the link here for people following this issue.

Hello everyone, so update on the task and the current blocker.
Update: the logic is complete, I have a test, and we return with the correct error code.
Blocker:
Since, the class hash "0x372ee6669dc86563007245ed7343d5180b96221ce28f44408cff2898038dbd"  has already been declared here, hence this test will fail.
So, to tackle that, I am trying to deploy some other contracts from the Madara cairo contract builds, till I have tried Counter.json and ERC721.json.
Interestingly, if I declare them with this class hash, which has been used above as well in the test, the declare pass { given I skip the first declare, otherwise an already deployed error will propagate }
But, if I declare them with their original class hash, the declaration fails:
BadSignature

It fails on validation at the account contract, @greged93 came up with more info on it:
Signature 028dc04b988a675b1bcd79ac4c250dd9ac94df7d38e13b99b73e6fd3787416490618139a9639ddc4bd2efdb5b4acf28d4f5df46d1a790cd3d273d43d4dc24660, is invalid, with respect to the public key<PHONE_NUMBER>177128997396356218568809711667570742336855665462700938352069314994,
    and the message hash<PHONE_NUMBER>799458379249726602119906446677633581575170863478276233453773209349.

Even in case of ERC20 declare, it fails if use any other class hash! How was "0x372ee6669dc86563007245ed7343d5180b96221ce28f44408cff2898038dbd" obtained as a class hash, and does anyone has any context on where this error could be orginating from?

Update: the above issue has been resolved, the trick is to use starkli for computing these class hashes.


Trying to dispose a StreamingConnectionHandler

Describe the bug
Trying to dispose a StreamingConnectionHandler, line 55 its adding another _onConnectionStatusChanged, I don't think this is right.
I was trying to dipose all the elements in my controller but it keep duplicating my streams and I found out why.
Lemme know if this is the expected, if is not, I will create a PR to fix this (changing to removeStreamingConnection)

To Reproduce
Steps to reproduce the behavior:

Just try to use the dispose method on StreamingConnectionHandler

Expected behavior
Maybe remove the stream from client?

Serverpod versions

_CLI Version: 1.2.7
_Library version: 1.2.7

Platform information
I'm running in windows

@Isakdl can you confirm for me?

@Katekko is it duplicating the stream itself or the items within the stream?

@Katekko is it duplicating the stream itself or the items within the stream?

The stream. Instead removing the stream in the client, its adding the same listener in the dispose method. I guess this need to be the remove instead the add

Let me clarify what I meant earlier. The issue isn't with the stream itself but with the duplication of the listener. Specifically, another listener is being added in the dispose method, even though a listener is already added when the StreamingConnectionHandler is created. If the listener wasn't added in the constructor, then the dispose method shouldn't be responsible for adding it either.


feat: Don't use the slow stylus resolver

Stylus has its own resolver, but it is slower and it doesn't work when importing a file from another package. It still works because stylus-loader has a fallback on webpack resolver in those cases. But it's faster and, I think, saner to use directly webpack resolver.
See https://github.com/shama/stylus-loader#prefer-webpack-resolving
For example, I've tried on cozy-settings, and yarn build takes 39s before this change, and only 31s after. I also think we win around 8s for yarn watch but it's harder to measure.

Does this work with files required with ~ (in this case ~ means node_modules) ?

I don't know.

I think we have some instances for example to apply to background-image from cozy-ui.

Do you have an example where we can test? I have only found one case in the cozy-bar, but it the bar doesn't use CCA or cozy-scripts.

I tested locally with a new repo, and it works.

It has other benefits for us, see https://github.com/cozy/cozy-banks/pull/977

Thanks @nono for this enhancement and @ptbrowne for testing it 👍


Main dialog box looks completely small

Expected Behavior
I expected the dialog box to open normally with a normal size but it opens a completely small menu
Actual Behavior
When installing the program for the first time, a screen immediately appears with a completely small dialog box and cannot be displayed correctly

Reproduction Steps
No response
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
10.0.0
What operating system are you using?
Windows
Operating System Version
Windows 10 Pro 22H2 19045.4894 Windows Feature Experience Pack 1000.19060.1000.0
Installation method
Web page of insomnia
Last Known Working Insomnia version
No response

You can go to View to select a specific zoom level

You can go to View to select a specific zoom level

Good morning, the menu you mentioned to zoom the screen does not even appear at the top of the window. That is, it is not currently visible when the program is opened in Windows.

Can you press CMD+0 (or CTRL+0) and see if this fixes your problem?
@gatzjames are we resetting the zoom to 0 by default whenever opening the application as a fail safe?

Can you press CMD+0 (or CTRL+0) and see if this fixes your problem?
@gatzjames are we resetting the zoom to 0 by default whenever opening the application as a fail safe?

Good morning dear, unfortunately this didn't work either, in fact I tried to change the resolution scaling from Windows and it didn't work either.


Review/revisions

@oconn @dehli
Learned how to do local state management (for pesky toggles/forms) - based off of this repo .
Made revisions from PR #91
Would love a once over before merging.

LGTM 👍 👍


After upgrade from 4.18.0 to 4.18.1 cloudstack-agent not starting

ISSUE TYPE

Other

COMPONENT NAME

CLOUDSTACK VERSION

CONFIGURATION

OS / ENVIRONMENT

SUMMARY
We are trying to upgrade from 4.18.0 to 4.18.1.
We have upgarde ,management node and its up with systemVM version 4.18.1 .
While upgrading hypervisors cloudstack-agent is not starting afetr package upgrade.
Below are logs :-
2024-02-02 14:26:39,507 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Implementation Version is <IP_ADDRESS>
2024-02-02 14:26:39,508 INFO  [cloud.agent.AgentShell] (main:null) (logid:) agent.properties found at /etc/cloudstack/agent/agent.properties
2024-02-02 14:26:39,546 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Defaulting to using properties file for storage
2024-02-02 14:26:39,546 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Defaulting to the constant time backoff algorithm
2024-02-02 14:26:39,580 INFO  [cloud.utils.LogUtils] (main:null) (logid:) log4j configuration found at /etc/cloudstack/agent/log4j-cloud.xml
2024-02-02 14:26:39,581 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Using default Java settings for IPv6 preference for agent connection
2024-02-02 14:26:39,655 INFO  [cloud.agent.Agent] (main:null) (logid:) id is 0
2024-02-02 14:26:39,665 ERROR [kvm.resource.LibvirtComputingResource] (main:null) (logid:) uefi properties file not found due to: Unable to find file uefi.properties.
2024-02-02 14:26:39,706 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Failed to find passphrase for keystore: cloud.jks
2024-02-02 14:26:39,709 INFO  [kvm.resource.LibvirtConnection] (main:null) (logid:) No existing libvirtd connection found. Opening a new one
2024-02-02 14:26:39,799 WARN  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Ignoring libvirt error.
org.libvirt.LibvirtException: Network not found: no network with matching name 'default'
at org.libvirt.ErrorHandler.processError(Unknown Source)
at org.libvirt.ErrorHandler.processError(Unknown Source)
at org.libvirt.Connect.networkLookupByName(Unknown Source)
at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.configure(LibvirtComputingResource.java:1081)
at com.cloud.agent.Agent.(Agent.java:190)
at com.cloud.agent.AgentShell.launchNewAgent(AgentShell.java:452)
at com.cloud.agent.AgentShell.launchAgentFromClassInfo(AgentShell.java:431)
at com.cloud.agent.AgentShell.launchAgent(AgentShell.java:415)
at com.cloud.agent.AgentShell.start(AgentShell.java:511)
at com.cloud.agent.AgentShell.main(AgentShell.java:541)
2024-02-02 14:26:39,916 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) IO uring driver for Qemu: disabled
2024-02-02 14:26:39,977 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor
2024-02-02 14:26:39,980 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.StorPoolStorageAdaptor
2024-02-02 14:26:39,980 WARN  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) Duplicate StorageAdaptor type PowerFlex, not loading com.cloud.hypervisor.kvm.storage.ScaleIOStorageAdaptor
2024-02-02 14:26:39,980 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.IscsiAdmStorageAdaptor
2024-02-02 14:26:39,981 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) No libvirt.vif.driver specified. Defaults to BridgeVifDriver.
2024-02-02 14:26:40,116 INFO  [cloud.serializer.GsonHelper] (main:null) (logid:) Default Builder inited.
2024-02-02 14:26:40,116 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) iscsi session clean up is disabled
2024-02-02 14:26:40,118 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Skipping the memory balloon stats period setting, since there are no VMs (active Libvirt domains) on this host.
2024-02-02 14:26:40,119 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) The [vm.memballoon.stats.period] property is set to '0', this prevents memory statistics from being displayed correctly. Adjust (increase) the value of this parameter to correct this.
We are using kvm native bridge as networking.
On management server we can see error in exception -
2024-02-02 14:46:06,722 DEBUG [c.c.a.m.AgentManagerImpl] (AgentConnectTaskPool-1175:ctx-9a210df2) (logid:139886e2) Failed to handle host connection:
java.lang.IllegalArgumentException: Can't add host: x.x.x.x with hostOS, "Red Hat Enterprise Linux"into a cluster, in which there are "Oracle Linux Server" hosts added.
STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

@yashi4engg
this is same issue as https://github.com/apache/cloudstack/issues/8026
you may find the workaround in the comments.

@weizhouapache -- we tried workarroun by replace redhat-release content with oracle-release file and now able to add node to cluster ...But somehow now unable to create VM with below error ...even we have enough resources .
2024-02-05 14:44:19,773 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-14:ctx-5789063c job-295587) (logid:5f922a22) Unexpected exception while executing org.apache.cloudstack.api.command.admin.vm.DeployVMCmdByAdmin com.cloud.utils.exception.CloudRuntimeException: Unable to start a VM [5ece1bb3-22c0-4482-86b3-eff04b2b7e38] due to [Unable to create a deployment for VM instance {"id":89770,"instanceName":"xyz-VM","type":"User","uuid":"5ece1bb3-22c0-4482-86b3-eff04b2b7e38"}]. at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:841) at org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.deployVirtualMachine(VMEntityManagerImpl.java:246) at org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.deploy(VirtualMachineEntityImpl.java:214) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:5401) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:5251) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:4876) at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:4865) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:52) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at com.sun.proxy.$Proxy185.startVirtualMachine(Unknown Source) at org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCmd.java:754) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:163) at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:112) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:620) at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52) at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:568) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM instance {"id":89770,"instanceName":"xyz-VM","type":"User","uuid":"5ece1bb3-22c0-4482-86b3-eff04b2b7e38"}Scope=interface com.cloud.dc.DataCenter; id=1 at com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:1226) at com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:5412) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... 18 more 2024-02-05 14:44:19,778 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-14:ctx-5789063c job-295587) (logid:5f922a22) Complete async job-295587, jobStatus: FAILED, resultCode: 530, result: org.apache.cloudstack.api.response.ExceptionResponse/null/{"uuidList":[],"errorcode":"530","errortext":"Unable to start a VM [5ece1bb3-22c0-4482-86b3-eff04b2b7e38] due to [Unable to create a deployment for VM instance {"id":89770,"instanceName":"xyz-VM","type":"User","uuid":"5ece1bb3-22c0-4482-86b3-eff04b2b7e38"}]."}

@yashi4engg
it would be good to share all the logs of the job

We were able to create VMs now and hosts also added back to cloudstack ... But still we had one question in mind.
Is there any change from 4.18.0 to 4.18.1 so it causes that issue where same hypervisors were added to cloudstack without any change in 4.18.0 but as soon as we upgraded 4.18.1 even OS version remained same and no updated in OS files it was unable to add and needed change in host.OS property.
Expected -- It shoul dadded back without any change as it was added earlier with same properties.

We were able to create VMs now and hosts also added back to cloudstack ... But still we had one question in mind.
Is there any change from 4.18.0 to 4.18.1 so it causes that issue where same hypervisors were added to cloudstack without any change in 4.18.0 but as soon as we upgraded 4.18.1 even OS version remained same and no updated in OS files it was unable to add and needed change in host.OS property.
Expected -- It shoul dadded back without any change as it was added earlier with same properties.

I agree with you @yashi4engg
any idea to fix it @DaanHoogland  ? This is related to #7570

If I read this correctly the file /etc/redhat-release was editted. this is not the correct procedure. Instead the host details for the hosts in the cluster should be updated. I see this didn t make it into the release notes.

@DaanHoogland  -- I agree with you but as a work around we did that. As host.OS propery already showing Oracle in DB but still host was unable to join cluster So we made this change and host was able to join.
You suggest to update host.os property to redhat rather then updating it to release file ?

I would sugest editing the host-detail in the database for the hosts in the cluster to match the contents of the redhat-release file. In that way freshly installed hosts should be able to join the cluster without further manipulation in /etc.
can you share the original contents of /etc/redhat-release and the value that you replaced it with?

cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)
cat /etc/oracle-release
Oracle Linux Server release 9.2
Now i have fixed the issue after updating Host.OS value in DB and reverted redhat-release contents as those  with default installation as above.

Issue is now resolved for us after updating Host.OS value but concern here is it should be not the case general scenario and host should be added by default without any change after upgrade.

I'll start a doc PR for this.

On second though, I'll first give it some though as to if it can be/should have been automated.

@yashi4engg this is an omission in the installation notes.
every host el that contains more than one work before "release" in their /etc/redhat-release file, should have that detail updated in the DB. I remember we discussed this, but it slipped through the cracks somehow. cc @shwstppr @mlsorensen @rohityadavcloud
I'll start a doc PR for this.

@DaanHoogland
I suggest to add a list of campatible OSes
which includes

Rocky / Rocky Linux
Red / Red Hat Enterprise Linux
AlmaLinux

If we get version from  /etc/oracle-release if it exists, we could add

Oracle Linux Server

I checked it in bit details and found file which is responsible for check hypervisor OS version "/usr/share/cloudstack-common/scripts/vm/hypervisor/versions.sh" and according file it first looks on redhat-release and if exist it get details from there.
if [ -f /etc/redhat-release ] ; then get_from_redhat_release if [ -z "$REV" ] && [ -f /etc/os-release ]; then get_from_os_release fi elif [ -f /etc/lsb-release ] ; then get_from_lsb_release elif [ -f /etc/os-release ] ; then get_from_os_release fi

yes, this can be improved.


Backdoor in upstream xz/lzma

See https://www.openwall.com/lists/oss-security/2024/03/29/4
This library is very likely not impacted as it does not use the tarball which contains the backdoor activation but directly the git repository as a submodule, but it might be worth considering a downgrade to 5.4.6 as a safety measure.

@amousset
Thank you for letting us know! We'll be keeping an eye on this matter!


Sui ts sdk documentation sample error, request fix

https://github.com/MystenLabs/sui/tree/main/sdk/typescript#move-call

split coins second arg is an array no obj.
example is wrong

Thanks for flagging this @wenre. The example has been rewritten now, and I've also double checked that the example that calls splitCoins does pass correctly an array.


Installer destop icon is still electron default

When you initially run the setup script it dumps a default electron icon to the desktop.

I've done some initial research and can not find where this one comes from... i'll keep looking and try to clean it up more.

fixed in radical change


some confusion about the figure of network structure

If I remember correctly, you took the structure of the PoseformerV1 spatial-temporal transformer and replaced the temporal transformer with a "DCT + LPF + Linear projection" module, right?
I'm curious why only the spatial transformer part has temporal embedding instead of spatial embedding.
Is it related to "reformulated as a Time-Frequency Feature Fusion module"? So it must have temporal embedding.
Please help me figure this out.
Thanks for your reply

Thanks for your question. If you look at here
https://github.com/QitaoZhao/PoseFormerV2/blob/0c0b1252f6ce722ed621d82b551362f25a023285/common/model_poseformer.py#L204
We indeed have spatial embedding for each joint in Spatial Transformer. This design follows PoseFormer(V1).

thank you very much


Get-ADServiceAccount Example 3 should be removed

Example 3 should be removed from the documentation; the cmdlet does not necessarily perform the way described in the example.

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

ID: fe3affb4-2f61-05e7-c600-760c25e8d066
Version Independent ID: b02f24ae-c006-8130-42d4-89fc746a75fc
Content: Get-ADServiceAccount (ActiveDirectory)
Content Source: docset/winserver2012-ps/activedirectory/Get-ADServiceAccount.md
Product: w10
Technology: ****
GitHub Login: @kenwith
Microsoft Alias: kenwith

@mwtrigg
Thank you for you feedback.
I have just tested the example in my lab and it seems valid. Here is the output that I get:
PS C:\> Get-ADServiceAccount -Filter "HostComputers -eq 'CN=TEST2016-1,CN=Computers,DC=home,DC=lab'"  -Properties HostComputers

DistinguishedName : CN=gmsa-Test01,CN=Managed Service Accounts,DC=home,DC=lab
Enabled           : True
HostComputers     : {CN=TEST2016-1,CN=Computers,DC=home,DC=lab}
Name              : gmsa-Test01
ObjectClass       : msDS-GroupManagedServiceAccount
ObjectGUID        : c15a47dc-aa7c-41bd-8547-c20dc0e8c820
SamAccountName    : gmsa-Test01$
SID               : S-1-5-21-2222592190-2589174168-964995591-1112
UserPrincipalName :

The service account has to be added with the Add-ADComputerServiceAccount before that.

@mwtrigg
Thank you for you feedback.
I have just tested the example in my lab and it seems valid. Here is the output that I get:
PS C:\> Get-ADServiceAccount -Filter "HostComputers -eq 'CN=TEST2016-1,CN=Computers,DC=home,DC=lab'"  -Properties HostComputers

DistinguishedName : CN=gmsa-Test01,CN=Managed Service Accounts,DC=home,DC=lab
Enabled           : True
HostComputers     : {CN=TEST2016-1,CN=Computers,DC=home,DC=lab}
Name              : gmsa-Test01
ObjectClass       : msDS-GroupManagedServiceAccount
ObjectGUID        : c15a47dc-aa7c-41bd-8547-c20dc0e8c820
SamAccountName    : gmsa-Test01$
SID               : S-1-5-21-2222592190-2589174168-964995591-1112
UserPrincipalName :

The service account has to be added with the Add-ADComputerServiceAccount before that.

The example I am asking to be removed says that this will list the service accounts installed on the computer.
The documentation for Add-ADComputerService account specifically states this performs a different function from installing a service account.
I can get this cmd let to retrieve a list of computer object allowed to retrieve the gMSA's password without using the Add-ADComputerServiceAccount (though, it doesn't work when a security group is delegated the right to retrieve a gMSA's password -- despite the fact that it is best practice).
In short, this cmdlet will not retrieve a list of computers where the account is installed - only a list of computers with sufficient access to do it.

The example I am asking to be removed says that this will list the service accounts installed on the computer.
The documentation for Add-ADComputerService account specifically states this performs a different function from installing a service account.
I can get this cmd let to retrieve a list of computer object allowed to retrieve the gMSA's password without using the Add-ADComputerServiceAccount (though, it doesn't work when a security group is delegated the right to retrieve a gMSA's password -- despite the fact that it is best practice).
In short, this cmdlet will not retrieve a list of computers where the account is installed - only a list of computers with sufficient access to do it.

@mwtrigg Thank you for the detailed explanation. I guess I did not read through carefully.
Do you think we can just update the example description to match what you are saying instead of removing it?
I think that it also matters if we are talking about gMSA's or just regular MSA.

@mwtrigg Thank you for the detailed explanation. I guess I did not read through carefully.
Do you think we can just update the example description to match what you are saying instead of removing it?
I think that it also matters if we are talking about gMSA's or just regular MSA.


The I specifier of the mrb_get_args() function is not safe

The I specifier just checks for MRB_TT_ISTRUCT and returns an internal pointer.
There is no way to check the class of an object. Therefore, there is a risk of referencing incompatible pointers.
I thought of the following as a means to solve it.
If it keeps compatibility:

Describe that it "should not be used" in the documentation.

If it breaks compatibility:

Change to (void **ptr, struct RClass *klass) as the corresponding argument, and check the object class with mrb_obj_is_kind_of().
Delete the I specifier.

Even if the object is freeze, it can have unintended consequences, which is also true for the d specifier.
Regarding this, I think I can propose a PR in the near future in the direction of introducing the + modifier.

OK, so I'll do the work and put out a PR.
Just in case, I checked if the GEMS registered in mgem-list uses the I specifier, but I couldn't find any GEM using it.


docs/guide-ja updated [skip ci]

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
docs/guide-ja updated

👍


WIP: add Vault definition

Creation of vault in compartment

Closing this pull request until the usage of Vault/KMS is clarified


Cloned resources to run the operator on its own namespace for tests

The e2e tests are currently broken in master, due to #188. While we figure out a better way to handle the feature and the tests, this temporary solution should be applied.
Once this PR is applied, the e2e tests are passing again:
$ make e2e-tests
Formatting code...
Building...
Sending build context to Docker daemon  128.8MB
Step 1/4 : FROM alpine:3.8
 ---> 196d12cf6ab1
Step 2/4 : USER nobody
 ---> Using cache
 ---> 18305c5b670d
Step 3/4 : ADD build/_output/bin/jaeger-operator /usr/local/bin/jaeger-operator
 ---> 74182e60b900
Step 4/4 : ENTRYPOINT ["/usr/local/bin/jaeger-operator"]
 ---> Running in f1ea53662541
Removing intermediate container f1ea53662541
 ---> 72d5ace489b1
Successfully built 72d5ace489b1
Successfully tagged jpkroehling/jaeger-operator:latest
Pushing image jpkroehling/jaeger-operator:latest...
Running end-to-end tests...
ok  	github.com/jaegertracing/jaeger-operator/test/e2e	345.292s

Signed-off-by: Juraci Paixão Kröhling<EMAIL_ADDRESS>

This change is


Task - comprehensive specimen digiziation - type name in autocomplete should be original

The TaxonName autocomplete in that search should both show and select the original combination string rather than the current string.
@jlpereira I'm not sure if we return that value in the JSON from autocomplete, if not let me know and I'll add it.

Autocomplete now inculdes original combination in name (last black box)


Using Modal component from a main page results in "window is not defined" error

When trying to create an instance of Modal from, say, the client/main/navbar the server throws a "window is not defined" error.  Is there something I might be doing wrong or is this a bug?

Please include stack traces when sharing errors. window is not defined isn't that helpful on it's own.
I do know that the constructor of the Modal component expects the global window to be present, which it isn't on the server.
https://github.com/jedireza/aqua/blob/4e7cb75253a04e870b73e61a73842f896ecf983e/client/components/modal.jsx#L24
The main app is universal (aka isomorphic) and get's rendered on the server. You'd need to modify the Modal component to detect if global.window exists before using it.

Thanks. Not sure if the proper way, but I just moved
this.state = {
   bgHeight: window.innerHeight
};

to the  componentDidMount() and set the bgHeight to 0 in the constructor instead of to window.innerHeight.

If it works for you, that's all that matters. 😁


Hybridstrobes

Note to myself, all strobemer_hashs do need to consider the l-mer length and add it to the window-min

Codecov Report

Merging #36 (4dac238) into master (b9d5b2b) will decrease coverage by 0.00%.
The diff coverage is 96.29%.

@@            Coverage Diff             @@
##           master      #36      +/-   ##
==========================================
- Coverage   96.37%   96.36%   -0.01%
==========================================
  Files          13       14       +1
  Lines         883      991     +108
==========================================
+ Hits          851      955     +104
- Misses         32       36       +4

Impacted Files
Coverage Δ

include/hybridstrobe.hpp
96.29% <96.29%> (ø)

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


why so slowly？

A100-40g
llama-13b
37tokens/s

all dependents have been installed, it still download from internet when I install vllm from source. how can I install it offline?


Improve and fix documentation

In this PR we should try to fix the bugs that make the compiled plots in the documentation appear incorrect, see #99
( @Datseris is commiting some minor documentation improvements in this PR as well )
Closes #99

Thanks for the PR @Datseris!  I think I've incorporated pretty much everything you mentioned in #103, but let me know if there's something else which should be added.


Grafana: variable instance has a typo and most metrics don't support variable query

Bug Report
What did you expect to see?
What did you see instead?

The instance label should be instance, not Instantce
Btw, most of the TiKV metrics don't support instance filter, e.g, for the Store Size panel, the query is
sum(tikv_engine_size_bytes) by (instance)

We should change to
sum(tikv_engine_size_bytes{instance=~"$instance"}) by (instance)

So we can use instance filter to only choose special TiKV.

Fixes via pingcap/tidb-ansible#669.


Enable UDP Listerner - Multiple Carbon Cache Daemon

Hello
I know it is not the best practice, but with the following configuration:
[relay]
USER = nginx
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2004
MAX_QUEUE_SIZE = 10000
MAX_DATAPOINTS_PER_MESSAGE = 1000
RELAY_METHOD = consistent-hashing
REPLICATION_FACTOR = 1
DESTINATIONS = <IP_ADDRESS>:2014:1, <IP_ADDRESS>:2024:2, <IP_ADDRESS>:2034:3, <IP_ADDRESS>:2044:4, <IP_ADDRESS>:2054:5
[cache]
ENABLE_LOGROTATION = True
USER = nginx
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
GRAPHITE_URL = http://graphite.uolhost.intranet/
ENABLE_UDP_LISTENER = True
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
CACHE_QUERY_INTERFACE = <IP_ADDRESS>
LOG_UPDATES = True
LOG_CREATES = True
LOG_CACHE_HITS = True
LOG_CACHE_QUEUE_SORTS = True
CACHE_WRITE_STRATEGY = sorted
WHISPER_AUTOFLUSH = False
USE_WHITELIST= False
[cache:1]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_PORT = 2014
CACHE_QUERY_PORT = 7012
[cache:2]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
LINE_RECEIVER_PORT = 2023
PICKLE_RECEIVER_PORT = 2024
CACHE_QUERY_PORT = 7022
[cache:3]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
LINE_RECEIVER_PORT = 2033
PICKLE_RECEIVER_PORT = 2034
CACHE_QUERY_PORT = 7032
[cache:4]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
LINE_RECEIVER_PORT = 2043
PICKLE_RECEIVER_PORT = 2044
CACHE_QUERY_PORT = 7042
[cache:5]
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 25000
MAX_CREATES_PER_MINUTE = 21500
LINE_RECEIVER_PORT = 2053
PICKLE_RECEIVER_PORT = 2054
CACHE_QUERY_PORT = 7052
Can I enable UDP Listener on all cache daemon ? How ?
In this situation, only cache daemon1 starts. Others try to bind on 2003 port.
Thank you in advance

set UDP_RECEIVER_PORT for each cache instance

nevermind
ENABLE_UDP_LISTENER = True was needed on [relay] options.
Now it works as expected


ENH: Added methods to support pywinauto features

Added initial version of supported methods for pywinauto.

connect_to_app: Connects to an instance of an open application.
find_app_window: Find a window of the currently connected application using the available selectors.
find_app_element: Find a element of the currently connected application using the available selectors.

We need to find a way to conditionally add the dependency on the pywinauto and make sure that the import of the package won't explode for non-windows hosts.
Suggestions:

Change setup.py after reading the requirements here https://github.com/botcity-dev/botcity-framework-core-python/blob/main/setup.py#L8-L9 and filter out pywinauto if the platform is not Windows.
Surround the import of pywinauto with a try/except ImportError if the platform is not Windows.


Aircall

https://ethyca.atlassian.net/wiki/spaces/EN/pages/2615377921/AirCall+Connector+Specification


Fix: Test filename for validity before downloading

@jedieaston
@OfficialEsco
@spectershell
This should resolve #159

I've actually not applied this patch, applied it now, doubt i'll notice any difference since i've never encountered this bug


Deleonism & other ideologies don't really fit & aren't actually accessible via questions.

Playing around with the data (and the ideology values), in order to get Deleonism, I have to answer a lot of questions that'd seem at odds with general syndicalist views.
   {
      "question": "The very existence of the state is a threat to our liberty.",
      "effect": {
         "econ": 0,
         "dipl": 0,
         "govt": 10,
         "scty": 0
      }
   }

Given that DeLeonism is 100/30/30/80,  and DeLeonists are essentially syndicalists, and probably a lot closer to say, Anarcho-Syndicalists (at 80/50/100/80) than Lenonism (100/40/20/70)....
DeLeonism's only real influence in the state isn't perpetuating existence of it, but in the deconstruction of it as a means to the end (which is where it differs from most anarchist types). But given the question suite at hand, it's much more difficult to grok that kind of nuance of what the purpose of the state is and more importantly differentiation between the state & union power, but to do that on 4 axes would be a bit more tricky.
DeLeonism is analogous to anarchist syndicalist tendancies only from a marxist perspective vs an anarchsit background, and all of those are relatively similar to left communism/socialism. I think it's a good distinction to have, but the amount of nuance & granularity you can get with the system in place necessarily allows the distinctions in place. Some of these based on the ideology numbers are better off grouped together & displayed that way (as a narrow, similar range).
Given a little bit of time, I might be able to do some combinatorial stuff to put together the possible questions in order to get to individual ideologies & could take a look if any of the combinations make sense. I was trying, to get Religious Anarchism, and in order to get that, you had to accede to significant number of state questions to drop the govt score to 0. And I think it's interesting that Religious Socialism isn't dovish (higher on the dipl scale), and it's harder when things are tied together like
{
      "question": "It is important that we work as a united world to combat climate change.",
      "effect": {
         "econ": 0,
         "dipl": 10,
         "govt": 0,
         "scty": 10
      }
   },

Where dipl & scty are tied together (I support the EU, Fascism, Absolute equality), it becomes markedly difficult for one to actually get the values required while maintaining reasonable applications of the question from the position given.
I've done it about 20-30 times and the ones I can get based on reasonable application of the questions are the Left-Lib ones, social democracy, progressivism, RW Populism, Liberalism, Moderate Conservativism, Reactionary, Capitalist Fascism, AnCap.
I had to bend the rules a bit to get Libertarianism & Moderate Conservatism (and it takes a while to do those because I have to keep a calculator because I haven't forked the source yet which I probably shoulda done first).
Anyway. Thanks for all the hard work on this, this ain't easy.

I'll also possibly submit a PR once I sleep on it.

Thank you for this analysis. I was noticing that some ideologies come up very rarely or not at all (although I have seen several people get non-capitalist Fascism), and some changes are in the works.


Allow creation of Credentials for Workflows

Creating an authentication requires defining params_to_attributes https://github.com/ManageIQ/manageiq/blob/master/app/models/manageiq/providers/embedded_automation_manager/authentication.rb#L28

Backported to petrosian in commit 91f33a59eadc9231a94d64df898a50c2b2ec448b.
commit 91f33a59eadc9231a94d64df898a50c2b2ec448b
Author: Jason Frey<EMAIL_ADDRESS>Date:   Fri Jun 16 17:43:46 2023 -0400

    Merge pull request #25 from agrare/allow_creation_of_credentials_for_workflows

    Allow creation of Credentials for Workflows

    (cherry picked from commit e2545eec2191fe182cf0f1366b2979d349663390)


46 add solve function to chapmanodesolver w test against micm pp code

Closes #46

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (7bf8dd8) compared to base (13c7124).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@                       Coverage Diff                       @@
##           18-hard-coded-chapman-solver       #47    +/-   ##
===============================================================
  Coverage                        100.00%   100.00%
===============================================================
  Files                                14        14
  Lines                               129       244   +115
===============================================================
+ Hits                                129       244   +115

Impacted Files
Coverage Δ

include/micm/solver/solver.hpp
100.00% <ø> (ø)

include/micm/solver/chapman_ode_solver.hpp
100.00% <100.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Finalize Datasets for Deposit

Comments on books:

Exclude OCLC links. I worry many are incorrect—when I was correcting books, I tried to check them, but I’m not confident that I deleted all the incorrect ones.

Exclude column “identified.” I worry that we’re using the uncertainty icon for too broad a range of issues. Might be better to refer researchers to the notes and the use of “unidentified.”

I'm going to try to make some headway on the blank format. The format should only be blank for some items with an uncertainty icon.

I'll post on the members and events ASAP.

Comments on members:

This looks great. My only concern/regret is the use of titles. We decided to include titles in the "name" field for display issues. We might want to consider deleting all titles from that field for the data exports.

I have been deleting some of the titles from the "title" field for display issues. If a member is also an author, their title appears with their name in the search results—e.g. Hemingway, Mr. Ernest. The easy way to solve the problem is to delete the member's title in the database. That's a minor but still regrettable loss of data.

Additional comments on members:

Would it make sense, at a later date, to have a separate export for addresses?  We would list members associated with each address. Not addresses associated with each member.

Comments on events:

FWIW, I've been downloading CSVs and looking at them. For members would it be worth having the member URIs in the first column to match the other two datasets?

I don't think we need the OCLC work URI—for the reasons I explain in my notes to books above.

There are ten event types called "other" -- do you know what they are? Should I ask Ian to fix this?

Should we include author and date of publication fields? I think we should.

@jkotin thanks for the feedback and review. Responses:
books

Regarding OCLC: do you mean work uri, edition uri, or both? It would be nice to at least keep the work uri; is there any way I could sanity check it against our data to give you more confidence? (Or to convince me it's junk data we should omit)
Can we rename the "identified" column to "uncertain"? Having a boolean field to filter on is really powerful, e.g. if someone wants to investigate the uncertain records or do analysis on the books but not include the uncertain ones.
Great on the blank format. Would it be helpful to run the reconcile_oclc script for items without OCLC URIS and not flagged as no match, or is that more likely to introduce new errors?

members

I remember some of the conversations about this decision; too bad we didn't think of all the implications! (Not that we could have). Are you suggesting I do something in the code that generates the data exports or suggesting the team will do data work here?
Yes, I think I remember seeing this also. We do have titles in a separate field in the database, and they're included in the data export.
Yes — I already created an issue for this after the email conversation with Moacir, see #612. I think it could make sense to work on this when/if we circle back to the map.

events

Events don't have URIs which is why they don't match field order; I do notice that the member fields here don't match the order in the member export, might be nice to make the order match within the list of members fields included here.
I'm fine with omitting OCLC work URI here independent of the decision about the book exports, since we have S&co URIs
I can get a list of these — it would be great to get them fixed.  I'll follow up with specifics.  FYI, this is a "subtype" option for Subscription events (Subscription, Renewal, Supplement, Other) — I'm wondering if we can remove that "other" option after this is fixed? It's confusing and I'm not sure it's meaningful.
My intent is that people who want to look at books & events should use the two exports together, but I can see including author and publication year to make the titles more identifiable with just the data in the events dataset.

@jkotin @i-davis here are the 10 subscription events that are showing up as event type "other" :
Account #3267: Mr. Donald Culver  /  Subscription for account #3267 ??/??
Account #198: L. Michaelides  /  Subscription for account #198 1920-11-16/1921-12-16
Account #6279: Mr. Moynahan  /  Subscription for account #6279 1926-04-07/1926-05-07
Account #3356: Mr. C. T. Chang  /  Subscription for account #3356 1932-10-01/??
Account #5005: Phyllis Price  /  Subscription for account #5005 1933-06-24/??
Account #3805: Heinemann  /  Subscription for account #3805 1938-10-24/??
Account #5691: Bell  /  Subscription for account #5691 1938-12-19/??
Account #5774: Creswick  /  Subscription for account #5774 1939-03-08/??
Account #3920: Burrow  /  Subscription for account #3920 1939-04-19/??
Account #5951: de Girodon  /  Subscription for account #5951 1941-10-20/??

@jkotin I ran the reconcile_oclc script in report mode against current data. Output attached so you can see if it would be useful. It looks like we'd need to update it to ignore items with UNCERTAINTYICON in the notes since it looks like the existing codes it excludes (generic, problem, obscure, zero) aren't sufficient.
Here's the report output (named as .txt because GitHub doesn't allow CSV attachments; rename after you download).
works-oclc.csv.txt

@rlskoeser Re: books:

Re: OCLC, I would like to delete both work and edition from the export. If there's a way to check whether either is accurate (or accurate enough) I'd definitely be happy to reconsider. I can't think of an obvious way to check. I worry that even a 10% error rate would undermine the value of the data. Maybe we could not include the URIs now and think about ways to verify and include in an update?

I hear you about keeping the "identified" column. I'm not sure relabelling as "uncertain" would address the issue. In truth, every item is either more or less uncertain. The issue is that we currently use "false" for both books we can't identify and books that we can almost identify. Would it make sense to generate the column based on whether "unidentified" is in the public notes?  That would limit "false" to books in the latter category. Alternatively, we could label the column "blue icon" or "icon" and refer to the FAQ.

Would the following be possible: make every item with a blank format "book," iff the notes field does not include the word "uncertaintyicon"?  In other words, I want the format field to remain blank (if it is currently blank) for items with an uncertainty icon.  The remainder of the blank format fields should be "book."

Re: members:

I think we have two options. Leave things as they are.  (That's fine with me.) Or delete the titles from the name fields -- there are only six possible titles: Mr., Mrs., Miss, Mme, Mlle, and M?  Would deleting cause more problems than it solves?  I can't tell.

Upon consideration, my point here is less about this export than about future exports.  Currently, I am in the process of deleting titles of member-authors, so the titles don't show up on the front end.  If we change how we capture author names to use on the front, I can stop deleting and we can keep the titles.

Sounds good.

Re: events:

Sounds good.

Sounds good.

Sounds good.  I'll ask Ian to investigate ASAP.

Great about including pub. date and author/editor/etc.

@jkotin thanks for responses; seems like we should be choosing the simplest option at this point in favor of getting the datasets published and not introducing new problems. That means:
books

Remove OCLC work and edition URIs. (I'm interested in potentially revisiting later, but not sure what it would entail.)
Remove identified/uncertain boolean (unless we can come up with another label you're satisfied with — "unidentifiable"? I don't want to create a new field based on the text, and I don't think blue icon is meaningful)
Set default format to book except for items marked with uncertainty icon (this will be for the data export only, not the public site)

members

No changes for the data exports (Export the names as they are.)

events

Reorder included member fields to match member export order
Remove OCLC URIs
Add pub date and author only — I should have been clearer before, I do not want to include any other fields beyond this ("editor/etc"). Bibliographic analysis of events should be done with events and books datasets together; events export should include minimum information required to recognize the books, which author/year helps with. Including year & author allows for some high level analysis of book events without using the book export, which is nice but not essential.

We should remember these decisions and think about how to incorporate into the dataset essay (especially the things we're not including and why).

@rlskoeser I agree with all this, except I'd like to think a little more about books 2/ the uncertain column.  I agree about not generating new data.  Let me think about a label today.  Sound OK?

@jkotin yes, that sounds fine. Thanks.

@i-davis @rlskoeser :
We have ten "other" event types -- all listed above, earlier in this issue.  We would like to get rid of the event type "other."
Solution 1: change them all to either "generic" or "supplement."
Solution 2: create new event type "deposit" and change them all to "generic," "supplement," or "deposit."
Are there any other options? Which would you both prefer? My worry about solution 2 is that there are other events that should be ID'd as "deposit" that we don't know about.  Perhaps they are currently ID'd as generic. There are also all the subscription events that include deposits.

Solution 1: I don't think generic events work here because they don't allow you to document the deposit. Does supplement make sense to you two?
Solution 2: in case it wasn't clear, I was proposing not a brand new event type but a subtype of subscription (akin to supplement and renewal); my preference would be to get rid of "other" and replace it with "deposit" if that works because I don't know how "other" can ever be meaningful. I think it's fine that subscriptions sometimes include deposits — it's clearly included as a separate field in the data exports, and based on these outliers, it seems clear that subscription + deposit was the way that things operated the vast majority of the time.
It's a small enough number of records that maybe it doesn't matter that much, as long as we document what "other" means. And Ian already corrected some of them, right? So now less than 10?
Documenting Ian's comment from Slack so we know status of these "other" events based on his analysis:
Account #3267: Mr. Donald Culver  /  Subscription for account #3267 ??/?? [Culver paid in November for his June-July 1935 subscription. I turned this one into a renewal.]
Account #198: L. Michaelides  /  Subscription for account #198 1920-11-16/1921-12-16 [late payment for a sub]
Account #6279: Mr. Moynahan  /  Subscription for account #6279 1926-04-07/1926-05-07 ["Moynahan paid up": looks like a belated payment. Could make a supplement.]
Account #3356: Mr. C. T. Chang  /  Subscription for account #3356 1932-10-01/?? [deposit on a periodical]
Account #5005: Phyllis Price  /  Subscription for account #5005 1933-06-24/?? [deposit on a periodical]
Account #3805: Heinemann  /  Subscription for account #3805 1938-10-24/?? [deposit]
Account #5691: Bell  /  Subscription for account #5691 1938-12-19/?? [deposit]
Account #5774: Creswick  /  Subscription for account #5774 1939-03-08/?? [deposit]
Account #3920: Burrow  /  Subscription for account #3920 1939-04-19/?? ["Burrow re-deposit"]
Account #5951: de Girodon  /  Subscription for account #5951 1941-10-20/?? [deposit]

Solution 1: Agreed, re generic. I don't think supplement works: I think we should keep that restricted to the particular situation where a member pays for an extra vol or a duration extension after the initial subscription.
Solution 2: I could see "deposit" working. There are now only 8 "other" subscription events. I corrected Culver and Michaelides. So technically every "other" except for Moynahan is a deposit, either for periodical subscription or library subscription. I think that Moynahan event is a sui generis instance of Sylvia sass about Moynahan owing her for something unspecified.
@jkotin's questions on slack: "1/ are there events that fit one of the three categories above that are currently labeled as something else? and 2/ there were ten “other” events in the list — do the above capture them all?  I’m a little confused because earlier you mentioned seven."

I can imagine that there are events that might need to be recategorized as deposit, if we made that a category. I imagine we could find them fairly quickly, if we searched in the right way--for events with no duration and no fee paid (I think?).

I mentioned seven in my notes from several weeks ago because we only had seven "other" subs then; three were added in the meantime, I'm not sure by whom.

I just found another record for the Moynahan, and it looks like it should just be a regular subscription. So we're back down to 7 "other" categories, and all of them would fit under "deposit."

@i-davis good thought. I did a quick query and there are 197 subscription events with no price paid but a deposit. Here's a handful of them if you want to look and see if this matches what you expect and would make sense to convert to a "subscription deposit" event:
Account #1075: Allison Nienaber / Subscription / Subscription for account #1075 1923-10-17/??
Account #1105: Jane Stafford / Subscription / Subscription for account #1105 1924-05-03/??
Account #1111: Mary Fenner / Subscription / Subscription for account #1111 1925-04-01/??
Account #1361: Mr. Delaney / Supplement / Subscription for account #1361 1925-08-03/??
Account #2499: Denby / Subscription / Subscription for account #2499 1925-09-14/1926-03-14
Account #6156: Miss Knox / Supplement / Subscription for account #6156 1925-09-21/??
Account #1603: Raymond Scudder / Subscription / Subscription for account #1603 1925-11-25/??
Account #1722: Mrs. P. M. Camfferman / Subscription / Subscription for account #1722 1925-11-26/??
Account #1525: Mme Oguz / Subscription / Subscription for account #1525 1926-02-20/??
Account #1702: Miss Young / Subscription / Subscription for account #1702 1926-06-04/1926-07-04
Account #1702: Miss Young / Subscription / Subscription for account #1702 1926-07-04/??
Account #2200: John R. Crawford / Subscription / Subscription for account #2200 1926-09-29/1926-10-29
Account #475: Ruth Wise / Subscription / Subscription for account #475 1926-10-18/1926-11-18
Account #2284: Mrs. Howlaw / Subscription / Subscription for account #2284 1926-12-09/1927-01-09
Account #2363: Mrs. Charles Hughes / Supplement / Subscription for account #2363 1927-03-29/??
Account #2411: Charles Decamp / Subscription / Subscription for account #2411 1927-04-23/1927-05-23
Account #7412: Mr. Reynolds / Subscription / Subscription for account #7412 1927-04-27/1927-05-27
Account #405: Mrs. Jackson / Subscription / Subscription for account #405 1927-09-16/1928-09-16
Account #2750: Mayne / Subscription / Subscription for account #2750 1928-05-09/??
Account #2642: Joy Andrews / Subscription / Subscription for account #2642 1928-05-12/1928-06-12
Account #5927: Stone / Subscription / Subscription for account #5927 1929-01-05/1929-02-05
Account #5899: Hauson / Subscription / Subscription for account #5899 1929-01-08/1929-04-08
Account #2977: Mr. R. L. Cook / Subscription / Subscription for account #2977 1929-01-09/1929-02-09

@jkotin did you come to any decisions about the uncertainty column for the books export? I thought of a couple more possible labels: problematic, ambiguous

@rlskoeser I think "uncertain" is good.  Not perfect, but better than not including the column.  Sorry it took me so long to come around to your original suggestion.

@jkotin thanks. I think it was worth discussing anyway!

I'm still a little confused re: "other" -- sorry @i-davis and @rlskoeser.  What's the current proposal?
Re: "subscription deposit" event -- it seems odd to me to separate out IFF there is no subscription fee.  Wouldn't a subscription deposit event be a subscription deposit event even if a subscription fee was paid as well?
Another question: do we know the deposit amount for the 7 remaining events?

@jkotin did Beach treat them as separate events when people joined and paid their deposit & subscription fee at the same time?

@rlskoeser : @i-davis can confirm -- he knows the material better than I do -- but Beach usually recorded new memberships like this:

D. 50 S. John Smith 1m 1v 25—

That means a deposit of 50f for new subscriber John Smith for 1 month, 1 volume at a time, for a 25f membership fee.
Beach would sum up the membership fees as part of her revenue, but not the deposits. I realize now that our sample logbook page doesn't have any deposits!!

@jkotin @rlskoeser : Yep, confirmed, that's what most sub events look like!
We do know the deposit amount for each of the remaining 7.
I'm not sure if this answers your question about whether they should be denoted differently, Josh -- I think that's a good question, I'm not sure they should. But the Others do seem like a different sort of event from a sub. All they say is: "dep. [name] 50f." See attached screenshot. Heineman's deposit isn't a refund, like Walher, nor a deposit attached to a sub, like Milne.

@i-davis would you post screen shots of the remaining 7 "other" events?  Include links to the logbooks and the dates with years of the events. Also include versos, if relevant.
We'll tackle them one by one. I worry that Heineman's is deposit on a book that Beach has ordered for him. And thus doesn't involve the lending library.
When a patron wanted an expensive English language books, Beach would likely have asked for a deposit.

@rlskoeser Is this "other" challenge the last thing we have to decide for the exports?  I manually fixed a lot of the format blanks.
If you could generate a CSV with all the remaining format blanks without uncertainty notes, I'll fix them all.

@jkotin : mm I was just wondering that myself. Will collect the screen shots now!

Chang: 1932-10-01

Price: 1933-06-09

Bell: 1938-12-19

Creswick: 1939-03-08

Burrow: 1939-04-19

de Girodon: 1941-10-20

@i-davis thank you!  Have you checked to see how these events fit the membership timelines of the individual members?  If not, would you?
I suspect that these are legit membership/subscription deposit-events.  If that suspicion is correct, I'm not sure how to categorize them. Ideally, we would have a separate deposit-event type for ALL deposits, but barring that, I don't know. We could categorize them as subscriptions with no fee and only a deposit, but that will look strange on the activities/membership page.  Alternatively, we could label the events "deposit," and create a FAQ that indicates that when given on the same day subscription = fee + deposit, but when given on separate days subscription = fee and deposit = deposit.  Ugh.

@jkotin I generated a new set of book and event exports from the test site (this is based on the same data I refreshed from production earlier in the week; I didn't export member data because we didn't change anything). https://drive.google.com/drive/u/0/folders/1jkxqEIbaYFus80ftFQqzdqKpmxcZPXoE
Please review to confirm that I made the changes we agreed on in https://github.com/Princeton-CDH/mep-django/issues/673#issuecomment-651799164 plus the revised handling of the uncertainty field.

On the "other" conversation:
@jkotin if you and Ian can figure out a way to resolve or clean up these events without code changes (or possibly with minor changes), that would be best at this point.
It's a small enough number of events, I've come around to thinking that even if we end leaving them as "other" for now, as long as we document what that they are, it will be fine.  (I think we still have a number of "generic" events too, don't we?)
To me a FAQ entry (if we need one) would be something like — "an initial subscription typically (almost always?) included a deposit; in a few cases, members paid their deposit at a different time than when they initially joined. These are combined in the membership activities page but individual amounts are available in the data export."
You cover the deposits & reimbursements in your essay about joining the library, so this would just be explaining how we're tracking it and representing it on the site and in the data.

@rlskoeser the data looks great!
@i-davis -- my understanding is that all the generic events are for books. There are no generic subscription events -- is that correct?  (And the generic events for books are for events that do not conform to the extant labels: borrow, purchase, cross out, gift, loan, etc.)
So the last remaining question is what to do with the "other" events?  I'll wait to hear how they fit with the membership timelines -- whether they are all out-of-sync deposits.  If they are, Rebecca is probably correct: they should be made "deposit" events and I should write a FAQ as she suggests.
In the future, though, it would make the most sense to make all deposits discrete events. That is, to separate deposits from membership fees.  I'd be grateful to Rebecca for an estimate of how difficult/time-consuming that would be to do.

@jkotin: Some of them do seem to fit as subscription-like or -adjacent events in membership timelines (Bell, Creswick, Burrow, de Girodon). Some of them don't quite seem to fit (Price, Heinemann). Chang seems clearly to have been a magazine subscription. Here are the timelines: does that analysis seem right to you?
Price: the deposit comes in the middle of another subscription, 15 days before a renewal would be needed.
Heinemann's subscription activity begins with two unusual events, including this "other":
Bell looks like their other could be a renewal:
Creswick looks like theirs could be a downpayment on a subscription that is recorded 14 days later:
Burrow looks like they could be renewing by re-depositing a couple days after they got a reimbursement:
de Girodon looks like they're depositing two days in advance of actually subscribing:

@rlskoeser @jkotin : re generic events: yes, totally, that description seems right to me, Josh. As always with the database, I'm not entirely sure, there are so many events that have been entered by a variety of people--but I can say with certainty that the vast majority of generic events are definitely about books.

@i-davis Thank you. Let me think on this. Re: Chang -- it seems like we should treat that as a subscription to borrow periodicals.  What about categorizing it as a "subscription" event, 10/1/32, with a 15f deposit, no fee, and adding a note that it's for periodical privileges?
Now we have 6!

@jkotin: sounds good to me! I'll make the change now.

@i-davis: I'm still working on Price. But here's what I want to do with the others:
Keep them all as other. I worry that if we change the event to "deposit" it will imply that these are the only deposits.   At a later date, I think we should separate out all the deposits and make them their own events. That way, the site can give a clear portrait of the Shakespeare and Co. finances and whether members were or were not reimbursed.  But until then, let's keep these 5 as "other."
The one extra issue: do you think the Bell "other" could be for a different Bell?  Would it make sense to separate it out?
Price in a second.

@i-davis Re: Price -- would you do a deep dive here and look at the Price cards? I worry that we might be conflating two different Prices? Let me know what you think.

@jkotin : I could imagine the Bell other being for a different Bell. I mean, they are fairly close to each other, calendrically, and we don't have many Bells. But yeah, it's definitely a possibility! Want me to separate?
Re Price: good question. It does seem to me like we could separate:

The first card (s1 & s2) and the first two events to a separate account for P. M. Price.
The "other" event and the 1933-06-09 reimbursement to an account for "Price."
The fourth and fifth events (July to September) and the 1933-07-08 and 1933-09-01 reimbursement to an account for "Price."
Keep the remaining events in Phyllis Price's account; the cards clearly marked Phyllis Price verify them.

Arguments for keeping them together:

We can read the 1933-07-08 reimbursement (30f) as a reimbursement for the 1933-01-20 subscription (dep. 30f). This would link the first two events with the fourth and fifth events.
P. M. Price's address is the Foyer International des Étudiantes, at 93 boulevard Saint-Michel. Phyllis Price's address on s3 is
43 boulevard Saint-Michel, and she subscribes through the British Institute. It would make sense that she was a student who stayed at the Foyer at first and then just moved a couple blocks down to an apartment as she settled in Paris. Hence also the switch from "P. M." to "Phyllis" as she became more of a regular at S&Co.
If we concede both 1 and 2, that would mean all the events should stay together--although maybe we could still separate out the "other".

@i-davis -- re: Bell: leave it the way it is.  I think it's a deposit refund, but Beach just didn't note it as such. I looked at the logbook: there's very little differentiation between deposits and refunds. I suspect some of these questions will be resolved in the fall when you review the logbooks work.  But let's leave it alone for now.
This makes me realize that we should make all the logbooks available as PDFs at some point.  We have them.  People will be interested.  Maybe we can plan to do this in the new year -- it could just be links from the logbooks source essay.

@i-davis -- thank you for the research for Price. I'm not convinced that separating would make things any more accurate. The "other" is likely a supplement deposit for periodicals.  My vote is to leave it as "other" until we create separate events for "deposits" if that happens. This seem OK to you?

@jkotin: re Bell: sounds good!
Excellent! The logbooks feel absolutely vital to me, and fascinating, esp full of little oddities that the current iteration of the site can't capture. I think it'd be great to make them open access!
re Price: Yeah, that seems right to me, keeping all these events together as Phyllis Price, and keeping the other as other!

@rlskoeser I think we are set for the exports.  I need today to finish going through the books one last time -- I'm 80% through. But otherwise, I don't think there are any unresolved issues. Is there anything I need to do for the export pages? I'll revise the export page on the site and save a draft on Wagtail.

@jkotin just to confirm, you are signing off on the revised data exports without any additional software changes (i.e. we'll leave "other" as is for now and document)? Please close this issue if that's the case.
We'll probably want to revise the export page (and it would probably help to see what the dataspace page looks like! I can work on that soon); that can be done independently of this task to revise the data set.

@rlskoeser I've been going through all the books and fixing mistakes. I'm wondering if it would be possible to do two queries that would further clean the data:

A list of generic events without work titles.  For example, I've find some generic events without work titles for strikethrus, as well as some generic events without work titles that should be supplements or "other."  For example:

https://shakespeareandco.princeton.edu/admin/accounts/event/4703/change/?_changelist_filters=p%3D2%26o%3D5.3%26start_date__year%3D1926
This is an event for an overdue notice that is likely connected to the incorrect account.

A list of book events (borrow, purchase, generic) without footnotes. I've found a few of these, which I've fixed manually.

Sorry for the delay identifying these queries.  It's been helpful to go through all the titles and fix errors that I would have asked Cate to fix.

@i-davis There are 12 "overdue" subscription events currently labelled "generic."  See:
https://shakespeareandco.princeton.edu/admin/accounts/event/?q=overdue
These should be changed to "other" or deleted, or made into a new kind of event "overdue."  As it stands, they lead to weird information on the site.  For example, Mrs. P. F. Dunne has 1923 and 1926 as membership years, but only visible events in 1923: https://shakespeareandco.princeton.edu/members/dunne/.
What's your opinion on how to handle this @rlskoeser ?

@jkotin if it's an overdue subscription, I can add another subscription "subtype" analogous to supplements and renewals — would that make sense? That would make it into something the code recognizes as a "membership activity" so it would be listed in that table.

I've been going through all the books and fixing mistakes. I'm wondering if it would be possible to do two queries that would further clean the data:

@jkotin I think the queries you're interested in can be done with OpenRefine. I'll generate and share a fresh event export from production and provide guidance on how to find the events you're interested in. I'm glad you've identified these problems and will be able to fix more of them before we publish the data!

@rlskoeser excellent, thank you, re: OpenRefine and fresh event export.
Re: overdue -- @i-davis what do you think? Have we been recording overdue notes consistently, or are these 12 a remnant of a practice that was abandoned?  If the latter, we should probably just delete them.  If these are all the overdue notices (or most of them), when we should follow Rebecca's suggestion.  Have we been recording fines?

@rlskoeser one other query that occurred to me -- but it's not vital to do it before publishing the data: identify people that are not attached to any events or any works.  I think there are a lot of people (members and creators) we created by mistake.

@jkotin : I'm not sure about this: the overdue pre-date me! They clearly came, that is, from XML transcriptions of the logbooks before the database existed. They have no event history, and the notes attached to them are weirdly standardized, produced by the database as it metabolized the XML transcriptions.

They're clearly representing events in the logbook:

I don't know: should we save them? I'd be happy to turn them all into the sub events @rlskoeser suggests!

Deleting them is fine with me, especially if we think we haven't captured them systematically (as seems to be the case)!

I deleted them!

@jkotin are there any software changes needed at this point? It seems like at this point it's all data cleanup that will any additional software changes.
If you've reviewed the changes we agreed on (removing OCLC urls, switching uncertainty, re-ordering member fields in the events export) then I think this issue can be closed.

@rlskoeser the events export that I'm working with still have a "item_work_uri" field -- should that be deleted?

@jkotin I was concerned about that when I saw it until I remembered that I gave you fresh production exports to make sure you're looking at the latest data.
Did you ever review the revised qa/test data exports for the changes we agreed on? (including removing OCLC URIs, re-ordering member fields in the event export, and the revision to the uncertainty flag). All I saw was your https://github.com/Princeton-CDH/mep-django/issues/673#issuecomment-653293836  that it "looks great"

Oh, good that makes sense.  I was just worried that I overlooked at field in my earlier review.  I'll close now.  My hesitation (psychological) is that the datasets are really finalized yet.  But all the software changes are done.  I don't think we need to autofill the formats anymore.  I manually corrected them, FWIW.

@jkotin should I remove the auto-fill format logic? Great to have them corrected in the database.

Yes please.


Provide a CMake Package Configuration File

It would be great if a CMake package configuration file would be installed/provided altogether with the lib itself. So everyone running an own CMake project could include/find unittest++ easily with the Cmake command find_package().
See https://cmake.org/Wiki/CMake/Tutorials/Packaging for details.

Agreed. This is a duplicate of #89, though, so I'm closing it.

Ah, disregard previous comment -- related but not the same.

Thanks!


[Question]: Backtrailing slashes for directories

Before Start

[X] You are using the latest version of PSCompletions.
[X] You have read this repository's README file.
[X] You have search for related issues in Issues.
[X] You have visit https://pscompletions.pages.dev/

What Powershell version are you using?
PowerShell
What system are you using?
Windows
Steps to reproduce
Use the completion menu to access a directory.
> ls
Directory
> cd Dir<TAB> (menu opens and select Directory)

What is expected?
Add a trailing backslash to directories when completion occurs.
> cd .\Directory\

What is actually happening?
No trailing backslash
> cd .\Directory

Any additional comments?
(This is more like Q/A Issue rather than Bug report, please let me know how I can fix this.)

Path completion is provided by PowerShell's built-in TabExpansion2.
The path completion returned by TabExpansion2 does not come with \ , you may need to add it manually.

Is there any way to add it?
When I normally use Tab on PowerShell for directory path completion, it does add \ to the end.

It will be fixed in v5.0.6.
Please wait.


Handle the fact that preceding and succeeding titles are not part of the properties in the Instance Json Schema

Reported this as https://issues.folio.org/browse/MODINV-354
Waiting for this be completed

Fixed


Sushi Example doesn't work on Databricks due to Space

https://github.com/TobikoData/sqlmesh/blob/bdd2074c606208d2268e9eae7dd81a9cf943ef23/examples/sushi/models/customer_revenue_by_day.sql#L32
databricks.sql.exc.ServerOperationError: Found invalid character(s) among ' ,;{}()\n\t=' in the column names of your schema. Please use other characters and try again.

@eakmanrq i think we can have spaces if we make databricks use
delta.columnMapping.mode
https://docs.delta.io/latest/delta-column-mapping.html
do you know how to add this for databricks in the tests?

It looks like this is a table property: https://docs.delta.io/latest/delta-column-mapping.html
So we would want to add this to the model table properties I think.


Adding Javascript implementation of "01-upload-a-file"

Javascript implementation of "How To Upload a File" using selenium-webdriver inbuilt mocha wrapper and assert library. Included steps to install dependencies and run test.

Thanks for the contribution! Sorry it took me so long to review it. Given the changes happening in the Selenium JS client bindings, the examples need to support the new await functionality (instead of the built-in promise manager). I accepted an alternative example which exercises this functionality that you can see here. Also, if you're curious about the new changes coming for the officially supported JS Selenium bindings, you can check out this talk from Selenium Conf earlier this year by Manoj Kumar.


Transition into state CONNECTING when we start name resolution

When the channel starts name resolution, it should transition into state CONNECTING.  We were previously failing to do that and remaining in state IDLE until after the LB policy was created, which is incorrect.
Built on #18096.

Known failures: #17927 #18142


Readme update

Hi Jake,
I had this readme sitting on my pc for a while.  I have created a gif for the new logo
hope you like

Hi Simon! thanks for the contribution to the README and I like the gif for the new logo as always 💯
I have just changed the destination branch for merge - as it should go into #35-v1.1.0 release branch instead of master 👍

Hi Jake,
Thanks for doing the merge.. someday you should show me how to properly
push branches onto Git.
Just been fixing a bug with the desktop app crashing when you create an app
with a hyphen (i.e. tron-1) turns out it was just a quick one-line fix with
the database creation you can check out the thread here FYI - Trongate Code
Generator "Freezes" at GENERATE NEW APP if hyphen used in database name -
<SCA ⚡> Members Forum (ums.myds.me)
https://ums.myds.me/phpbb/viewtopic.php?f=11&t=1137&p=4866#p4866
I'll test out the extension in the morning, getting a bit late now and I
better head to bed :)
If I need help, I'll let you know
On Mon, 18 Apr 2022 at 00:00, jakecastelli @.***> wrote:

Hi Simon! thanks for the contribution to the README and I like the gif for
the new logo as always 💯
I have just changed the destination branch for merge - as it should go
into #35 https://github.com/jakecastelli/trongate-vscode/issues/35-v1.1.0
release branch instead of master 👍
—
Reply to this email directly, view it on GitHub
https://github.com/jakecastelli/trongate-vscode/pull/45#issuecomment-1100882741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3TRDSCEUEJYZ2ZTYZ6WR3VFQKO7ANCNFSM5TSGGPZQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


ios 10 support

Hi, , want to try your project but i ned ios 10 support. Please make convenient for all of us :)

oh sorry, u had a note in closed issues about that just notice now.


EffortConnection.RollbackToRestorePoint incorrectly works with identity fields of entities

Description
During rollback operation from restore point identity field value may change for an entity that was in unchanged state.
The reason of this behavoir is using Insert method of Effort.Internal.DbManagement.Engine.ExtendedTable, that by default tries to generate new identity value for entity that already has it. In result restored entity has another Id value and relations to other entities become broken.
Exception
Exception message:

System.Exception: System.Exception: Oops! There is an error when trying to generate the insert order. ---> System.Reflection.TargetInvocationException: Адресат вызова создал исключение.(The target of an invocation has generated an exception.) ---> NMemory.Exceptions.ForeignKeyViolationException: Foreign key violation [dbo_DocumentType :: ProjectId]. The key value [1] does not exists in the referenced table [dbo_Projects :: Id].. Error code: RelationError.

Stack trace:
   in Effort.Shared.Provider.EffortRestorePoint.CreateOrderedEntities()
   in Effort.Shared.Provider.EffortRestorePoint.Restore(DbContext context)
   in Effort.Provider.EffortConnection.RollbackToRestorePoint(DbContext context)

Further technical details

EF version: Entity Framework Classic 7.1.3
EF Effort version: Z.EntityFramework.Classic.Effort 2.0.0
Database Provider: System.Data.SqlClient

Suggested fix
Disable identity field per each table before rollback. Enable identity fields after rollback is completed.
        public class EffortConnection : DbConnection   {
        ...
            public void RollbackToRestorePoint(DbContext context) {
                if (this.RestorePoint == null) {
                    throw new Exception("You must create a restore point first");
                }

                if (this.DbContainer != null) {
                    ClearTables(context);
                    this.DbContainer.SetIdentityFields(false);

                    this.RestorePoint.Restore(context);

                    this.DbContainer.SetIdentityFields(true);
                }
            }
        ...
        }

Workaround
In DB context for tests, add the wrapper method and use it instead of EffortConnection.RollbackToRestorePoint:
            public void EffortRollbackToRestorePoint() {
                void SetIsIdentityFieldEnabled(object table, bool value) {
                    var propertyInfo = table.GetType()
                        .GetProperty("IsIdentityFieldEnabled",
                            BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty);
                    if (propertyInfo != null) {
                        propertyInfo.SetValue(table, value);
                    }
                }

                // this is optional, recommended if Query Cache extension is used
                QueryCacheManager.ExpireAll();

                var tables = (this.Database.Connection as EffortConnection)?.GetAllTables() ?? new List<ITable>();
                foreach (var table in tables) {
                    SetIsIdentityFieldEnabled(table, false);
                }

                (this.Database.Connection as EffortConnection)?.RollbackToRestorePoint(this);

                foreach (var table in tables) {
                    SetIsIdentityFieldEnabled(table, true);
                }
            }

Regards,
Roman

Hello @rmaenk ,
Thank you for reporting,
My developer will look at it.
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Hello @rmaenk ,
A new version has been released.
Could you look at it and let me know if everything works as expected.

Hello @JonathanMagnan,
Where I can find new version of Z.EntityFramework.Classic.Effort nuget package?
Here it is still version 2.0.0: https://www.nuget.org/packages/Z.EntityFramework.Classic.Effort/

EF Classic should be released during the day, I will let you know when the package will be available

Hello @rmaenk ,
The package is now available with the version 2.2.9

Hello @JonathanMagnan
I have tested this version. Looks good.
Thanks!
Roman


Fix unit test in pkg/agent/openflow/pipeline_test.go

Signed-off-by: Hongliang Liu<EMAIL_ADDRESS>

/skip-all

/skip-all


Syncing upstream

:tada: This PR is included in version 1.4.1 :tada:
Your semantic-release bot :package::rocket:


image-rs: replace rand from openssl to ring

openssl does not support cross compilation while ring supports, this makes sense when we do cross compilation tests.

btw, this makes me more think about use ring instead of openssl on the whole stack due to https://github.com/confidential-containers/guest-components/issues/422#issuecomment-1990996409.


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In d0a13dd, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 10371 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 736d5bd after 22 minutes.


runtime: big_int_to_hex prints in big endian and trims zeros

Resolves #481

@Jannis I believe we store BigInts as decimal strings, so I don't think this would apply.


Error: NuGet packages need to be restored before building. NuGet MSBuild targets are missing and are needed for building. The NuGet MSBuild targets are generated when the NuGet packages are restored. (FirstBlazorHybridApp)

Following the steps for setup here and here for building my first hybrid app on the led me to an error that I was unable to resolve.
Im on visual studio for mac. 8.10
So every time I try to update a package this shows up:
/usr/local/share/dotnet/sdk/5.0.300/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(63,5) : error NETSDK1100: Windows is required to build Windows desktop applications.
Unable to create package spec for project.

Simply removing the windows project (I dont need it anyways) resolved this on mac vs.


ssl/tls aborted, is this mod abandoned?

log file is short and is postable.
6/11/2021 10:55:10 PM : Creating config directory.
6/11/2021 10:55:10 PM : Creating config file.
6/11/2021 10:55:10 PM : Error: IsUpdateAvailable - The request was aborted: Could not create SSL/TLS secure channel.
thats the ifruitaddon2 log file

GitHub seems to have aborted HTTP support and I didn't implement HTTPS in the code.
But since I won't update this mod, you can simply disable the update checks from the config file.
You should have a folder named iFruitAddon2 inside your script folder. In this folder, you will find the file config.ini and you need to edit the line:
CheckForUpdates=true
to
CheckForUpdates=false
You will certainly see performances improvements when starting the game since checking for update fell to time out.
You need to have launched the game at least once with this mod for the config file to appear.

[General]
StartIndex=40
thats all thats in there

that lines not present, and ive ran the mod thousands of times, well kinds, it timed out every time

config.txt

aside from being renamed so i can post it, its the config.ini file

side question, is this the modders mod throwing the exception or is it the ifruitaddon2?
[21:16:28] [INFO] Started script WorkingJuggernautSuit.Class1.
[21:16:46] [ERROR] Caught fatal unhandled exception:
System.MissingMethodException: Method not found: 'Void iFruitAddon2.CustomiFruit.Close(Int32)'.
at WorkingJuggernautSuit.Class1.loadMenu(iFruitContact contact)
at iFruitAddon2.iFruitContact.OnAnswered(iFruitContact sender)
at iFruitAddon2.iFruitContact.Update()
at iFruitAddon2.iFruitContactCollection.Update(Int32 handle)
at iFruitAddon2.CustomiFruit.Update()
at WorkingJuggernautSuit.Class1.OnTick(Object sender, EventArgs e)
at SHVDN.Script.MainLoop()
[21:16:46] [ERROR] The exception was thrown while executing the script WorkingJuggernautSuit.Class1.
[21:16:46] [WARNING] Aborted script WorkingJuggernautSuit.Class1.

I think you might not have the latest version of iFruitAddon2 (2.1.0).
Github messed up with the releases and was showing 2.0.0 as the latest, I fixed it.
Updating and adding CheckForUpdates=false to your config.ini should do the trick.
For WorkingJuggernautSuit, it is the mod that throws the error and if you use an outdated version of iFruitAddon2, this is completely normal. Try again after updating :)

mod author sent me a copy of his ifruitaddon2. the version is the correct one, issue is resolved, wish idve known about the version issue. wouldve saved me a lot of trouble from the get-go

Well, whenever you need to download something, take it from the official source and download the latest version, simple as that.
The latest version was listed in the releases, if you had a looked at the releases you'd have seen it.


test: pull image before using it

Signed-off-by: Wei Fu<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
The case maybe run by name. If we don't pull image before, the case will
fail. Each case should do their own setup job.
Ⅱ. Does this pull request fix one issue?

none
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
no need
Ⅳ. Describe how to verify it
CI
Ⅴ. Special notes for reviews

LGTM


WIP: Add supplychainsecurity

Work in Progress:
Add supply chain stuff (slsa and sigstore to the package)
Open points:

creating environements at github / configure testpypi / pypi
how to deal with matrix

An upstream sync will fix the Python 3.12 build.


Foundation Grid Layout Does Not Support Disabling Grid Container

Because Foundation applies it's max-width to the row div instead of surrounding it in a container div, disabling the grid container on an area has no effect when using Zurb Foundation, because row still has max-width applied to it.
To fix this, we should perhaps use Foundations "row expanded" class instead of just row, as it does not have a max-width applied to it.  Then add the start html container tag back to the GridFramework Foundation class.
In essence, "row expanded" would be used by default (so it will not be constricted if layout container is disabled), but when grid container is enabled it will be surrounded in a .container class, which will restrict it's max-width (as long as it has CSS rules to do so), making grid container work as it does with bootstrap3 layout.
EDIT:
We could possibly use "row" as the container class name instead of "container" to keep all the class names used in the Foundation GridFramework strictly from Zurb Foundation.

Why don't you just add for example .ccm-page .row {     max-width: none;  } to your CSS?

Because it's about making it work correctly at the core.  Just like you don't need to add this custom CSS to your CSS when using bootstrap.  The Foundation GridFramework can be set up to support Layout Containers just like Bootstrap3 by changing some class names.
Granted someone did add max-width none to their CSS for "row", the still need to add CSS for container max-width since it's not apart of Zurb Foundation.  That being said, "row expanded" has no max-width, so it acts like a bootstrap row does, and for the container, you can wrap it in a normal row, which does have a max-width CSS, so it makes the Foundation GridFramework work like it should when using Layout Containers.

I see what you mean now. I've never used the disable grid container option in combination with Foundation 6, but I can see why it wouldn't work.
I assume you're talking about this class? https://github.com/concrete5/concrete5/blob/develop/concrete/src/Page/Theme/GridFramework/Type/Foundation.php#L32

Yep yep.