Stacking Contract Signature and Input Mismatch

The stacking contract signature and inpute values are mismatched in order. Hard to understand which one is related to which one.
No example on how to modify pox-addr to supoorted format.

Can you please add the concrete mismatches? In my understanding it is hard to read but accurate.
The references are generated from the contract itself and I believe every change would trigger an automatic update in the docs

Can you please add the concrete mismatches? In my understanding it is hard to read but accurate.
The references are generated from the contract itself and I believe every change would trigger an automatic update in the docs

Can you please add the concrete mismatches? In my understanding it is hard to read but accurate.
The references are generated from the contract itself and I believe every change would trigger an automatic update in the docs.
As for the pox address, we absolutely have to add information about that. We also should complete the delegation steps in the tutorial with sample code to make it easier. Any help is very welcome

Sure. For eg.:

My options are:
const options = {
    contractAddress: "ST000000000000000000002AMW42H",
    contractName: "pox",
    functionName: "delegate-stx",
    functionArgs: [
      uintCV(amountSTX),
      standardPrincipalCV("ST3K2B2FH1AYXD26WV6YZY4DAA82AZNK967BNB9BK"),
      poxAddressCV,
    ],

    appDetails: {
      name: "StakedStats",
      icon: { logo },
    },
    finished: (data) => {
      console.log("TX ID:", data.txId);
      console.log("Raw TX:", data.txRaw);
    },
  };

I am getting bad argument error.
Also:
. There are two uint in the end, but only one uint value after pox.

Can you please add the concrete mismatches? In my understanding it is hard to read but accurate.
The references are generated from the contract itself and I believe every change would trigger an automatic update in the docs.
As for the pox address, we absolutely have to add information about that. We also should complete the delegation steps in the tutorial with sample code to make it easier. Any help is very welcome

Sure. For eg.:

My options are:
const options = {
    contractAddress: "ST000000000000000000002AMW42H",
    contractName: "pox",
    functionName: "delegate-stx",
    functionArgs: [
      uintCV(amountSTX),
      standardPrincipalCV("ST3K2B2FH1AYXD26WV6YZY4DAA82AZNK967BNB9BK"),
      poxAddressCV,
    ],

    appDetails: {
      name: "StakedStats",
      icon: { logo },
    },
    finished: (data) => {
      console.log("TX ID:", data.txId);
      console.log("Raw TX:", data.txRaw);
    },
  };

I am getting bad argument error.
Also:
. There are two uint in the end, but only one uint value after pox.

TL;DR: The ui of the docs seems confusing but the content is correct here. You are tripped up by the fact that there's no tutorial or guide - no explanation how to use what is documented in the refs, I'd suggest we close this out and open an issue for tutorial and guide for stacking delegation.

The delegate method is documented as:
Signature: (delegate-stx amount-ustx delegate-to until-burn-ht pox-addr)
Input: uint, principal, (optional uint), (optional (tuple (hashbytes (buff 20)) (version (buff 1))))

You use uint, principal, and what I assume is a tuple. you need to add nonceCV for the optional param (the 3rd in the list for until-burn-ht).

The link on the bottom is for delegate-stack-stx, which is defined as:
Signature: (delegate-stack-stx stacker amount-ustx pox-addr start-burn-ht lock-period)
Input: principal, uint, (tuple (hashbytes (buff 20)) (version (buff 1))), uint, unit

There are two uints at the end of the signature: start-burn-ht and lock-period.

TL;DR: The ui of the docs seems confusing but the content is correct here. You are tripped up by the fact that there's no tutorial or guide - no explanation how to use what is documented in the refs, I'd suggest we close this out and open an issue for tutorial and guide for stacking delegation.

The delegate method is documented as:
Signature: (delegate-stx amount-ustx delegate-to until-burn-ht pox-addr)
Input: uint, principal, (optional uint), (optional (tuple (hashbytes (buff 20)) (version (buff 1))))

You use uint, principal, and what I assume is a tuple. you need to add nonceCV for the optional param (the 3rd in the list for until-burn-ht).

The link on the bottom is for delegate-stack-stx, which is defined as:
Signature: (delegate-stack-stx stacker amount-ustx pox-addr start-burn-ht lock-period)
Input: principal, uint, (tuple (hashbytes (buff 20)) (version (buff 1))), uint, unit

There are two uints at the end of the signature: start-burn-ht and lock-period.

TL;DR: The ui of the docs seems confusing but the content is correct here. You are tripped up by the fact that there's no tutorial or guide - no explanation how to use what is documented in the refs, I'd suggest we close this out and open an issue for tutorial and guide for stacking delegation.
The delegate method is documented as:
Signature: (delegate-stx amount-ustx delegate-to until-burn-ht pox-addr)
Input: uint, principal, (optional uint), (optional (tuple (hashbytes (buff 20)) (version (buff 1))))

You use uint, principal, and what I assume is a tuple. you need to add noneCV for the optional param (the 3rd in the list for until-burn-ht).
The link on the bottom is for delegate-stack-stx, which is defined as:
Signature: (delegate-stack-stx stacker amount-ustx pox-addr start-burn-ht lock-period)
Input: principal, uint, (tuple (hashbytes (buff 20)) (version (buff 1))), uint, unit

There are two uints at the end of the signature: start-burn-ht and lock-period.

Ok. So I figured out the issue,
(optional (tuple (hashbytes (buff 20)) (version (buff 1))))
A guide on how to create this datatype, needs to be documented.
const { hashMode, data } = decodeBtcAddress(poxAddr);
  const hashModeBuffer = bufferCV(new BN(hashMode, 10).toArrayLike(Buffer));
  const hashbytes = bufferCV(data);
  const poxAddressCV = tupleCV({
    hashbytes,
    version: hashModeBuffer,
  });

This is the code i made by reading the @stacks/transaction library code. And seems like this is the argument giving me "BAD ARGUMENT" error.

TL;DR: The ui of the docs seems confusing but the content is correct here. You are tripped up by the fact that there's no tutorial or guide - no explanation how to use what is documented in the refs, I'd suggest we close this out and open an issue for tutorial and guide for stacking delegation.
The delegate method is documented as:
Signature: (delegate-stx amount-ustx delegate-to until-burn-ht pox-addr)
Input: uint, principal, (optional uint), (optional (tuple (hashbytes (buff 20)) (version (buff 1))))

You use uint, principal, and what I assume is a tuple. you need to add noneCV for the optional param (the 3rd in the list for until-burn-ht).
The link on the bottom is for delegate-stack-stx, which is defined as:
Signature: (delegate-stack-stx stacker amount-ustx pox-addr start-burn-ht lock-period)
Input: principal, uint, (tuple (hashbytes (buff 20)) (version (buff 1))), uint, unit

There are two uints at the end of the signature: start-burn-ht and lock-period.

Ok. So I figured out the issue,
(optional (tuple (hashbytes (buff 20)) (version (buff 1))))
A guide on how to create this datatype, needs to be documented.
const { hashMode, data } = decodeBtcAddress(poxAddr);
  const hashModeBuffer = bufferCV(new BN(hashMode, 10).toArrayLike(Buffer));
  const hashbytes = bufferCV(data);
  const poxAddressCV = tupleCV({
    hashbytes,
    version: hashModeBuffer,
  });

This is the code i made by reading the @stacks/transaction library code. And seems like this is the argument giving me "BAD ARGUMENT" error.

Yeah, agree with your comment that a) the references are not so readable and b) there is missing sample code for this call.
I have some working code in a sample app, hoping it helps you (until we get better tooling, docs, and samples for this):

Install deps:
npm install @stacks/transactions @stacks/network bitcoinjs-lib bn.js

Make sure to get the latest versions of the stacks libs because the mainnet node URLs were updated recently.
Sample code:
const {
  AddressHashMode,
  bufferCV,
  tupleCV,
  standardPrincipalCV,
  uintCV,
  makeContractCall,
  broadcastTransaction,
} = require("@stacks/transactions");
const { StacksMainnet } = require("@stacks/network");
const { address } = require("bitcoinjs-lib");
const BN = require("bn.js");

const network = new StacksMainnet();

const BLOCK_HEIGHT = 1903893;
const MINIMUM_USTX =<PHONE_NUMBER>3374;

async function stackTokensForUser(address, senderKey, btcAddress) {
  const { hashMode, data } = decodeBtcAddress(btcAddress);
  const hashModeBuffer = bufferCV(new BN(hashMode, 10).toBuffer());
  const hashbytes = bufferCV(data);
  const poxAddressCV = tupleCV({
    hashbytes,
    version: hashModeBuffer,
  });

  const txOptions = {
    contractAddress: "ST000000000000000000002AMW42H",
    contractName: "pox",
    functionName: "delegate-stack-stx",
    functionArgs: [
      standardPrincipalCV(address),
      uintCV(MINIMUM_USTX * 1.1), // amount+10%
      poxAddressCV,
      uintCV(BLOCK_HEIGHT + 3), //start-burn-ht+3
      uintCV(1), //lock-period
    ],
    senderKey,
    validateWithAbi: true,
    network,
  };

  const transaction = await makeContractCall(txOptions);

  return broadcastTransaction(transaction, network);
}

function decodeBtcAddress(btcAddress) {
  const hashMode = getAddressHashMode(btcAddress);
  if (btcAddress.startsWith("bc1") || btcAddress.startsWith("tb1")) {
    const { data } = address.fromBech32(btcAddress);
    return {
      hashMode,
      data,
    };
  } else {
    const { hash } = address.fromBase58Check(btcAddress);
    return {
      hashMode,
      data: hash,
    };
  }
}

function getAddressHashMode(btcAddress) {
  if (btcAddress.startsWith("bc1") || btcAddress.startsWith("tb1")) {
    const { data } = address.fromBech32(btcAddress);
    if (data.length === 32) {
      return AddressHashMode.SerializeP2WSH;
    } else {
      return AddressHashMode.SerializeP2WPKH;
    }
  } else {
    const { version } = address.fromBase58Check(btcAddress);
    switch (version) {
      case 0:
        return AddressHashMode.SerializeP2PKH;
      case 111:
        return AddressHashMode.SerializeP2PKH;
      case 5:
        return AddressHashMode.SerializeP2SH;
      case 196:
        return AddressHashMode.SerializeP2SH;
      default:
        throw new Error("Invalid pox address version");
    }
  }
}

Yeah, agree with your comment that a) the references are not so readable and b) there is missing sample code for this call.
I have some working code in a sample app, hoping it helps you (until we get better tooling, docs, and samples for this):

Install deps:
npm install @stacks/transactions @stacks/network bitcoinjs-lib bn.js

Make sure to get the latest versions of the stacks libs because the mainnet node URLs were updated recently.
Sample code:
const {
  AddressHashMode,
  bufferCV,
  tupleCV,
  standardPrincipalCV,
  uintCV,
  makeContractCall,
  broadcastTransaction,
} = require("@stacks/transactions");
const { StacksMainnet } = require("@stacks/network");
const { address } = require("bitcoinjs-lib");
const BN = require("bn.js");

const network = new StacksMainnet();

const BLOCK_HEIGHT = 1903893;
const MINIMUM_USTX =<PHONE_NUMBER>3374;

async function stackTokensForUser(address, senderKey, btcAddress) {
  const { hashMode, data } = decodeBtcAddress(btcAddress);
  const hashModeBuffer = bufferCV(new BN(hashMode, 10).toBuffer());
  const hashbytes = bufferCV(data);
  const poxAddressCV = tupleCV({
    hashbytes,
    version: hashModeBuffer,
  });

  const txOptions = {
    contractAddress: "ST000000000000000000002AMW42H",
    contractName: "pox",
    functionName: "delegate-stack-stx",
    functionArgs: [
      standardPrincipalCV(address),
      uintCV(MINIMUM_USTX * 1.1), // amount+10%
      poxAddressCV,
      uintCV(BLOCK_HEIGHT + 3), //start-burn-ht+3
      uintCV(1), //lock-period
    ],
    senderKey,
    validateWithAbi: true,
    network,
  };

  const transaction = await makeContractCall(txOptions);

  return broadcastTransaction(transaction, network);
}

function decodeBtcAddress(btcAddress) {
  const hashMode = getAddressHashMode(btcAddress);
  if (btcAddress.startsWith("bc1") || btcAddress.startsWith("tb1")) {
    const { data } = address.fromBech32(btcAddress);
    return {
      hashMode,
      data,
    };
  } else {
    const { hash } = address.fromBase58Check(btcAddress);
    return {
      hashMode,
      data: hash,
    };
  }
}

function getAddressHashMode(btcAddress) {
  if (btcAddress.startsWith("bc1") || btcAddress.startsWith("tb1")) {
    const { data } = address.fromBech32(btcAddress);
    if (data.length === 32) {
      return AddressHashMode.SerializeP2WSH;
    } else {
      return AddressHashMode.SerializeP2WPKH;
    }
  } else {
    const { version } = address.fromBase58Check(btcAddress);
    switch (version) {
      case 0:
        return AddressHashMode.SerializeP2PKH;
      case 111:
        return AddressHashMode.SerializeP2PKH;
      case 5:
        return AddressHashMode.SerializeP2SH;
      case 196:
        return AddressHashMode.SerializeP2SH;
      default:
        throw new Error("Invalid pox address version");
    }
  }
}


[Feature Request] Uploading using the cURL or wget

Is it possible to somehow upload files to the ddrive using a curl command like this:
curl -T archive.tar.gz http://<IP_ADDRESS>:8080/archive.tar.gz
I searched for a way to do this but only found dclone which is not available on ARM and would like to be able to upload files to the site via cURL or wget.

@idanyas It's totally possible, try this.
curl -X POST -T archive.tar.gz http://<IP_ADDRESS>:8080/archive.tar.gz

I didn't know it was possible to upload so easily, thank you.


Retract v1.39.0 in go.mod

Issue #, if available:
https://github.com/aws/aws-lambda-go/issues/491
Description of changes:
ran go mod edit -retract=v1.39.0
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #499 (a269155) into main (6645426) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #499      +/-   ##
==========================================
- Coverage   71.18%   71.14%   -0.05%
==========================================
  Files          21       20       -1
  Lines        1253     1251       -2
==========================================
- Hits          892      890       -2
  Misses        295      295
  Partials       66       66

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Crash totally in Home Assistant 0.110.6

Hi, I've installed via HACS and put in the configuration.yaml the same configuration that you put in README, but once I rebooted, the system wasn't work correctly. If i login, the IP doesn't work. If I delete the folder in custom_configurations everything comes back ok.
I see the log but I didn't find any errors.

Nevertheless, I suggest you try setting it up via the Integrations panel instead of the configuration.yaml.

But in Integrations didn't see anything about this repo once I installed via HACS..

I've the same problems. I cannot find it on the Integration page.

@mammuth How can we fix those problems? Both the crashing and searching in the Integration page...

We should investigate why the integration is not showing up in the UI. The crashing is probably related to the yaml mode and we might even just get rid of it.
If you add another new integration via HACS, can it be added via the integration page of home assistant?
Just to make sure: you need to go to settings > integrations and hit the + button and search for this integration (it won't show up on the integration page by default).

@mammuth Yes sure, I tested with another HACS integration like Garbage Collection and it shows it.


[BUG] requirements.txt 依赖冲突

Required prerequisites

[X] I have read the documentation https://github.com/baichuan-inc/baichuan-7B/blob/HEAD/README.md.
[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[X] Consider asking first in a Discussion.

System information
1
Problem description
ERROR: Cannot install -r requirements.txt (line 1), -r requirements.txt (line 6) and torch==2.0.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested torch==2.0.0
    deepspeed 0.9.2 depends on torch
    xformers 0.0.20 depends on torch==2.0.1

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Reproducible example code
The Python snippets:

Command lines:

Extra dependencies:

Steps to reproduce:

Traceback
No response
Expected behavior
No response
Additional context
No response
Checklist

[X] I have provided all relevant and necessary information above.
[X] I have chosen a suitable title for this issue.

同样遇到此问题

后面我把torch的指定版本去掉，直接装最新的，可以跑

装都装不上  这个安装过程 太难嘞。

我也遇到了这个问题。

INFO: pip is looking at multiple versions of transformers to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of torch to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sentencepiece to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of numpy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of deepspeed to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install -r requirements.txt (line 1), -r requirements.txt (line 6) and torch==2.0.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested torch==2.0.0
    deepspeed 0.9.2 depends on torch
    xformers 0.0.20 depends on torch==2.0.1

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

我按如下方式修改 requirements.txt 后，就可以了。
diff --git a/requirements.txt b/requirements.txt
index 65fcfcf..4eb6bd1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,6 @@
 deepspeed==0.9.2
 numpy==1.23.5
 sentencepiece==0.1.97
-torch==2.0.0
+torch==2.0.1
 transformers==4.29.1
 xformers==0.0.20


ability to clear text when searching tokens

https://github.com/bancorprotocol/webapp-v2/issues/294

@zavelevsky


standardize size limits for project logo, and fix bad metadata

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2771   👈

This comment was auto-generated by Graphite.

⏳ This pull request is set to merge as part of a Graphite merge job
Stack job ID: bwf3zAdPmbkMaSGICKC5.
See details on graphite.dev


nc_test4/run_bm_test1 and run_bm_test2 should not attempt to run without utils

These two benchmark tests require ncdump/ncgen but are still trying to run in builds with --disable-utilities.
I will fix in my current PR.

Note also that run_bm_test.sh also should not attempt to run unles utils are enabled.


Improvements to text rendering

The basis for text rendering are laid in #305. This issue lists the tasks that we left for later, as well as possible improvements.
Done

The basis was laid in #305

Possible improvements

General:

[ ] Implement stretch font prop. Can be interpreted/implemented in two ways: stretch only whitespace, stretch only characters, or both.
[ ] Prettier bold text (because it's currently a bit rounded).

Via an improved SDF (see below).
By providing bold fonts (see below).

[ ] A section in the guide about working with text. Explaining about the default font, requesting (multiple) families, layout, adding custom fonts to the font_manager, ...

Text input:

[ ] Improved Markdown formatting support.
[ ] Basic HTML.
[ ] Math.
[ ] Musical notes, would be a cool example for custom text.

Layout:

[ ] Alignment.
[ ] Justification.
[ ] Line breaking.
[ ] Improvements to RTL text (e.g. Arabic)?
[ ] Improvements to vertical text (e.g. Japanese)?
[ ] Being able to position glyphs better:

Being able to set z in addition to xy will allow wrapping text around non-flat surfaces.
Being able to also set the diagonal corner will allow us to rotate individual glyphs.

Text rendering

[ ] Refcount the glyph indices used by glyph items so we can free glyph slots from the atlas.
[ ] Implement Text._wgpu_get_pick_info to lookup the char index from the glyph index, via the geometry.
[ ] Improved SDF for sharper corners (especially for bold text)

Font management:

[ ] A method to easily update pygfx's fonts and noto-default-index. Perhaps also a test to prevent outdated index.
[ ] We could check and cache the codepoints supported by every font to make better use of the system fonts (e.g. select a Chinese font that happens to be on the user's system). I'm not 100% sure if this is a good idea. An alternative could be suggest fonts that are on the system that would support a char.
[ ] Catch cases where the default font should cover a codepoint, but in fact does not because it's an older version of the font.
[ ] Detecting fonts via an entrypoint (see https://github.com/pimoroni/fonts-python)
[ ] A new package that installs (a subset) of the Noto fonts.
[ ] Add NotoSerif and NotoMono.
[ ] Add NotoSans-Bold.

First priority of all these improvements would be to support multi-line rendering, and alignment/justification.
The stats helper is an obvious element that would benefit tremendously from this improvement.

Interesting article on HN day: https://acko.net/blog/subpixel-distance-transform/

Hehe, Ivo sent it to me earlier today. I already added some points to look at in the top post (under "Text rendering").

This part was insightful for understanding why fonts are fatter on MacOS: Fonts were not invented for screens, they were designed for paper, with ink that bleeds. Certain renderers, e.g. MacOS, replicate this effect.

I never imaged myself watching a 1 hour video on rendering text on the GPU... https://www.youtube.com/watch?v=SO83KQuuZvg

Text rendering is probably one of the hardest problems in computer science. 1 hour is pretty brief. :)


Async migrations

Some migrations can effectively be run totally asynchronously relatively to other migrations. E.g. creating of index. It would be very nice to have a possibility to mark some migrations as async and not to block the whole process on them.

I agree this can be valuable. It is not an immediate priority, but let's keep this open and see if it gathers traction.
Cheers
Axel

+1 for asynchronous migrations. We are using flyway with phoenix and some of our index creations take quite a long time.

+1 we've also been affected by the lag on indexing extremely large tables, would love an async option to avoid downtime.

Agree, that's valuable feature for us too.

Please implement :)

Would be an extremely useful feature.

+1

+1!!

+1!

+1

+1

+1
Imagine that we might use Flyway's mechanisms to trigger the update of other, non/No-SQL repos such as ElasticSearch or even to send messages to various messaging/streaming infrastructures such as Kafka.
While Java migrations help a great deal since we can implement pretty much whatever we want (including spawning async jobs), native Flyway support would make things a breeze.
And... elaborating on this topic... I'm pretty much starting to see Flyway as a generic update mechanism and not only an SQL-related one. I am not sure whether this idea sprung before but a more decoupled, "update engine"-like mechanism would be great, imho.

@octavian-nita

And... elaborating on this topic... I'm pretty much starting to see Flyway as a generic update mechanism and not only an SQL-related one. I am not sure whether this idea sprung before but a more decoupled, "update engine"-like mechanism would be great, imho.

In Flyway 7 we shipped a new feature that will help with that: https://flywaydb.org/documentation/migrations#script-migrations

+1

+1

+1

+1

+1

1

+1

+1

We ran into an issue in which our containers were failing health checks due to index creations taking too long. Async migration tasks are absolutely essential for embedded Spring Boot start-up migration.

@EarthCitizen I ran into same issue of POD getting restarted. Have you found any workaround for this?

@aprabhat In our case, they were index creations, and we created our Flyway scripts with "if not exists" for the indexes. Therefore, once they were created on the DB, the DB continued to work on them after the connection was lost when the container was restarted, and the scripts were marked as complete on the reboot due to the indexes already existing on the DB.
Basically, we got lucky.

I agree this can be valuable. It is not an immediate priority, but let's keep this open and see if it gathers traction.

@axelfontaine This issue appears to have traction. There is a clear community need expressed here.

@aprabhat In our case, they were index creations, and we created our Flyway scripts with "if not exists" for the indexes. Therefore, once they were created on the DB, the DB continued to work on them after the connection was lost when the container was restarted, and the scripts were marked as complete on the reboot due to the indexes already existing on the DB.
Basically, we got lucky.

I appreciate your response. In my case, I require the addition of a column. To achieve this, I implemented a workaround by creating a stored procedure that checks whether the column already exists. If the POD is terminated before successfully recording the entry in the schema version table, the subsequent POD will execute the same script. If the new column has already been created, the stored procedure will skip the "add column" step, and the new POD will successfully record the entry in the schema version table.

+1

+1


chore: Add Miri workflow

Which issue does this PR close?

Closes https://github.com/apache/datafusion-comet/issues/634
Rationale for this change

We want to ensure that our unsafe code is safe
What changes are included in this PR?

Add new workflow to run Miri checks
How are these changes tested?

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 53.47%. Comparing base (68efa57) to head (2cac6ef).
Report is 6 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #636      +/-   ##
============================================
+ Coverage     53.43%   53.47%   +0.03%
  Complexity      802      802
============================================
  Files           106      106
  Lines         10152    10173      +21
  Branches       1911     1915       +4
============================================
+ Hits           5425     5440      +15
- Misses         3751     3755       +4
- Partials        976      978       +2

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


CI: no logging by default

The recently added increased logging made the resulting
log files rather large, which is a problem when downloading
them and exhausted available space in the Jenkins master.
Now that extra logging is turned off by default respectively
done less frequently (top and df run once a minute). To enable
logging, edit the pipeline in a PR or in the Jenkins UI.

This worked. Here's a PR test run with the new default settings: https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/view/pmem-csi/job/pmem-csi/view/change-requests/job/PR-445/3 => 7MB log file.
Here's one with all output enabled and 30s delay, done by using the "replay" action for the previous job and editing the script of the pipeline: https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/view/pmem-csi/job/pmem-csi/view/change-requests/job/PR-445/4/ => 15.6MB log file.
I can't reproduce the figure of several GB for a log file that @okartau mentioned. Perhaps that was for a run with severe errors and retries where simply the long runtime with continuous output from the Kubernetes pods caused the log to balloon. That worst-case scenario now cannot happen anymore.
@avalluri, @okartau: Note that triggering a replay with edited script is also a fast way to retry just the failing configuration - simply remove all other steps.

I can't reproduce the figure of several GB for a log file that @okartau mentioned

If you refer to my recent statement in chat, I did not mean "several GB" in context of one build, but overall in CI system. I haven't made measurements myself, I can see that one e2e run locally produces 13..15 MB text file. We have multiple such targets built in every PR. And in case of failure, we have retries. So it does not take so many PR jobs to get to multi GB level.

If you refer to my recent statement in chat, I did not mean "several GB" in context of one build, but overall in CI system. I haven't made measurements myself, I can see that one e2e run locally produces 13..15 MB text file.

I it actually was Chuy who mentioned PR-383 in his email. The largest log for a single job in that PR consumed 6.7G.


Metrics URL wrong on puppetdb 6.10.0

I'm getting the following on FreeBSD 12.1, puppetdb 6.10.0:
INFO:puppetboard.utils:PuppetDB Version 6.10.0
ERROR:pypuppetdb.api: localhost:8080 over HTTP.
ERROR:puppetboard.utils:404 Client Error: Not Found for url: http://localhost:8080/metrics/v1/mbeans

Looked at the sources briefly, not sure why it'd pick v1 endpoint here..

Hey, it took some time for an answer, but i can't reproduce it.
Do you have still this error on the newest version?

Closing as it looks outdated. Please reopen if needed.


Invalid upload request

I have this issue "Invalida upload request", some people mention the problem is de exif extension but according to phpinfo() the extension php-exif in enable. There is something else that can provoke this error.  Mi project work fine in my local but in my web site (sharing-host) do not upload new photos. Thanks in advance for the help.

Originally posted by @ARNolasco in https://github.com/UniSharp/laravel-filemanager/issues/475#issuecomment-424516837

I am having same issue in laravel 5.7. please give some solution. for sure i have all extension enabled like fileinfo, exif, gd2 i took my 3 hours now. please save my time.

I am also having the same problem. I am running Laravel 5.6.38. I also have gd2, exif and fileinfo enabled on my valet setup.

Debugging
Earlier posts referring to this same problem mention a debug binary in the ./version path php ./vendor/unisharp/laravel-filemanager/bin/debug, but it doesn't exist in this version (1.9.2) of laravel-filemanager.
Is there a way to do debug this version?

If you are using v2.0.0-alpha4, there is a bug which will cause "Invalid upload request". Please upgrade to v2.0.0-alpha5.

I am using alpha5, still have this bug with Digital Ocean Spaces Storage disk.

@g0110280

If you are using v2.0.0-alpha4, there is a bug which will cause "Invalid upload request". Please upgrade to v2.0.0-alpha5.

I am using alpha5, still have this bug with Digital Ocean Spaces Storage disk.

@g0110280

If you are using v2.0.0-alpha4, there is a bug which will cause "Invalid upload request". Please upgrade to v2.0.0-alpha5.

I am using alpha5, still have this bug with Digital Ocean Spaces Storage disk.

Did you run php artisan storage:link ?

@oleghalin

I am using alpha5, still have this bug with Digital Ocean Spaces Storage disk.

Did you run php artisan storage:link ?

@docmojoman yes, i am, btw i am using DO Spaces

alpha5 fixed my local installation.  When I deployed to my Digital Ocean (I don't use Spaces) server I forgot to run storage:link and I was getting blank uploads.

This bug exist only on cloud storage drivers

@docmojoman I still have this error on alpha5, please how do i fix? I use Amazon s3 storage, when i use local server storage it works fine, but once i link s3 it happens.

If using v2 this may have been fixed by #712 if you are using S3 and have thumbnails enabled.

@mnightingale i will test it ASAP and let you know

It was a permission issue. making the public/files and public/photos folders writable solved the issue for me.

I have the latest dev-master and on s3 Amazon I am getting invalid upload request

From the root folder of the project, try typing in the command line
sudo chown -R $USERNAME:www-data public/images
chmod -R 775 public/images

where USERNAME - your user (eg. "root")

If on Windows, go into your php ini and set this: upload_tmp_dir = "C:\Users{my_user}\AppData\Local\Temp"
StackOverflow Ref:https://stackoverflow.com/questions/45619248/laravel-5-4-fopen-filename-cannot-be-empty

I also face this problem. I think all shared hosting occur this problem. But no one gives a specific solution.

I am on the latest version of the package. My disk on lfm.php is set to s3 and I get this error. If I set to public, then the upload works fine by the images are blank. I have run storage:link before doing this. The should_create_thumbnails is set to false

Got this to work with PR https://github.com/UniSharp/laravel-filemanager/pull/982

when you run php artisan storage:link your folder permission is going to the hell, run chmod -R 775 your_folder/ and sudo chown -R your_user:your_user your_folder/ can't use root :p

For anyone that is having this issue... You can solve this by making sure your re-change your permissions on your folders.
read -p 'Site: ' site &&
sudo chown -R :www-data /var/www/$site &&
sudo chmod -R 777 /var/www/$site/storage &&
sudo chmod -R 777 /var/www/$site/bootstrap/cache

Looks like a solved issue. Please leave comments or reopen this if it is still a issue.

I am facing the same issue : "Invalid upload Request" . My version is : * v2.9.1 . Using Laravel version 9 . Running project on local machine . With that error , some times the image get saved , sometime

not .


Add the cubed-sphere projections to Atlas

Add the cubed sphere projections to Atlas

[x] Equidistant
[x] Equiangular
[ ] Equidistant FV3

Note that equidistant FV3 projection is not yet part of the ecmwf develop.

Not in the immediate. Though it might become more important if we see efficiency issues in the interpolation around the B matrix operators.


build: update build:zip script

Before
The zip archive and build:zip scripts were in the incorrect format. SFCC would throw an error when trying to import the archive.
# output of the  "build-zip" step
# "zip metadata/imgix_data.zip metadata/imgix_data"
# creates...

├── metadata # only one root folder is allowed in sfcc import, this will break import
├── imgix_data
│   ├── meta
│   │   └── system-objecttype-extensions.xml
│   └── services.xml

After
By using the -j flag in the build:zip script, we remove unnecessary folders that were making the import of the zip archive impossible.
# output of the "build-zip" step
# "zip -j imgix_data.zip metadata/imgix_data/meta metadata/imgix_data/services.xml"
# creates...

├── imgix_data
│   ├── meta
│   │   └── system-objecttype-extensions.xml
│   └── services.xml

-j flag and what it does
-j

--junk-paths

Store just the name of a saved file (junk the path), and do not store directory
names. By default, zip will store the full path (relative to the current
directory).

@frederickfogerty merging this in to ensure zip archive imports are no longer broken.


SQL Server Migrations: Rebuild columns after altering HasComputedColumnSql

Steps to reproduce
I have a class
public class User : IdentityUser<int>
{
	public string Name { get; set; }
	public string DisplayName { get; set; }
}

and DbContext
AppDbContext : IdentityDbContext<User, Role, int>
{
    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        builder.Entity<User>().Property(p => p.DisplayName).HasComputedColumnSql("[Name]");
    }
}

execute
dotnet ef migrations add User_DisplayName
dotnet ef database update
All done.

Modify OnModelCreating()  like this:
builder.Entity<User>().Property(p => p.DisplayName)
    .HasComputedColumnSql("[Name] + ' (' + [Email] + ')'");

execute again
dotnet ef migrations add User_DisplayName_fix
dotnet ef database update

The issue
Error Number:156,State:1,Class:15
Incorrect syntax near the keyword 'AS'.'

Further technical details
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final",
Operating system: Win 10
Visual Studio version: 2015
MS SQL 2012
Cause of the error
In this file src/Microsoft.EntityFrameworkCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs
lines number 60 and 400 generating script:
alter table User alter column DisplayName as [Name] + ' (' + [Email] + ')'

This is wrong.
T-SQL does not support argument 'AS' for command 'Alter column'.
For computed column, need 2 commands.

drop computed column
create new computed column with same name

If you are changing a column from non-computed to computed you are also dropping all the existing data from the column. Perhaps our model differ should reason about this and generate a DropColumnOperation and AddColumnOperation rather than the alter in this case.

If you are changing a column from non-computed to computed...

This is not what the code above is doing. It just changes the computed expression--the column was previously computed too.
As far as I can tell, Oracle supports altering computed columns just like any other column. I think we should treat this issue as specific to SQL Server and rebuild the column in its Migrations SQL generator.


[TC Console.dot Portal] - When selecting 'Packages' option on the left menu, it is not possible to load results for the default filter

Description
When selecting 'Packages' option on the left menu, it is not possible to load results for the default filter.
Steps to reproduce:
open the console portal
Go to Packages option in the menu
Click on the '-->' button to the right side of the filter text box
Expected result:
The results for the default filter of 'Type'=maven and 'Name'=quarkus-core should be loaded and displayed
Actual result:
No results are displayed when clicking the '-->' button. When checked the Network tab in developer options in Chrome options, no request is sent to the server when clicking on this button.
**JIRA ticket for reference: https://issues.redhat.com/browse/TC-193
Attached video:
No response in default filter.zip

This should be fixed now since the search UI does not show these filters.

This is still happening...

This is fixed now. By default a query matching all documents is run (and first 10 results fetched)


Implement if/then logic within QueenBee functions

After my initial development of queenbee functions and recipes, I think this was my biggest pain point.
To give a specific painful example, the current philosophy of "create a new function for every boolean flag you want to turn on/off on a command" is causing me to fall far short of the re-usability that we are hoping queenbee will give us. I already have 5 different simulation parameter commands in honeybee-energy and having to make 2 variants of each of them to accommodate one boolean option is already 10 functions. God help us all if I add another boolean flag on these simulation parameter commands and we will have 20 simulation parameter queenbee functions.  Simply instituting an if/then logic will allow us to expose these boolean flags on the function rather than having to double or quadruple the number of functions.
Beyond this, there's potentially a lot more re-usability that we can build into queenbee functions if we can wrap multiple commands depending upon the input

We are holding off on this issue for now until Argo provides better support for conditionals with artifacts.
Meanwhile the logic can be handled inside the functions itself.


Provide air gapped/offline build support

What would you like to be added:
Maybe we can provide further air gapped (offline) build support for Garden Linux. While most of the pipeline already works in an air gapped setup, there're still some things left that need to be covered mostly in documentation. This should cover how to get the needed tools, additional resources (cfssl, container images, external utils from pytevts etc.). I think except of unit tests we do not any further integration while this tests won't be able to perform in an air gapped environment.
Why is this needed:
It might come to the point where users are in an air gapped environment and have the requirement to build their artifacts from source (instead of copying random bins). Therefore, we should adjust (if needed) the pipeline and provide a documentation how to build GL in an air gapped env.

A first iteration for this has been documented in https://github.com/gardenlinux/gardenlinux/tree/doc/1348-provide-air-gapped-support. However, this already documents the way by using the upcoming slim images #231 and requires to have the needed container to be pushed or exported.


Measuring/extimating stack usage in tests

Is it good or bad idea: to add an extension in CppUTest able to Measure the stack consumption of a Code Under Test.
Since stack overflow is a dangerous problem on embedded systems, could we perform measurements and create approximations of stack usage? It might not need to be precise, we could work with exagerated safe margins since there's no anticipated and precise method to measure stack consumption currently.
This could be a nice feature, if possible to do.

I think it's better to do the measuring in the system level off-target test.
Since CppUTest is aimed at unit test per function, it won't give you a exact picture depicting the real stack consuming in the system runtime. Different system has different design, I think it's not possible to define one common mathematics method to match stack consuming in UT to stack consuming in run time system.


Proposal: Add snapshot & clone support for k8s volumes to Weave Scope

Now that weave scope supports Kubernetes Volumes, it would be great to have snapshot and clone support built in Weave Scope.
Feature:

Allow user to take a snapshot for the Kubernetes Volume using Weave Scope.
Allow user to restore a snapshot i.e. create a clone from the snapshot using Weave Scope.
Allow user to visualize and manage the snapshot & clone resources through Weave Scope.

Specification:
Snapshot
Snapshot is the current state of the Kubernetes persistent volume. Kubernetes snapshotting proposal can be found here. Snapshot creates two types of objects,

VolumeSnapshot
VolumeSnapshotData

                          Snapshot            Clone

+--------+              +---------+         +---------+
|        |              |         |         |         |
|  PVC   +------------> |Volume   +-------> |  PVC    |
|        |              |Sanpshot |         |         |
+----+---+              +----+----+         +----+----+
     |                       |                   |
     |                       |                   |
+----+---+              +----+----+         +----+----+
|        |              |Volume   |         |         |
|  PV    |              |Snapshot |         |   PV    |
|        |              |Data     |         |         |
+--------+              +---------+         +---------+

Snapshot is a Kubernetes CRD known as volumesnapshots.volumesnapshot.external-storage.k8s.io and implemented in the kubernetes-incubator/external-storage.

Add control on the PVC Node in Weave Scope for snapshot.

Name for VolumeSnapshot Node:

Name for the snapshot object should be unique and should contain timestamp. Hence, snapshot-timestamp-uuid

Shape for snapshot object:

Shape for Volume snapshot data object

Shape for control icon:
(snapshot icon on PVC)

Clone icon on volumesnapshot

Adjacency for the snapshot:

VolumeSnapshot k8s resource contain name of the VolumeSnapshotData. Hence, link can be shown among these two objects.
VolumeSnapshot can be connected to the PVC object.

Clones
Snapshot can be restored to PVC & PV, these restored PVC & PV objects are known as clones. Data restoration should be done using Weave Scope. Add control to VolumeSnapshot node to restore the data in the form of PVC & PV.

Add control on the VolumeSnapshot Node in Weave Scope for snapshot.
Name for VolumeSnapshot Node:

snapshotdata-timestamp-uuid

Shape for snapshot object:

Shape will be similar to the existing PVC & PV objects.

Adjacency for the snapshot:

Adjacency should be drawn as per current adjacency of PVC & PV objects.

Solution:

Upgrade client-go to 8.0.0

Snapshot support is recently added to the Kubernetes as a external plugin/out-tree here which uses client-go version 8.0.0 .

To implement snapshot support in Weave Scope, we need clientset for the Kubernetes API Object, that's Snapshot CRD in this case. As of today, snapshot CRD lacks implementation of versioned kubernetes client i.e clientset. There's ongoing PR for the same. It seems PR is in the pending state. Hence, We've created external repo which contains generated clientset. Once, Kubernetes VolumeSnapshot becomes core resource, we'll remove this dependency as client-go should be able handle this.

Add support to show VolumeSnapshot & VolumeSnapshotData on Weave Scope

Add control to PVC to create a VolumeSnapshot

Add control to VolumeSnapshot to create a clone

This will implicitly fix https://github.com/weaveworks/scope/issues/3284

Hi @2opremio , @bia Can you please review the shapes for volume snapshot & volume snapshot data objects?

Hi @satyamz , I can draft some ideas for this next week.

@fbarl and I drafted a more simplified camera octagon which fits with our current icon set.

What do you think? Is it critical that it has to do with the volumes cylinder icon?

@bia @fbarl  great images/icons.
Here is a minor feedback, if I may:
A snapshot is usually for the data (or volume or cylinder). It may be a good idea to have the camera on top of the cylinder to indicate that the volume (or cylinder) is a snap-of-the-data.
The camera icon is nice though :)

Thanks for your feedback @umamukkara!

A snapshot is usually for the data (or volume or cylinder). It may be a good idea to have the camera on top of the cylinder to indicate that the volume (or cylinder) is a snap-of-the-data.

I think your rationale here makes sense - the reason why we went with a pure camera outline is because we wanted to keep the shape design in line with the primary polygon shapes above. The guidelines @bia and I were trying to follow could be summarized as follows:

All shapes should be flat - mixing 2D and 3D perspectives is not great
All shapes should have about same degree of complexity - therefore having a shape within a shape is not ideal

However, I think what we might want to consider here is node tags - in this case, we could have a cylinder with a small camera icon in its bottom-right corner to signify it's a snapshot. Is that something you think might work out? If yes, maybe we could try sketching it out.

Perfect. Great idea @fbarl

@fbarl and I thought to go with something like this. Do you guys agree?

Hi @bia & @fbarl This looks great :1st_place_medal:  We will need above shape in the dotted form too.
@fbarl Can you please push these shapes to weaveworks/ui-components ?

@satyamz Just opened https://github.com/weaveworks/ui-components/pull/385.
Since camera icon is a node tag, rather than a shape, the backend would need to provide one additional field (tag="camera") to the GraphNode component to render nodes as snapshots.

The new camera tag is now available in Scope (I just bumped the ui-components to v.0.12.3).

Hi @fbarl ,
We tried to add one more field called Tag in the Topology as well as method called WithTag similar to the WithShape. We are able to get the tag in the json response but it's not reflecting on the UI screen.
We tried it on the PV node and here's example json :
"47c31ee3-b67f-11e8-bcd5-42010a800191;\u003cpersistent_volume\u003e":{
   "id":"47c31ee3-b67f-11e8-bcd5-42010a800191;\u003cpersistent_volume\u003e",
   "label":"pvc-476f2cab-b67f-11e8-bcd5-42010a800191",
   "labelMinor":"",
   "rank":"/pvc-476f2cab-b67f-11e8-bcd5-42010a800191",
   "shape":"cylinder",
   "tag":"camera",
   "metadata":[
      {
         "id":"kubernetes_node_type",
         "label":"Type",
         "value":"Persistent Volume",
         "priority":1.0
      },
      {
         "id":"kubernetes_volume_claim",
         "label":"Volume claim",
         "value":"snapshot-20180829151656-379c-volume-claim-c97f",
         "priority":2.0
      },
      {
         "id":"kubernetes_storage_class_name",
         "label":"Storage class",
         "value":"openebs-snapshot-promoter",
         "priority":3.0
      },
      {
         "id":"kubernetes_access_modes",
         "label":"Access modes",
         "value":"ReadWriteOnce",
         "priority":5.0
      },
      {
         "id":"kubernetes_status",
         "label":"Status",
         "value":"Bound",
         "priority":6.0
      },
      {
         "id":"kubernetes_storage_driver",
         "label":"Storage driver",
         "value":"ISCSI",
         "priority":7.0
      }
   ],
   "tables":[
      {
         "id":"kubernetes_labels_",
         "label":"Kubernetes labels",
         "type":"property-list",
         "columns":null,
         "rows":[
            {
               "id":"label_openebs.io/cas-type",
               "entries":{
                  "label":"openebs.io/cas-type",
                  "value":"jiva"
               }
            }
         ]
      }
   ]
}

If you have any example or the right way to do it, please let us know.

@fbarl here is the change we made in backend

diff --git a/render/detailed/summary.go b/render/detailed/summary.go
index 5f4f85dc..e43ad19d 100644
--- a/render/detailed/summary.go
+++ b/render/detailed/summary.go
@@ -49,6 +49,7 @@ type BasicNodeSummary struct {
        LabelMinor string `json:"labelMinor"`
        Rank       string `json:"rank"`
        Shape      string `json:"shape,omitempty"`
+       Tag        string `json:"tag,omitempty"`
        Stack      bool   `json:"stack,omitempty"`
        Pseudo     bool   `json:"pseudo,omitempty"`
 }
@@ -115,6 +116,7 @@ func MakeBasicNodeSummary(r report.Report, n report.Node) (BasicNodeSummary, boo
        }
        if t, ok := r.Topology(n.Topology); ok {
                summary.Shape = t.GetShape()
+               summary.Tag = t.Tag
        }

        // Do we have a renderer for the topology?
@@ -399,6 +401,7 @@ func groupNodeSummary(base BasicNodeSummary, r report.Report, n report.Node) Bas
        if topology, _, ok := render.ParseGroupNodeTopology(n.Topology); ok {
                if t, ok := r.Topology(topology); ok {
                        base.Shape = t.GetShape()
+                       base.Tag = t.Tag
                        if t.Label != "" {
                                base.LabelMinor = pluralize(n.Counters, topology, t.Label, t.LabelPlural)
                        }
diff --git a/report/report.go b/report/report.go
index f40643d9..f157dcd7 100644
--- a/report/report.go
+++ b/report/report.go
@@ -43,7 +43,8 @@ const (
        Cloud          = "cloud"
        Cylinder       = "cylinder"
        DottedCylinder = "dottedcylinder"
       StorageSheet   = "sheet"
+       Camera         = "camera"

        // Used when counting the number of containers
        ContainersKey = "containers"
@@ -266,6 +267,7 @@ func MakeReport() Report {

                PersistentVolume: MakeTopology().
                        WithShape(Cylinder).
+                       WithTag(Camera).
                        WithLabel("persistent volume", "persistent volumes"),

                PersistentVolumeClaim: MakeTopology().
diff --git a/report/topology.go b/report/topology.go
index 49c01678..d10094ba 100644
--- a/report/topology.go
+++ b/report/topology.go
@@ -10,6 +10,7 @@ import (
 // in the Node struct.
 type Topology struct {
        Shape             string            `json:"shape,omitempty"`
+       Tag               string            `json:"tag,omitempty"`
        Label             string            `json:"label,omitempty"`
        LabelPlural       string            `json:"label_plural,omitempty"`
        Nodes             Nodes             `json:"nodes"`
@@ -32,6 +33,7 @@ func MakeTopology() Topology {
 func (t Topology) WithMetadataTemplates(other MetadataTemplates) Topology {
        return Topology{
                Shape:             t.Shape,
+               Tag:               t.Tag,
                Label:             t.Label,
                LabelPlural:       t.LabelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -47,6 +49,7 @@ func (t Topology) WithMetadataTemplates(other MetadataTemplates) Topology {
 func (t Topology) WithMetricTemplates(other MetricTemplates) Topology {
        return Topology{
                Shape:             t.Shape,
+               Tag:               t.Tag,
                Label:             t.Label,
                LabelPlural:       t.LabelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -62,6 +65,7 @@ func (t Topology) WithMetricTemplates(other MetricTemplates) Topology {
 func (t Topology) WithTableTemplates(other TableTemplates) Topology {
        return Topology{
                Shape:             t.Shape,
+               Tag:               t.Tag,
                Label:             t.Label,
                LabelPlural:       t.LabelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -76,6 +80,22 @@ func (t Topology) WithTableTemplates(other TableTemplates) Topology {
 func (t Topology) WithShape(shape string) Topology {
        return Topology{
                Shape:             shape,
+               Tag:               t.Tag,
+               Label:             t.Label,
+               LabelPlural:       t.LabelPlural,
+               Nodes:             t.Nodes.Copy(),
+               Controls:          t.Controls.Copy(),
+               MetadataTemplates: t.MetadataTemplates.Copy(),
+               MetricTemplates:   t.MetricTemplates.Copy(),
+               TableTemplates:    t.TableTemplates.Copy(),
+       }
+}
+
+// WithTag sets the tag of nodes from this topology, returning a new topology.
+func (t Topology) WithTag(tag string) Topology {
+       return Topology{
+               Shape:             t.Shape,
+               Tag:               tag,
                Label:             t.Label,
                LabelPlural:       t.LabelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -90,6 +110,7 @@ func (t Topology) WithShape(shape string) Topology {
 func (t Topology) WithLabel(label, labelPlural string) Topology {
        return Topology{
                Shape:             t.Shape,
+               Tag:               t.Tag,
                Label:             label,
                LabelPlural:       labelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -130,6 +151,7 @@ func (t Topology) GetShape() string {
 func (t Topology) Copy() Topology {
        return Topology{
                Shape:             t.Shape,
+               Tag:               t.Tag,
                Label:             t.Label,
                LabelPlural:       t.LabelPlural,
                Nodes:             t.Nodes.Copy(),
@@ -151,8 +173,13 @@ func (t Topology) Merge(other Topology) Topology {
        if label == "" {
                label, labelPlural = other.Label, other.LabelPlural
        }
+       tag := t.Tag
+       if tag == "" {
+               tag = other.Tag
+       }
        return Topology{
                Shape:             shape,
+               Tag:               tag,
                Label:             label,
                LabelPlural:       labelPlural,
                Nodes:             t.Nodes.Merge(other.Nodes),
@@ -171,6 +198,9 @@ func (t *Topology) UnsafeMerge(other Topology) {
        if t.Label == "" {
                t.Label, t.LabelPlural = other.Label, other.LabelPlural
        }
+       if t.Tag == "" {
+               t.Tag = other.Tag
+       }
        t.Nodes.UnsafeMerge(other.Nodes)
        t.Controls = t.Controls.Merge(other.Controls)
        t.MetadataTemplates = t.MetadataTemplates.Merge(other.MetadataTemplates)

@satyamz @Akash4927 If backend is passing the right JSON to the UI, then the only thing left to do is pass it forward to the GraphNode component in the UI:

Pass type={node.get('type')} to NodeContainer in nodes-chart-elements.js
Pass type={this.props.type} to GraphNode in node-container.js

From what I see, that should be it!
Please note that passing an empty string as type to the GraphNode component will probably result in an error, the string representing no tag is 'none'.

@fbarl this worked. Thanks for your help. I will send PR soon.


undef: false doesn't work

jshint v2.9.1
Don't understand why undef:false is not preventing W117 from showing up.
.jshintrc:
{
  "esversion": 6,
  "undef": false,
  "unused": false
}

file.js:
'use strict';

class DownloadsToolbar {
  constructor(uiData) {
    this.uiData_ = uiData;
    this.element_ = this.createElement_();
  }

  get element() { return this.element_; }

  focusSearch() { this.element_.querySelector('input').focus(); }

  createElement_() {
    return window.bragi.createTemplate([
      'div', {'class': 'search-controllers'},
      DownloadsToolbar.Templates.searchInput(this.uiData_)
    ]);
  }
};

jshint --reporter=unix --verbose file.js
file.js:7:1: Use the function form of "use strict". (W097)
file.js:28:2: Unnecessary semicolon. (W032)
file.js:23:12: 'window' is not defined. (W117)

I have the same problem with
.jshintrc
"expr": false

error message:
line 36, col 33, Expected an assignment or function call and instead saw an expression

@cattermo You have to use expr: true

@nicolo-ribaudo Thank you!
@rchl Same for you I guess...

Thanks for the report! This is the same issue as described in gh-2903, so I'm
going to close it to keep things organized. As I mentioned in that thread, a
short-term workaround would be to formally declare your global variables. Here,
because the global in question is provided by a web browser, you can do this
with the browser environment option.


Add bit_reverse for SIMD backend

This change is

Codecov Report
Attention: Patch coverage is 98.97959% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 91.21%. Comparing base (aca433d) to head (738f4bf).

Files
Patch %
Lines

crates/prover/src/core/backend/simd/bit_reverse.rs
98.97%
1 Missing :warning:

Additional details and impacted files
@@                              Coverage Diff                              @@
##           04-30-Implement_FieldOps_for_SIMD_backend     #600      +/-   ##
=============================================================================
+ Coverage                                      91.12%   91.21%   +0.09%
=============================================================================
  Files                                             75       76       +1
  Lines                                           9464     9562      +98
  Branches                                        9464     9562      +98
=============================================================================
+ Hits                                            8624     8722      +98
- Misses                                           768      769       +1
+ Partials                                          72       71       -1

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


Print git commit version on bee version

Add the possibility to print the git commit on bee version (ref).
We should also add to api the possibility to get a version of a running bee node (possibly under health check or under heartbeat result).

(discussion at https://github.com/ethersphere/bee/issues/664)


Improve w120

I've split the patch into two commits to more clearly demonstrate the effect of
the change. The first commit simply adds tests (some of which "prove" incorrect
functionality). The second commit fixes the implementation, and updates the
test only by removing the invalid assertions and updating the expected message
for the valid assertions.
(Personally, I think this would best be avoided by disallowing variable
shadowing via shadow: outer, but that is a subjective decision that doesn't
help users contributing to codebases that disagree.)
This resolves gh-1788.
Commit message:

Warning 120 (message "You might be leaking a variable ({a}) here.") is
triggered when a binding statement contains an assignment expression whose left
hand side is an identifier. For instance, the assignment to x triggers the
warning in each of the following three statements:
var v = x = null;
let l = x = null;
const c = x = null;

In these contexts, it is possible that the author mistakenly believes that a
new binding for the x identifier is being created. Warning 120 was presumably
implemented to help developers avoid unintentionally creating global
bindings.
As implemented, JSHint does not consider whether the binding in question has
already been created, so the following code also triggers the warning (despite
being safe):
var y;
var v2 = y = null;

JSHint maintains environment records for each scope, so this problem could be
resolved by referencing the containing scope(s). Such a solution would not
address a more fundamental problem: the warning is mostly duplicative of W117
("{a} is not defined."). Users are already alerted of the "leakage" when the
undef option is set. JSHint already operates as expected for the following
input, issuing W117 for line 2 but not for line 4:
// jshint undef: true, -W120
var v = x = null;
var y;
var v2 = y = null;

W117 is preferable for two reasons:

it is much more robust, as it covers a wide array of additional instances
where global bindings are being created
it is controlled by a dedicated linting option that is human-readable and
well documented

Although this makes the warning a good candidate for outright removal, the
original intention suggests a special case that W120 is uniquely positioned to
address: re-assignment of bindings in a "higher" scope. For example:
let v1 = 0;
{
  let v2 = v1 = 1;
}

Just as in previous examples, the author of this code may have mistakenly
assumed that the second let statement created a new v1 binding and that
each instance of the v1 identifier referenced a unique block-scoped binding.
This is incorrect for the same reasons, and the mistake has similar
implications for program correctness.
However, unlike previous examples, this mistake would not be
identified by undef/W117 because v1 is defined.
Refactoring W120 to address this concern is backwards compatabile with
previous versions of JSHint because this is a special case of the
previously-implemented behavior (the overall effect is a relaxing of
linting constraints).
Re-write the conditions that trigger warning W120 to be limited to only
those cases where the nested assignment expression may be misinterpreted
as shadowing a binding in a higher scope. Update the warning message to
describe the more specific issue.

This is a lot more to read than the others, so I will look tomorrow.

Unless I don't, which means I opted to play video games instead ;)

Ping. No news about this?


need specific format for geometry type in GeoJSON

point = Point
polygon = Polygon
line = LineString
(case is important.)
see wikipedia

Resolved


NPE when running unit tests.

Many unit tests throw an NPE while running.  The NPE has nothing to do with the code being tested; it is a configuration fault, near as I can tell.
Occurs on all tested repos (JetBrains/intellij-haxe/master, TiVo/intellij-haxe/master, TiVo/intellij-haxe/ClassHierarchy, EBatTiVo/intellij-haxe/ClassHierarchy).
To reproduce: Load the intellij-haxe project; Run the "HaxeTests" configuration.
The line of code throwing the NPE is:  (From WriteCommandAction.java)

  public static boolean ensureFilesWritable(@NotNull final Project project, @NotNull final Collection<PsiFile> psiFiles) {
    return FileModificationService.getInstance().preparePsiElementsForWrite(psiFiles);
  }

What's happening is that FileModificationService.getInstance() is returning null.  Obviously, dereferencing that causes the NPE.
FileModification service appears to be instantiated by adding a service to the LangExtensions.xml file.  The Haxe plugin doesn't have one of those.  I tried adding the stanza to the plugin.xml, but it did not fix the problem.
The appropriate stanza is:

<idea-plugin>
  <extensions defaultExtensionNs="com.intellij">
    <applicationService serviceInterface="com.intellij.codeInsight.FileModificationService"
                        serviceImplementation="com.intellij.codeInsight.CodeInsightUtilBase"/>
  </extensions>
</idea-plugin>

Below is a typical exception stack:

java.lang.RuntimeException: java.lang.NullPointerException
	at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl$18.run(CodeInsightTestFixtureImpl.java:1127)
	at com.intellij.util.ui.UIUtil.invokeAndWaitIfNeeded(UIUtil.java:2074)
	at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.setUp(CodeInsightTestFixtureImpl.java:1119)
	at com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase.setUp(JavaCodeInsightFixtureTestCase.java:57)
	at com.intellij.testFramework.UsefulTestCase.defaultRunBare(UsefulTestCase.java:340)
	at com.intellij.testFramework.UsefulTestCase$3.run(UsefulTestCase.java:353)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
	at java.awt.EventQueue.access$400(EventQueue.java:81)
	at java.awt.EventQueue$2.run(EventQueue.java:633)
	at java.awt.EventQueue$2.run(EventQueue.java:631)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.NullPointerException
	at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:106)
	at com.intellij.openapi.command.WriteCommandAction.access$000(WriteCommandAction.java:33)
	at com.intellij.openapi.command.WriteCommandAction$1.run(WriteCommandAction.java:80)
	at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:85)
	at com.intellij.testFramework.fixtures.impl.HeavyIdeaTestFixtureImpl.a(HeavyIdeaTestFixtureImpl.java:148)
	at com.intellij.testFramework.fixtures.impl.HeavyIdeaTestFixtureImpl.setUp(HeavyIdeaTestFixtureImpl.java:102)
	at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl$18.run(CodeInsightTestFixtureImpl.java:1123)
	... 20 more

TIR: STB-5630

Also somewhere following Psi element is added:
PARAMETER_LIST
<empty list>
to FUNCTION_DECLARATION_WITH_ATTRIBUTES

Yes, I added the empty parameter list to help with processing class type parameters (generic notation).  That should be expected and added to the failing test.

The original problem was that the netty library wasn't included in the SDK dependencies.


Fix for top level form that calls made fn immediately

This form: (def v ((make-fn)))
Add make test

Great, thanks for figuring out that issue and adding the test call. I added some comments but can merge it after those!

Applied the comments 👌


Prefilled CubePrimer factory method

Adds a factory method to create a prefilled CubePrimer

Make it an actual static method, not a constructor

Make it an actual static method, not a constructor

Make it an actual static method, not a constructor

it is a static method?

Make it an actual static method, not a constructor

it is a static method?

Ignore my comment then, that's what you get by looking at PRs after 1am

Ignore my comment then, that's what you get by looking at PRs after 1am


Lint fixes

Fix lint errors

@jin-nvidia can you take a look at the modified apps/files that you own and see if the changes are ok?

Thank you for making the changes, they look good! I just verified running the apps as well. @wendell-hom

Thanks Jin!


Complete option tap function

Pull Request Template
Description
Add the tap function of Option tests, and provide an example.
Types of Changes
What types of changes does your code introduce to the library?

[ ] Bugfix
[ ] New feature
[X] Documentation update

Checklist

[X] I have read the contributing guidelines for this repository
[X] I have written tests for the changes I have made
[X] I have run pnpm coverage and my code is 100% covered
[X] I have updated the documentation (if applicable)
[X] I agree to license my contribution under the MIT license

Additional Information
This is the first time I've made this contribution.
I will be doing more as I become more familiar with the process. 😃

Thanks @FizzyElt but this repo is stale: https://github.com/fp-ts/core#readme
You can contribute to https://github.com/Effect-TS/data instead


event description page

need to add event description listing all details of the specific event

closed because #60 is merged to master successfully


Merge ops/ctl admin UIs

Is your feature request related to a specific problem?
Now that the repos are merged, we'll need to update the front-end to let users navigate the full UI for both applications
Describe the solution you'd like
A single navigation page for all UIs
Additional context
We've already put in a request for a hifi design for this

@mfbrown any ETA on the hifi's here? This is ready for work at this point

@ssangervasi I've done another big upstream merge so this should be about ready to start

This ticket covers a lot of tasks, depending on the scope of "A single navigation page for all UIs". I'll enumerate them here to start.
1. Configure Ops/Ctl zones
This step assumes we're going to run Ops and Ctl as two different Next apps (at least to start). This means they won't share any state and navigating between them reloads pages, like how the Data Map is hosted.
Tasks:

Each of the apps needs a Next basePath.

This is necessary to route the pages unambiguously.
Giving both of the apps a basePath means we can use the top-level paths for an app this is truly unified.
Example: /ctl/taxonomy, /ops/connection

Each needs zone-aware navigation

This PR introduced zone configuration so that Ctl can link to Data Map.
Ctl must update its config and nav links so that Ctl links are under the ctl base path, and introduce the ops base path.
Ops can copy in the features/common/zones code, then define its own zone-config.ts with the new base paths.

Each development server needs to run on a different port.

I think both default to 3000. One needs to be different to serve both in dev.
Data Map already runs on 4000.

2. Backend serves both sets of static files.
When running the app in production (built image) the unified backend needs to serve both UIs from the catchall route.
Tasks:

Each copy-export command needs to copy the static files into directories under src/fides/.

Currently, Ctl uses src/fidesctl/ui-build/static while Ops src/fidesops/ops/build/static.
Let's settle on src/fides/build/static/[ops|ctl]

The fides catchall route needs to serve both static directories

The updated route map should be able to handle multiple directories.
The base paths added in step 1.1 should allow us to figure out which directory goes with which page.
Definitely need to test fidesctl-plus after doing this.

3. Actual unification of the UIs
Up to this point, the tasks have just been to get both apps to play nice in the same sandbox. Now they have to be friends.
We have some options of how much we integrate the two UIs. These are listed from easiest to hardest (dev-wise).

Add a home/welcome page that directs the user to Ops or Ctl.

Each link describes what features each UI has.
User can go back to that page to switch apps.
Note that this is easy while transitioning to unification b/c we don't modify any of the content of the two UIs themselves.
Probably need to update the default index route in the backend.

Context-aware app switcher.

A dropdown that lives in the nav bar or user button to switch from Ctl to Ops and vice versa.
Must be implemented in both UIs.

Nav bar with all the things.

Merge the two sets of nav bar links.
This means all the pages are a click away without the user having to differentiate the two apps.
Probably needs a design b/c that nav bar could get very wide. Are they grouped at all?

Full UI-nification

Create a new Next app that has Ops and Ctl rolled together.
This would really be its own epic.

Hey @ssangervasi - I think I follow most of the recommended steps there to do a gradual transition, but given that we've already forklifted all the client code into sibling directories, I'm wondering if we could at least attempt to jump to option 4 to avoid the tech debt of additional routers, base URLs, multiple underlying Next apps, etc.
If we do a quick survey of the two app directories:

https://github.com/ethyca/fides/tree/unified-fides/clients/ctl/admin-ui
https://github.com/ethyca/fides/tree/unified-fides/clients/ops/admin-ui

We can see that the structure and basic files are the same, since they are from the same Next template and because we've copied some code from ops -> ctl in the past (like the "auth" pages). In particular, the src/pages directory for each have no folder conflicts, so that tells us the actual UI routes don't conflict at all. Similarly, the src/features directories are pretty compatible, except for the src/features/common folder that they both use, where there might be some merge conflicts to deal with.
Overall, though it seems to me that if we tried something like this, we'd probably find that there are just a handful of duplicates to tackle together across the two UIs:

Pick a "home" app to start from (e.g. ctl/admin-ui)
Merge the various folders together (src/pages, src/features, etc.)
Resolve any conflicts
Update the navigation bar to include the combined routes
Test the UI and create bugs for the issues
Fix the bugs

Is that viable? It's similar to your option 4, but intentionally skips 1-3 as those all would require us creating & temporarily maintaining more technical debt, which I doubt is the best use of our time right now

Note: you'll need someone to pair with from the Fidesops team. We can definitely get someone to help here!

cc @TheAndrewJackson

Also, sometimes a picture speaks volumes:

We can rearrange the order of that unified nav and tweak the naming for each tab, but this seems worth attempting to get us to that true goal of a single UI

Yeah, I suppose I was pessimistic with how many conflicts there would be. (And the "A single navigation page for all UIs" made me think about navigating between two independent apps to start).
To clarify your step 1: initially merge everything into ctl/admin-ui, then as some final step we'd want to move that directory somewhere without the "ctl" prefix.

Yeah- if you do it that way (move to ct/admin-ui, then move to just admin-ui) you can preserve git history nicely by leveraging git mv a bunch!
I'm really assuming that much of the UI is very component-ized and isolated so this'll work relatively easily. That's an assumption though- I'd recommend just blocking out a day and seeing how far you get?

With the all-in-one app approach, will still need some step-2-related changes. Adding in a few more route map dirs should make it possible to serve the static files with fallbacks.


⚠ Bofrost.at has degraded performance

In cf04085, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1105 ms

Resolved: Bofrost.at performance has improved in 0eb590e after 25 minutes.


🚀 - Default Value support

Which package(s) are relevant/related to the feature request?
@maskito/kit, @maskito/react
Description
when filtering items by price (on our situation), we want default value set to filters so that users won't need to remember what are they searching for.
My thouhgt is:
const Test = ({ defaultValue, ...props }) => {
  const maskitoOptions = useMemo(
    () =>
      maskitoNumberOptionsGenerator({
        thousandSeparator,
        max: maxNumber,
        min: 0,
        defaultValue,
      }),
    [defaultValue, maxNumber, thousandSeparator]
  )

  const ref = useMaskito({ options: maskitoOptions })

  return <CustomInput {...props} ref={ref}>
}

Current behavior:
setting defaultValue directly CustomInput like 2000, will results showing 2000 not 2,000.

@rikusen0335
Unfortunately, I am not sure that I fully understand you problem 😢
Could you provide more description, please ?

Have you read this section of the documentation ?
https://maskito.dev/core-concepts/transformer
Probably, it can help you without any need to augment public API of Number.
There is also maskitoInitialCalibrationPlugin:
https://maskito.dev/core-concepts/plugins#initial-calibration
Probably, it can help you too.

Will look into this, thanks!

This worked as I expected, thanks!
  const maskitoOptions = useMemo(
    () =>
      maskitoNumberOptionsGenerator({
        thousandSeparator,
        max: maxNumber,
        min: 0
      }),
    [maxNumber, thousandSeparator]
  )

  const ref = useMaskito({ options: maskitoOptions })

  const defaultValue = useMemo(
    () => maskitoTransform(_defaultValue?.toString() ?? '', maskitoOptions),
    [_defaultValue, maskitoOptions]
  )


#0: Fix jupyterlab pinned to two different versions

@dimitri-tenstorrent @TT-billteng

let's merge once it passes

Passing post commit: https://github.com/tenstorrent/tt-metal/actions/runs/9406174958


[FEA] Find ways to convert regular expressions into faster operations

Is your feature request related to a problem? Please describe.
Processing regular expressions on the GPU is really expensive compared to purpose built kernels. We already have done some work to avoid running a regular expression in some cases with StringSplit when the result would just be a regular string.
https://github.com/NVIDIA/spark-rapids/pull/4854
And similarly for RegexpReplace when it would just be a list of choices for replacement
https://github.com/NVIDIA/spark-rapids/pull/7967
I would like to see us do similar things for RLike.  Spark already optimizes LIKE so that if it sees %FOO, it is translated to an ends_with, FOO% to a starts_with, and %FOO% to a contains.
I want to do the same kind of thing but using our regexp transpiler.
We might also want to have some simplification rules for RLIKE in the transpile to make it easier to find these situations instead of hard coding a list of them.

FOO, .*FOO, FOO.*, ^.*FOO, \A.*FOO, ^.*FOO.*$, \A.*FOO.*\Z can be converted into contains
^FOO, ^FOO.*, \AFOO, \AFOO.* can be be converted into starts_with
FOO$, .*FOO$, FOO\Z, .*FOO\Z can be be converted into ends_with

Note that these are after capture groups have been removed/ignored, and FOO represents any pattern that can be converted into a static string, similar to what we do for StringSplit and RegexpReplace.  In fact the multi-match that regexp replace does should work for contains because we could use find_multiple and then check for any of the values in the array being >= 0
https://github.com/rapidsai/cudf/blob/610c022164b71614fb92366b3694df6d700283c8/cpp/include/cudf/strings/find_multiple.hpp#L57
We could also do a custom kernel if we see a need for it and want more speed.
There might be more, but a few of these we have see in real world queries and it would be good to try and speed these up. As in all things we should run some benchmarks to really see how much better the speedup is, and if it is worth the added complexity.  My guess is that it will always be a win, and for long strings it can be a huge win.

Related to: https://github.com/NVIDIA/spark-rapids/issues/10741


wallet should use explorer.floonet.mwc.mw for floonet and explorer.mwc.mw for main

New block explorer looks really great.


Training data from HG002, HG003 and HG004

Hi,
Thanks for the impressive work of DeepMod2. I am trying to generate the training/valid/test data following your criteria as described in your paper, but I can not get the same number as in Supplementary Table 4.  Take HG002 for instance, I downloaded 12 files by LAB01 of the six WGBS  methods (TrueSeq, MethylSeq, SPLAT, TrueMethIBS, TrueMethyIOX, and EMSeq) from EpiQC.
GSM5649436_TruSeq_HG002_LAB01_REP02.bedGraph.gz GSM5649437_TruSeq_HG002_LAB01_REP01.bedGraph.gz GSM5649458_SPLAT_HG002_LAB01_REP02.bedGraph.gz GSM5649459_SPLAT_HG002_LAB01_REP01.bedGraph.gz GSM5649479_MethylSeq_HG002_LAB01_REP02.bedGraph.gz GSM5649480_MethylSeq_HG002_LAB01_REP01.bedGraph.gz GSM5649518_EMSeq_HG002_LAB01_REP02.bedGraph.gz GSM5649520_EMSeq_HG002_LAB01_REP01.bedGraph.gz GSM5649543_TrueMethylOX_HG002_LAB01_REP02.bedGraph.gz GSM5649545_TrueMethylOX_HG002_LAB01_REP01.bedGraph.gz GSM5649565_TrueMethylBS_HG002_LAB01_REP02.bedGraph.gz GSM5649567_TrueMethylBS_HG002_LAB01_REP01.bedGraph.gz
I processed these files following the description in your paper:

Before processing, for each WGBS method, I summed the counts from the two replicates and calculated the methylation percentage.
For each of the six WGBS method, we find CpG sites with (coverage >=10 and percentage >=90%) as methylation and (coverage >=10 and percentage < 10%) as unmethylation.
We take the overlapping for ALL the six WGBS methods for the above methylation and unmethylation sites. We then split the data into train/valid/test, according to the region of Chr2-21, Chr22 and Chr1.

Our Train:                              meth 4,212,407, unmeth: 2,169,575
Your Paper Train:               meth  5,332,746, unmeth: 2,490,174
Our Valid:                             meth 134,316, unmeth: 58,293
Your Paper Valid:              meth 179,954, unmeth: 65,730
Could you help me to reproduce the training data split as in Supplmentary Table 4 with more detailed information or kindly sharing your script to generate the data?
Thank you very much!

Hi, please see the following code for reproducing the training CpG labels:
Process individual datasets for each genome:
h="HG002"

mkdir -p merged/$h

for tp in {TruSeq,TrueMethylBS,TrueMethylOX,EMSeq,MethylSeq,SPLAT}
do
# merge replicates
f1=`find * -name GSM5649*${tp}*${h}_LAB01_REP01.bedGraph`
f2=`find * -name GSM5649*${tp}*${h}_LAB01_REP02.bedGraph`

bedtools intersect -a $f1 -b $f2 -loj |awk -v OFS="\t"  '{print $1, $2, $3,($5+$11)/($5+$11+$6+$12),$5+$11+$6+$12,$5+$11,$6+$12}' |grep -v 'Un\|random\|chrEBV\|p\|M' > merged/$h/merged.$tp.bed

# filter according to depth, and separate according to high or low methylation
mincov=10
high=0.9
low=0.1

mkdir -p merged/$h/dp.$mincov/gt_${high}
mkdir -p merged/$h/dp.$mincov/lt_${low}

cat merged/$h/merged.$tp.bed|awk -v high=$high -v mincov=$mincov  '{if ($5>=mincov && $4>=high){print}}'| grep -v 'X\|Y\|M' > merged/$h/dp.$mincov/gt_${high}/$tp.bed

cat merged/$h/merged.$tp.bed|awk -v low=$low -v mincov=$mincov  '{if ($5>=mincov && $4<=low){print}}'| grep -v 'X\|Y\|M' > merged/$h/dp.$mincov/lt_${low}/$tp.bed
done

Get common sites among six technologies and split into training, testing and validation
g=2

# get common sites
for tp in {"gt_0.9","lt_0.1"}
do
folder="merged/HG00$g/dp.10/$tp/"
bedtools multiinter -i $folder/*.bed > $folder/outer_join
cat $folder/outer_join|awk '{if($4==6){print}}'|cut -f 1-3 > $folder/common_sites_all
done

#convert sites into stranded CpGs
d=dp.10
l=lt_0.1
h=gt_0.9
mkdir -p merged/HG00$g/$d/training_labels
cat merged/HG00$g/$d/$l/common_sites_all | awk '{print $1 "\t" $2 "\t+\t" 0 "\n" $1 "\t" $2+1 "\t-\t" 0}' > merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h ; cat merged/HG00$g/$d/$h/common_sites_all|awk '{print $1 "\t" $2 "\t+\t" 1 "\n" $1 "\t" $2+1 "\t-\t" 1}' >> merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h

#split datasets
cat merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h|grep  "chr22" > merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h.chr22

cat merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h|grep  -v "chr1$(printf '\t')\|chr22" > merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h.chr2_21

cat merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h|grep  "chr1$(printf '\t')" > merged/HG00$g/$d/training_labels/HG00$g.$d.$l.$h.chr1


bring requirements up to date in master

fileIO.py is now in master, but it depends on astropy, which did not make its way to the requirements file, at least not explicitly. More generally, we may want to also autogenerate the docs/requirements.txt file, so that the common part of the two files is synchronized.

overtaken by events


"Next unread" in "global shared stories" jumps to next unread in my feeds, not in the shared stories

STR:

Click on global shared stories, read a few, then jump back to the top, read story.
Hit "n" to go to the first unread story in the "global shared" category
Note that it actually takes you to the first unread story in your subscribed feeds instead, not in the global shared category.

As far as I can tell, there's no way to jump to the first unread globally shared item, and I can't see why.

Global Shared Stories are just different. They've always been odd, since the way I make it work is you are effectively loading the popular's account's All Shared Stories river feed but with your own read stories subbing in. It's a hack and it's not perfect.


self.speed = 0 impossible to play it. It goes too fast

Sorry maybe it is a bad name. This variable indicates the minimal time interval of two actions. So the smaller this variable is, the faster the game moves.


[PORT] Update telemetry logger to include attachments

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3737

Addresses #1574 in JS repo (https://github.com/microsoft/botbuilder-js/issues/1574)
Telemetry logger will now include the collection of any attachments sent with the activity, if the LogPersonalInformation flag is set to true.
Changed projects

Microsoft.Bot.Builder

Duplicate of #1574. Closing.


fixed typo in ripsaw_v1alpha1_ycsb_cr.yaml

fixed typo in ripsaw_v1alpha1_ycsb_cr.yaml

Can one of the admins verify this patch?


Suggestions for MongoDB "Getting Started Guide"

I have a few suggestions for the MongoDB "Getting Started Guide"
Improve the Prisma schema
The Prisma schema that's currently used looks as follows:
model Post {
  id       String    @id @default(dbgenerated()) @map("_id") @db.ObjectId
  slug     String    @unique
  title    String
  body     String
  comments Comment[]
  user     User      @relation(fields: [userId], references: [id])
  userId   String    @db.ObjectId
}

// Comments contain a comment string and connect back to the post.
// postId must have @db.ObjectId to match up with Post's id type
model Comment {
  id      String @id @default(dbgenerated()) @map("_id") @db.ObjectId
  post    Post   @relation(fields: [postId], references: [id])
  postId  String @db.ObjectId
  comment String
}

model User {
  id    String  @id @default(dbgenerated()) @map("_id") @db.ObjectId
  email String  @unique
  name  String?
  posts Post[]
}

I have two main suggestions to improve this.
Remove the Comment model
IMO, the Comment model doesn't add much value compared to the canonical User/Post models we typically use in our schema examples. It doesn't introduce any new concepts because it also only shows a one-to-many relationship which readers can already learn by looking at the User<->Post relation. So in its current form, it seems to add noise without providing educational value. Note that this would be different if the model would show how to use a 1-1 relation or m-n relation.
Add an embedded document
With today's release, Prisma introduces support for MongoDB's embedded documents. Since embedded documents are a fundamental concept in MongoDB, I think it might make sense to include them in the "Getting Started Guide" already. This could for example be an Address type that's being added to the User model.
Remove the initial warning box
We currently have a warning on top of the guide that looks as follows:

It should probably be updated to remove the note that we don't support introspection on MongoDB. Further, I wonder if we need to  point out that migrations are not supported. Mostly because the concept of migrations doesn't really apply to MongoDB in the first place (unless we're talking about data migrations, but these are currently not possible with Prisma Migrate either) and it's questionable what Prisma Migrate support for MongoDB actually would look like. So we can probably get rid of the entire warning box?
Remove await prisma.$connect() ƒrom script
The initial, empty script that will show how to send Prisma Client queries currently uses prisma.$connect(). IMO, this doesn't provide any value and according to the "progressive disclosure of complexity" principle should be removed. iirc, we used to have an internal conversation about this already and decided against showing prisma.$connect() in any "getting started code".

It should probably be updated to remove the note that we don't support introspection on MongoDB. Further, I wonder if we need to point out that migrations are not supported. Mostly because the concept of migrations doesn't really apply to MongoDB in the first place (unless we're talking about data migrations, but these are currently not possible with Prisma Migrate either) and it's questionable what Prisma Migrate support for MongoDB actually would look like. So we can probably get rid of the entire warning box?

Big +1 on that - I think I had actually created a PR to do that or started a discussion to do that.

I'd also like to either clean up or remove the screenshots of Compass in the Introspection page (https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project/mongodb/introspection-typescript-mongodb). If we chose to keep them, we need to remove the border showing the desktop, and just show the Compass UI.


impi-dcmi命令报错

[root@localhost ~]# curl http://<IP_ADDRESS>:9290/ipmi?target=<IP_ADDRESS>
HELP ipmi_scrape_duration_seconds Returns how long the scrape took to complete in seconds.
TYPE ipmi_scrape_duration_seconds gauge
ipmi_scrape_duration_seconds 0.013980238
HELP ipmi_up '1' if a scrape of the IPMI device was successful, '0' otherwise.
TYPE ipmi_up gauge
ipmi_up{collector="bmc"} 0
ipmi_up{collector="dcmi"} 0
ipmi_up{collector="ipmi"} 0

调用以上命令后台报错如下：

ERRO[0047] Error while calling ipmimonitoring:           source="collector.go:227"
ERRO[0047] Failed to collect ipmimonitoring data: signal: segmentation fault  source="collector.go:369"
ERRO[0047] Error while calling ipmi-dcmi:                source="collector.go:227"
ERRO[0047] Error while calling bmc-info:                 source="collector.go:227

调用命令如下:
[root@localhost ~]# curl http://<IP_ADDRESS>:9290/ipmi?target=<IP_ADDRESS>

HELP ipmi_scrape_duration_seconds Returns how long the scrape took to complete in seconds.
TYPE ipmi_scrape_duration_seconds gauge
ipmi_scrape_duration_seconds 0.013980238
HELP ipmi_up '1' if a scrape of the IPMI device was successful, '0' otherwise.
TYPE ipmi_up gauge
ipmi_up{collector="bmc"} 0
ipmi_up{collector="dcmi"} 0
ipmi_up{collector="ipmi"} 0

后台报错如下:
ERRO[0047] Error while calling ipmimonitoring:           source="collector.go:227"
ERRO[0047] Failed to collect ipmimonitoring data: signal: segmentation fault  source="collector.go:369"
ERRO[0047] Error while calling ipmi-dcmi:                source="collector.go:227"
ERRO[0047] Error while calling bmc-info:                 source="collector.go:227

查看代码后，按代码中的3个命令调用参数进行单独执行也报错，但是网上关于3个命令的资料基本找不到，能否提供一下命令的参数说明，谢谢！

调用命令如下:
[root@localhost ~]# curl http://<IP_ADDRESS>:9290/ipmi?target=<IP_ADDRESS>
# HELP ipmi_scrape_duration_seconds Returns how long the scrape took to complete in seconds.
# TYPE ipmi_scrape_duration_seconds gauge
ipmi_scrape_duration_seconds 0.013980238
# HELP ipmi_up '1' if a scrape of the IPMI device was successful, '0' otherwise.
# TYPE ipmi_up gauge
ipmi_up{collector="bmc"} 0
ipmi_up{collector="dcmi"} 0
ipmi_up{collector="ipmi"} 0

后台报错如下:
ERRO[0047] Error while calling ipmimonitoring:           source="collector.go:227"
ERRO[0047] Failed to collect ipmimonitoring data: signal: segmentation fault  source="collector.go:369"
ERRO[0047] Error while calling ipmi-dcmi:                source="collector.go:227"
ERRO[0047] Error while calling bmc-info:                 source="collector.go:227

查看代码后，按代码中的3个命令调用参数进行单独执行也报错，但是网上关于3个命令的资料基本找不到，能否提供一下命令的参数说明，谢谢！

单独执行命令报如下错误
#ipmi-dcmi --get-power-limit
Segmentation Fault
请帮忙解答一下，谢谢了

No description provided.


Move required_by_dataset_viewer to services/api

See https://github.com/huggingface/datasets-server/pull/817#issuecomment-1431477692

closing, as it's incoherent with #891


ninjaAndHisFriends.cpp created

What's being changed:
ninjaAndHisFriends.cpp created
Checkoff the following:

[x]  Read Contribution.md
[x]  Created a new branch before committing.
[x]  My File doesn't contain any duplicacy or misinformation (isn't available in the library).
[x]  Added to the right category.
[ ]  Added "add code" label.
[x]  Described what's being changed.

thanks a lot for reviewing this PR! changes have been made!


Investigate loss spikes during training

Hypothesis is that this is to do with potential VAE latent space collapses.
Things to try: 1. different activations, 2. lower learning rate, 3. infoVAE, 4. 5d rotations? (else email Corey)

Seems like changing the loss function from MSE to MAE (reconstruction loss) makes this wayy better. From what I can tell MSE is quite tricky to optimise for small values, and given that most of our actions are on the interval [-0.2,0.2] this would make sense. Other options are BCE loss if on interval [0,1], but we decided to just stick with MAE because it's simple and seems to work quite well for now.


{WIP} (TODO) Add puppetfile support

Previously the language server could identify a Puppetfile file but would not
actually do anything with it.  This commit;

Adds a basic Puppetfile parser based on the skeleton of the R10K gem
Adds valiadation that the ruby style Puppetfile could be parsed and reports
diagnostic errors if found
Integrates into the async validation process
Adds unit tests for the provider

Previously basic validation for Puppetfile's was added.  This commit;

Adds more detailed parsing of Puppetfile to extract different types of modules
git, local, svn or forge.  These types have enough information to identify a
module type, and basic name/title/version validation
Adds an internal only module type called invalid which is used to track
invalid module definitions.  Without this, the validation process would find
the first invalid module and ignore subsequent entries.
Due to semantic_puppet not being available in all puppet editions, the version
regexes are vendored into the code instead of calling out to Semantic Puppet.
Adds detection of invalid modules and duplicate module definitions
Adds tests for these scenarios

This solves the Basic validation part of GH-28


Test

This is for q1

@Arrow105 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@Arrow105 Thank you for signing the Contributor License Agreement!