min_alt and max_alt?

Hi, this is fantastic work, great job.
I have a detailed question.  It appears that you are using ground truth data to do the actual training.  Specifically the values of min_alt and max_alt.  These are read from the json file here.  And these .json file are created by the create_satellite_dataset.py code here.
It therefore appears that when you are creating all the rays, you are using the min_alt and max_alt values (for the near and far planes).  If we were to run this on a new or different AOI, that data would not be available.  My question is this: how sensitive to these values is the code overall?  Could we approximate these values using something like GTOPO30?
In the case of approximating min_alt and max_alt would we need to increase the number of sampling points on the rays?
I'm trying to run this on different areas, so I will probably try the approximation technique and see how it goes.
Thanks again for such a promising project!

Hello,
Thank you for your kind message and for bringing up this point. My intuition is the same as yours.
For new AOIs with no GT data I would go with some public elevation model to get reasonable values for min_alt, max_alt. E.g. task SRTM (check srtm4 !) at the central [lat, lon] point and subtract/add a reasonable margin that gives you an altitude range more or less suited to your target area.
Concerning the second question. Depending on how big the range is after defining min_alt and max_alt, yes, it may be wise to increase the number of sampling points (--n_samples). More samples will take more time though. In case it's of any use, in our AOIs we never exceeded 100m between min_alt and max_alt.
Good luck with your experiments !


fix(chat): fix publish modal mobile paddings (Issue #1631)

Description:
fix publish modal mobile paddings
Issues:

#1631

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review


Enhance Documentation

Improve the README.md to show how to install/import hashstore into a python project and add other important/relevant notes.

README.md has been updated and improvements to the documentation is going.


Feature: Stylesheet optimization ruins CSS inlining

Hi,
Inline-critical was working perfectly.
So I decided to defer CSS loading with the trick
<link rel=stylesheet href=style.min.css media=print onload="this.media='all'"
But this ruins Critical CSS building. Seems like plugin doesn't find the stylesheet, and because CSS loading is defered all performances are ruined.
Thanks for your help

Hi. I’d need more info or an example site to understand the problem. critical already uses this media switching strategy for your non-inlined styles, you shouldn't have to implement it yourself? You may also need to know about https://github.com/netlify/build/issues/1384.

Hi, thanks for your reply.
I don't use any Netlify optimization.
When I switch from
<link rel=stylesheet href=style.min.css
to
<link rel=stylesheet href=style.min.css media=print onload="this.media='all'"
plugin doesn't detect my stylesheet and therefore doesn't inline critical styles.
This <link rel=stylesheet href=style.min.css media=print onload="this.media='all'" is a smart way to defer CSS loading for performances.
Thanks for your time.
Best,

critical should be applying this strategy for your non-critical styles already. I’m pretty sure critical will ignore media="print" stylesheets while parsing your HTML, see https://github.com/addyosmani/critical/blob/6b3e957ee2081dccb7113f23f4d648142687ef53/src/file.js#L376.

True.
Netlify builds seems to crash randomly and not because of the plugin.
Thanks for your time.

Sorry to be back.
Remade a commit with my stylesheet optimization only:
<link rel=stylesheet href=style.min.css media=print onload="this.media='all'">
Netlify sent me this:
(netlify-plugin-inline-critical-css onPostBuild completed in 6.5s)
The only


enableRtlSupport

Angular2 project.
"ag-grid": "^7.0.2",
"ag-grid-ng2": "^7.0.1",
getting warnings in chrome console
agGridNg2.js:164Grid property getBusinessKeyForNode does not exist on AgGridNg2
agGridNg2.js:164Grid property checkboxSelection does not exist on AgGridNg2
agGridNg2.js:164Grid property enableRtlSupport does not exist on AgGridNg2

Thanks, will be fixed in the next release

in the changed file, i didnt see a reference to the missing enableRtlSupport property


Revert RootMeasurePolicy change #265 and align RootMeasurePolicy with Jetpack Compose

This PR is about upstreaming (reverting the change we thought that need to be upstreamed).
TL;DR;

Revert old change in RootMeasurePolicy. Take the RootMeasurePolicy as it is in Jetpack Compose androidx-main
To be discussed: Make the first (root) node take the entire window size (I did that to fix the behaviour to make it like it was in #265, but I believe we don't need to do that. More about it below).

Description:
2 years ago we changed the RootMeasurePolicy to make the first node take the entire window size (to match Android behaviour).
Since then, our source code evolved and that change stopped behaving as it was intended to (noticed during upstreaming preparation).  But it's okay, IMO.
Now, I believe we don't need the first (root) node to take the entire window size. Why:

It makes it ignore the sizes set by a developer using .size(width, height) modifier
If there is more than 1 node, each of them would be maxWidth, maxHeight.

Note: the above 2 points are true on Android. But I don't understand why
I see only 1 reason to have the first (root) node to take the entire window size:

As shown in https://github.com/JetBrains/compose-multiplatform-core/pull/265, it looks like the node doesn't follow LayoutDirection (RTL, LTR).

But it was my mistake back then (not correct assumption about LocalLayoutDirection composition local). The node is layed out according its parent LayoutDirection. If we add CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl), all the node's children would still be layed out in Ltr. But the 2nd-level children would be layed out according to their parent LayoutDirection (Rtl).

Why this is a draft?

Why this is a draft?

Desktop tests are failing with this change.  Investigating.
cc @igordmn

I have no objections to make it behave as on Android. But we should be careful. If users will require to add Modifier.fillMaxSize(), we should mention it in Release Notes.

If there is more than 1 node, each of them would be maxWidth, maxHeight.

There is always only one Root node. The nodes defined in setContent are children of this root node.

There is always only one Root node. The nodes defined in setContent are children of this root node.
The Root node is created implicitly in ComposeScene.

I mean the root node from user perspective:
setContent {
    Row {}
    Row {}
}

Two rows here. On Android both will take the max size.


Fix children bug with gltf unpack #150

#150

Works great! Thanks for resolving this so quickly.


v1.10 backports 2022-01-14

#18352 -- Fix possible IP leak in case ENI's are not present in the CN yet (@codablock)
#18370 -- test: bump l4lb Vagrantfile kind to 0.11.1 (@jibi)
#18388 -- bpf: Reset Pod's queue mapping in host veth to fix phys dev mq selection (@borkmann)

Once this PR is merged, you can update the PR labels via:
$ for pr in 18352 18370 18388; do contrib/backporting/set-labels.py $pr done 1.10; done

test-backport-1.10

Need to do rebase the PR.

All tests passed.

test-backport-1.10

net-next failure - https://github.com/cilium/cilium/issues/12511.
CodeQL errors are reported offline, and are misleading.


Silent crash in float_endf

Hi,
Firstly, thanks for this tool - I am working on using it in my project NeSST (https://github.com/aidancrilly/NeSST).
I just wanted to document this issue I had. Some details, this occurred on a Windows machine, installed without error using pip and MSVC 2022. I could import the library but loading any endf file would silently crash. I suspected this was the pybind'ed C++ so I swapped from using float_endf from the C++ to the py_float_endf. The code then ran without crashing.
Is there a reason to use the C++ version over the python version?

Hi @aidancrilly! The C++/pybind-ed version is there mostly for performance reasons. If you load a very large ENDF file (or try to parse an entire library), it can make a big difference in performance. If that's not a concern to you though, you should be fine with the Python version. I'll give it a go on Windows to see if I can reproduce the behavior you're seeing. If possible, could you point me to an ENDF file you were having trouble with?

Thanks for taking a look, it was the FENDL-3.2b (https://www-nds.iaea.org/fendl/) ENDF file for deuterium

@paulromano
Perhaps should be a separate issue but using the python endf float converter - this also seems to have problems with files from the BROND library. In particular the tritium file (https://www-nds.iaea.org/exfor/servlet/E4sGetEvaluation?EvalID=118505&req=16765) has zero floats as 0.0    + 0, which trips up the RE.
I swapped to this solution which seems to work for normal ENDF format and this anomaly:
def py_float_endf(input_str : str) -> float:
    # Define the regular expression pattern to match numbers without 'e'
    pattern = r'([-+]?\d*\.\d+|\d+)\s*([-+])\s*(\d+)'

    # Function to replace the matched patterns with exponential notation
    def replace(match):
        num = float(match.group(1))
        sign = match.group(2)
        exp = int(match.group(3))
        return f"{num}e{sign}{exp}"

    # Use re.sub() to replace matched patterns with exponential notation
    result = float(re.sub(pattern, replace, input_str))
    return result

Happy to stick in PR if interested


latest update displays blank page

Describe The Bug
The latest update only displays a blank white page for me now. Nothing at all, whenever there is an update now I’ll have to do it via terminal, because there is literally no UI to speak of.
Logs
No response
Config
No response
Homebridge UI Version
Newest as of todays date
Homebridge Version
Newest as of todays date
Node.js Version
Newest as of todays date
Operating System
macOS
Environment Info
None
Raspberry Pi Model
None

@bwp91 my thought is that the UI crashed for some reason, and the logs would show why.
@homersdonut could you find the homebridge logs on you Mac and share?

I can confirm that this is only happening with Safari. It does open fine in Chrome.

After update the homebridge-config-ui-x v4.55.1,
(In iPhone iOS 13.5) when I use Safari or Chrome to open HomeBridge admin web portal, it will display white blank page. If I use puffin browser in this iPhone, it will display "Error 102 (net::ERR_CONNECTION_REFUSED) when loading URL"
(In iPhone iOS 15.6 or 15.8) when I use Safari or Chrome to open HomeBridge admin web portal, it will display normally.
As before, homebridge-config-ui-x v4.54.2, no occur this issue.
NodeJS: v20.10.0
HomeBridge v1.7.0
Raspberry Pi 3B+ (using homebridge-raspbian-image v1.1.2)

@chungccm as mentioned earlier logs are needed to triage any further

HomeBridge debug log - (In iPhone iOS 13.5) when I use Safari or Chrome to open HomeBridge admin web portal, it will display white blank page.
{"level":30,"time":1706254670580,"pid":4846,"hostname":"homebridge","reqId":"req-6","req":{"method":"GET","url":"/","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":52562},"msg":"incoming request"}
{"level":30,"time":1706254670589,"pid":4846,"hostname":"homebridge","reqId":"req-6","res":{"statusCode":200},"responseTime":8.092466999776661,"msg":"request completed"}

HomeBridge debug log - when I use Windows Chrome browser to open HomeBridge admin web portal, it will display normally.
{"level":30,"time":1706254757134,"pid":4846,"hostname":"homebridge","reqId":"req-7","req":{"method":"GET","url":"/","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48120},"msg":"incoming request"}
{"level":30,"time":1706254757141,"pid":4846,"hostname":"homebridge","reqId":"req-7","res":{"statusCode":200},"responseTime":6.0071100001223385,"msg":"request completed"}
{"level":30,"time":1706254757175,"pid":4846,"hostname":"homebridge","reqId":"req-8","req":{"method":"GET","url":"/runtime.c196acafeba5625a.js","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48130},"msg":"incoming request"}
{"level":30,"time":1706254757208,"pid":4846,"hostname":"homebridge","reqId":"req-9","req":{"method":"GET","url":"/polyfills.985044b7a7399140.js","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48132},"msg":"incoming request"}
{"level":30,"time":1706254757224,"pid":4846,"hostname":"homebridge","reqId":"req-a","req":{"method":"GET","url":"/main.d9826997f5ab5570.js","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48148},"msg":"incoming request"}
{"level":30,"time":1706254757239,"pid":4846,"hostname":"homebridge","reqId":"req-8","res":{"statusCode":200},"responseTime":60.578348999843,"msg":"request completed"}
{"level":30,"time":1706254757244,"pid":4846,"hostname":"homebridge","reqId":"req-b","req":{"method":"GET","url":"/scripts.a3c9ccae4e478a7d.js","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48156},"msg":"incoming request"}
{"level":30,"time":1706254757255,"pid":4846,"hostname":"homebridge","reqId":"req-9","res":{"statusCode":200},"responseTime":45.41640500025824,"msg":"request completed"}
{"level":30,"time":1706254757260,"pid":4846,"hostname":"homebridge","reqId":"req-c","req":{"method":"GET","url":"/styles.3422f0a086a2d157.css","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48162},"msg":"incoming request"}
{"level":30,"time":1706254757332,"pid":4846,"hostname":"homebridge","reqId":"req-b","res":{"statusCode":200},"responseTime":86.34091599984095,"msg":"request completed"}
{"level":30,"time":1706254757365,"pid":4846,"hostname":"homebridge","reqId":"req-c","res":{"statusCode":200},"responseTime":104.57146700005978,"msg":"request completed"}
{"level":30,"time":1706254757512,"pid":4846,"hostname":"homebridge","reqId":"req-a","res":{"statusCode":200},"responseTime":286.6882370002568,"msg":"request completed"}
{"level":30,"time":1706254757642,"pid":4846,"hostname":"homebridge","reqId":"req-d","req":{"method":"GET","url":"/api/auth/settings","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48164},"msg":"incoming request"}
{"level":30,"time":1706254757650,"pid":4846,"hostname":"homebridge","reqId":"req-d","res":{"statusCode":200},"responseTime":7.022636000066996,"msg":"request completed"}
{"level":30,"time":1706254757667,"pid":4846,"hostname":"homebridge","reqId":"req-e","req":{"method":"GET","url":"/favicon.ico","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48166},"msg":"incoming request"}
{"level":30,"time":1706254757680,"pid":4846,"hostname":"homebridge","reqId":"req-e","res":{"statusCode":200},"responseTime":11.748802999965847,"msg":"request completed"}
{"level":30,"time":1706254757710,"pid":4846,"hostname":"homebridge","reqId":"req-f","req":{"method":"GET","url":"/fa-solid-900.ce4938a30389d90a.woff2","hostname":"<IP_ADDRESS>","remoteAddress":"::ffff:<IP_ADDRESS>","remotePort":48178},"msg":"incoming request"}
{"level":30,"time":1706254757735,"pid":4846,"hostname":"homebridge","reqId":"req-f","res":{"statusCode":200},"responseTime":23.739223000127822,"msg":"request completed"}


wasmplugin when sha256 is wrong,the config is still effective?

Bug Description
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
  name: productpage
  namespace: istio
spec:
  selector:
    matchLabels:
      app: productpage
  url: oci://registry.cn-qingdao.aliyuncs.com/hxpdocker/wasm-rate-limiting:v1
  phase: STATS
  sha256: d3f2d1b3c0ae26100e36a6ddb901ca55732aeea79329e43a14686c1338a1ed03

this is right:
follow is wrong:
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
  name: productpage
  namespace: istio
spec:
  selector:
    matchLabels:
      app: productpage
  url: oci://registry.cn-qingdao.aliyuncs.com/hxpdocker/wasm-rate-limiting:v1
  phase: STATS
  sha256: d3f2d1b3c0ae26100e36a6ddb901ca55732aeea79329e43a14686c1338a1ed04

but the config is still effective???
Version
[root@node01 wasmplugin]# istioctl version
client version: 1.13.3
control plane version: 1.13.3
data plane version: 1.13.3 (10 proxies)

[root@node01 wasmplugin]# kubectl version --short
Client Version: v1.21.0
Server Version: v1.21.0

Additional Information
No response

cc @ingwonsong

Hi @13567436138
Not effective. It will cause errors when the wasm image is loaded in each istio-proxy.
If you run kubectl logs -n <NAMESPACE> <POD_NAME> -c istio-proxy, you can find the error message when searching with "wasm".


raw.plot_psd hangs in jupyter notebook

Describe the bug
Running plot_psd on raw data inside a jupyter notebook shows the plot but the cell hangs as if computing something even after the plot has been closed.
Steps to reproduce
I loaded EEG raw data in .set format. Cropped to 100s. Filtered the data using l_freq=0.1 and h_freq=40. Chose 3 channels using pick+channels, and then ran plot_psd. MNE shows the plot but the cell hangs indefinitely. I am using matplotlib with the Qt5Agg backend.
The cell in jupyter returns the following while hanging:
[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers. [Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:    0.0s remaining:    0.0s [Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:    0.0s finished
Expected results
Cell in jupyter finishes running.
Actual results
Cell hangs.

@hernandezurbina can you check https://mne.discourse.group for similar issues and post there if you don't find one? It's likely this is a matplotlib<->notebook or usage problem rather than an MNE-Python one, so I'll close (unless we figure out in forum conversations this happens only for MNE plots for example)


Inconsistent availability of active property

Overview of the problem
Buefy version: v0.1.2-next
Vuejs version: 3+
OS/Browser: any
Description
b-tooltip still accepts active property but b-modal, b-message and b-loading don't.
I had to use :model-value binding to make them work which is completely logic.
Steps to reproduce
Example with b-loading
Not working but was previously (in vue2) working :
b-loading(:active="isLoading" :can-cancel="false" :is-full-page="true")
Working now:
b-loading(:model-value="isLoading" :can-cancel="false" :is-full-page="true")
Example with b-tooltip
Still working
b-tooltip(
      :label="message"
      :active="displayMessage"
      type="is-dark"
    )
        b-icon(icon="trash" key="trash")

Expected behavior
Add active props to other components, or document the necessity to migrate to model-value even if it is related to vue3 modifications around v-model, it is confusing to see b-tooltip still working with active prop and not the others.
Maybe dropping active prop on b-tooltip would be ok too, but I think in either way, this should be documented because it does not work like explained in documentation.
Actual behavior
active property is still working but only for part of the components

@M0dM Good catch, thanks!
I think I intentionally left active because BTooltip was not intended to work with v-model as it did not emit "input" events. But I understand your sense of inconsistency. If we change active to model-value, we should also make it emit "update:modelValue" events, Vue 3 counterpart of "input" events. Because model-value implies it also works with v-model.


Multine for labels

Hi !
I need to have a title and a subtitle on a node.
Example:

I saw that with fillText you can't do multi-line.
Is there a way to do this? If not, can we consider changing the 'labels' parameter or adding a new 'subtitles' parameter.
Thx.

Yes, it can be considered, looks like a common use case. Just multiple lines is probably not enough, you'd want to style them separately too, right?

Yes, it could be interesting, how do you think you could do it?


examples/rewrite-links.md Is it invalid for text?

https://github.com/itewqq/codeforces-reverse-proxy/blob/main/cf.js
const replace_dict = {
    '$upstream': '$custom_domain',
    'sta.cf.<YOUR-SUBDOMAIN>.workers.dev':'stacf.<YOUR-SUBDOMAIN>.workers.dev',
    'assets.cf.<YOUR-SUBDOMAIN>.workers.dev':'cfassets.<YOUR-SUBDOMAIN>.workers.dev'
}

no effect

👋  I'm sorry, we only take care of developers.cloudflare.com documentation in this repo! Please reach out to community.cloudflare.com or https://discord.com/invite/cloudflaredev. Thanks!


The input text resulted in an error when processed.

The input text resulted in an error when processed.

Hey, can you check the logs?

Hey, can you check the logs?

The error logs can be found in which location? I can't locate the specific position.

Hey, send a message to the application. If any errors occur, they will be displayed in your terminal or on the platform you are using, as shown in the latest logs.

Hey, send a message to the application. If any errors occur, they will be displayed in your terminal or on the platform you are using, as shown in the latest logs.

Hey, sorry for the late reply. Are you using the application via Docker or Railway? I think the LLM you used might be throwing an error. Are you using OpenAI? If so, make sure the provided API key is working


strictNullChecks false positives in case clause

TypeScript Version:  2.9.0-dev.20180512

Search Terms:
Code
// @strictNullChecks: true

function test1(param?: {prop: string}) {
  switch (param && param.prop) {
    case 'foo':
      return param.prop; // error: 'param' is possibly undefined
  }
}

function test2(param: {prop?: string}) {
  switch (param && param.prop) {
    case 'foo':
      return param.prop.charAt(0); // error: 'param.prop' is possibly undefined
  }
}

Expected behavior:
Compiles without error.
Actual behavior:
strictNullChecks errors as described in the comments above.
Playground Link: https://agentcooper.github.io/typescript-play/?noImplicitReturns=false#code/GYVwdgxgLglg9mABFApgZygRgBQAcCGATvgLYD8AXIgN66Fy5UaExgDmAvgJQ0BQiiNAHcYUCAAtEeIqUQAyOYgLESAOjoMe1fgMQR8aFIgDkwOHGMUduxIRRQQhJMtLr6uANyIA9N8QpCekIqYxcSY0QYNCU4NDQYACMAGwBPRHAAExRgVhQMnQ5eQt5QSFgEZHQoACZpFSpad0pBKBZ2bj4BYVEJKTD5RTC3TU7dfUMTMwsrGwE7ByclGTUNXFUJIgBBKGwABi4vX39AuGCTIdWIqJi4xNT0sCycsDyCoqA
Related Issues:
#23818

Wow I've never seen anyone do that with a switch/case. I don't know how easy it is to add this to our narrowing logic, but I'll mark it as a bug.

A survey of our own codebase says that we have seen this pattern before (we just don't use a discriminated union for node and strict null checks yet, so we haven't noticed). 😄

This isn't unique to switch-case - this also doesn't work:

function test1(param?: { prop: string }) {
    if ((param && param.prop) === "foo") {
        return param.prop;
    }
}

which is equivalent to the switch-case above.

I think I've just come across this same issue. The strict-null check doesn't work when the check is contained in an other function.
type NullOrString = string | null

const testForNull = (param : NullOrString) => param != null
const doStringStuff = (param : String) => { /* ... */ }

const doSomething = (param: NullOrString) =>
{
    if(param != null)
        doStringStuff(param)
}

const doSamething = (param: NullOrString) =>
{
    if(testForNull(param))
        doStringStuff(param)
}

@defenestrant see #10734 or similar issues

@weswigham @RyanCavanaugh @DanielRosenwasser - this is a common pattern in JavaScript, not only in TypeScript's own codebase. ;-)
Any time you want to switch on a property value or array member of a nullable object, you need to first make sure that the object isn't null or undefined. This is easily done via switch (x && x.foo). A big advantage of this pattern is that you can combine error handling for null or undefined x in the same case (usually a default:) that you're using to handle bad values of x.foo.  Having all "bad parameter values" error handling in the same place avoids redundant code and makes the code easier to read and reason about.
The best workaround I found is to transform the switch into if statements and to refactor the if expressions from the broken form if ( (x && x.foo) === 1) to the working form if (x && x.foo===1). This is a painful and potentially error-prone refactor for long switch statements.
Other workarounds like wrapping the switch in if (x) { switch ... } are easier but make error handling harder because handling null x conditions is now in a different place from handling bad values of x.foo. Using a non-null assertion x!.foo in the case is also easy, but it risks breaking type safety if x does actually turn out to be null due to later changes in surrounding code.
Here's simple examples of the broken cases and the (bad, IMHO) workarounds available in TypeScript 3.1.
// compiled with strictNullChecks
function repro (x: string[] | null) {

  // broken
  switch (x && x.length) {
    case 1:
      console.log (x[0]); // compiler error: Object is possibly null
      break;
    default:
      console.log ('invalid x');
      break;
  }

  // broken also-- illustrates that root cause is not switch vs. if
  if ((x && x.length)===1) {
    console.log (x[0]); // compiler error: Object is possibly null
  } else {
    console.log ('invalid x');
  }

  // workaround 1: convert to if
  if (x && x.length===1) {
    console.log (x[0]); // no compiler error
  } else {
    console.log ('invalid x');
  }

  // workaround 2: wrap switch with separate null check
  if (x) {
    switch (x && x.length) {
      case 1:
        console.log (x[0]); // no compiler error
        break;
      default:
        console.log ('invalid x');
        break;
    }
  } else {
    console.log ('invalid x');
  }

  // workaround 3: nested switch statements. awful!
  switch (x) {
    case null:
    case undefined:
      console.log ('invalid x');
    break;
    default:
      switch (x.length) {  // no compiler error
        case 1:
          console.log (x[0]); // no compiler error
          break;
        default:
          console.log ('invalid x');
      }
      break;
  }

  // workaround 4: extract into local variables outside the switch. cumbersome!
  const len = x && x.length; // no compiler error
  const first = x && x.length && x[0]; // no compiler error
  switch (len) {
    case 1:
      console.log (first);
      break;
    default:
      console.log ('invalid x');
    break;
  }

  // workaround 5: use non-null type assertion. not type safe!
  switch (x && x.length) {
    case 1:
      console.log (x![0]); // no compiler error (but could hide real type-safety errors later)
      break;
    default:
      console.log ('invalid x');
      break;
  }

}

I have a similar issue, but it doesn't regard strictNullCheck option.
type TestType = { type: "a", a: number } | { type: "b", b: number }

function test(obj: TestType | null): number {
    switch (obj && obj.type) {
        case null:
            return 0
        case "a":
            return obj.a // Property 'a' does not exist on type 'TestType'.  Property 'a' does not exist on type '{ type: "b"; b: number; }'.
        case "b":
            return obj.b // Property 'b' does not exist on type 'TestType'.  Property 'b' does not exist on type '{ type: "a"; a: number; }'.
    }
    throw new Error("unreachable")
}

http://www.typescriptlang.org/play/#src=type TestType %3D { type%3A "a"%2C a%3A number } | { type%3A "b"%2C b%3A number }

function test(obj%3A TestType | null)%3A number {
    switch (obj %26%26 obj.type) {
        case null%3A
            return 0
        case "a"%3A
            return obj.a
        case "b"%3A
            return obj.b
    }
    throw new Error("unreachable")
}

Not sure if fits on this issue or not, but here's an example of false positive I'm facing: Playground
interface Obj { a: number }

function test(obj?: Obj) {
  const hasA = !!(obj && obj.a)

  // Correct: Shows warning
  console.log(obj.a)

  // Correct: Doesn't show warning
  if (obj) {
    console.log(obj.a)
  }

  // Wrong: Should not show warning
  if (hasA) {
    console.log(obj.a)
  }
}

test()
test({ a: 1 })

Apologies for bumping this after so long, but I've also stumbled across this issue in React TSX files.
Here:
render() {
  return (
    { state && state.name === "SomeStateString" && (
      <div> render some element </div>
    )}
  )
}

state.name shows TypeScript error: Object is possibly 'undefined'.
In this use case I can get around it in other ways, but it does make it less pretty.


[ENHANCEMENT] Improve direct image import mode

References

https://github.com/k3d-io/k3d/issues/900
https://github.com/k3d-io/k3d/issues/1020
https://github.com/k3d-io/k3d/issues/954

cc @sbaier1

@iwilltry42 did you have any opinions on how this should be improved? I was running into https://github.com/k3d-io/k3d/issues/1072 in our Github Action CI when using the default tools-node import, and so I switched to importing with -m direct, but now I am experiencing https://github.com/k3d-io/k3d/issues/1020.
I'm happy to work on this enhancement as k3d has been an extremely useful tool for our development pipeline, and it'd be nice to get rid of the intermittent errors in our build.


bing加了Turnstile人机检测，所以用不了

Turnstile is a Cloudflare security product designed to stop non-human web visitors.
It works without showing visitors a CAPTCHA.
Sorry, looks like your network settings are preventing access to this feature

我这里没问题

我这里没问题

没有登录设置用户cookie，会被拦截；设置“_U”后可以访问

They tweaked something again last night and now I've lost access to it, even though I adjusted the request headers with the modheader.

They tweaked something again last night and now I've lost access to it, even though I adjusted the request headers with the modheader.

@directentis1 they add “domain check”, so ...

@zhuxining So, is there any way to bypass it?

M$ is damned, they use enough tricks to "force" others to use their products.
Still can't use Bing in other browsers without fixing UserAgent.


Improve documentation for Auto IAM AuthN usage

Bug Description
https://stackoverflow.com/questions/76472486/connecting-to-postgres-cloud-sql-from-app-engine-standard-with-iam-is-timing-out
I'm not sure what's going on here, but I've tried multiple sample codes and it always says the IAM password is wrong.
Using a username/password that I configure for the instance does work, and using IAM via Cloud SQL Proxy from my client machine also does work.
Example code (or command)
import (
    "database/sql"
    "fmt"
    "net"

    "cloud.google.com/go/cloudsqlconn"
    pgx "github.com/jackc/pgx/v4"
    pgxStdlib "github.com/jackc/pgx/v4/stdlib"
)

func test() {
    var dialOptions []cloudsqlconn.DialOption

    if usePrivateIP {
        dialOptions = append(dialOptions, cloudsqlconn.WithPrivateIP())
    }

    var dialer *cloudsqlconn.Dialer
    dialer, err := cloudsqlconn.NewDialer(
        context.Background(),
        cloudsqlconn.WithIAMAuthN(),
        cloudsqlconn.WithDefaultDialOptions(dialOptions...),
    )

    if err != nil {
        return
    }

    config, err =: pgx.ParseConfig(fmt.Sprintf(
        "user=%s password=%s database=%s",
        user,
        password,
        databaseName,
    ))

    if err != nil {
        return
    }

     config.DialFunc = func(ctx context.Context, _ string, _ string) (net.Conn, error) {
        return dialer.Dial(ctx, instanceName)
    }

    var db *sql.DB
    db, err := sql.Open("pgx", pgxStdlib.RegisterConnConfig(config))

    if err != nil {
        return
    }

    _ = db // should be live
}

Stacktrace
No response
Steps to reproduce?

Try to connect
Cry and then switch back to username and password, from IAM App Engine Standard principal user and no password

Environment

OS type and version: App Engine Standard
Go version: 1.20
Cloud SQL Go Connector version: v1.2.2

Additional Details
No response

Thanks, @benguild. Let me spin up a test app to confirm this path actually works and then I'll update here with details.

So I just threw together a toy app on App Engine and it worked. There's a configuration error in your setup that we need to find.
Here's what I did:

Ensured my database has the cloudsql.iam_authentication flag set to on
Ensured my associated service account is a user in the db (e.g.,<PHONE_NUMBER>28-compute@developer). Note: App Engine doesn't use the Compute Service account by default and instead uses an appspot account. You'll need to check which account you're using and line it up (database user + app engine)
Deployed the following code:

package main

import (
        "context"
        "database/sql"
        "fmt"
        "log"
        "net"
        "net/http"
        "os"
        "time"

        "cloud.google.com/go/cloudsqlconn"
        "github.com/jackc/pgx/v4"
        "github.com/jackc/pgx/v4/stdlib"
)

func timeHandler(db *sql.DB) func(http.ResponseWriter, *http.Request) {
        return func(rw http.ResponseWriter, _ *http.Request) {
                row := db.QueryRow("select now()")
                var t time.Time
                if err := row.Scan(&t); err != nil {
                        log.Printf("failed to read from db: %v", err)
                        rw.WriteHeader(500)
                        fmt.Fprintf(rw, `{"error":"%v"}`, err)
                        return
                }
                fmt.Fprintf(rw, `{"time":"%v"}`, t)
        }
}

func withDefaultPort(p string) string {
        if p != "" {
                return p
        }
        return "8080"
}

func main() {
        var dialer *cloudsqlconn.Dialer
        dialer, err := cloudsqlconn.NewDialer(
                context.Background(),
                cloudsqlconn.WithIAMAuthN(),
        )
        if err != nil {
                return
        }
        user := "214833905528-compute@developer" // FIXME: change this to match your actual SA

        config, err := pgx.ParseConfig(fmt.Sprintf("user=%s database=postgres", user))
        if err != nil {
                log.Fatalf("failed to parse config: %v", err)
        }

        config.DialFunc = func(ctx context.Context, _ string, _ string) (net.Conn, error) {
                return dialer.Dial(ctx, "enocom-playground:us-central1:pg")
        }

        db, err := sql.Open("pgx", stdlib.RegisterConnConfig(config))
        if err != nil {
                log.Fatalf("failed to open DB: %v", err)
        }
        http.HandleFunc("/", timeHandler(db))
        p := withDefaultPort(os.Getenv("PORT"))
        if err := http.ListenAndServe(":"+p, nil); err != nil {
                log.Printf("failed to start server: %v", err)
        }
}

My SA has Cloud SQL Client and Cloud SQL instance user roles on it.
Let me know if this helps.

Here's what I did:
...
2. Ensured my associated service account is a user in the db (e.g.,<PHONE_NUMBER>28-compute@developer). ...
...
Let me know if this helps.

@enocom So I took a look at your comment and what immediately stood out to me was that you use<PHONE_NUMBER>28-compute@developer rather than the full IAM Service Account<EMAIL_ADDRESS>address.
As soon as I truncated that, everything worked perfectly.
So, I'm glad this is figured out... so that the documentation can be updated to highlight the difference here and save other folks hours/days, as it's unclear that this must be truncated and the values aren't interchangeable. Especially since the Cloud SQL Proxy client does this automatically.

Thank you for your help on this.

I'm going to leave this open (feel free to close) so that this can be considered for an update to the docs.

Sounds good. We’ll see how to make this crystal clear for others.

@enocom In the Cloud SQL Python Connector README, I have an IAM Authentication section that mentions the formatting rules for the user param when using the Connector with IAM AuthN. Maybe we can add a similar section to the README of this repo.

@benguild do you remember which Google Cloud docs page you were using as reference? I can make sure the appropriate docs get updated as well, thanks! 😄

I'm not sure of all of them but this one in particular says: "By default, your app will authorize your connections using an App Engine service account. The service account identity is in the format<EMAIL_ADDRESS>https://cloud.google.com/sql/docs/postgres/connect-app-engine-standard
That may be the format of the actual service account, but we know that changes when it's attached to the instance.

In addition to the above PR I filed an internal bug to update our docs pages with additional details for formatting IAM AuthN users when connecting via Proxy or a Connector


SAMZA-2124: Add Beam API doc to the website

Add beam quick start, examples and api docs.

LGTM, thanks!


How to connect to custom repository that requires authentication

We have a custom repository (Artifactory) which is used in gradle builds,
Successfully configured to use it, using the URL field of the "Nexus2 Repository Search"
However, the plugin cannot connect to it, because this repo requires authentication (user and password)
And it seems that authentication is not supported by the plugin (?)
How can this be done?
Thanks!

To clarify, the response shown in the IntelliJ Event Log is:
12:44	No dependencies found
			response: {
				"errors" : [ {
				"status" : 401,
				"message" : "Authentication is required"
				} ]
			}.

@bestwu , many thanks for the fix.  I see it's merged in release 0.1.7, could you please make that version available for installation in IntelliJ?  Thanks 🙂


Feature request: Import with signing dates

Since cla-assistant can export with signing dates, it should really be able to import signing dates as well.

I agree with you!
You are very welcome to contribute, otherwise it could take a bit too long till we'll be able to implement your request 😞

done


Controlled version of component?

This is a big request, but I thought I'd ask in case it can be done.
Right now, react-monaco-editor is an uncontrolled component. In props, you can pass a default value, but after that, things are out of your hands. You can read the value of the editor onChange, but as far as I can tell, you can't set the value again later (easily).
I want to create an app in which it is possible to "record" the history of the state of the editor, and play it back later. (Similarly to how it's done in the Redux devtools, if you've ever used those.)
To do this, I need complete control of the monaco editor. The entire state, including the editor's content and selections, needs to belong to the parent component.
Is this possible? If so, how would I go about making it happen?

For reference, react-codemirror2 has something similar to what I'm looking for. Unfortunately, the controlled codemirror component only allows controlling the editor value, not the selections and other state:
import {Controlled as CodeMirror} from 'react-codemirror2'

<CodeMirror
  value={this.state.value}
  onBeforeChange={(editor, data, value) => {
    this.setState({value});
  }}
/>

Ideally, I'd like to control everything. And, of course, I'd like the monaco editor in place of codemirror.

You can access the editor instance that we create, no?

Looks like you're right! I should have done a little more investigating myself before asking, it seems.
Here's a controlled component I made (which allows passing both the value and selections of the editor), in case anyone in the future has the same need:
https://codesandbox.io/s/883y2zmp6l


Other version please

This is a very good mod, can you port it to other Minecraft versions? For example, 1.20.1 and 1.18.2. Thank you very much:)

I will try to do this tomorrow, this should be rather easy I guess, there was almost no change in minecart system. Have you tried to put the mod in older versions ? There are even possibilities that it works.
Anyway I’m glad to see you appreciate this mod.

Done (took longer than expected)


Hide the thumbnail proxy from end-users

Fixes #444
I accidentally deleted my fork during these days, so I have to open another PR.

Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

This looks promising to me. There is one piece missing, though, and that's to return a link to the thumbnail new endpoint in the thumbnail key in server responses. There is also no reference to the /thumbs endpoint in the documentation shown at the root.

Now /thumbs should show up in docs properly:

On the search result page, I can actually get the new endpoint of thumbs from my side.  Do you mean by this with the words "When I make a search query with your changes applied, I still see a direct link to the thumbnail proxy."?

By the way, I also see here using proxies to return original images, if the original image serves via HTTP. Do we also need to fix this (and add a parameter to the /thumbs to determine if we need to crop the original image to a certain width)?

That edge case with full resolution images can be ignored for the purposes of this PR. I'm going to merge this now, thanks for your contribution!


better search

Impressive work, it's efficient and potent. Here's a suggestion.
The search is the critical component! It's the bottleneck for answering all queries, given you already possess a robust corpus.
Currently, you're using a standard vectordb search on the query. However, this approach has significant limitations:

It's searching for documents similar to the query's embedding... but what if the query doesn't resemble the answer?
At times, traditional search methods can be superior or provide additional benefits.

Fortunately, Langchain offers modules for various retriever enhancements, and all you need to do is test them out. You can bundle multiple retrievers in an EnsembleRetriever.
In this scenario, you have a vectordb query match, but you might also want to implement a standard search like a BM25Retriever. It's cheap and can drastically improve your retrieval.
and potentially MultiVector since the document's content may differ from the questions the document could answer.
A concrete example:

I search for "what is a way for ai to get copy human saintly acts", this embedding will not have much in common with documents discussing imitation learning, it has a different tone, writing style, words, etc. But we still want to answer it because it's from a US Senator ;p
we ask the AI "what's a good search query to find relevant documents to this question".
It says "how can imitation learning, behavioral cloning, values learning, let us achieve outstanding moral actions",
we use that in our retriever.
much better document results

You might also want to consider using the other retrieval feature of Pinecone: https://www.pinecone.io/learn/hybrid-search-intro/

Here's an example of my draft in https://github.com/wassname/stampy-chat

Where the query was transformed by LLM from

Whats the differences between Inverse Reinforcement Learning, reward modelling, RLHF, and recursive reward modelling?.

Using the prompts

Please draft an academic search query with synonyms and alternative phrases that will find documents to answer the following question: {query}"

and

"Please draft an concrete and concise example answer to the following question: {query}"

Into

Whats the differences between Inverse Reinforcement Learning, reward modelling, RLHF, and recursive reward modelling?.
. ("Inverse Reinforcement Learning" OR "IRL" OR "Inverse RL") AND ("Reward Modelling" OR "Reward Shaping" OR "Reward Function Modelling") AND ("RLHF" OR "Reinforcement Learning with Human Feedback") AND ("Recursive Reward Modelling" OR "Iterative Reward Modelling") AND ("comparison" OR "differences" OR "contrast" OR "versus" OR "vs"). Inverse Reinforcement Learning (IRL) is a method where the goal is to learn the reward function from demonstrated behavior, which is then used to derive an optimal policy.

There are nicer and better ways to do this, but hopefully it shows how improving retrieval can de-bottleneck stampy


AttributeError in GET /clan/CQQLJJUG/Y0ULQVYLY.json

Error in ClashLeaders
AttributeError in GET /clan/CQQLJJUG/Y0ULQVYLY.json
'NoneType' object has no attribute 'to_data_frame'
View on Bugsnag
Stacktrace
clashleaders/clash/player_calculation.py:21 - clan_diff
clashleaders/clash/player_calculation.py:31 - clan_percentiles
clashleaders/clash/player_calculation.py:16 - player_percentile
clashleaders/clash/player_calculation.py:9 - find_player_details
clashleaders/views/clan_player.py:11 - clan_player_json

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
AttributeError in GET /clan/P88P992P/2V9VRPYR.json

An error linked to this issue has been reopened in Bugsnag
AttributeError in GET /clan/20R8CUU8/PVUCQ0J82.json


数据集，运行

Very good open source project, where can I download the datasets used in the project? Ask for information

Thank you. You can download the datasets here:
EARS-WHAM: https://github.com/sp-uhh/ears_benchmark
EARS-Reverb: https://github.com/sp-uhh/ears_benchmark
VoiceBank-Demand: https://datashare.ed.ac.uk/handle/10283/2791
WSJ0: https://catalog.ldc.upenn.edu/LDC93S6A
CHiME3: https://catalog.ldc.upenn.edu/LDC2017S24

Thank you very much for your reply, can the readme of the project be written in more detail, I'm a newbie, and the project hasn't been successful on my computer until now, looking forward to your reply.

Thank you very much for your reply, can the readme of the project be written in more detail, I'm a newbie, and the project hasn't been successful on my computer until now, looking forward to your reply.
------------------ 原始邮件 ------------------
发件人:                                                                                "sp-uhh/sgmse"                                                                                @.>;
发送时间: 2024年11月16日(星期六) 下午4:14
@.>;
<EMAIL_ADDRESS>主题: Re: [sp-uhh/sgmse] 数据集，运行 (Issue #60)
Thank you. You can download the datasets here:
EARS-WHAM: https://github.com/sp-uhh/ears_benchmark
EARS-Reverb: https://github.com/sp-uhh/ears_benchmark
VoiceBank-Demand: https://datashare.ed.ac.uk/handle/10283/2791
WSJ0: https://catalog.ldc.upenn.edu/LDC93S6A
CHiME3: https://catalog.ldc.upenn.edu/LDC2017S24
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Non-linear growth in processing time with mitmproxy regarding packet size

Problem Description
Recently, I've observed an additional overhead that impacts performance which is primarily caused by the mitmproxy proxy server. Through my analysis, I identified two critical issues:

Non-linear Growth in Processing Time: The processing time for network requests increases non-linearly with the size of the packets. This means that as the packet size grows, the time required to process these requests increases disproportionately.

Significant Slowdown with Concurrent Requests: The processing time for network requests slows down dramatically when handling multiple requests simultaneously.

The worst-case scenario occurs when there is a high volume of concurrent requests, especially when some of these requests are significantly large. In such cases, the performance degradation is severe, leading to substantial delays and inefficiencies in processing.
I demonstrated these findings through two experimental settings: 1/ Sequential Requests: The first HTML page loads the JavaScript files one by one. Each request is triggered by the onload event of the previously requested JavaScript file. 2/ Concurrent Requests: The second HTML request loads all the JavaScript files simultaneously. For these experiments, I created 20 JavaScript files ranging from 1MB to 100MB, increasing by 5MB each. I host the proxy and test server on the localhost with different ports.
Sequential Requests: Without mitmproxy vs.   Thanks!

Can you reproduce this on 10.3.1?

Yeah, I can reproduce this problem on 10.3.1. Do you have any idea what I can do to fix this issue?
I also attach the script that I used to set up the test server. After running the script, you can simply use http-server . -p 8081 to host the test server.
import os

# Define the initial size and the increment size (in bytes)
initial_size = 1 * 1024 * 1024  # 1MB
increment_size = 5 * 1024 * 1024  # 5MB

# Content to fill the JS files
function_content = "function dummyFunction() { console.log('Hello World!'); }\n"
function_size = len(function_content)

# Create JavaScript files
for i in range(20):
    size = initial_size + i * increment_size
    file_path = f"large_script_{i+1}.js"
    with open(file_path, "w") as f:
        num_functions = size // function_size
        remaining_size = size % function_size
        f.write(function_content * num_functions)
        if remaining_size > 0:
            f.write(function_content[:remaining_size])
    print(f"{file_path} created with size {os.path.getsize(file_path)} bytes")

html_content_onebyone = """
<!DOCTYPE html>

    <title>Large JS File Test</title>

Testing Multiple JavaScript Files

"""

# Create the HTML file to include all JavaScript files
html_content_concurrent = """
<!DOCTYPE html>

    <title>Large JS File Test</title>

Testing Multiple JavaScript Files

"""

# Add the script file paths to the HTML content
for i in range(20):
    html_content_concurrent += f'\n'

html_content_concurrent += """

"""

html_onebyone_path = "index1.html"
html_concurrent_path = "index2.html"

with open(html_onebyone_path, "w") as f:
    f.write(html_content_onebyone)

with open(html_concurrent_path, "w") as f:
    f.write(html_content_concurrent)

print(f"{html_onebyone_path} created and includes all large JavaScript files one by one")
print(f"{html_concurrent_path} created and includes all large JavaScript files")

Do you have any idea what I can do to fix this issue?

This looks suspiciously similar to https://github.com/mitmproxy/mitmproxy/issues/6873, but the fix for that made it into 10.3.1. Can you reproduce it with both HTTP/1 and HTTP/2?

I could reproduce the issue on HTTP/1.1 by starting Chrome with the '--disable-http2' flag and launching mitmproxy with the command ./mitmweb --set http2=false --web-open-browser --web-port 8888 --web-host localhost. I am not sure about HTTP/2 and HTTP/1 actually. Is this the case?

HTTP/1 and HTTP/1.1 is pretty much the same in mitmproxy. The interesting question would be whether we can reproduce it with HTTP/2. That could significantly narrow down where we'd need to search.
Alternatively, you could try to do the same profiling as in https://github.com/mitmproxy/mitmproxy/issues/6873 and see if that turns up something.

Yeah, I think I am experiencing the same problem on both HTTP/1.1 and HTTP/2.
$ curl --http2 -x http://localhost:8080 -w "time_namelookup:  %{time_namelookup}\ntime_connect:  %{time_connect}\ntime_appconnect:  %{time_appconnect}\ntime_pretransfer:  %{time_pretransfer}\ntime_redirect:  %{time_redirect}\ntime_starttransfer:  %{time_starttransfer}\n----------\ntime_total:  %{time_total}\n" -o /dev/null -s http://localhost:8001/large_script_20.js
time_namelookup:  0.000012
time_connect:  0.000054
time_appconnect:  0.000000
time_pretransfer:  0.000069
time_redirect:  0.000000
time_starttransfer:  27.037522
----------
time_total:  27.048445

$curl --http1.1 -x http://localhost:8080 -w "time_namelookup:  %{time_namelookup}\ntime_connect:  %{time_connect}\ntime_appconnect:  %{time_appconnect}\ntime_pretransfer:  %{time_pretransfer}\ntime_redirect:  %{time_redirect}\ntime_starttransfer:  %{time_starttransfer}\n----------\ntime_total:  %{time_total}\n" -o /dev/null -s http://localhost:8001/large_script_20.js
time_namelookup:  0.000013
time_connect:  0.000054
time_appconnect:  0.000000
time_pretransfer:  0.000068
time_redirect:  0.000000
time_starttransfer:  27.071949
----------
time_total:  27.082602

I can confirm that the issue I encountered is not the same as the one mentioned in #6873. I attempted to directly return 100MB of data from the intercept script and did not encounter the same problem. @mhils, do you have any ideas on where I should look to fix this issue, considering the profile information provided above?

Based on the profile you posted, the most obvious optimization seems to be to replace (request|response)_body_buf with a list[bytes] implementation where we just append each bytes object, and then do b"".join(buf) when we've read it entirely. Does that make sense?

I agree that using string concatenation used here could be slow. But will that slow that much?
import time

num_chunks = 1000
chunk_size = 100  # 100 bytes

data_chunk = b'a' * chunk_size

def concat_buffer():
    buffer = b""
    for _ in range(num_chunks):
        buffer += data_chunk
    return buffer

def list_buffer():
    buffer = []
    for _ in range(num_chunks):
        buffer.append(data_chunk)
    return b"".join(buffer)

start_time = time.time()
concat_result = concat_buffer()
concat_time = time.time() - start_time

start_time = time.time()
list_result = list_buffer()
list_time = time.time() - start_time

# Verify the results are the same
assert concat_result == list_result

# Print the results
print(f"Time taken using repeated string concatenation: {concat_time:.6f} seconds")
print(f"Time taken using list of chunks: {list_time:.6f} seconds")

Time taken using repeated string concatenation: 0.001596 seconds
Time taken using list of chunks: 0.000021 seconds

Overall, the string concatenation is still fast enough I think for 100MB data.

Never undererstimate N^2 😉
chunk_size = 65_000   # ~ one TCP packet
num_chunks = 1024 * 1024 * 100 // chunk_size  # 100mb

Time taken using repeated string concatenation: 27.177535 seconds
Time taken using list of chunks: 0.033003 seconds

I think I have fixed this problem with pull request #6952.

Thank you so much, @jackfromeast! 🍰 🚀


Make compression levels and other parameters in processors configurable

Signed-off-by: omkar-mohanty<EMAIL_ADDRESS>Pull request
Description
This pull request aims to make compression levels more configurable.
Related

Related Issues: fixes #1726

Thanks for you stab at this task! :+1:
You added the options to set/get the compression level on the Postprocessor trait. This is somewhat wrong, as not all postprocessors should have this flag or should support this. The Postprocessor (same as the Preprocessor) they only should have the process function that takes a byte-array and returns zeor or more byte-arrays. What the processor does inside should not be exposed over the trait.
The way we configure postprocessors is through this function: https://github.com/tremor-rs/tremor-runtime/blob/main/src/postprocessor/compress.rs#L119 There it gets an Option<&Value> which contains the config for the specific processor (if any). In general, you can specify post- and pre-processors either simply by name or via a full blown name-and-config style. See an example here: https://www.tremor.rs/docs/edge/reference/preprocessors/separate (We should make that more clear in the docs).
So what we actually want is to adapt the configuration of the compress postprocessor to take values for configuring the few algorithms it supports. We can Add support per algorithm one at a time, they all have different options, i guess.
So the tasks for his PR would be the following (roughly, just a suggested guideline):

Find out what options there are for each algorithm and choose which ones we want/need to support
Find out how this should be configured by the user (i.e. find a good format that is quite common for all algorithms)
Pass on the config to the specific postprocessor and consume it there, setting the specific options.

An example format for configuring could be:
postprocessors = [
  {
    "name": "compress",
    "config": {
      "algorithm": "zstd",
      "config": {
        "level": 21
      }
    }
  }
]

This has the ugly doubling of config, maybe you find something better.

You added the options to set/get the compression level on the Postprocessor trait. This is somewhat wrong, as not all postprocessors should have this flag or should support this. The Postprocessor (same as the Preprocessor) they only should have the process function that takes a byte-array and returns zeor or more byte-arrays. What the processor does inside should not be exposed over the trait.

Thanks for letting me know @mfelsche.

There isn't really a place in the code comments to put this, and reviews can easily feel cold and abrasive, so I'll put it here: 👍 great work so far :D, we really appreciate it!

This looks pretty good. We are so close

Awesome this looks great :) I think the only item left is the little copy and pasta error Matthias flagged for the Zstd config.


Typescript compiler broken on Ubuntu 20

Working on my react/typescript project when suddenly it stopped recongnizing JSX on returns. The project still runs, only vs marks a lot errors.

Having the same issue (with parsing JSX of typescript/react files) after updating.

I can confirm, I had the same issue today.
VSCode -> About
Version: 1.50.0
Commit: 93c2f0fbf16c5a4b10e4d5f89737d9c2c25488a3
Date: 2020-10-07T06:01:33.073Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-48-generic snap

Using Ubuntu 20.04.1 LTS 64bit
@IkeyBenz the files.associations fix saved me, although I still don't understand why it worked without it until now.

Thanks! This worked for me too.

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

@mjbvz Installed VS Code insiders clean, opened the same file in both VS Code and VS Code Insiders.
with --disable-extensions, it appears to be working in both!


Create clasess 1st miles

For this milestone I:
Create class Person
Create class student
Create class teacher

@David-Verde, I mistakenly approved your project, kindly implement the changes and request for another review. Sorry of any inconveniences caused.

ok i will create another pull request


Fix type in vtu_io

Getting the following error otherwise:
IndexError: arrays used as indices must be of integer (or boolean) type

That's weird. How does the error occur? Can you post a mesh?

Sure, here is it:
job_0.vtu.zip

Closing in favor of #397. (It's better to set the dtype on the arange straight away.) Got to say I love this kind of PRs though: They fix the little thing that normally get overlooked ot make meshio a little better every time. Thanks!

No worries, and thanks for making this lib! =)


ocs script to wipe disks (physical deployment)

ocs script to wipe disks (physical deployment)

for a in $(seq 1 5);do export DISK="/dev/nvme${a}n1"; sgdisk --zap-all "$DISK";dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync; blkdiscard "$DISK"; partprobe "$DISK"; done

:tada: This issue has been resolved in version 1.1.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


update postcss to version 7

please note that you need to set the correct version for icss-utils before releasing

Also adjust travis build. Node 4 is no longer supported: https://github.com/postcss/postcss/releases/tag/7.0.0


Weakaura addon skinning

What is the issue you are having?
I'm not sure whether it's a bug, or maybe a feature that was purposely removed that I didn't see in the changelog. As of today's update in the AddOnSkins tab, weakauras is no longer an option, and I can't get those really cool shadows around my weakauras I've grown to love so much :)
What is the expected behavior?
Hoping to still have weakauras skinned with pretty shadows
What actually happened?
There's no pretty shadows on my weakauras anymore :(
Suggested Solution/Workaround
No response
Errors
No response
ElvUI Changelog/Troubleshooting

[X] I have confirmed that I have read the Changelog and done the Troubleshooting Steps.

just use the discord link from the Main Page here then

No worries, apologies again. Really enjoying your layout, I noticed the shadows were gone and was hoping it was just a minor bug. Sad to hear they are gone :(


[EventPropertyRequest] GenJnlPostLine.Codeunit.al (codeunit 12 "Gen. Jnl.-Post Line")

Hi Microsoft,
Please help us by adding below property on given event in GenJnlPostLine.Codeunit.al codeunit.
[IntegrationEvent(false, false)]
local procedure OnAfterPostCust(var GenJournalLine: Record "Gen. Journal Line"; Balancing: Boolean; var TempGLEntryBuf: Record "G/L Entry" temporary; var NextEntryNo: Integer; var NextTransactionNo: Integer)
begin
end;

[IntegrationEvent(**true**, false)]
local procedure OnAfterPostCust(var GenJournalLine: Record "Gen. Journal Line"; Balancing: Boolean; var TempGLEntryBuf: Record "G/L Entry" temporary; var NextEntryNo: Integer; var NextTransactionNo: Integer)
begin
end;

Thanks,
Wiechardt

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Scam Detector - Add Etherscan labels check

Notes:

Base branch is ScamDetector_MM_NIP
Updated two existing tests, as .append() wasn't working for me with DataFrames (replaced it with .concat())
Unsure if Utils.TEST_STATE = True works as expected inside the tests. For example, test_fp_mitigation_proper_chain_id seems to be taking too much time to execute because it processes the fp_list instead of the fp_list_test. When manually setting TEST_STATE to False, it works fine.
Besides checking for phish/hack/exploit etc, I also added a check for ".eth" based on the keywords used in the is_fp method
I'm getting the API key with BlockChainIndexer.get_api_key(1) thinking that the existing Etherscan API token will be replaced by the new, pro, one. If not, this will require an update.

Unrelated: This https://github.com/forta-network/starter-kits/blob/main/scam-detector-py/src/constants.py#L53 alert has been removed from the Ice Phishing bot, after this issue https://github.com/NethermindEth/forta-starter-kits/issues/45.

@christian-forta, Attack and Scam detector have an alert_FP, but it's used to remove labels after an FP has been triggered. In this case Etherscan prevents the FP, so I thought of creating a separate alert.
Please let me know if I misunderstood anything, and I'll update the logic.
Regarding the tests, consuming the manual lists, taking too much, because TEST_STATE was not properly set, I put the "setting test state" logic in the initialize.


Allow to show or not dot files

📝 Manage dotfiles and dotfolders view status
We need a serious management by the os gui to manage those special files and folders the "right" way
I would like to have an option - toggable - which allow to hide or show dot files and folders. Under user folder, as well in some development environment, there are many files and folders which start with a dot in their names. In unix systems, it's quite usual to have an option in cli and gui tools to allow to list/show files and folders which have its name starting with a dot, and now that windows is going fully toward a serious development environment, I found quite strange to not have a way to have a cleaner look at folders and drives content.
Some of ideas that happens to me, about dot files and folders management, are:

they can be totally hidden from sight
they can be rendered in explorer like hidden files and folders which are toggled to be showed (shaded and semi transparent)
a keyboard shortcut could be registered to allow for fast toggle their view status, as an hold-on or toggle switch
allow powershell to deal with those files natively, allowing them to be addressed as "dotfile" and "dotfolder"

If you'd like to see this feature implemented, add a 👍 reaction to this post.

Duplicate of https://github.com/microsoft/PowerToys/issues/8054


 REDACTED . . . ] \
  rancher/drone-fossa:latest


Warn users when running simulation involving extrapolation

Currently, the software happily extrapolates indices outside an n/k table when using dispersive materials. This should give a warning at the beginning of a simulation (during Solve()).

Fixed in 6adcfeb


Add --astra-host override for cloud private endpoints

Also, fixes timeouts when contacting Astra services, a custom timeout can be provided using --astra-timeout.

Hmm, why is this necessary? Shouldn't the bundle and metadata contain the private endpoints? We never had to change the ZDM code to handle private link use cases.


Bug 1859196: bump etcd v3.4.9

This PR bumps etcd to v3.4.9 from v3.4.7 which includes a few important bugfixes:
etcd server

Add log when etcdserver failed to apply command. https://github.com/etcd-io/etcd/pull/11670
Fix deadlock bug in mvcc. https://github.com/etcd-io/etcd/pull/11817

3.4.8 changelog: https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.4.md#v348-2020-05-18
3.4.9 changelog: https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.4.md#v349-2020-05-20
CARRY:

https://github.com/openshift/etcd/pull/52/commits/2df2f9dc8e4e63108c51ffe1d800e387bda30f2a
https://github.com/openshift/etcd/pull/52/commits/bdfc5da4ac33f9f5256cd385102403f9c0b36a35

infra flakes https://prow.svc.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_etcd/52/pull-ci-openshift-etcd-openshift-4.6-e2e-aws/1283347532159651840
/retest

/test all

/test e2e-aws-serial

/test e2e-aws-serial

soak
/test all

/test e2e-aws-upgrade

cc @sdodson

@hexfusion Not familiar with this repo, you're already branched for 4.6 or should this go into master and openshift-4.6 gets fast forwarded?

@sdodson master is upstream as we are a fork.

/lgtm

/bugzilla refresh

/bugzilla refresh

Bot config needs to be looked into, 4.6.0 bugs shouldn't require dependents.

shouldn't need cherry-pick approved either I suspect

/retest


"fix": Exceptions are not returned to the client

Problem:
We have cases, when errors are happened, but the client will se only that something goes wrong without any error information to avoid it in future and simply understand what's going on. Let's think about error handler to let clients know about the mistakes that they were made.
Solution:
We must add error handler to make returning errors info possible. (ExceptionHandler docs)
I don't know, it should be discussed with @myazinn, but I think, we should have exception handler for each service.
Steps to reproduce:

Create user by using signUp endpoint (localhost:8088/auth/v1/signUp)
Try to create another user using the same email

Actual result:
Response with 500 status and "There was an internal server error." message
Expected result:
Json response with 500 status and body like
{    "message": "error message" } (should also be discussed with @myazinn)

I think it should be the 409 error "Resource already exist" or something like this, because 500 it is Internal server error, it happense when server is down or when it is the critical error.

Yep, probably. We should define error ADT for every server and than mapping them to statuses as we did on cromwell-pipeline


[release-1.14] Update go modules (#40597)

Update go modules

lint

fmt

Also ran: go get cloud.google.com/go/compute
Manual cherrypick of istio/istio pr #40597
Please provide a description of this PR:

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

/test all

@stewartbutler: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@stewartbutler: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test release-notes

lint_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@stewartbutler: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test release-notes

lint_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test lint

gencheck_istio_release-1.14
9e9e145fd434eae5ddb2aaf932cdf8d76bf60903
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test all

@stewartbutler: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_release-1.14
2417410e2dd2c874691be78bd8e2fc0ed57df7aa
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test all

@stewartbutler: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_release-1.14
2417410e2dd2c874691be78bd8e2fc0ed57df7aa
link
true
/test gencheck

unit-tests_istio_release-1.14
815013dbb5ef0055642ddf88f3ab8d24a8a9cf88
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Scaling

I have to optimize (calibrate) function with 3 parameters of different scale. One parameter is in the range (1, 2), another two are around (0.01). It looks like the algorithm (SA) checks only relatively large values (for example 0.4, 0.85, 0.1) and run over the others (smaller ones). In other words it doesn't check values which are cloth to real ones (0.005, 0.007, 0.012).
p.s. thx for reproducible randomness

could you copy&paste your setup? Definition of boundaries etc. similar as in the examples

using namespace cppOpt;
template
class MySolver : public OptSolverBase
{
public:
void calculate(OptCalculation &optCalculation) const
{
//defined x^2 as function to be optimised
cout        << optCalculation.get_parameter("m0")
<< "," << optCalculation.get_parameter("sigma")
<< "," << optCalculation.get_parameter("rho")
<< endl;
optCalculation.result = pow(optCalculation.get_parameter("m0") - 1.4f, 2) + >pow(optCalculation.get_parameter("sigma") - 0.02f, 2) + pow(optCalculation.get_parameter("rho") - 0.01f, 2);
}
};

I've made a wrapper:

void optSA(float* optimum, unsigned int maxCalculations, int seed)
{
OptBoundaries optBoundaries;
optBoundaries.add_boundary(1.0f, 2.0f, "m0");
optBoundaries.add_boundary(0.000001f, 0.1f, "sigma");
optBoundaries.add_boundary(0.0f, 0.1f, "rho");
  //instansiate your calculator

MySolver mySolver;
  //we want to find the minimum

OptTarget optTarget = MINIMIZE;
  //how fast the simulated annealing algorithm slows down
  //http://en.wikipedia.org/wiki/Simulated_annealing

float coolingFactor = 0.95f;//0.95f;
  						//the chance in the beginning to follow bad solutions

float startChance = 0.5f; // 0.25f;
  					  //create your optimiser
  					  //using simulated annealing

OptSimulatedAnnealing optSA(optBoundaries,
maxCalculations,
&mySolver,
optTarget,
0.0, //only required if approaching / diverging
coolingFactor,
startChance);
  //enable logging
  //boundaries object required to know the parameters names for the header
  //OptBase<float>::enable_logging("example_simulated_annealing_x_square.log", optBoundaries);

  //let's go

OptBase::run_optimisations(1, seed);
  //print result

OptCalculation best = optSA.get_best_calculation();
optimum[0] = (float)(best.get_parameter("m0"));
optimum[1] = (float)(best.get_parameter("sigma"));
optimum[2] = (float)(best.get_parameter("rho"));
}

Seed is<PHONE_NUMBER>, maxCalculations = 300, real minimum is (1.4, 0.02, 0.01). In these settings SA converges to

m0 =1.40036,
sigma = 0.0438227,
rho = 0.0170878

If seed =<PHONE_NUMBER>

1.40012,0.0368495,0.0463739

As you see, it converges much better in case of m0 variable.

I think this happens since m0 plays the highest role in the overall result.
Can you try assigning small ranges / values to all 3 of them and check again?
I think this is no bug, but just how the optimization behaves

It's not a bug. I can make ranges very small, but in this case their range would be artificially small. I use the range which is teoretically reasonable, I cannot do it smaller. Some algorithms (for example Landenberg-Marquart algorithm) have possibility to scale variables. So, I wonder it is possible to do for SA somehow.

have you tried
std::cout << set_precision(10);

?

Feel free to re-open this or another issue if this didn't help


Pre-release for the callback support

Hi. Would it be possible to have a nugget release/pre-release to get the newly introduced callback support? If not, when can we expect the next nugget release?

Upon reviewing the code I came to realize that it was only introduced in v2. So my question would be when is it going to be added to v3 and then released?
I'm using the library to do recaptcha v3 validation and due to browsers pre-filling forms it's possible for users to submit the form before recaptcha has done loading or getting the token. Having a callback would let us know when the user can submit the correctly form.

This has been updated in 2.2.5 however you will still need to add the attribute yourself as shown above. I am just noting this in case anyone is stuck using the older version of the package and still needs this. This will be correctly addressed in future 3.x versions. Sorry for the trouble.


[FEATURE]

For more than a year, I have been utilizing the  habit table  that Is simple and very good.
I suggestions

Add option for more reminder daily app replaces only one reminder daily.

Add history bests streaks habits because it's simple parameter for  pursuing habits and increasing motivation for do habits.

Thanks

 set more than one reminders daily

Thanks for your suggestion. We will consider your suggestion in the future version.


[ASCII-1865] Add an invoke task to compute PR stats

What does this PR do?

Add a github.milestone-pr-team-stats invoke task which prints basic statistics about the number of PRs from a given team during a given milestone.
Motivation

We need those numbers to track some initiatives, and doing it manually is error prone.
Additional Notes

Example usage:
❯ inv github.milestone-pr-team-stats -m 7.55.0 -t agent-shared-components
no code changes : 35
qa done : 22
with qa : 17
proportion of PRs with code changes and QA done : 56.41025641025641 %

The task requires a Github token with org permissions to be able to list team members.
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Move queue task consumption to using etcd watches.

Also provide a nice sf-ctl command which will show you the status
of tasks in a given queue over time.

I think this is a dead idea for now... Instead, we'll move to a queuing system outside etcd.


payme added to nixpkgs

Not really an issue as such, but I wanted to let you know I added payme to the Nix package repository and will make sure any updates get published in the foreseeable future. It's already available in the Nix unstable repository and will be available in the main channel with the next NixOS release.
This "issue" can be closed of course.
Thanks for building payme Jo!

Do I need to add a flake file for easier maintenance?

Do I need to add a flake file for easier maintenance?

In which sense?
If you are talking about helping Nixpkgs, this is not needed. Nixpkgs repo uses bots like r-ryantm to track upstream updates and generate pull requests.
If you are talking about creating a flake for the sake of payme developers, this is a nice idea! With Nix and Flakes machinery you can provide development shells and other nice things for the contributors.

As @AndersonTorres already explained, no, there is no need for a flake. Personally, I use flakes for my development environments because it is easy to get up and running with all the dependencies. You could do the same for payme if that interests you, but it's not needed for users of payme to run the application; they can simply install it from the Nix repository.

I use Nix on a very simple level, so if it's not needed, I won't bother. If anyone wants it, feel free to submit a PR!

Oh, and thanks!

I added the (unstable) nix pkg now; should it be the locally built one? Or should it be the released one? Because:
$ payme --version
payme version local (local), built at 2024-03-14T11:42:21+01:00

Good point; I didn't notice that. What is the difference between the "local" and the "release" versions? After a bit of searching, it looks like Golang does not have a debug or release difference, but I am not a Go developer, so I might be missing something.

@cimm
As far as I can remember, it's a typical occurrence in Nixpkgs to use a line like:
``nix
ldflags = [ "-s" "-w" "-X github.com/zrepl/zrepl/version.zreplVersion=${version}" ];

Maybe it fixes that version string...

Yes, check the makefile or the GitHub actions for all relevant flags

Indeed, that's it. Adding the following ldflags when building the package shows the version information.
  ldflags = [
    "-X main.gitCommit=COMMIT"
    "-X main.gitRefName=REFNAME"
  ];

$ payme -v
payme version REFNAME (COMMIT), built at 2024-03-15T13:00:00+01:00

I am unsure about what information should be shown here. Maybe @jovandeginste can help?
The gitCommit uses github.sha, which, according to the github documentation is the commit SHA that triggered the workflow. For version 1.2.0 that would be 416d53e3f518898a0411889a5af08e8d9858e70e, correct?
The gitRefName is the github.ref_name, which is the short ref name of the branch or tag that triggered the workflow. Would that be the master branch refs/remotes/origin/master?
To be clear, this doesn't change any functionality; it simply shows the correct version information instead of "local" which is nicer, of course.

I expect you clone the git tag and not master; am I wrong? In that case, the ref name should contain the tag name, ie. the version, eg. "v1.2.0". The Sha should be the short name.

Sorry for the delay, I fixed the version string and opened a pull request on nixpkgs with the requested changes.

@cimm the version is good now, the build date is not set yet:

payme version v1.2.0 (416d53e3f518898a0411889a5af08e8d9858e70e), built at 2024-03-24T16:08:58+01:00

This "built at" always shows the current time (which is some default I added if no date is set...)
Is it possible to either set it to the actual build time or the tag time?

Indeed it should be set to UNIX EPOCH (1970-01-01T00:00Z), since in Nixpkgs we don't use such timestamps.
Timestamps are a source of impurity: two otherwise identical inputs should not generate different outputs.

I will put forward that using the tag time should be constant too

Sure, we can add a date as well. I checked the 1.2.0 darwin release (the Linux amd64 doesn't work for me for some reason, but that's another story), and the darwin binary gives me the following version string:
payme version v1.2.0 (416d53e3f518898a0411889a5af08e8d9858e70e), built at 2024-03-26T10:20:22+01:00

Which is... today's date? Correct me if I am wrong, but the darwin binary does show the current date and not the date it has been compiled, so what date do you want the nix version to show?
We could use the date of the last commit in the tag, which would be Feb 23?
$ git log -1 --pretty='format:%cd' --date='format:%Y-%m-%dT%H:%M:%SZ'
2024-02-23T10:13:33Z

O, wow - I'll look into that!

Found the cause and fixed it in the latest release (v1.2.1)

I tested the 1.2.1 version, and it does show the build date now.
The problem now is that the date shown is the date of the GitHub Action. Since the GitHub Action is GitHub-specific (obviously, since it's using env.BUILD_TIME), it's not part of the git repository, so Nix cannot read the same date. The current payme v1.2.1 version string from the GitHub release:
payme version v1.2.1 (3807082e2d0bc7c5f33a2ee2c243335b7752b574), built 2024-03-26 11:08:42+00:00

There are a few options here.

You change payme to use a reproducible date, like the last git commit date, for example.
We completely ignore the date and leave it as is:

payme version v1.2.1 (3807082e2d0bc7c5f33a2ee2c243335b7752b574), built manually

We use the date of the last commit in the tag:

payme version v1.2.1 (3807082e2d0bc7c5f33a2ee2c243335b7752b574), built 2024-03-26 11:03:28+00:00

Personally, I am not a fan of the last option; since the time between the release version and the nix version would be a few minutes off (see the examples), I would go for the first or second option.
What do you prefer?

@jovandeginste I am unsure as to what to do with the version string in the payme nix package at the moment. What do you prefer from the options above?

My apologies for taking so long to respond; is it possible to use the last commit date in UTC? I changed the github action to use it like this: TZ=UTC0 git show --quiet --date=iso-local --format="%cd"

If that's too much work, "manually" is just as good

This is perfect, thank you. I opened a pull request to upgrade payme from 1.2.0 to 1.2.2 with the correct build time for nixpkgs: https://github.com/NixOS/nixpkgs/pull/308574.


hono/client is overriding React types in a Next.js project

What version of Hono are you using?
4.0.0
What runtime/platform is your app running on?
Node.js 20
What steps can reproduce the bug?
If we're on a Next.js 14.1 project and we're importing hono as a dependency to use the hono/client, we can't use the following code :
import type { ComponentProps, ElementType, PropsWithChildren, ReactNode } from "react";

type Props = Omit<ComponentProps<"div">, "className"> & {
  as?: ElementType;
  children: ReactNode;
};

export function Container({ className, children, as }: Props) {
  const Tag = as || "div";
  return (
    <Tag>
      {children}
    </Tag>
  );
}

Because the following lines are overriding the JSX.ElementType type
https://github.com/honojs/hono/blob/ca6f36511094522b84b6575d99bde4728bcea87c/src/jsx/base.ts#L13C1-L24C2
What is the expected behavior?
We shouldn't have the following errors :

JSX element type 'Tag' does not have any construct or call signatures. [2604]
'Tag' cannot be used as a JSX component.
Its type 'React.ElementType' is not a valid JSX element type.
Type 'number' is not assignable to type 'ElementType'. [2786]

What do you see instead?
No response
Additional information
No response

Hi @Yovach
How about putting the following line to the top of your file in the Next.js app?
/* @jsxImportSource react */

Hi,
I was not able to fix this issue by putting
/* @jsxImportSource react */

I still have Type error: JSX element type 'Tag' does not have any construct or call signatures..
I also tried with "jsx": "react-jsx" in tsconfig.json but Next.js reverts to "preserve"

@Yovach Could you share the minimal project to reproduce it?

@Yovach Could you share the minimal project to reproduce it?

Sure, i'll attach a reproduction this weekend.

@Yovach Thanks!

Hi @yusukebe,
Sorry for the long delay.
Here is a reproduction https://codesandbox.io/p/devbox/elegant-bogdan-ktsdc4
The error is in app/component/container.tsx

Thanks! @Yovach
Hi @usualoma !
This error is caused by a conflict between React's JSX declaration and hono/jsx's JSX declaration. Is there any solution?
https://github.com/honojs/hono/blob/ca6f36511094522b84b6575d99bde4728bcea87c/src/jsx/base.ts#L13C1-L24C2

Hi @yusukebe
How about #2248?


Tag betas, release candidates, etc

As far as I can tell, betas and release candidates have not been tagged, and this would be nice to have for the future (if not for past releases).
This should be a part of the release process, especially since commits have not been listed in each of the past announcements. In fact, the only 3.0 announcement with a listed commit seems to be the recent RC2 announcement, unless I'm missing it hidden away somewhere.

I just ran up against this today, wanting to try 3.1. I see a number of snapshots at https://downloads.tuxfamily.org/godotengine/3.1/, but I wanted to build from source and was dismayed to find that none of the releases are tagged.
I wouldn't call such tags useless. The fact that you package certain prerelease commits does give them a sort of special status, as a kind of checkpoint.
Tagging the commits used for such builds is useful from a historical record-keeping perspective. There's no need to delete them (I'd even say that would be mildly evil), as tags with pre-release metadata (e.g. -alpha.1) is a pretty common convention, and such tags are understood to sort before actual releases (e.g. 1.0.0-alpha < 1.0.0).
I do see the other side of the argument though.  But it is certainly surprising to the uninitiated.

How much work would it be to make an official "pre-release" mirror that syncs with the primary repo automatically, but has release tags for alpha/beta/rc? GitHub has a nice API, and there are some use cases that would make the tags nice:

I read github releases far more frequently than blog posts
A version manager has to scrape tuxfamily for release information

How much work would it be to make an official "pre-release" mirror that syncs with the primary repo automatically, but has release tags for alpha/beta/rc? GitHub has a nice API, and there are some use cases that would make the tags nice:
* I read github releases far more frequently than blog posts

* A [version manager](https://github.com/eumario/godot-manager) has to scrape tuxfamily for release information

We were discussing creating a separate repository to host official nightly builds, but I wouldn't go as far as creating yet another repository only to store prerelease tags.

I'm not sure having tags in a separate repo would help at all. At least for me, the use case is:

I install prerelease x.y.z-beta1
I encounter a bug / wonder how something works / want to tweak something and build from source
I go to my local copy of godot ... how do I figure out which commit the prerelease was built from?

I go to my local copy of godot ... how do I figure out which commit the prerelease was built from?

Official releases now contain commit hashes in the project manager or About dialog, so you can click the version identifier there to copy it (including the commit hash).


Bump version of go-github library to v42

This release contains the following breaking API changes:

#2111
#2235
#2250

and the following additional changes:

#2212
#2176
#2210
#2092
#2109
#2216
#2218
#2219
#2224
#2228
#2229
#2233
#2226
#2217
#2238
#2237
#2242
#2244
#2236
#2240
#2221
#2230
#2248

@Parker77 - do you have time for another review?

Thank you, @Parker77!


Fix build tag to support DragonFlyBSD

DragonFly was missing as a unix variant.

Thank you for your pull request. I'm sorry for the late reply.


Can Homespan be used with Ethernet instead of WiFi

No, unfortunately not. See the FAQ page for details.

OK Thanks


Update kuberay operator to v1.1.1

Summary
Details and comments

Holding until after next release and #1272 merges

Can we update Dockerfile too @psschwei ?
https://github.com/Qiskit/qiskit-serverless/blob/main/Dockerfile-ray-node


[WIP] Update dependencies

So it turns out that the CI testing environment has broken on newer packages, this PR is attempting to address some of those issues

This currently will fail tests on Python 3.7 because the code base itself is not 3.7 compatible. If tests pass on Python 3.5 and 3.6 (the versions we advertise support for) then I think this should be merged in since this fixes the issues with the CI system.


[QUESTION] How to implement global options.

First check

[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the Typer documentation, with the integrated search.
[x] I already searched in Google "How to X in Typer" and didn't find any information.
[ ] I already searched in Google "How to X in Click" and didn't find any information.

Description
How can I implement global options like --install-completion, --show-completion?
Click allows to easily implement global options in context.
I want a simple function similar to typer.
Additional context
I often implement global options such as --env and --debug.

By inspecting the code it seems like this is not possible right now.
How do we imagine such API?

I'd be tempted to say like in click with a group decorator, so as to stay in familiar territory :)
I tried various stuff with the add_typer command without being able to achieve the desired result.
That would be awesome to get an answer.
This is the main blocker identified for us so far switching from click as we make quite a fair use of global switches, most often for logging

I imagine this as an option in the app ie Typer instances, that way it'd work even without subcommands

Thanks for the discussion here everyone!
Here are the new docs for using is_eager: https://typer.tiangolo.com/tutorial/options/version/ :tada:
And here for adding global CLI options: https://typer.tiangolo.com/tutorial/commands/callback/ :rocket:

Thank you so much 😄

This doesn't seem to even work. Even the example that's linked shows an error Error: no such option --verbose. This has been my experience as well


'NoneType' object has no attribute 'damage'

Deck 1: Deathlord, Mad Scientist, Darkscale Healer, Silverback Patriarch, Novice Engineer, Shattered Sun Cleric, Ship's Cannon, Harvest Golem, Frost Elemental, Dragonling Mechanic, Water Elemental, River Crocolisk, War Golem, Frostwolf Warlord, Silvermoon Guardian, Nerubian Egg, Tinkmaster Overspark, Micro Machine, Frostwolf Warlord, Stormpike Commando, Silvermoon Guardian, Frostwolf Grunt, Kel'Thuzad, Flamecannon, Wisp, Murloc Raider, Chillwind Yeti, Defender of Argus, Razorfen Hunter, River Crocolisk
Deck 2: Spellbreaker, Lost Tallstrider, Mind Control Tech, Gahz'rilla, Mogu'shan Warden, Sylvanas Windrunner, Steamwheedle Sniper, King of Beasts, Core Hound, Tundra Rhino, Novice Engineer, Frost Elemental, Shattered Sun Cleric, Haunted Creeper, Wailing Soul, Antique Healbot, Dire Wolf Alpha, Cobra Shot, Haunted Creeper, Nightblade, Shieldbearer, Fen Creeper, Tauren Warrior, Ogre Brute, Cobra Shot, Twilight Drake, Leper Gnome, Foe Reaper 4000, Ogre Magi, Gadgetzan Auctioneer
Traceback (most recent call last):
  File "C:\Users\Ragowit\Documents\GitHub\mcts\hearthbreaker\uct.py", line 172, in DoMove
    self.game.current_player.hero.power.use()
  File "C:\Users\Ragowit\Documents\GitHub\mcts\hearthbreaker\hearthbreaker\powers.py", line 32, in use
    target.damage(2 * self.hero.player.spell_multiplier, None)
AttributeError: 'NoneType' object has no attribute 'damage'

Again.
Deck 1: Fireball, Duplicate, Darkscale Healer, Silverback Patriarch, Novice Engineer, Shattered Sun Cleric, Ship's Cannon, Harvest Golem, Frost Elemental, Dragonling Mechanic, Water Elemental, River Crocolisk, War Golem, Frostwolf Warlord, Silvermoon Guardian, Nerubian Egg, Tinkmaster Overspark, Micro Machine, Frostwolf Warlord, Stormpike Commando, Silvermoon Guardian, Frostwolf Grunt, Kel'Thuzad, Flamecannon, Wisp, Murloc Raider, Chillwind Yeti, Defender of Argus, Razorfen Hunter, River Crocolisk
Deck 2: Grimscale Oracle, Oasis Snapjaw, Captain's Parrot, Gurubashi Berserker, Foe Reaper 4000, Bluegill Warrior, Cogmaster, King Krush, Big Game Hunter, Silvermoon Guardian, Injured Blademaster, Lil' Exorcist, Dread Corsair, Glaivezooka, Scavenging Hyena, Stormwind Knight, Frostwolf Warlord, Lost Tallstrider, Glaivezooka, Wisp, Oasis Snapjaw, Ancient Brewmaster, Mad Bomber, Antique Healbot, Gnomeregan Infantry, Mini-Mage, Deathwing, Bloodsail Corsair, Mechanical Yeti, Steamwheedle Sniper

The problem seems to be Steamwheedle Sniper.  The line your error gives for powers.py is not the line it has on my copy, and hasn't been since early March.  I'm wondering if you have an outdated copy of this file, perhaps?
Anyways, the problem is coming from not choosing a proper target for the hunter's hero power.  Is there something in your code related to choosing hero powers that you wouldn't have doing anything if it's not mage or priest?

Ah, I guess you nailed it. My code only cares about targeting if it's a mage or priest. Didn't think about that. I'll close this issue.


"Complete Your Orders" Reminder

User Story
As a buyer, I may not know that I need to complete orders. If I have one or more fulfilled orders that need to be completed, a very easy to notice message should appear on the screen reminding me to complete them. It should have a link that will take me to my transactions page.
As a seller, I want users to be strongly encouraged to complete orders. A constant, slightly annoying reminder to complete their orders would help make that happen.
Notes
This issue requires some brainstorming before requirements can be completed.

This issue requires some brainstorming before requirements can be completed.

Totally agree with that because you don't want to have to fetch an unpaginated list of purchases just to find out which ones need completion.
And, if for some reason, all the data you'd need to make the determination would not be in the purchases api, you certainly wouldn't want to have to call the order api for each purchase needing completion.

I think this issue is sufficiently addressed by the 45 day timeout work that is in progress.


TTL problems

Alluxio Version:
2.6.0
Describe the bug
why ttlEndTime = creationsTime + ttlTime, whenever I reset the same ttlTime ,ttlEndTime cannot change，so the ttl looks like cannot work normally , i think ttlEndTime = lastModifyTime + ttlTime may more resonable

@uniqueZt could you provide more information about this bug? which config file are you using for this TTL?

@beinan when a file was create at time = 0 with ttl = 10 , it should expire at time = 10  but when i reset the file at time = 5 with ttl = 10， i think it should expire at time = 15 ， but it expire still at time = 10  cause ttlEndtime = creationTime + ttlTime

https://github.com/Alluxio/alluxio/blob/branch-2.6/core/server/master/src/main/java/alluxio/master/file/meta/TtlBucketList.java

@madanadit Does this request comply with specifications for TTL?

i'm not aware of a standard specification

are you gonna propose one? what do you say about this request for instance?

I would not consider this a bug, rather a feature enhancement request. The feature currently works as per the original spec which based on file create time rather than setTtl time.

I would not consider this a bug, rather a feature enhancement request. The feature currently works as per the original spec which based on file create time rather than setTtl time.

i agree this

Hi @uniqueZt, is this issue still relevant for your use case?
If not already, it would be great if you could join our slack https://alluxio.io/slack for more information. Thx!


Admin Settings: Guard against race conditions for simultaneous edits

Problem statement
If more than one user is editing a particular org or org setting at the same time, there is a possibility one user will clobber the other user's setting without anyone realizing it. There should be some sort of mechanism in place that warns the user if the version of the org or org setting they're about to update is not exactly one version up from the version number they started editing with.
Acceptance criteria

[ ] Upon clicking Save on an org, receiver or sender, the user is warned that a newer version of the entity has already been committed and the update is cancelled
[ ] Nice to have: provide information about who committed the newer update and when (should be available from the "meta" record)

Misc info
There's a version # associated w/ the data

Hey team! Please add your planning poker estimate with ZenHub @ahay-agile6 @kevinhaube @sethdarragile6

@rachelhanster @RakshindaAslam Async sizing this one


'tags' parameter in build pipeline configuration

It'd be nice to be able to enable a specific group of components, like "client" or "server", which by default have several build pipelines and steps.
The tags parameter in a transform would help identify groups. It would work with the existing white/only, gray, and black/except parameters:
gulp --only=client

Done!