Unable to sign transactions with passkey in multisig setup

Environment

Network: Amoy
Chain ID: 80002
Platform: React Native
Implementation: Passkeys recovery with multisig setup (device key + passkey)

Current Setup
Currently implementing passkeys recovery in a React Native application using a multisig configuration with device key and passkey as owners.
Steps to Reproduce
1. Initial Swap Owners Operation
Successfully executed swap owners operation to add passkey as an owner.
Initial owners:
owners [
"0xCff723791e10b1071a0263DceF5f6f9F2eFe47f3",
"0xD956eE0fF28E4f67f635bbd9Ff38bCa6497C3DEb"
]

Swap operation:

From: 0xD956eE0fF28E4f67f635bbd9Ff38bCa6497C3DEb
To: 0xe831c79bf7f53eb2de68baf07112b46e725d9901

The passkey address was generated using:
SafeAccount.createAccountAddress([passkeyCredential.pubkeyCoordinates])

Transaction successful:

Hash: 0x011747df0f76bf1815a2f3cabc07f2db3e2d0179eee2d58c287ecf42e38fd1f9

Final owners configuration:
owners [
"0xCff723791e10b1071a0263DceF5f6f9F2eFe47f3",
"0xe831C79bF7f53Eb2DE68Baf07112b46E725d9901"
]

2. Transaction Testing
Single Owner Transaction
Successfully executed NFT minting transaction following the example from SafeCard.tsx

Source code

const mintNFTPasskey = async (accountAddress: string, passkey: PasskeyCredentialWithPubkeyCoordinates) => {
    // NOTE: only for testing purposes
    try {
      const nftContractAddress = '0x9a7af758aE5d7B6aAE84fe4C5Ba67c041dFE5336';
      const mintFunctionSignature = 'mint(address)';
      const mintFunctionSelector = getFunctionSelector(mintFunctionSignature);
      const mintTransactionCallData = createCallData(
        mintFunctionSelector,
        ['address'],
        [accountAddress],
      );
      const mintTransaction: MetaTransaction = {
        to: nftContractAddress,
        value: 0n,
        data: mintTransactionCallData,
      };

      const safeAccount = SafeAccount.initializeNewAccount([passkey.pubkeyCoordinates], {
        eip7212WebAuthnPrecompileVerifierForSharedSigner:
          '0x0000000000000000000000000000000000000100',
      });
      let userOperation = await safeAccount.createUserOperation(
        [mintTransaction],
        jsonRPCProvider,
        bundlerUrl,
        {
          dummySignatures: [WebauthnDummySignerSignaturePair],
          preVerificationGasPercentageMultiplier: 120,
          verificationGasLimitPercentageMultiplier: 120,
        },
      );
      let paymaster: CandidePaymaster = new CandidePaymaster(paymasterRPC);
      let [userOperationSponsored, sponsorMetadata] =
        await paymaster.createSponsorPaymasterUserOperation(userOperation, bundlerUrl);
      userOperation = userOperationSponsored;
      const bundlerResponse = await signAndSendUserOp(safeAccount, userOperation, passkey);
      let userOperationReceiptResult = await bundlerResponse.included();
      console.log('userOperationReceiptResult', userOperationReceiptResult);
      if (userOperationReceiptResult.success) {
        console.log(
          'One NTF was minted. The transaction hash is : ' +
            userOperationReceiptResult.receipt.transactionHash,
        );
      }
    } catch (error) {
      const err = parseAbstractionKitError(error);
      console.error('Error mintNFTPasskey', err);
    }
  };

Result: Transaction successful

Hash: 0x9a0d105c42e2994931f77b3084d03ea9d136710f948a39b7403ed41f97b7e87b

Multisig Transaction (Failed)
Attempted to execute the same transaction using safeWallet with two owners (threshold: 1)
Error received:
{"cause": "Invalid UserOp signature or paymaster signature", "code": "BUNDLER_ERROR", "context": undefined, "errno": undefined, "message": "bundler eth_sendUserOperation rpc call failed"}

Source code

  const mintNFTMultisig = async (
    safeWallet: SafeWallet,
    passkey: PasskeyCredentialWithPubkeyCoordinates,
    address: string,
  ) => {
    // NOTE: only for testing purposes
    try {
      await safeWallet.getOwners();

      const nftContractAddress = '0x9a7af758aE5d7B6aAE84fe4C5Ba67c041dFE5336';
      const mintFunctionSignature = 'mint(address)';
      const mintFunctionSelector = getFunctionSelector(mintFunctionSignature);
      const mintTransactionCallData = createCallData(mintFunctionSelector, ['address'], [address]);
      const mintTransaction: MetaTransaction = {
        to: nftContractAddress,
        value: 0n,
        data: mintTransactionCallData,
      };

      let userOperation = await safeWallet.safeAccount.createUserOperation(
        [mintTransaction],
        jsonRPCProvider,
        bundlerUrl,
        {
          dummySignatures: [WebauthnDummySignerSignaturePair],
          preVerificationGasPercentageMultiplier: 120,
          verificationGasLimitPercentageMultiplier: 120,
          eip7212WebAuthnPrecompileVerifier: '0x0000000000000000000000000000000000000100',
        },
      );
      let paymaster: CandidePaymaster = new CandidePaymaster(paymasterRPC);
      let [userOperationSponsored, sponsorMetadata] =
        await paymaster.createSponsorPaymasterUserOperation(userOperation, bundlerUrl);
      userOperation = userOperationSponsored;
      const bundlerResponse = await signAndSendUserOp(
        safeWallet.safeAccount,
        userOperation,
        passkey,
      );
      let userOperationReceiptResult = await bundlerResponse.included();
      console.log('userOperationReceiptResult', userOperationReceiptResult);
      if (userOperationReceiptResult.success) {
        console.log(
          'One NTF was minted. The transaction hash is : ' +
            userOperationReceiptResult.receipt.transactionHash,
        );
      }
    } catch (error) {
      const err = parseAbstractionKitError(error);
      console.error('Error mintNFTMultisig', err);
    }
  };

UserOperarion response:
{"callData": "0x541d63c80000000000000000000000009a7af758ae5d7b6aae84fe4c5ba67c041dfe533600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000246a627842000000000000000000000000cff723791e10b1071a0263dcef5f6f9f2efe47f300000000000000000000000000000000000000000000000000000000", "callGasLimit": 20658n, "initCode": "0x", "maxFeePerGas":<PHONE_NUMBER>8n, "maxPriorityFeePerGas":<PHONE_NUMBER>2n, "nonce": 4n, "paymasterAndData": "0xDaD1b9318cdf364668cCa9bb5a73F6bC83f8a70500000000000000000000000000000000000000000300006756de1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007314066c0964f5450e5b0f64493f12ddd2940e054a9c7b2d2dbb0a5ebd28433d44284605b1eaeb9f657ff04c5ae11ce0db1a141dd3d05e05839fa202e2346d641b", "preVerificationGas": 94308n, "sender": "0x02b158c8e0de12bb84206b7a470c4c526110f3d0", "signature": "0x000000000000000000000000000000000000000000000000af202e23e4d7843298a13369aed41d23869fe8450000000000000000000000000000000000000000000000000000000000000041000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0893b69af63da20dbe74a0e5f416015d9a3105f1b8a24d66e05ec29ff45e947d209cadbc1212f1ea00c4f45207faa9d372f9bda7e8f4a5569a0b9b0c0e0ee29380000000000000000000000000000000000000000000000000000000000000025c8cd93d7978ed56de2e4c764fabd547bc3b9e9f4d67a3e9fb2b868df2328c7871d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035226f726967696e223a2268747470733a2f2f616630622d3137382d31392d3138362d3139332e6e67726f6b2d667265652e617070220000000000000000000000", "verificationGasLimit": 332940n}

Question
Could you provide an example of how to properly sign transactions in a multisig setup with passkeys? The current implementation works for single-owner transactions but fails when attempting to use multiple owners.

Thanks Adrian for opening an issue. A few questions regarding the setup

Can you share the version of abstractionkit you've used? Please make sure you are on the latest, currently at v0.2.2. If you've used a previous version (0.2.0), that shouldn't have caused any issues. I have bumped the versions in the passkeys examples accordingly in my last 2 commits.

I have noticed that in the Safe in which you swapped the owner to a passkey owner, the owner doesn't have any contract code deployed to its address on amoy: 0xe831c79bf7f53eb2de68baf07112b46e725d9901

Could you share how you've executed the swap ownership? Abstractionkit supports createSwapOwnerMetaTransactions, which not only calls swaps the owner but also deploys the webauthn module.
Let me know if you've already followed the above, and if you still have issue I will investigate further or provide an example.

@Sednaoui  Yes, it works. I must have misunderstood something. Thank you very much!
I have one question: How can I check the actual account address after swapping owners? As you mentioned, .createAccountAddress is different from the address returned by .getOwners().
I know I can compare owners before and after the swap and then check which one is new, but is there another way?"

@Sednaoui Yes, it works. I must have misunderstood something. Thank you very much! I have one question: How can I check the actual account address after swapping owners? As you mentioned, .createAccountAddress is different from the address returned by .getOwners(). I know I can compare owners before and after the swap and then check which one is new, but is there another way?"

The SAFE account address never changes if it is deployed


Add auth plugings for k8s driver

Communicating with kubernetes clusters that use auth plugins require
that support for the auth plugin be compiled into the go binary. This
PR adds support for all auth plugins provided by k8s.io/client-go.
Without this change, attempting to use the k8s driver with GKE results
in a panic like:
panic: No Auth Provider found for name "gcp"

goroutine 1 [running]:
github.com/deislabs/duffle/pkg/driver.(*KubernetesDriver).SetConfig(0xc0002f6000, 0xc000285470)
	/go/src/github.com/deislabs/duffle/pkg/driver/kubernetes.go:89 +0x317
main.prepareDriver(0x7ffc395ceb4d, 0x3, 0xc000549800, 0x5, 0xc0005480e0, 0xd)
	/go/src/github.com/deislabs/duffle/cmd/duffle/main.go:111 +0x204
main.(*installCmd).run(0xc00013f4a0, 0x12, 0x0)
	/go/src/github.com/deislabs/duffle/cmd/duffle/install.go:115 +0x246
main.newInstallCmd.func1(0xc0002a6780, 0xc000297b20, 0x2, 0x7, 0x0, 0x0)
	/go/src/github.com/deislabs/duffle/cmd/duffle/install.go:80 +0xa5
github.com/deislabs/duffle/vendor/github.com/spf13/cobra.(*Command).execute(0xc0002a6780, 0xc000297ab0, 0x7, 0x7, 0xc0002a6780, 0xc000297ab0)
	/go/src/github.com/deislabs/duffle/vendor/github.com/spf13/cobra/command.go:762 +0x473
github.com/deislabs/duffle/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc00028e500, 0xc000542f00, 0xc0000506f0, 0xc0000507a0)
	/go/src/github.com/deislabs/duffle/vendor/github.com/spf13/cobra/command.go:852 +0x2fd
github.com/deislabs/duffle/vendor/github.com/spf13/cobra.(*Command).Execute(0xc00028e500, 0x0, 0xc00028e500)
	/go/src/github.com/deislabs/duffle/vendor/github.com/spf13/cobra/command.go:800 +0x2b
main.main()
	/go/src/github.com/deislabs/duffle/cmd/duffle/main.go:31 +0x47

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

I submitted the CLA to our legal team for approval, hopefully that doesn't take too long.

/brig run

/brig run

Thanks for the contribution @scothis! :bowtie:


IMPORTANT: Password Reset Implementation/Email Notification/Scheduling Bug for Milestone

These issues already exist, just making sure the issue is on the top of the priority list.

Password reset system implemented - see issue #14

[x] Password reset system
[ ] Account creation confirmation email
[ ] Schedule "ghosting" bug

Pretty sure the schedule ghosting bug was fixed by something we updated, I haven't experienced it in quite a while. I think it was caused by generally having numerous database and user session bugs; I think fixing those fixed the ghosting bug. Closing this issue.


Create Download of Benchmark Selection from Pregenerated ZIP File

Currently it seems reading the files from the disc is the bottleneck for the download.
As a possible improvement, we could
(1) Load the existing pregenerated zip file of all benchmarks (~3GB) into memory and
(2) Create custom selection of benchmarks from the pregenerated file.
This also has the advantage of not requiring all individual qasm files (all together roughly 27GB) on the server.
The downside is the need to unzip and re-zip the individual files on each request.

After some issues in implementation an deployment, this idea is done :)


German translation

Thank you for providing the PR on GitHub. I noticed a translation issue with the phrase 'Ignore cases.' It actually means ignoring the distinction between uppercase and lowercase letters. Could you please double-check if there are any other translation errors?

Thanks for that hint. I wouldn't have figured it out without running the program.


Buttons have no mouse feedback in high contrast theme

Checkout, close, etc. should look like this on mouseover:

Actually this is pretty inconsistent, most UI components don't show this. Closing for now.


MINOR: Refactor plugin scanning logic into ReflectionScanner and ServiceLoaderScanner

In order to support multiple scanning modes, we should refactor the existing scanning mechanism out of the DelegatingClassLoader. This is because KIP-898 will require more functionality that relies on the results of scanning, and it is not appropriate to add this functionality to the DCL itself.
Scanning (and the PluginScanResult) are dependent on the ClassLoader instances which are used to load the plugins, so the DelegatingClassLoader is still responsible for processing the plugin path and instantiating the PluginClassLoader, and emitting these to the external scanner via PluginSource objects.
In addition to pulling the existing reflection-based scanning out into a ReflectionScanner and superclass PluginScanner, add the ServiceLoaderScanner (currently unused) which shares some functionality with the ReflectionScanner.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@gharris1727 can we start filing Jira tickets for these changes to classloading logic? They're large enough that I don't think MINOR is warranted anymore, and it'd be nice to have a picture of how they fit into the high-level implementation plan for KIP-898.

Thanks Greg! The latest changes look great. A few small comments left about some of the internal APIs we're introducing here. We also still need to either add tests for the service loader scanner, or remove that class from this PR.

@C0urante Thanks for the helpful comments! The initial version was just-enough to get later stuff working, but the latest version is a much more complete refactor.

We also still need to either add tests for the service loader scanner, or remove that class from this PR.

To properly test the ServiceLoaderScanner, I'll need to add manifests to the TestPlugins. To avoid scope creep, I've moved the ServiceLoaderScanner out of this PR. I'll add it in a follow-up along with the necessary test changes.
This is ready for another pass.


how to solve process not defined in Remix

I am using Remix and haven't found a workaround to solve process not defined, in the other resolved issues, you mentioned webpack and prefixes from vite, next, and react, which don't work in my case.
Is there a workaround?
A custom config option somewhere?
Thanks in advance

Hi @yarapolana,
There is a work around to define process in Remix code, You can use that temporarily, Soon we will add support for Remix directly in the library itself,
To define process you can create an inline script with following code.
<script
  dangerouslySetInnerHTML={{
    __html: `window.process = ${JSON.stringify({
      env: {},
    })}`,
  }}
/>

You can also find more information here
https://github.com/remix-run/remix/discussions/4906
https://sergiodxa.com/articles/use-process-env-client-side-with-remix

@sushinpv Wow, thank you for the fast reply.
Didn't see this until now. Works like a charm!
The only thing I changed was ... JSON.stringify(env) instead of ... JSON.stringify({ env: ... })


Can't register with demo

I get the following error:

Thanks for opening this issue, @dnordberg. I've updated the database schema (this field is now called prefersLanguage, not preferredLanguage), but haven't published the most recent API version to the demo site. I'll keep this issue open until I deploy the new version.


volume snapshot tab error 530

ISSUE TYPE

Bug Report

COMPONENT NAME

UI

CLOUDSTACK VERSION

<IP_ADDRESS>

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

when opening the volume snapshot tab from the UI we receive error 530.
If I try to open the volume snapshot directly from a single volume, no errors are displayed
STEPS TO REPRODUCE

open volume snapshot from the cloudstack UI

EXPECTED RESULTS

the tab is open and all the volume snapshots are displayed

ACTUAL RESULTS

we receive error 530 from the UI with the following logs from the management server
[vol-snap-err.txt](https://github.com/user-attachments/files/16388264/vol-snap-err.txt)

@cdfgallo , both paths work for me in a lab env. Can you try to add more info, please?


various updates (#23)

Set description to cmd args of parallel_tests process

Fix matcher to detect when start time needs to be updated

Clean up formatting in report.rb

Implement a folder creation lock file to address duplicate folders being created

Delay each process by its ID number to create a staggered start to reporting in Report Portal (addresses load issues)

Formatting and cleanup in parallel_report.rb

Use temporary directory for tracking folder creation

Add commenting around why we are delaying threads

Make sure to use a "full path" for folder creation tracking

fixing report description when run in parallel

refactoring how runner process is detected

added fallback to cucumber if parallel test was not for parallel formatter

reverting some changes

launch_uuid related fixes

Fix Cucumber parallel formatter

Fix parallel_tests version and possible endless loop

Add debug logging to debug some issue

Add more debug logging

Remove retrying of requests to Report Portal

Set last_used_time to a time of the parent item

Set description to cmd args of parallel_tests process

Fix URLs to include required "filter.eq.launch" parameter

Fix matcher to detect when start time needs to be updated

Clean up formatting in report.rb

Implement a folder creation lock file to address duplicate folders being created

Delay each process by its ID number to create a staggered start to reporting in Report Portal (addresses load issues)

fixing report description when run in parallel

if launch_id or file_with_launch_id is provided launch will not be marked as finished
moved sleep time, since we are waiting for report to be created anyways

reverting file lock changes for reading the file

moving lock file related functions to private

fixing temp file path generation

refactoring how runner process is detected

added fallback to cucumber if parallel test was not for parallel formatter

using single formatter for both parallel_cucumber and cucumber

adding logger for report portal

updating readme and adding settings for logging level

updating how response processing is handling

fixing issue with child process not closing the folder's items

fixing value for time, removing cucumber IO as it's no longer needed

adding logging

when run in parallel, child process should not close items in process(folder)

adding logging

add exception handling when closing item , if already closed , ignore RP 40018 error code

adding patch for multipart

updating version

Most of changes may look good but it's hard to review such large PRs.

will consider making smaller PR next time.

@vveliev-tc Faraday should be added to your Gemspec. Gems should not not declare their dependencies in the Gemfile, only the .gemspec.

@aliaksandr-trush @abotalov @alalayla can we merge this branch?

I'd like to comment on some points from https://github.com/reportportal/agent-ruby/pull/40#discussion_r296306960:

I'm not sure what is the use for attach_to_launch in your project, but If I need to connect to the ReportPortal from outside of the formatter in order to create a launch that it should attach to, it sounds more like a HACK!
Also, it's redundant to provide rp_launch in this case and if launch created from by some other scripts.
If tests are run not on one machine but are split across several machines, they don't have a synchronization context. So launch has to be started on a leader machine and passed to slave machines.
This is not a hack.

I'd like to comment on some points from #40 (comment):

I'm not sure what is the use for attach_to_launch in your project, but If I need to connect to the ReportPortal from outside of the formatter in order to create a launch that it should attach to, it sounds more like a HACK!
Also, it's redundant to provide rp_launch in this case and if launch created from by some other scripts.

If tests are run not on one machine but are split across several machines, they don't have a synchronization context. So a launch is started on a leader machine and the launch id passed to slave machines.

that is the stundart approach, I just not sure how that affects this PR?

that is the stundart approach, I just not sure how that affects this PR?

I don't see the use case when it makes sense to start launch if attach_to_launch is present.

I think we have a different interpretation of what it means to use 'attach_to_launch' mode.
the way I understood it: if I run cucumber in multiple processes where I would like all feature to be present under the same report I will be using 'attach_to_launch' (and I will be passing this feature to all cucumber processes)

if the cucumber is started with this option and the only single process was actually run, it should still work.
** If I don't use this option each cucumber process will create its own launch

Yes, attach_to_launch was designed to be used only for cases when a launch was already started externally. If launch is not already started, user should not use attach_to_launch formatter mode.
If attach_to_launch formatter mode is not present:

the launch should be started by the first process if ParallelTests is used
the launch should be started by the only process if ParallelTests is not used

Yes, attach_to_launch was designed to be used only for cases when a launch was already started externally. If launch is not already started, user should not use attach_to_launch formatter mode.
If attach_to_launch formatter mode is not present:

the launch should be started by the first process if ParallelTests is used
the launch should be started by the only process if ParallelTests is not used

I think it's a bad assumption,  and here is my PR because of that. when you use HTML or JSON formatter you are not asked to create the files in advanced.
And frankly, as a user, I don't want to care about what needs to happen in order for me to use any options that are listed in the readme.

From https://github.com/reportportal/agent-ruby/pull/40#discussion_r296306960:

JSON or HTML formatter - generate report per process, you end up with a report that may have multiple feature files in a single report

This behavior is not good either. When I run tests in parallel, I'd like to have one report with all tests.

ReportPortal::Cucumber::ParallelFormatter - if I remember correctly by default have the same behaviour.

Actually, default behavior is to create a single launch and share it with all processes.

And frankly, as a user, I don't want to care about what needs to happen in order for me to use any options that are listed in the readme.
As a user, I think it's good to be provided with an error message if I pass incorrect options.

@abotalov is it good for merge?
or still require updates?

@DzmitryHumianiuk It still requires updates. Also I've reviewed only some parts of it. I'd prefer if parts I added comments for were addressed before continuing a review.

@abotalov thank you for comment

@abotalov your turn

It's been a while since PR was open, I have been moved to the different project so if you guys want to merge these changes. PR to my branch is welcome to ensure that it works in our different use cases of the same library. It's been working fine for us so far.
All the checks are passing so I don't see any issues. If you guys want to be picky to the cosmetics of the readme or whatnot, then you can commit changes to make it what you desire. I have no problem using the fork of this project but wanted to contribute back as I like the idea of the report portal.   And If you have time for #60(which solves nothing from my opinion), there should not have been a problem finishing this PR as well in a timely fashion.

fixed issues that were introduced after rebasing, using persistent connection now

@abotalov are we good to go here?

This PR is large, contains a lot of unrelated to each other changes, is hard to review.
So I'd prefer to just close it.
I'm fine to address issues, imprevements in small PRs.


WaST

您好，请问WaST (AAAI'2024)已经发表了吗，标题是什么呢？

Hi, @Ayt777. Thanks for interesting in WaST (Wavelet-Driven Spatiotemporal Predictive Learning: Bridging Frequency and Time Variations) and it is online at AAAI'2024 webset.

谢谢！


[SPARK-17843][Web UI] Indicate event logs pending for processing on history server UI

What changes were proposed in this pull request?
History Server UI's application listing to display information on currently under process event logs so a user knows that pending this processing an application may not list on the UI.
When there are no event logs under process, the application list page has a "Last Updated" date-time at the top indicating the date-time of the last completed scan of the event logs. The value is displayed to the user in his/her local time zone.
How was this patch tested?
All unit tests pass. Particularly all the suites under org.apache.spark.deploy.history.* were run to test changes.

Very first startup - Pending logs - no logs processed yet:

- Very first startup - Pending logs - some logs processed:

- Last updated - No currently pending logs:

- Last updated - With some currently pending logs:

- No applications found and No currently pending logs:

Can one of the admins verify this patch?

while I understand the problem, the issue here is that what you are printing might not be accurate either.  We only pull for new logs every X number of seconds (default is 10s, user could change to longer) so if I come in one of those periods then it could say 0 when there are actually some to be read yet.    Maybe this is ok as its better then it was but its also not guaranteed.

@tgravescs - you're right - for newer logs that are generated, there could be a window of time (10 secs or whatever the user configures) where the new logs are not picked up for replay and the UI doesn't say anything about them. however the issue we see is more with old completed apps. a little after history server startup, user browses to the app list and has no idea why the older completed apps are missing (perhaps those that were visible just before the history server was restarted). since the polling for logs/replay is scheduled immediately as part of history server startup (zero delay for the first round), this fix could help these cases.

ah, yeah startup would definitely be a good case for this and like I mentioned its better then nothing so I'm ok with concept.
I wonder for the other use case where it hasn't looked in ~ 10 seconds if it would be more clear to users if  we put a little string at the top that is like "last updated time XX:XX:XX"  or app list current as of XX:XX:XX.

Just to raise an idea that would possibly mean less code change, would simply having a flag that causing a "currently processing applications" type message to display without an actual count with it?
Overall I think this is a good addition though.

ok to test
I think the idea is good, but it would be a better UX if we display the pending applications as rows in the existing table (or a new one) and indicate there that it's still being processed. It might be more code change but I think it's worth it.

If we are going to list the actual applications being loaded in the table then you have to rely on the filename to know the application id.  This may be ok, but its then the interface and we can't change it or whatever we change it to has to be compatible and backwards compatible.  Personally I would rather see us do something much smarter with file names/paths to include enough metadata to do simple table list or have metadata file that would allow loading of the history table much faster and load the actual contents only when actually clicked on.

Note the reason I mention the above things is I don't want us to start relying on the filename if its just going to change again.

display "Last updated " with a generic message, possibly omitting the count of logs
Ok, while looking at this I notice that the scan date-time the FsHistoryProvider currently internally captures lastScanTime is based on the filesystem date-time:

`
private def getNewLastScanTime(): Long = {
val fileName = "." + UUID.randomUUID().toString
val path = new Path(logDir, fileName)
val fos = fs.create(path)
try {
  fos.close()
  fs.getFileStatus(path).getModificationTime

This probably made sense when earlier versions of FsHistoryProvider used this value to determine new/updated logs it needed to replay. This is no longer the case. IncheckForLogs()the check is based on file size now. So my question is that the fact thatgetNewLastScanTimeis still present - is there a reason to rely on or use the filesystem time value? We don't get a timezone out of theFileStatus` api.  If I were to display an "Updated as of: " value on the app listing page, I would rather read the value from the JVM and ensure the Web UI converted it to user's local timezone for display.

Display applications that are pending, instead of a count
Though agree that this would be better UX-wise, but we would only have the filenames (logInfos)  to go by to build this list until a clean way to extract app metadata exists without parsing event log file contents. If the UI just displayed the pending ones is a different table as "names" of pending logs without asserting that they are necessarily the app-id (though presently the names may match the app-ids) - would that be good enough ? The message on the top could link to a new page listing pending logs to avoid cluttering the current page?

Display applications that are pending, instead of a count
Though agree that this would be better UX-wise, but we would only have the filenames (logInfos)  to go by to build this list until a clean way to extract app metadata exists without parsing event log file contents. If the UI just displayed the pending ones is a different table as "names" of pending logs without asserting that they are necessarily the app-id (though presently the names may match the app-ids) - would that be good enough ? The message on the top could link to a new page listing pending logs to avoid cluttering the current page?

personally I would rather not display directory or filenames unless we are doing it right.  User shouldn't know the internal implementation or storage option.

We shouldn't display file names but we should display application names and IDs, something the user understands. We don't have to do that as part of this issue.

@andrewor14 I plan to address that in another issue soon (see by end of the month) as soon as I have time. Fixing how the History Server loads has been coming up in a lot of PRs lately.

@ajbozarth @tgravescs @andrewor14  - updated pull request to show a Last Updated  message on the app list page when there are no pending logs being processed. I would have liked to have the ApplicationListResource use a json  schema where the application list and associated metadata - updated date, pending logs etc could be included together. but given that the json schema returned today is just a collection of application info json - change to this would be too much code change for this smallish fix - probably something for the /api/v2/ to consider.

can you update the description with latest implementation and screen shot.

Jenkins, test this please

Test build #67070 has started for PR 15410 at commit b43e241.

Test build #67070 has finished for PR 15410 at commit b43e241.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67070/
Test PASSed.

@tgravescs @ajbozarth @andrewor14 can this be merged now? can we get it into the 2.0 branch - should i simply open a pull request on 2.0?

This needs to remain open - clicked the wrong button!!

were the description and screen shots updated?

@tgravescs Yes, the description for the pull request now has screen shots for the "Last Updated: XXX" case as well. I added description for the "Last Updated" message on the app list page just now.

Should we display the Last Updated even if the currently processing message is displayed? Then the user will know the last update even when a new update is processing, rare case, but still useful.

@ajbozarth yeah sounds useful. but note that for the very first load, we would have no 'Last Updated' value to display since that gets set only after the log scan+replay cycle completes at least once. any suggestions for an alternate text when we're in this situation?

I would say just not displaying it would be fine, so making the else if an if

@ajbozarth @tgravescs @andrewor14  - updated the implementation to always display "Last Updated Date-Time" when we have atleast one completed scan of the event log directory.  I have changed the impl slightly

the javascript for "last updated" goes into a "historypage-common.js" since it's now always needed for inclusion on the history page (earlier it was inside the bigger "historypage.js" file that gets included only if there are some apps to list)

if there are pending event logs, do not show the "Did you specify the correct logging directory?" message

Have updated description with screenshots for each of the above scenarios.

@tgravescs @andrewor14 - any outstanding concerns with this change, please let me know? Can this merge?

couple minor spacing nits, otherwise looks good.

@tgravescs thanks, have updated the fix.

Jenkins, test this please

Test build #68341 has started for PR 15410 at commit 596c7ae.

Test build #68341 has finished for PR 15410 at commit 596c7ae.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68341/
Test FAILed.

Merged build finished. Test FAILed.

test failure looks unrelated, kicking again.
Jenkins, test this please

retest this please

Jenkins, test this please

Test build #68357 has started for PR 15410 at commit 596c7ae.

Test build #68357 has finished for PR 15410 at commit 596c7ae.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68357/
Test FAILed.

retest this please

Jenkins, test this please

Test build #68409 has started for PR 15410 at commit 596c7ae.

Test build #68409 has finished for PR 15410 at commit 596c7ae.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68409/
Test FAILed.

I've seen other pr tests passing now, let try again.

Jenkins, test this please

Test build #68471 has started for PR 15410 at commit 596c7ae.

Test build #68471 has finished for PR 15410 at commit 596c7ae.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68471/
Test FAILed.

@vijoshi  please look at test failures in more detail to see if these changes could have affected.

Jenkins, test this please

Test build #68524 has started for PR 15410 at commit 46357ee.

Test build #68524 has finished for PR 15410 at commit 46357ee.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68524/
Test PASSed.

+1


Warning: LCW invalid configuration error

When running iOS version of LCW, the following warning is triggered:
warn Package @digitalcredentials/minimal-cipher has been ignored because it contains invalid configuration. Reason: Package subpath './package.json' is not defined by "exports" in<EMAIL_ADDRESS>

@dmitrizagidulin - was this related to the build issues we had in the spring? If so, I will close.


Port KS8995MA switch into ZYNQ

We need to connect KS8995MA switch with ZYNQ through EMIO with GMIO into MII interfaces and needed to find compatible driver for it.

https://forums.xilinx.com/t5/Zynq-All-Programmable-SoC/RGMII-to-GMII-or-GMII-to-MII-IP-core/td-p/644257
https://www.xilinx.com/support/answers/47792.html

Micrel KS8995 SPI controlled Ethernet Switch families
http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/net/micrel-ks8995.txt

Faced with clock pins assignments

Faced with gmii clock pins assignments

On constrains was added:
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets GMII_ETHERNET_1_rx_clk_IBUF]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets GMII_ETHERNET_1_tx_clk_IBUF]

xdc file
set_property PACKAGE_PIN T12 [get_ports mdio_ethernet_1_mdio_io]
set_property PACKAGE_PIN U12 [get_ports MDIO_ETHERNET_1_mdc]
set_property PACKAGE_PIN U13 [get_ports {GMII_ETHERNET_1_tx_en[0]}]
set_property PACKAGE_PIN V13 [get_ports {GMII_ETHERNET_1_tx_er[0]}]
set_property PACKAGE_PIN V12 [get_ports GMII_ETHERNET_1_col]
set_property PACKAGE_PIN W13 [get_ports GMII_ETHERNET_1_crs]
set_property PACKAGE_PIN Y14 [get_ports GMII_ETHERNET_1_tx_clk]
set_property PACKAGE_PIN W14 [get_ports {GMII_ETHERNET_1_txd[3]}]
set_property PACKAGE_PIN T15 [get_ports {GMII_ETHERNET_1_txd[2]}]
set_property PACKAGE_PIN W10 [get_ports {GMII_ETHERNET_1_txd[1]}]
set_property PACKAGE_PIN U10 [get_ports {GMII_ETHERNET_1_txd[0]}]
set_property PACKAGE_PIN T9 [get_ports GMII_ETHERNET_1_rx_er]
set_property PACKAGE_PIN V10 [get_ports GMII_ETHERNET_1_rx_clk]
set_property PACKAGE_PIN V11 [get_ports GMII_ETHERNET_1_rx_dv]
set_property PACKAGE_PIN Y11 [get_ports {GMII_ETHERNET_1_rxd[3]}]
set_property PACKAGE_PIN W11 [get_ports {GMII_ETHERNET_1_rxd[2]}]
set_property PACKAGE_PIN Y13 [get_ports {GMII_ETHERNET_1_rxd[1]}]
set_property PACKAGE_PIN Y12 [get_ports {GMII_ETHERNET_1_rxd[0]}]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets GMII_ETHERNET_1_rx_clk_IBUF]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets GMII_ETHERNET_1_tx_clk_IBUF]
set_property PACKAGE_PIN T10 [get_ports spi_1_io0_io]
set_property PACKAGE_PIN U15 [get_ports spi_1_io1_io]
set_property PACKAGE_PIN U14 [get_ports spi_1_sck_io]
set_property PACKAGE_PIN T11 [get_ports spi_1_ss_io]

http://wiki.dave.eu/index.php/AN-BELK-006:_Enabling_dual_Gigabit_Ethernet_support_on_BoraEVB/BoraXEVB

Faced with error:
[    0.813171] libphy: MACB_mii_bus: probed
[    0.815715] mdio_bus e000c000.etherne: /amba/ethernet@e000c000/mdio has invalid PHY address
[    0.822774] mdio_bus e000c000.etherne: scan phy mdio at address 0
[    0.827880] mdio_bus e000c000.etherne: scan phy mdio at address 1
SPI driver instantiated and devicetree changed
spi@e0007000 {
compatible = "xlnx,zynq-spi-r1p6";
reg = <0xe0007000 0x1000>;
status = "okay";
interrupt-parent = <0x3>;
interrupts = <0x0 0x31 0x4>;
clocks = <0x1 0x1a 0x1 0x23>;
clock-names = "ref_clk", "pclk";
#address-cells = <0x1>;
#size-cells = <0x0>;
                    ethernet-switch@0 {
                            compatible = "micrel,ks8995";
                            spi-max-frequency = <1000000>;
                            reg = <0>;
                    };
            ethernet@e000c000 {
                    compatible = "cdns,zynq-gem", "cdns,gem";
                    reg = <0xe000c000 0x1000>;
                    status = "okay";
                    interrupts = <0x0 0x2d 0x4>;
                    clocks = <0x1 0x1f 0x1 0x1f 0x1 0xe>;
                    clock-names = "pclk", "hclk", "tx_clk";
                    #address-cells = <0x1>;
                    #size-cells = <0x0>;
                    #local-mac-address = [00 0a 35 00 00 00];
                    phy-handle = <0x6>;
                    phy-mode = "mii-id";
                    ethernet-phy@1 {
                            compatible = "micrel,ks8995";
                            device_type = "ethernet-phy";
                            reg = <0x3>;
                            linux,phandle = <0x6>;
                            phandle = <0x6>;
                    };
            };

Boot output
[    0.726337] cdns-spi e0007000.spi: registered master spi32766 (dynamic)
[    0.726503] spi spi32766.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[    0.726798] cdns-spi e0007000.spi: registered child spi32766.0
[    0.728826] spi-ks8995 spi32766.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[    0.728862] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 651041 clock speed
[    0.728936] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 651041 clock speed
[    0.728991] spi-ks8995 spi32766.0: chip family id mismatch: expected 0x95 but 0x00 read

Boot output
root@linaro-developer:~# dmesg | grep spi
[    0.694118] cdns-spi e0007000.spi: registered master spi32766 (dynamic)
[    0.694265] spi spi32766.0: setup mode 0, 8 bits/w, 10000000 Hz max --> 0
[    0.694560] cdns-spi e0007000.spi: registered child spi32766.0
[    0.696459] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/amba/spi@e0007000/ethernet-switch)
[    0.696496] spi-ks8995 spi32766.0: setup mode 0, 8 bits/w, 10000000 Hz max --> 0
[    0.696532] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696569] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696625] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696661] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696698] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696717] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696772] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696809] spi-ks8995 spi32766.0: cdns_spi_setup_transfer, mode 0, 8 bits/w, 5208333 clock speed
[    0.696846] spi-ks8995 spi32766.0: KS8995MA device found, Chip ID:0, Revision:4
devicetree
spi@e0007000 {
compatible = "xlnx,zynq-spi-r1p6";
reg = <0xe0007000 0x1000>;
status = "okay";
interrupt-parent = <0x3>;
interrupts = <0x0 0x31 0x4>;
clocks = <0x1 0x1a 0x1 0x23>;
clock-names = "ref_clk", "pclk";
#address-cells = <0x1>;
#size-cells = <0x0>;
                    ethernet-switch@0 {
                            compatible = "micrel,ks8995";
                            spi-max-frequency = <0x989680>;
                            reg = <0x0>;
                            reset-gpios = <&gpio 0x1 0x1>;
                    };
            };

Config
+CONFIG_SPI_DEBUG=y
+CONFIG_SPI_MASTER=y
+CONFIG_MICREL_KS8995MA=y
+CONFIG_MICREL_PHY=y
+CONFIG_NET_VENDOR_MICREL=y

Switch registers are accessed via dd
dd if=/sys/bus/spi/devices/spi32766.0/registers count=1 bs=1 skip=0 | od -x
dd if=/sys/bus/spi/devices/spi32766.0/registers count=1 bs=1 skip=1 | od -x
dd if=/sys/bus/spi/devices/spi32766.0/registers count=1 bs=1 skip=31 | od -x

1 Port Link is up
root@linaro-developer:~# sudo lshw -class network
*-network:0
description: Ethernet interface
physical id: 1
logical name: eth0
serial: 04:4f:8b:00:00:00
size: 100Mbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=macb duplex=full ip=<IP_ADDRESS> link=yes multicast=yes port=MII speed=100Mbit/s
*-network:1
description: Ethernet interface
physical id: 2
logical name: eth1
serial: e2:a7:df:21:79:1b
size: 100Mbit/s
capacity: 100Mbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=macb duplex=full link=yes multicast=yes port=MII speed=100Mbit/s

In new LR 2.0 the Ethernet switch will be replaced


Document all the things.

Currently there are numerous docstrings with TODOs in them. Those should be filled in and some Sphinx documentation that references them started.

+1


master doesn't hunt for pokeballs after running out

Expected Behavior
Actual Behavior
Steps to Reproduce
Other Information
OS:
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

I need close this, since out date.


Some problems on visualize stpls3d?

Hello Author！
Your research is excellent and I benefit a lot from it.
I trained my dataset,and the result is excellent! My dataset is a corn plant point cloud and is not as large as stpls3d. After model training, the plant is cut into parts. I want to know how to visualize multiple trained files at the same time so that I can see how the whole corn plant is segmented at the same time. I would also like to know if there is a way to save the displayed split file as a colored point cloud file with annotations for easy viewing?
I look forward to your response and thank you very much for your work.

You can load multiple files at the same time and add them to the visualizer, i.e.:
import pyviz3d.visualizer as viz
v = viz.Visualizer()

# xyz1, rgb1: 1st point cloud
# xyz2. rgb2: 2nd point cloud

v.add_points('pc1', xyz1, rgb1, point_size=15)
v.add_points('pc2', xyz2, rgb2, point_size=15)

Make sure that xyz1 and xyz2 are in the global coordinate. You can also concatenate[xyz1, xyz2] and  [rgb1, rgb2] to create a single point cloud containing all these points and save it as a numpy file.

Thank you ! I will try it!


changelog not adding all entries

https://github.com/StylishThemes/GitHub-Blog-Dark/releases/tag/v1.0.3

> git log 'v1.0.2...HEAD' '--pretty=format:* %s (%an)'

* v1.0.3 (the-j0k3r)
* style pagination (the-j0k3r)
* cleanup (the-j0k3r)
* image styling cleanup (the-j0k3r)
* fix links and hovers (the-j0k3r)
* style placeholder (the-j0k3r)
* cat imgs styling (the-j0k3r)
* fix hljs addition/deletion syntax bg (the-j0k3r)
* switch to fg var name (the-j0k3r)
* moz-rule use regexp intead (the-j0k3r)

* meta: update deps + add versions + changelog (the-j0k3r)

Notice the space between entries in output, the  missing changelog entry is not straight after the preceding entry, could that be reason?

Indeed, somthing is up here, noticed it too at https://github.com/silverwind/cidr-tools/commits/master.

thx


Code Signing Error:

New Issue Checklist

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

Issue Description
Complete output when running fastlane, including the stack trace and command used

[INSERT OUTPUT HERE]

Environment

[INSERT OUTPUT HERE]
Check dependencies
(1 failure)
[10:58:26]: Exit status: 65
+---------------+-------------------------+
|            Build environment            |
+---------------+-------------------------+
| xcode_path    | /Applications/Xcode.app |
| gym_version   | 2.85.0                  |
| export_method | ad-hoc                  |
| sdk           | iPhoneOS11.2.sdk        |
+---------------+-------------------------+
[10:58:26]: ▸ Check dependencies
[10:58:26]: ▸ Code Signing Error: No profiles for 'cn.qutui360.app' were found:  Xcode couldn't find any iOS App Development provisioning profiles matching 'cn.qutui360.app'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
[10:58:26]: ▸ Warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/admin/Desktop/qutuicode/DouPai2/qutui-development-Info.plist'.
[10:58:26]: ▸ Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.2'
[10:58:26]:
[10:58:26]: ⬆  Check out the few lines of raw xcodebuild output above for potential hints on how to solve this error
[10:58:26]: 📋  For the complete and more detailed error log, check the full log at:
[10:58:26]: 📋  /Users/admin/Library/Logs/gym/qutui-development-qutui-development.log
[10:58:26]:
[10:58:26]: There seems to be a mismatch between your provided export_method in gym
[10:58:26]: and the selected provisioning profiles. You passed the following options:
[10:58:26]:   export_method:      ad-hoc
[10:58:26]:   Bundle identifier:  cn.qutui360.enterprise.app
[10:58:26]:   Profile name:       inhouse_cn.qutui360.enterprise.app
[10:58:26]:   Profile type:       enterprise
[10:58:26]: Make sure to either change the export_method passed from your Fastfile or CLI
[10:58:26]: or select the correct provisioning profiles by updating your Xcode project
[10:58:26]: or passing the profiles to use by using match or manually via the export_options hash
[10:58:26]:
[10:58:26]:
[10:58:26]: Looks like fastlane ran into a build/archive error with your project
[10:58:26]: It's hard to tell what's causing the error, so we wrote some guides on how
[10:58:26]: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
[10:58:26]: Before submitting an issue on GitHub, please follow the guide above and make
[10:58:26]: sure your project is set up correctly.
[10:58:26]: fastlane uses xcodebuild commands to generate your binary, you can see the
[10:58:26]: the full commands printed out in yellow in the above log.
[10:58:26]: Make sure to inspect the output above, as usually you'll find more error information there
[10:58:26]:

Heyyyy 👋  There should be some other issues that should help you that are similar to this and also the code signing guide linked above ^ Going to close this issue for now since no description, checklist not complete, and unsure what your fastlane environment all use (please use fastlane env to create this and past this in here if you would still like help).


Associate nested stacks with provider

Before method orchestration_stacks returned all stacks including nested.
Now method orchestration_stacks returns stacks only at root level.
Introduce new method orchestration_stacks_with_nested which returns all stacks.

Seems OK to me, but I don't understand why we have to change those hardcoded numbers in the tests. /cc @Fryguy

These models to not expose any parent-child relationships.  Is that missing here or something you plan to do in another PR?  Otherwise this looks good.

OrchestrationStack uses ancestry gem. It already provides has_children? and children methods.

Works for me.  @Fryguy Any thoughts on this one?

So, for other things where we need to ask for either "all" or just "direct" associations, such as folders, we've followed the pattern where "folders" returns the entire tree in an Array (so usually via a normal AR association), and "direct_folders" are only those folders at the top of the tree(s).

@Fryguy I have made the change to adopt direct_xxx pattern. Please review.


Add a combinator for temporarily using an AsyncRead/AsyncWrite as Read/Write

During smol-rs/async-rustls#9, @zseri pointed out that we frequently use a type that just converts an AsyncRead to a Read temporarily so that it can be used in rustls, which only takes a Read. This pattern is not unique to async-rustls, since I've also seen this used in tokio-tungstenite, following a similar pattern.
In order to deduplicate instances of this pattern throughout the ecosystem, this PR implements this pattern as a type in the io module.

Clippy error is unrelated to this PR, see #63


Split bill - Split bill preview displays $0.00 when viewed as split bill participant

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com
User A opens a group chat with User B and C
In the group chat, User A creates a split bill
Go to the group chat as User B

Expected Result:
Split bill preview shows the correct amount
Actual Result:
Split bill preview shows the $0.00 when viewed as the participants
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome
[ ] MacOS / Desktop

Version Number: 1.3.55-0
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01fc917684caf844b2
Upwork Job ID:<PHONE_NUMBER>767686144
Last Price Increase: 2023-08-17

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

This is related to https://github.com/Expensify/App/pull/24345 and its not an App deploy blocker, the split action in group chat has transaction whihc we are not returning right now from the backend, we will have to fix this internally.

@luacmartins @mountiny  I reported this issue in Slack https://expensify.slack.com/archives/C049HHMV9SM/p1692242726950869

@misgana96 We knew about it from yestedy from the PR already so in these cases we would not be paying out report bonus

I created this issue yesterday. I'm gonna close this issue in favor of https://github.com/Expensify/Expensify/issues/308674


Set Default Replicas for MPIJob

Fixes #1799
Set Default Replicas for MPIJob.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.1%) to 39.6%

Files with Coverage Reduction
New Missed Lines
%

pkg/controller.v1/mpi/mpijob_controller.go
2
76.79%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
2751

Relevant Lines:
6947

💛  - Coveralls

@tenzen-y @johnugeorge  PTAL, thanks.

/approve


vim airline crashed vim

Error detected while processing function airline#check_mode..airline#highlighter#highlight:
line   30:
E315: ml_get: invalid lnum: 3990
Press ENTER or type command to continue
after I hit enter, I got
Vim: Caught deadly signal SEGV
Segmentation fault (core dumped)

just pulled the new version and it works fine (previously constantly reproducible).
thanks.

new version has no issue


import: Narrow the id-window to just the current realm.

On multi-realm systems this results in traversal of all messages in all realms and returns a massive payload of at least 1 row per realm but in practice many more (possibly 1 per stream per realm?).
Fixes:

Screenshots and screen captures:
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

a massive payload of at least 1 row per realm but in practice many more (possibly 1 per stream per realm?).

Yeah, it's one row per stream in the whole system, which is going to be several per realm.

This is great, merged, thanks @cognusion!


Using homebrew to install Virtualbox and Vagrant

The idea is to use brew as an alternative to install virtualbox and vagrant. The option to install using the installer is still there.
Maybe the double line before Virtualbox need to be a single line.

+1
This is great. Thank you for making the installation of 3rd party packages a little easier!


Feature request: fewer dependencies

I use nyc for most of my node and typescript projects. nyc is a very large contributor to the total size of my node_modules.
According to this tool, the nyc package results in 234 leaf nodes in the dependency tree.
I realizing this might not be a priority for you. After all, nyc is very complex and what it needs to do is complicated. I'm also not offering a suggestion on how to improve this.
I'm just bringing this up as something that I've noticed. I like my own dependency graphs slim.
So yea, don't take it as a complaint, but maybe take it as a data point or nice to have. Simpler dependency trees reduce risk in a variety of ways.

In the short term you can just use npx nyc npm test  in your test script instead of having nyc as a dependency.
We have had discussions on this in the past, and the conclusion was that this isn't an extremely high priority because there are other issues (bugs, features) to get to. I think perf would be a better metric for us to track, but, we're not quite at that capacity yet (AFAIK).

Thank you for the detailed answer. It's appreciated, and I totally understand this perspective. I will close this issue to not add to the noise

Also worth noting some of the largest parts of our dependency tree are shared with other very common development tools and starting with<EMAIL_ADDRESS>we no longer bundle dependencies<EMAIL_ADDRESS>alone takes about 23MB to install, but in my personal projects just over half of this is always shared with other development tools.  So not bundling is often a huge win for actual install size.

Yea fwiw, it was never about size. I just wanted to try and help the npm ecosystem a tiny bit by removing some of these 1-liner dependencies. Totally get that not everyone shares that philosophy


Resolves #151: Increment the current location index after sending out any value.

This fixes the bug in #151

LGTM.
Seems like other than $addToSet, every other user of getArrayStream is ignoring null values. Otherwise, we would have seen other failures I guess.
Any code that deals with Array fields is a big mess. Dealing with arrays or embedded object paths is very confusing, in my opinion. One way of fixing this would be by packing array and object values. And we could support bigger values than 100K. Even better we could pack the entire document. Well, that's for another day :).


Number input doesn't update data in some circumstances.

Description:
If the first keypress I do as a user on a input control of type number empties
the number field, then that change is not reflected in the underlying data.
This only occurs if there is a single digit value in the control, and the very first thing I do is delete that value.  If I otherwise modify it by typing, using the arrow keys, or clicking on the number control spinners, then the underlying data updates correctly.
Versions affected:
Ractive 0.8.3
Platforms affected:
Chrome
Reproduction:
http://codepen.io/trvrm/pen/pyOeyR
To observe this behaviour the first action you do on loading this pen must be to delete the number from the number control.  If you take any other actions, you may need to refresh the page to see this error.
Code:
ractive = new Ractive
    el: '#target'
    template: '''
        <input type="number" value={{x}} />

x is {{x}}

    '''
    data:
        x:7

Just to clarify: The problem is when you delete (backspace, delete, cut) the value of an <input type="number"> when there's one digit predefined on it.

Yes. I've come up with a workaround at http://codepen.io/trvrm/pen/eBJovy.  If I manually reset the underlying value after the control has been rendered, the problem goes away.

Hmm... Seems like the number input is thinking that it's last value (before emptying) was undefined. 🤔

Yep. The last value tracking isn't being initialized correctly, and numerics happen to use undefined as their empty value. The fix for this will go out in 0.8.5. Thanks for the report!

The last value tracking isn't being initialized correctly

Ahh, so that explains why <input type="text"> also returned undefined as last value. It just worked because the check was undefined === ''.


fix(ytyp): None check extension_type

This fix an error where Sollumz check for extension type even if there is no extension applied.
Not sure how to reproduce this but it is safe to do it anyway

This was resolved in the ytyp UI overhaul:
https://github.com/Skylumz/Sollumz/commit/df6804b33b5a8eaf145126f3b19e5ef0e32f49df#diff-fc25c38e14038d2443f56b112a48ae9cf38f850eb58cb847e331c75e63ecc9dfR55


pull request for e2e test at 12/25/2016 14:15:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Rework additional traits

Bonus traits provided by other means (e.g. HENSHIN, VOLATILE, STAND, etc.) should be moved into the main traits list, and given tags so they are treated properly when making changes.

I have decided I will simply live with the jank


Crash when modifying filtered Results using setValue:forKeyPath:

RealmSwift 0.97.0 crashes when the following simplified example is run:
class A: Object { }

class B: Object {
    dynamic var a: A?
}

let a = A()

let realm = try! Realm()
try! realm.write {
    realm.deleteAll()
    realm.add(a)
    for _ in 0..<2 {
        let b = B()
        b.a = a
        realm.add(b)
    }
}

try! realm.write {
    realm.objects(B).filter("a = %@", a).setValue(nil, forKeyPath: "a") // Crashes with index out-of-bounds exception.
}

Note that this crash only occurs if Results contains more than one object and is filtered.

Thanks for the report. This was previously reported as #3028, and has been fixed in master. The fix will be in our next release.


Correction for raw affiliation Chaire UNESCO 'formation professionnelle, construction personnelle, transformations sociales' (France)

Correction needed for raw affiliation Chaire UNESCO 'formation professionnelle, construction personnelle, transformations sociales' (France)
raw_affiliation_name: Chaire UNESCO 'formation professionnelle, construction personnelle, transformations sociales' (France)
new_rors: 04h4z8k05
previous_rors: 03q99v794;04h4z8k05
works_examples: W4393317512;W4396848778
contact: 60b070e010f717fafb44262f77b28067:5c20238c858e1ddd963e14629d19 @ univ-lille.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


WIP: Kubernetes WebUI

I'd like to say thank-you to the following contributors for helping to create a new WebUI for Kubernetes.
@balavas, @bcbroussard, @brendandburns, @duftler, @craigmcl, @EranGabber, @jackgr, @jellzilla, @kenmoore, @kmerker, @preillyme, @rrmckinley, @unwornmoon.
This change is addressed in the following issue: #5789

The most recent WIP was git merge --squash from https://github.com/kubernetes-ui/kubernetes-ui based on feedback from @robertbailey

Comments about some redundant things to delete.
Thanks!
--brendan

@brendanburns — I've removed the redundant items with things in our other docs directory.

I'ved made this docker container for testing: https://github.com/kubernetes-ui/kubernetes-ui-docker

Will patch and try this out today.  Thanks for the patience!

Thanks, Brendan.
On Apr 7, 2015, at 10:57 AM, Brendan Burns<EMAIL_ADDRESS>wrote:

Will patch and try this out today. Thanks for the patience!
—
Reply to this email directly or view it on GitHub.

@brendanburns thanks for taking a look. Let me know if you need anything.

In order for this to actually run by default, you need to re-run ./hack/build-ui.sh and check in the generated files.

Also, even after I run build-ui.sh and go to https:///static/app/ the app doesn't work correctly (javascript errors)

Okay I'll check in the generated files.

@brendanburns I've got the same issue with this as I do with this version: https://github.com/kubernetes-ui/kubernetes-ui-docker/blob/master/docker-entrypoint.sh basically changing the values of www/app/assets/js/app.js to the correct values for the built cluster. Do you think that should happen in the build-ui.sh script? Also what do you think is the best way to handle username and passwords, e.g., "k8sApiServer": "https://admin:jxsffWYgwABFCBXG@<IP_ADDRESS>/api/v1beta2",, etc.

I'm also not sure of what the best way to handle the www/master/bower_components/* is. Technically they're generated files, but seems weird to me to check them in like this.

@preillyme What are you using usernames/passwords for? We are trying to move away from http basic auth (especially for web browsers) and replace their use with bearer tokens.
@deads2k @liggitt

@roberthbailey they're being used for the calls to /api/v1beta2 from ajax requests.

If you control the requests going out, it shouldn't be difficult for you to add an HTTP header with a bearer token embedded in it rather than using basic auth.

@roberthbailey: Okay that makes total sense but what do you think is the best way to handle getting the bearer token value in the first place?

If you are running in a pod (which I presume you are), then you could use secrets to distribute the bearer token.

Agree with @roberthbailey.

@lavalamp: well at this time it's run from https:///static/app/

cc @sub-mod

Something about this is causing the build to explode on my mac.  I assume that it is the new binary data file.  I'm going to see if we can generate multiple files for less explosion.
@liggett mentioned something about having problems with this in OpenShift.  Perhaps he can shed some light on possible work arounds.
--brendan

Ah, ok, if we just build www/app/... instead of www/... the file is much smaller and compilation works correctly.
@preillyme can you update hack/build-ui.sh to just build www/app/... and update the generated file too?
Thanks!
--brendan

Not sure what version of bindata you're using either. @jwforres and I had some performance improvements upstream, and I can't remember if those made it into the k8s godep

ok, I just installed bindata from head, so we should have it...  (we don't vendor it afaik)
@preillyme the app still doesn't run right as far as I can tell.  I hit:
https:///static/app/
but all of the paths in the .html it returns are absolute ("/vendor/...") which means they don't resolve correctly.  I think they need to be relative paths.
--brendan

@brendanburns Okay I'll take a look.

@brendanburns can you document the steps that you're taking for testing? I want to make sure we're doing the same steps.

I'm going to take over this PR since Brendan is out... I will try it out and give concrete feedback by EOD.

Thanks @lavalamp I'll be afk from 1 to 3 today but feel free to ping me on IRC or here with any questions comments, etc. Also could you document the steps you use for testing so that @jackgr and I can run through the same process as well.

I'm going to look through the change and note any issues, and also try it.
First thing: please remove the file examples/rethinkdb/.DS_Store, it's a temp file and should not be committed.

What is the www/.jshintrc file and should it be committed?
Also, the changes to the .gitignore file appear to be incorrectly excluding a bunch of files, perhaps that's why Brendan had trouble running? (I'm still looking, haven't tried yet)

What is www/app/assets/js/.gitkeep, and should it be committed?

I see some files (e.g., www/master/bower_components/angular-animate/README.md) that appear to be vendored (i.e., locally copied) third-party dependencies. My understanding is that these have to be in third_party/. @sillsm there's no exception for angular js files, right?
Additionally my understanding is that files that can have comments (including html and js files) must start with our license blurb, e.g.:
Copyright 2015 Google Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Github shows a change to "Godeps/_workspace/src/github.com/fsouza/go-dockerclient/testing/data/symlink" -- I'm not sure how that changed in this PR, but I'm pretty sure it wasn't intentional. Please revert :)

OK, I have an idea on how to make this go faster. If I read this correctly, there's some plugin like stuff copied from elsewhere. Since this needs to go in third_party anyway, perhaps you can make another PR that just adds these dependencies; that should merge quickly. Then you can rebase this on top of that, and it will be 1000x easier to review.
OK, I'm going to try and run this locally now.

OK, steps I followed:
$ KUBE_RELEASE_RUN_TESTS=n ./build/release.sh
$ ./cluster/kube-up.sh

Then use IP address, username & password (instructions printed after cluster creation in the previous step) to view the UI in a browser. Resulting screenshot attached. (with chrome debug pane open for your convenience.)

@lavalamp, thanks for the help. Note that the PR is coming from branch kubernetes-ui, not from master.

Indeed, that screenshot is taken from a cluster built from the kubernetes-ui branch.

@googlebot - As stated in an another pull request, I am covered under Google Corporate CLA "Kismatic, Inc." signed: Feb 09, 2015 21:17 PST - https://github.com/GoogleCloudPlatform/kubernetes/pull/5790

@lavalamp Re: examples/rethinkdb/.DS_Store
Looks like it was added to master in another commit de25c0a. If I'm not mistaken, this PR is already removing the .DS_Store file.

@erictune can you confirm that @bcbroussard is currently covered under the Kismatic CLA.

@preillyme the googlebot is going off of the "new" mechanism, which is that it expects everyone covered by Kismatic's CLA to be in a group. Perhaps check that the email in the commit matches the email in the group?

@lavalamp he's currently in https://groups.google.com/forum/#!members/kismatic so I'm not sure.

@preillyme I can't actually view the members there, so I'll take your word for it. Perhaps a different email was used in the individual commits than is in the group? :/

@lavalamp I can confirm that the commit email address equals the CLA Google group. So I'm not sure. Is there any other way to check?

OK I am going to give this another try.

Having unrelated issues w/ my cluster, will take this back up first thing monday.

@googlebot these are my commits.

Closing; superseded by #7056


[Feature] Store log files of jobs separately

An extremely useful feature for debugging would be to store log files of jobs in a "Logs" folder.
Logs currently are stored in the temporary folder where processing files for the video. If users are going to process many videos, then the temporary files are going to build up and take up a lot of space on the hard drive. Log files are extremely important, so it would be beneficial to store them additionally in a separate Logs folder.
Of course this might generate chaos in the filenaming since each log has the name of the video being processed. If the same video is processed multiple times with different settings, logs would overwrite each other. A suggestion would be to precede the video.log name with a historic job number such as SR-job00043_video.log, as an example.

in the next build there is:

new: added new feature to archive log files in the settings directory, by default the last 50 log files are keept, this number can be customized at: 'Main Menu > Tools > Settings > General', the folder can be opened with the windows file explorer at: Main Menu > Tools > Folders > Log Files


adding a click action handler

Just wanted to throw out there that it would be useful to be able to pass along a click action up to a controller. If I have the select boxes updating a hasMany relationship, I might want to save upon checking/unchecking each checkbox. Right now, you would have to set up an observer on that relationship instead of just having an action fired from the component.
Maybe something like
{{multiselect-checkboxes
    action='saveColumnChanges'
    labelProperty='propertyName'
    options=columnGroup.results
    selection=controllers.application.model.inventoryTable
}}

That's a good idea. I think it should probably pass the new selection as an argument to the handler function. I'll look into it when I have time in a couple of days :+1:

Closing this for now. I think being able to pass a custom block as of 0.4.x should address this, as discussed in #5. If there are still issues I'd be happy to reopen the issue.

@RSSchermer yes, I believe there are still issues with this.  The block works great, but the action gets sent before the selection computed property is updated.  So if you want to do anything with the changes selections in the action, you can't do that (or I'm too ignorant to know how).

I think one thing we can do is pass the value as a third block param:
{{#multiselect-checkboxes options=users labelProperty='name' selection=selectedUsers as |label isSelected value|}}

      {{input type="checkbox" checked=isSelected}}
      {{label}}

{{/multiselect-checkboxes}}

Perhaps that would be enough to fix your use-case.
I can't think of a way at the moment to actually change the order in which the actions fire and make the selection change happen before the click event is triggered. The only thing I can think of that might work is a bit of a hack:
actions: {
  itemChanged: function () { // Event handler
    Ember.run.later(() => {
      // actual handler
    }, 0); // Push the actual handler onto the bottom of the event queue
  }
}

I haven't tested that yet (I think you might have to bind this to the "actual handler" function).

@jfelchner Did either of my suggestions resolve your issue or does this remain a problem?

As suggested by @nadnoslen in #18, passing the option directly instead of passing the option label and option value should allow more flexibility. Therefore, as of 0.6.0 my upthread example should be replaced with:
{{#multiselect-checkboxes options=users selection=selectedUsers as |user isSelected|}}

      {{input type="checkbox" checked=isSelected}}
      {{user.name}}

{{/multiselect-checkboxes}}

See change log for more details.
Closing this again for now. Would be very happy to reopen once again if this issue still persists.


WIP: migration

add elastisearch reindex, indices and alias api
rewrote observable to single

Add migration scripts and use version to decide the execution order.

@andrej-sajenko Thanks for the PR. What's the status? Should I take over from here?

If you need this feature as soon as possible, then you should take over.
If not i will finish it in my free time in England (i have three days with a free afternoon).
The current status is, that the immigration core should be tested with more data from the old georocket version.
Notice: If you accept this PR you must increase the version of georocket according to the target version of the migration script.

@michel-kraemer Do you know how i can fix this error or give me a hint why I get it. (Happen only in embedded mode.)
17:01:29 INFO  i.g.i.e.ElasticsearchRunner - Starting Elasticsearch ...
17:01:29 INFO  io.georocket.GeoRocket - Launching GeoRocket ...
17:01:30 INFO  io.georocket.ImporterVerticle - Launching importer ...
17:01:30 INFO  io.georocket.GeoRocket - GeoRocket launched successfully.
[2017-09-10T17:01:33,328][INFO ][o.e.n.Node               ] [georocket-node] initializing ...
[2017-09-10T17:01:33,369][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [georocket-node] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[null/index/data/georocket-cluster]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.0.jar:5.0.0]
Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[null/index/data/georocket-cluster]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:259) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.node.Node.<init>(Node.java:240) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.node.Node.<init>(Node.java:220) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:191) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:191) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.0.jar:5.0.0]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.0.jar:5.0.0]
	... 6 more
17:01:33 ERROR i.g.i.e.ElasticsearchRunner - Elasticsearch execution failed
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
	at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
	at org.apache.commons.exec.DefaultExecutor.access$200(DefaultExecutor.java:48)
	at org.apache.commons.exec.DefaultExecutor$1.run(DefaultExecutor.java:200)
	at java.lang.Thread.run(Thread.java:745)


install problem: installing in NUS HPC, but the GCC is old, and can not install the latest colossalai

🐛 Describe the bug
I am installing the latest colossalai using the python setup.py install command, and the NUS HPC prompt some errors like:
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
#error "You're running a too old version of GCC. We need GCC 5 or later."

If I use pip install colossalai, another error happens!

Well, pip install need Internet, and if I am using GPU in NUS, no internet can be accessed, so I have to use python setup.py install, but the GCC version is too old...
Lucky for me (maybe unlucky for other students using the server), I saved the old version's colossalai....
Thank you!!!
Environment
No response

Hi, we can't help with the GCC version as you have to build a higher version on your own. For the pip install issue, it seems that it cannot find the $CUDA_HOME variable. Can you make sure that you have CUDA in your path?

I successfully upgrade my GCC version to 5.2 and still meet this error....Is it possible to provide some suggestions? Thank you!!

I think...is it possible to make the installation not relavant to the CUDA and torch?Just like installing pytorch, I can install GPU version even I do not have a GPU for now....

I uninstall my pytorch1.10 and install a 1.9 version and also use GCC6 (but not like mentioned in the error GCC5). Maybe this colossalai is bound to pytorch1.9 and below?

And using torch1.9 and GCC6 it compiles longer than before colossalai version, about, 5-10 min?

I failed on NSCC now...NSCC has only cuda10.1 and can not be upgraded, so I have to install pytorch1.8 (up to 1.8.....can not install 1.9 or later) And I meet this problem using pip install colossalai
Thanks!

Although NSCC has only cuda10.1, but seems torch1.9+cuda10.2 is ok, and this time my installation of colossalai is very easy. So current version's restriction seems to be: GCC6 (my previous try of GCC5 is not ok), + torch1.9 (1.8 and 1.10 does not work)

Strangely, I install colossalai again today on cuda10.1+torch1.8 on NSCC's device and it worked! Maybe no more help is needed~

Strangely, I install colossalai again today on cuda10.1+torch1.8 on NSCC's device and it worked! Maybe no more help is needed~

Details about how I install this verison
Note that my device only support cuda version up to 10.1, and the driver can not be upgrated...
I tried torch1.8+cuda10.1 and it failed, so I install torch1.9+cuda10.2, installation is ok, but maybe can not run. And I install colossalai, success! (My later guess is, just like cuda11 will have cudnn inside, but cuda10 not, maybe torch1.9+cuda10.2 has something inside but torch1.8+cuda10.1 don't) But when I use colossalai, it shows no GPU found! So I again uninstall torch1.9+cuda10.2 and install torch1.8+cuda10.1. And this time, GPU can be found and colossalai can run!

Great, glad to hear that!


allow !affects query to have greater than, less than, and not equal logic

this is enhancement, allow for more logical conditions for !affects query

!query effects=invisible will also pull back the results of !query effects=detect_invisible


josm: build from source

Describe the bug
it was criticized that josm is not properly build from source
https://chaos.social/web/statuses/105447352890290401
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/josm/default.nix
Notify maintainers
@rycee @sikmir

Sounds like a good idea. Note, however, that the geo.scm file is licensed under GPL3 and must not be used as a reference and the person who performs the changes in josm should ideally not look inside that file at all.

Still a good idea to build josm from source.

Up.


Initialize the extension wallet and connect to API Gateway

[x] Initialize project
[ ] Initialize screens
[ ] Create actions that communicate between screens

Initialize project: https://github.com/vufon/walletpower/commit/e4bea2e2bb0fe053f4c91c5eb9197b57a06e603b


Removed a deep copy in payload size gate. Added a deep copy in BlobOu…

…… (#18598)

Removed a deep copy in payload size gate. Added a deep copy in BlobOutputStream.write

pr feedback and unused imports

pr feedback

/azp run java - storage - tests


fix: token refresh_token error

Signed-off-by: liuying<EMAIL_ADDRESS>
What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:

Does this PR introduced a user-facing change?

Additional documentation, usage docs, etc.:

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8afd8bb). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #97   +/-   ##
=========================================
  Coverage          ?   47.47%
=========================================
  Files             ?        6
  Lines             ?      554
  Branches          ?      153
=========================================
  Hits              ?      263
  Misses            ?      228
  Partials          ?       63

/close


Remade all typo fix changes and reapplied patch. (Continuation of: Pull request: #8022)

Recreated all changes but re-forked to fix some git issues we caused by forgetting to include sign-offs in all of our commits.
Signed-off-by: Kyle Colburn<EMAIL_ADDRESS>

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

jenkins: test this please

# github.com/lxc/lxd/lxd
lxd/patches.go:172:2: undefined: tx
lxd/patches.go:172:6: undefined: err
lxd/patches.go:174:39: cannot use tx (type *db.ClusterTx) as type *sql.Tx in argument to query.SelectIntegers
lxd/patches.go:180:39: cannot use tx (type *db.ClusterTx) as type *sql.Tx in argument to query.SelectIntegers
lxd/patches.go:188:37: cannot use tx (type *db.ClusterTx) as type *sql.Tx in argument to query.SelectConfig
lxd/patches.go:200:15: tx.Exec undefined (type *db.ClusterTx has no field or method Exec)
lxd/patches.go:203:60: undefined: key
lxd/patches.go:208:17: tx.Exec undefined (type *db.ClusterTx has no field or method Exec)
lxd/patches.go:211:16: undefined: curNodeID
lxd/patches.go:213:66: undefined: key
lxd/patches.go:213:66: too many errors

Sorry, we got hit by a huge project at Uni, planning on fixing this as soon as we get the time.

Sorry, these updates took so long, we needed to complete another uni project!

No worries. The branch needs a rebase to get rid of that merge commit in there.

git remote update
git rebase origin
git push --force

Should do the trick to clean things up.

Let me rebase this for you :)

Much appreciated :D

Wow, that branch was quite a mess but I got it rebased now, Additionally I did:

Folded all 3 commits into a single commit
Added missing newline in commit message (between title line and Signed-off-by)
Re-title commit message and added bug reference
Tweaked comment style a tiny bit (start by capital, end with period, space between // and beginning of message)
Fixed a couple of lines that were empty except for a bunch of tabs somehow
Added missing error checking for getStoragePoolConfig call

Given the lack of suitable functions in ClusterTx or even Cluster for that matter, I think going back to the previous model as used for patchLvmNodeSpecificConfigKeys is going to be the way to go.

I've reworked the patch based on your previous approach but added a reverter so we avoid the issue of a DB lockup on error.

jenkins: test this please

@tomponline assuming jenkins is happy, can you take a quick look at it and if that looks sane, go ahead and merge it?

Testsuite passed


Production build import error

Describe the bug
I'm trying to make a production build of a SvelteKit app that's using Quirrel. It works properly in a dev build, but crashes during the production build.
The .mjs file in the quirrel library just reexports everything from dist/cjs/src/sveltekit.js, which has regular named exports (see the file structure at https://www.npmjs.com/package/quirrel?activeTab=explore). So everything should, in theory, work.
Instead, it throws an error saying that The requested module 'quirrel/sveltekit.mjs' does not provide an export named 'Queue', even though it should. This can be fixed by explicitly importing the .js or .cjs file, but I don't think this should be necessary.
For more information, see the original issue I posted in quirrel's repo.
Reproduction
https://github.com/sproott/quirrel-sveltekit-build-bug
Logs
import { Queue } from "quirrel/sveltekit.mjs";
         ^^^^^
SyntaxError: The requested module 'quirrel/sveltekit.mjs' does not provide an export named 'Queue'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:526:24)
    at async prerender (file:///home/username/temp/quirrel-sveltekit-build-bug/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:355:16)
[vite-plugin-sveltekit-compile] Prerendering failed with code 1
error during build:
Error: Prerendering failed with code 1
    at ChildProcess.<anonymous> (file:///home/username/temp/quirrel-sveltekit-build-bug/node_modules/@sveltejs/kit/src/exports/vite/index.js:551:15)
    at ChildProcess.emit (node:events:513:28)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)

System Info
System:
    OS: Linux 6.0 Arch Linux
    CPU: (12) x64 AMD Ryzen 5 5500U with Radeon Graphics
    Memory: 9.26 GB / 14.98 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 16.18.1 - ~/.nvm/versions/node/v16.18.1/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v16.18.1/bin/npm
  Browsers:
    Chromium: 108.0.5359.124
  npmPackages:
    @sveltejs/adapter-auto: ^1.0.0-next.91 => 1.0.0-next.91
    @sveltejs/kit: ^1.0.0-next.589 => 1.0.0-next.589
    svelte: ^3.55.0 => 3.55.0
    vite: ^4.0.3 => 4.0.3

Severity
serious, but I can work around it
Additional Information
No response

The .mjs file in the quirrel library just reexports everything from dist/cjs/src/sveltekit.js, which has regular named exports (see the file structure at https://www.npmjs.com/package/quirrel?activeTab=explore). So everything should, in theory, work.

It looks like it re-exports ./dist/esm/src/sveltekit.js instead. The issue though is that ./dist/esm/src/sveltekit.js is still treated as CJS by node because it doesn't use the .mjs extension, and the closest package.json doesn't have "type": "module". An easy fix is to do the latter here.
Closing as this is Node behaviour.


[MBL-1669][MBL-1715] Add delivery address object to the graph query for PPO/format result for PPO card

📲 What
Added a delivery address object for the PPO graph query and added formatting for the PPO card for this new address object
🤔 Why
Confirm address needs addresses with names/phone numbers/ etc
👀 See
Normal view:

Fixed bug view with no address:

📋 QA
Confirm the address is displayed as expected on the PPO confirm address card, confirm if there is no address the confirm button is greyed out and there is not address displayed
Story 📖
MBL-1669
MBL-1715

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 51.07914% with 68 lines in your changes missing coverage. Please review.

Project coverage is 67.60%. Comparing base (8d6a506) to head (d1715a4).

Files with missing lines
Patch %
Lines

...es/pledgedprojectsoverview/data/DeliveryAddress.kt
57.14%
32 Missing and 1 partial :warning:

...res/pledgedprojectsoverview/data/PPOCardFactory.kt
52.38%
20 Missing :warning:

...arter/services/transformers/GraphQLTransformers.kt
0.00%
13 Missing :warning:

...r/features/pledgedprojectsoverview/data/PPOCard.kt
71.42%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2124      +/-   ##
============================================
- Coverage     67.69%   67.60%   -0.10%
- Complexity     2206     2208       +2
============================================
  Files           367      368       +1
  Lines         22629    22745     +116
  Branches       3260     3270      +10
============================================
+ Hits          15319    15377      +58
- Misses         5553     5610      +57
- Partials       1757     1758       +1

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


Bump Istio to v1.19

New release is out https://github.com/istio/istio/releases

Same here
# v1.19.0
go<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>not<EMAIL_ADDRESS># v1.18.0
go<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>not<EMAIL_ADDRESS>
So we can probably bump the manifests to test with 1.19, but client libs have to stay on 1.17.

New issue to just bump the manifests https://github.com/knative-extensions/net-istio/issues/1177. We'll keep this one open until we are on a higher k8s version.


bump X-Ms-Version header version

bumped x-ms-version header to resolve
collection  could not be read because it was created with a newer API version.

Thanks @k1rk


Bump Identity Framework Version

$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2798206499

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2798206499
Status: success


Connection to mssql server from linux

Hello,
I need to connect from linux server to MSSQL Server. We use ZF2 + Doctrine2.
Can somebody help me?

@Armenian ask on the mailing list, on IRC or on stackoverflow. Closing here, as it is not an issue.


Split/Merge Use Case

Has anyone ever discussed the possibility of having a split/merge feature?
This has happened a couple of times on our legacy platform where multiple databases would need to be split out or merged together.
Some examples that come time mind:

Split: A company is on a shared database, but later decides they want their own database.  What would be the process of migrating that company data over to the new system?
Split/Merge: A company originally had multiple connections but wants to consolidate.

I am guessing both approaches would be similar but wanted to check to see if any thought had been put in about automating the functionality.

@b1tzer0 Finbuckle already supports a hybrid model for per-tenant data, see the bottom of these docs: https://www.finbuckle.com/MultiTenant/Docs/v6.6.1/EFCore
I would imagine you would have to manually handle moving your data to a separate DB, or moving the separate DB data into the shared tenant DB.
How could Finbuckle solve that problem for you?

I have thought about this but to be honest it's a little out of scope since there's a lot of factors that are specific to the situation and the database provider. If you can think of a good wide-ranging approach I would certainly consider it. I also may include something like this as a feature in a premium offering in the future -- but I'd still probably make the source available.

I agree. Just thinking out loud, I think the most common case is a database moving from shared to its own database. It seems pretty straight forward for small amounts of data, but what if it is hours worth of transfers? Does the entire app need to go down for that? These are tough questions I don't have good answers for except "it depends".

In my specific use case, it would just be the one tenant that has to go down, not the entire app; of course, it would cause a slow down for anyone using the shared database.
One possible way, again; this is my use case, I don't know about others.
Being able to tell the difference between configuration tables and transactional tables.
Migrating config in some instances could be much faster (I guess that really depends though on the number of config tables).
This would allow the tenant to be up and running faster, while still migrating transactional data in the background in smaller bits.
Either way, I think that whatever needs to happen that it should be a background process or a secondary application.  If I recall the elastic tools had a management console app that was external to the running app.
Like someone else said, it might just be something I need to write as the situations occur.

@b1tzer0 It almost sounds easier to me to just have every tenant on their own DB and not ever need to add all of this highly complex splitting and merging stuff. At most you will need a process to create new tenant DBs, or apply migrations against existing ones.


It should be possible to save the mappings and reuse them in a later move session

On migrations of Workitems from e.g. SCRUM process template based PA to a SAFe based, we often do the move iteratively at beginning of a PI.
Because the source and the target PA are always the same in this use case it would be great, if the mapping can be stored and reused in a later move.

Do you mean on project level or per user?
What options do we have to store this information? Cookies?

I mean per user, like it is possible with the web based workitem importer.