break down of the line of code

Hi Aurélien (or anyone who is seeing this message),
Can you please elaborate on the meaning of this line of code
reorder_train = np.array(sorted([(target, i) for i, target in enumerate(mnist.target[:60000])]))[:, 1]

I realize it is simple but as a beginner im having a tough time understanding it.
Thanks in advance

Hi @yashGuleria ,
Thanks for your question, and sorry for the late response.
Here are the following tools you need to understand this line of code (you probably know most of this, but just to be clear):

[10*x for x in range(5)] will return [0, 10, 20, 30, 40]. This syntax is called "list comprehension". It is equivalent to the following code (except it returns the list directly, without having to create a result variable):

result = []
for x in range(5):
    result.append(10*x)

for index, value in enumerate([10, 20, 30]) will iterate over the list [10, 20, 30], but thanks to enumerate() il will also give each element's index. So it's like iterating over: [(0, 10), (1, 20), (2, 30)].

sorted([5, 3, 9, 1]) will return [1, 3, 5, 9], the sorted list.

Tuples are sorted first by the first element, then the second, and so on, so sorted([(5, 2), (4, 5), (4, 2)]) returns [(4, 2), (4, 5), (5, 2)].

arr[:60000] is equivalent to arr[0:60000]: it returns the first 60,000 elements of the array arr.

arr[:, 1] works if arr is a NumPy array with (at least) 2 dimensions. It returns an array containing all the values of the second column of arr (index 1 = second column). For example, if arr is np.array([[10, 20, 30], [40, 50, 60]]) (a 2D array with 2 rows and 3 columns), then arr[:, 1] is np.array([20, 50]).

With that in mind, you can verify that the line does the following:

it grabs the first 60,000 targets in the MNIST dataset (mnist.target[:60000]). For example: [7, 5, 1, ...].
it gets their indices (enumerate(...)). For example [(0, 7), (1, 5), (2, 1), ...].
it uses a list comprehension to put the target first, and the index second in each tuple. For example: [(7, 0), (5, 1), (1, 2), ...].
it sorts the result, so all the indices get sorted by targets. First all the indices of the images of class 0, then all the indices of the images of class 1, and so on. For example: [(0, 4), (0, 15), (0, 17), ...].
Finally, it creates a NumPy array with the result and keeps only the second column np.array(...)[:, 1]. This drops the first column (the targets), keeping only the indices.

In the end, we have a 1D Numpy array containing the indices of all the images in the MNIST dataset, sorted by target. This is useful because the old methods to load the MNIST dataset used to load the dataset sorted this way, but the new methods don't. So in order to get the exact same results as the ones shown in the book, we need to reorder the MNIST dataset.
I hope this is all clear!

Hi @ageron,
Thank you for such a detailed reply (i literally felt it was a beautiful explanation). I completely understood it.
regards


How to create a market depth chart?

Is it somehow possible to make depth chart as in image above using react-stockchart library.
Any suggestions is welcome even if it is achievable by using any other charting library in react.

it is currently not possible to implement this in react-stockcharts, unfortunately I dont have a suggestion on how to do this using a different library.
I also don't think it is complex to implement, so I would welcome some ideas via a PR if anyone is interested
related: https://github.com/rrag/react-stockcharts/issues/31

In financial markets, the mid price is the price between the best price of the sellers of the stock or commodity offer price or ask price and the best price of the buyers of the stock or commodity bid price. It can simply be defined as the average of the current bid and ask prices being quoted.
... so first you need Bid and Ask to construct middle point (bid+ask/2)
then you need market depth (full book) so you have volume for each corresponding price... so the charts would need to get full book info for given tick from which you can get the volumes for all price levels between bid  and ask to construct the volume
so the charts would need to be able to work with full book data and not only classic OHLCV data - either csv files or real-time streaming

yes @stanbor this has to be a separate from the regular ohlc data.
If anyone is interested in implementing this I welcome a PR (on the next branch), but I am not going to implement this myself

@rrag How much effort do you think it would take? I'd be interested in tackling a market depth chart or potentially paying someone to

Guys I got pretty close:

  render() {
    const { ticks, width, muiTheme } = this.props;

    const gridHeight = height - margin.top - margin.bottom;
    const gridWidth = width - margin.left - margin.right;
    const yGrid = showGrid ? { innerTickSize: -1 * gridWidth } : {};
    const xGrid = showGrid ? { innerTickSize: -1 * gridHeight } : {};

    const xExtents = [first(ticks).x, last(ticks).x];

    return (
      <Wrapper>
        {isSubmitting || !ticks
          ? <CircularProgress />
          : <ChartCanvas
            height={height}
            ratio={2}
            width={width}
            margin={margin}
            type="svg"
            seriesName="MSFT"
            data={ticks}
            panEvent={false}
            zoomEvent={false}
            xScale={scaleLinear()}
            xExtents={xExtents}
            xAccessor={d => d.x}
          >
            <Chart
              id={1}
              yExtents={d => [d.y_buy, d.y_sell]}
              yScale={scaleLinear()}
            >
              <XAxis
                axisAt="bottom"
                orient="bottom"
                {...xGrid}
              />
              <YAxis
                axisAt="right"
                orient="right"
                ticks={5}
                {...yGrid}
              />
              <AreaSeries
                yAccessor={d => d.y_sell}
              />
              <AreaSeries
                yAccessor={d => d.y_buy}
              />
            </Chart>

            <CrossHairCursor />
          </ChartCanvas>}
      </Wrapper>
    );
  }

and the data looks likes this:
const data= [{x: 0, y_sell: 0.5, y_buy: undefined}, {x: 1, y_sell: undefined, y_buy: 0.5}]

Hi,
Great job man! I'm also struggling with market depth chart, trying to achieve it merging histograms or trying to modifying default cuve in line charts, but not getting expected.
Did you get something more? Thanks!

Hi. I need to build this for the project I am working on. My plan is to fork and modify to make this work after which I will gladly submit a PR to this lib. Looking at the work that @shprink has done, @rrag would I be correct in my understanding that all that is really needed here from RSC point of view is a "stepped" area series or is there more complexity you would expect I need to take into account? eg. do we need to be able to control the direction of the steps left or right or is that unimportant? (I am new to financial dashboards sorry if that is a naive question)

https://gist.github.com/flavioespinoza/e7b086abf3f28ee05967d205f850b6af
This is a work in progress, but it's a good start.

@rrag How do you mean change interpolation to stepBefore / stepAfter?

@oskarer @rrag I have same the question. interpolation seems to ask for a function?

Hey can anybody post a complete working example for the depth chart? =]

Or better yet, an integration branch or diff? 😄

I created this one using same approach that @shprink does the only problem that i'm having here is it doesnt always centered or no middle points. I think controlling xExtents but I haven't figured out hpw. I also tried using 2 totally different area charts one only rendering the bid side and the other one is only rendering the ask side which resulted to good view but the problem now is the XAxis since 2 chart will have a different xaxis. If anyone willing to work with me to figured out how to render the depth in always centered.

@Thurstonjhon did you end up figuring it out? Mind sharing if anyone has a fully working example?

I can't create an example because of a busy schedule, but the trick is you need to zoom in where the buy and sell orders met, and to do that you need to modify your data series you can achieve that editing this line from the example of shprink above [first(ticks).x, last(ticks).x]; you can put dynamic data points instead of displaying all the orders from first tick to last tick.

I created this one using same approach that @shprink does the only problem that i'm having here is it doesnt always centered or no middle points. I think controlling xExtents but I haven't figured out hpw. I also tried using 2 totally different area charts one only rendering the bid side and the other one is only rendering the ask side which resulted to good view but the problem now is the XAxis since 2 chart will have a different xaxis. If anyone willing to work with me to figured out how to render the depth in always centered.

how do you solve this question finally, I got the same proplem

I made it with two separated chart canvases.
  <ChartCanvas           ratio={1}           width={width / 2 - 10}           height={height}           margin={{ left: 5, right: 0, top: 5, bottom: 30 }}           seriesName="MSFT"           data={buyOrdersSorted}           type={type}           xAccessor={d => d.price}           panEvent={false}           seriesName={MSFT_${this.state.suffix}}           xExtents={xExtentsBuy}           zoomEvent={false}           xScale={scaleLinear()}         >           <Chart id={10} yExtents={yAxisRange} width={width / 2}>             <Gradient               id="buyGradient"               color1="#009900"               color2="#00b200"               color3="#00cc00"             />             <XAxis               axisAt="bottom"               orient="bottom"               tickStroke={axisColor}               ticks={5}               zoomEnabled={false}               tickStroke={linesColor}               stroke={linesColor}             />             <AreaSeries               yAccessor={d => d.type == "buy" && d.volume}               fill="url(#buyGradient)"               canvasGradient={buyGradient}               strokeWidth={2}               stroke={COLOR_PALETTE.depthBuyGreen}               interpolation={curveStep}             />             <YAxis               stroke="#000000"               axisAt="left"               orient="right"               tickStroke={axisColor}               ticks={5}               yZoomWidth={0}               tickStroke={linesColor}               stroke={linesColor}             />             <HoverTooltip               tooltipContent={tooltipContent(currency)}               bgFill={linesColor}               stroke={linesColor}               fill="#ffffff"               bgOpacity={1}               fontFill="#000000"               opacity={1}               fontFamily={"inherit"}             />             <CurrentCoordinate               yAccessor={d => d.volume}               fill={linesColor}               r={5}               onHover             />           </Chart>         </ChartCanvas>         <ChartCanvas           ratio={1}           width={width / 2 - 10}           height={height}           margin={{ left: 0, right: 5, top: 5, bottom: 30 }}           seriesName="MSFT"           data={sellOrdersSorted}           type={type}           xAccessor={d => d.price}           panEvent={false}           seriesName={MSFT_${this.state.suffix}}           xExtents={xExtentsSell}           zoomEvent={false}           xScale={scaleLinear()}         >           <Chart             id={11}             // yExtents={d => d.volume}             yExtents={yAxisRange}             width={width / 2}           >             <Gradient               id="sellGradient"               color1="#cc0000"               color2="#b20000"               color3="#990000"             />             <XAxis               axisAt="bottom"               orient="bottom"               tickStroke={axisColor}               ticks={5}               zoomEnabled={false}               tickStroke={linesColor}               stroke={linesColor}             />             {/* empty axis in the middle of depth chart */}             <YAxis               stroke="#000000"               axisAt="left"               orient="right"               tickStroke={axisColor}               ticks={0}               yZoomWidth={0}               tickStroke={linesColor}               stroke={linesColor}             />             <YAxis               axisAt="right"               orient="left"               tickStroke={axisColor}               ticks={5}               yZoomWidth={0}               tickStroke={linesColor}               stroke={linesColor}             />             <AreaSeries               yAccessor={d => d.type == "sell" && d.volume}               canvasGradient={sellGradient}               fill="url(#sellGradient)"               stroke={COLOR_PALETTE.depthSellRed}               strokeWidth={2}               interpolation={curveStep}             />             <HoverTooltip               tooltipContent={tooltipContent(currency)}               bgFill={linesColor}               stroke={linesColor}               fill="#ffffff"               bgOpacity={1}               fontFill="#000000"               opacity={1}               fontFamily={"inherit"}             />             <CurrentCoordinate               yAccessor={d => d.volume}               fill={linesColor}               r={5}               onHover             />           </Chart>         </ChartCanvas>

I made it with two separated chat canvases
<ChartCanvas
ratio={1}
width={width / 2 - 10}
height={height}
margin={{ left: 5, right: 0, top: 5, bottom: 30 }}
seriesName="MSFT"
data={buyOrdersSorted}
type={type}
xAccessor={d => d.price}
panEvent={false}
seriesName={MSFT_${this.state.suffix}}
xExtents={xExtentsBuy}
zoomEvent={false}
xScale={scaleLinear()}
>
<Chart id={10} yExtents={yAxisRange} width={width / 2}>

<AreaSeries
yAccessor={d => d.type == "buy" && d.volume}
fill="url(#buyGradient)"
canvasGradient={buyGradient}
strokeWidth={2}
stroke={COLOR_PALETTE.depthBuyGreen}
interpolation={curveStep}
/>

<HoverTooltip
tooltipContent={tooltipContent(currency)}
bgFill={linesColor}
stroke={linesColor}
fill="#ffffff"
bgOpacity={1}
fontFill="#000000"
opacity={1}
fontFamily={"inherit"}
/>
<CurrentCoordinate
yAccessor={d => d.volume}
fill={linesColor}
r={5}
onHover
/>

<ChartCanvas
ratio={1}
width={width / 2 - 10}
height={height}
margin={{ left: 0, right: 5, top: 5, bottom: 30 }}
seriesName="MSFT"
data={sellOrdersSorted}
type={type}
xAccessor={d => d.price}
panEvent={false}
seriesName={MSFT_${this.state.suffix}}
xExtents={xExtentsSell}
zoomEvent={false}
xScale={scaleLinear()}
>
<Chart
id={11}
// yExtents={d => d.volume}
yExtents={yAxisRange}
width={width / 2}
>

{/* empty axis in the middle of depth chart */}

<AreaSeries
yAccessor={d => d.type == "sell" && d.volume}
canvasGradient={sellGradient}
fill="url(#sellGradient)"
stroke={COLOR_PALETTE.depthSellRed}
strokeWidth={2}
interpolation={curveStep}
/>
<HoverTooltip
tooltipContent={tooltipContent(currency)}
bgFill={linesColor}
stroke={linesColor}
fill="#ffffff"
bgOpacity={1}
fontFill="#000000"
opacity={1}
fontFamily={"inherit"}
/>
<CurrentCoordinate
yAccessor={d => d.volume}
fill={linesColor}
r={5}
onHover
/>


Support for Persona 3 Reload

Game name:  Persona 3 Reload

Game package name: SEGAofAmericaInc.L0cb6b3aea_s751p9cej88mt

wgs.zip
SteamSave.zip

Duplicate of #114.
Please follow that issue.
Also thanks for the saves, they'll help!


Ability to have control over typecasting when injecting environment variables into configuration

I'm injecting the first 7 digits of the Git commit hash to my application with the use of an environment variable to keep track of versions and releases.
Example environment variable: GIT_HASH=2312e58.
This gets injected into a parameter in my config.yml file: gitHash: ${GIT_HASH:NOT_DEFINED}
My desire is to always have this value injected as a String, but depending on its value, the type casting logic injects this variable in different types. Some examples:

GIT_HASH=a457b37 (Injected as a String)
GIT_HASH=2312e58 (Injected as a Double - Interpreted as a decimal number in scientific notation, i.e. 2.312E61)
GIT_HASH=9975371 (Injected as an Integer)

This creates an issue for the application since it needs this value as a plain String and it's cumbersome to convert it back to a String, especially in case of a Double.
Could it be an option to provide an optional type parameter in the pattern for injections? Or alternatively, some indicator to completely skip type casting for a specific parameter and always inject it as a String.
Current workaround:
A static prefix is added to the environment variable, e.g. GIT_HASH=HASH_2312e58 so that the type casting always evaluates it as a String. The application strips off HASH_ prefix later when the configuration is used.

Trying to dig into the code and it looks like there is no easy solution to resolve it. To add the type info to the template will make the configuration file so messy. In my opinion, your current workaround makes sense and it might be the best solution for this very special use case. Let's leave it as it is and reopen it if more use cases come up. Thanks a lot for raising it.


demo 代码

请问demo代码多久发布呀？

Sorry for the delay, we have uploaded a simple demo code. By running python demo/dynrefer_inference.py , object informations can be predicted. You can use different models and images by modifying demo/demo_dynrefer.yaml and demo/dynrefer_inference.py. Due to heavy business, we don't have time to provide a more detailed demo in the short term.

DynRefer/dynrefer/common/evaluation/eval_densecap.py", line 9, in
from .meteor.meteor import Meteor
ModuleNotFoundError: No module named 'dynrefer.common.evaluation.meteor'

need too many package to run demo

Most of the packages can be downloaded following https://github.com/callsys/DynRefer/blob/main/docs/install.md. Other missing packages can be downloaded by pip.


Fileview munging generic enough for this repo?

I've built a tool (and python script) that takes in a table of clinical annotations and joins them to synapse ids to build a manifest. Do we think that it's generic enough for this repo?
https://github.com/sgosline/NEXUS/blob/master/bin/rna-seq-workflow/join-fileview-by-specimen-tool.cwl
If so we can add the python script to the docker image that will hopefully accompany these scripts. (that currently exists in mine and @andrewelamb 's imagination).

Updated with PR #9

Fileview munging has its own Dockerfile so it should live in another repo.


feat: improve UX by using connectWith for MetaMask network sync

This PR improves the user experience (UX) when connecting to the MetaMask wallet by using the connectWith method instead of the connect method. This change ensures proper network configuration when the user changes the network on the dApp side and it is not in sync with the MetaMask wallet.
Key change:

Replaced sdk.connect() with sdk.connectWith() to handle network switching or adding based on the provided chainId.

This enhancement provides a smoother and more seamless network switching experience for users on the dApp.

If this isn't actively being worked on, let's close it out for now.


ruler panic: runtime error: invalid memory address or nil pointer dereference

Noticed they were restarting more than expected:
$ kubectl get pod --namespace=cortex
NAME                            READY     STATUS    RESTARTS   AGE
...
ruler-3796937216-etvy1          1/1       Running   47         4d
...

$ kubectl logs --namespace=cortex ruler-3796937216-etvy1 -p
time="2017-01-31T11:00:54Z" level=info msg="Ruler up and running" source="ruler.go:141"
time="2017-01-31T11:01:55Z" level=warning msg="Error fetching from cache: read tcp <IP_ADDRESS>:42064-><IP_ADDRESS>:11211: i/o timeout" source="chunk_store.go:455"
time="2017-01-31T11:04:40Z" level=warning msg="Error fetching from cache: read tcp <IP_ADDRESS>:33288-><IP_ADDRESS>:11211: i/o timeout" source="chunk_store.go:455"
time="2017-01-31T11:05:11Z" level=warning msg="Error fetching from cache: read tcp <IP_ADDRESS>:37170-><IP_ADDRESS>:11211: i/o timeout" source="chunk_store.go:455"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x89870d]

goroutine 36436 [running]:
panic(0xab2fe0, 0xc420016050)
    /usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/notifier.(*Notifier).Send(0x0, 0xc422332d50, 0x1, 0x1)
    /go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/notifier/notifier.go:211 +0x4d
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).sendAlerts(0xc429cfe550, 0xc420432af0, 0x159f4340f7d, 0x159f4340f7d, 0xc42012f380)
    /go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:330 +0x5ae
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).Eval.func1(0xc4384e8740, 0xb79a11, 0x8, 0xc429cfe550, 0x159f4340f7d, 0x10f4e80, 0xc420432af0)
    /go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:275 +0xb52
created by github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).Eval
    /go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:301 +0x147

Also crashlooping:
time="2017-01-31T14:34:50Z" level=info msg="Removing stale ingester client for <IP_ADDRESS>:9095" source="distributor.go:181"
2017/01/31 14:34:50 Failed to dial <IP_ADDRESS>:9095: context canceled; please retry.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x89eacd]

goroutine 35945 [running]:
panic(0xab9140, 0xc420016050)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/notifier.(*Notifier).Send(0x0, 0xc42149ef50, 0x1, 0x1)
	/go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/notifier/notifier.go:211 +0x4d
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).sendAlerts(0xc4224d2500, 0xc420010af0, 0x159f4f31c26, 0x159f4f31c26, 0xc4202e46c0)
	/go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:330 +0x5ae
github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).Eval.func1(0xc42559c230, 0xb80777, 0x8, 0xc4224d2500, 0x159f4f31c26, 0x10ffa40, 0xc420010af0)
	/go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:275 +0xb52
created by github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules.(*Group).Eval
	/go/src/github.com/weaveworks/cortex/vendor/github.com/prometheus/prometheus/rules/manager.go:301 +0x147

Yeah, we are not setting a notifier in the rule manager options:
Compare:
https://github.com/weaveworks/cortex/blob/master/ruler/ruler.go#L88-L93
...with this in Prometheus:
https://github.com/prometheus/prometheus/blob/master/cmd/prometheus/main.go#L118
I guess someone configured an alerting rule for the first time and this is triggering it?

Yeah, I've got a local patch for this. Just need to test it before
submitting
On Wed, 1 Feb 2017 at 01:57, Julius Volz<EMAIL_ADDRESS>wrote:

Yeah, we are not setting a notifier in the rule manager options:
Compare:
https://github.com/weaveworks/cortex/blob/master/ruler/ruler.go#L88-L93
...with this in Prometheus:
https://github.com/prometheus/prometheus/blob/master/cmd/prometheus/main.go#L118
I guess someone configured an alerting rule for the first time and this is
triggering it?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/cortex/issues/253#issuecomment-276552015,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHq6oW6HvjleptiE7a5uLOOLDwCVlK4ks5rX-aMgaJpZM4LyfxQ
.


[CORE-47] Upgrade Swagger UI to 5.17.14 to resolve dompurify vulnerability.

https://broadworkbench.atlassian.net/browse/CORE-47
Description:
This PR updates Swagger-UI to version 5.17.14, which includes dompurify v3.1.4. This resolves a prototype pollution vulnerability that could lead to cross-site scripting (XSS) attacks.
Impact:

Fixes a security vulnerability.
Improves protection against XSS exploits.

Testing:

Verified the build version of swagger-ui matches 5.17.14

the service/src/main/resources/templates/swagger-ui.html contains a modified copy of the index.html inside the swagger-ui jar. Does our copy need any modifications? Is the CSS and JS in that file still valid?

the service/src/main/resources/templates/swagger-ui.html contains a modified copy of the index.html inside the swagger-ui jar. Does our copy need any modifications? Is the CSS and JS in that file still valid?

Yes it is still valid since the swagger-ui-dist jar is used in the HTML template


Reduce docker image size

Currently the docker image is around 500mb. This should be reduced with better multi stage building.

Already improved the docker image with the use of slim images (d6a88f2a22bd019c213c7c73ebfdf108dfead204), but it could get improved even more.

Hi Elias
I can take care of that.
Exciting project, by the way!
-jmc

Hey jmc nice to meet you again :) Would be awesome if you could work on that, thank you!

So I had some time today to improve the Dockerfile. The image size has been reduced from 1.27 GB to 533 MB, and the docker build is faster. PR #37
What further can be done? (I would not recommend this unless size is a big issue)

[78 MB] Remove ts-node from the build by executing Prisma seed while building

Due to how Prisma works this is risky

[~50 MB] Use distroless Node on the final stage

Is only possible if installation of "openssl" is not needed

[~100 MB] Bundling/treeshake backend node_modules

Nest.js does not natively support bundling/treeshake
Custom Webpack setup needed


Fix broken links

./docs/user/guide/rules/axe.md

[x] https://www.w3.org/WAI/ => 503
[x] https://www.w3.org/WAI/bcase/soc => 503
[x] https://www.w3.org/WAI/intro/accessibility.php => 503
[x] https://www.w3.org/TR/WCAG20/ => 503

./docs/user/guide/rules/content/type.md

[x] https://www.w3.org/International/questions/qa-what-is-encoding => 503
[x] https://www.w3.org/International/articles/http-charset/index => 503

./docs/user/guide/rules/manifest/exists.md

[x] https://www.w3.org/TR/appmanifest => 503

./docs/user/guide/rules/manifest/file/extension.md

[x] https://www.w3.org/TR/appmanifest => 503

./docs/user/guide/rules/meta/charset/utf/8.md

[x] https://www.w3.org/International/questions/qa-choosing-encodings#useunicode => 503
[x] https://www.w3.org/International/questions/qa-choosing-encodings => 503
[x] https://www.w3.org/International/questions/qa-html-encoding-declarations.en => 503

See also: https://travis-ci.org/sonarwhal/sonar/jobs/248006368

Closing as links are now accessible.


Add x86_64-linux-android support

When rust add support for x86_64-linux-android, the tests may be run with:
rustup target add x86_64-linux-android && bash ci/run-docker.sh x86_64-linux-android.
Android x86_64 emulator does not work without hardware acceleration, so we are not able to run tests on travis.

The tests passes running a local rustc with x86_64-linux-android support. After this PR got merged, I will send a PR to https://github.com/rust-lang/rust.

Awesome, thanks! Looks great to me.
I think there may be a tidy error though?

Ah, I forgot to run tidy... Fixed now.

@bors: r+

:pushpin: Commit 3ca6ad9 has been approved by alexcrichton

:hourglass: Testing commit 3ca6ad9 with merge 7b687ee...

:broken_heart: Test failed - status-appveyor

@bors: retry
On Thu, Apr 20, 2017 at 8:15 AM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - status-appveyor
https://ci.appveyor.com/project/rust-lang-libs/libc/build/1.0.473
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/572#issuecomment-295734229, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95MLbF6-j4PnTetI5Q9YRckS6yYDgks5rx1p6gaJpZM4NBwak
.

:hourglass: Testing commit 3ca6ad9 with merge c34a802...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing c34a802d1eb037b44c5252078c7270b5472e0f65 to master...


How to add .cpp library files to esp idf (IDFGH-4450)

OS: Linux(Ubuntu Mate)
ESP-IDF Version: v4.2
Chip: ESP WROOM 32
I am trying to use Arduino host shield with ESP32 in order to convert USB to SPI. I have tested the working with Arduino UNO and it's working perfectly fine. Now, I want to add the library files used in Arduino in order to initiate the USB port and conversion of data. while I try to add them, I am getting the following error.

Someone please help me fixing this issue. Thanks in advance.

Thanks for reporting. Would you please help provide more details as suggested in the issue template? Information like elf, sdk configuration, backtrace, log outputs, commit ID, hardware and etc. would help us debug further. Thanks.

Hi GunashekarG,
using the arduino library USB_Host_Shield_2.0 with ESP-IDF is not supported. If you want to use this library with the ESP32, you'll need to use arduino-esp32 with the Arduino IDE.

@Kiznoh Thanks for the reply. Is there any other USB host module that I can work with ESP WROOM 32 using ESP-IDF?

It may be possible to use the arduino library by using arduino-esp32 as a component of ESP-IDF by following this procedure: https://github.com/espressif/arduino-esp32/blob/master/docs/esp-idf_component.md
However, you may encounter some weird issues and may not get support for them.

hello im trying to port a wifi client library from Arduino framework to esp idf framework i want to use functions like client.connect() or client.write() since iam not able find APIs like this in esp idf framework i dont want to add arduino as component since its consumes more memory and i dont want all libraries i just want to use Wificlient.cpp functions only so help me out


Is it possible to add option to keep user search query as first item always? (or make it configurable)

This way user can simply press enter and search for the specific query he wants to search for in cases where none of the suggestions are useful.
This is similar issue to #20
You mentioned there that you want to force users to only have the query as the last item which is quite unfortunate because more often than not, from my experience I want to search for a specific thing on Google without relying on suggestions and the suggestions often get in the way.
If you would to reconsider adding this as a configuration where you can either put User query either as the default result (first item) or the last item it would be amazing. For example opening a new tab in safari and searching, it makes the user query as the default and then suggestions follow. I wish the same behaviour was in new Searchio too.
Thank you a lot. It is the only thing I miss greatly from old Searchio.

It’s in there, but only in the Python version.
The Go version of the search is currently a quick proof-of-concept hacked together to see if it’s meaningfully faster (between 3 and 20x FWIW).
I’ll put the query back in as the last option, so UP ARROW will take you straight to it.
I don’t see much point in making it the first option. If you want to enter the entire query yourself, you should be using Alfred’s built-in Web Searches, which are massively faster.
It would also require turning off Alfred’s knowledge, as that’s the only way to ensure the first item you emit is also the first result.

I don’t see much point in making it the first option. If you want to enter the entire query yourself

It's mostly that I want to keep Searchio searches as the main search option for the searches it provides. So I don't want to switch to Alfred web searches or my web searches workflow since I can just use Searchio.
And more often than not, I want to search for a specific thing and not look at suggestions or search for a thing and see if suggestions are any good, if they are, pick them if not, just use my query.
I really like how Chrome and Safari and all other browsers do it where they prioritise the User query first and provide suggestions below to DOWN ARROW to.
If I attempt at making it a configuration where you can mark it in Searchio, will you accept the PR? I will really appreciate it as this is something that would really be helpful for me. Thank you.

It would also require turning off Alfred’s knowledge, as that’s the only way to ensure the first item you emit is also the first result.

I am not too familiar with this. Previous Searchio didn't use Alfred knowledge I suppose because this worked there.

Previous Searchio didn't use Alfred knowledge

Yeah, it did.

It would also require turning off Alfred’s knowledge, as that’s the only way to ensure the first item you emit is also the first result.

Can you explain this sentence please. Since you say it would require turning off Alfred's knowledge for this to work. But then in Python Searchio v1 users could have the first Alfred item be User query. I am a bit confused. 😞

Searchio v1 users could have the first Alfred item be User query

That's true. But as stated in #20, v2 will add the query to the end of the results, not the beginning.
If other people weigh in and say, "No! It's better at the top!", then I'll reconsider, but to my mind the end is a better choice. Especially given the added speed of v2.
The purpose of the workflow is to provide suggestions from the search engine API. If searching for the query you entered were top priority, I would assume you'd use Alfred's built-in Web Search feature, as it's much faster.

you say it would require turning off Alfred's knowledge for this to work

It requires turning of Alfred's knowledge to ensure the query is at the top. It may be there most of the time (as in v1), but the only way to guarantee it is to disable Alfred's knowledge, so it doesn't re-order the results.
Again, if other people chime in with an opinion, I will reconsider.
But at the moment, it's your opinion vs mine, and mine wins because it's my workflow…
Personally, I far prefer not having the query at the top, as the extra speed of v2 means I can often TAB the first result to expand the query and keep on typing.

Personally, I far prefer not having the query at the top, as the extra speed of v2 means I can often TAB the first result to expand the query and keep on typing.

That's a really valid point.
Thanks for the clarification too. I really appreciate it.

I haven't noticed a speed gain with V2 and I have pretty fast internet speed

What does "fast" mean? Latency is what counts here, not bandwidth: the amount of data transferred is tiny.
You may also have a much faster computer than me. My Mac Pro is 10 years old now, and my MacBook Air is a MacBook Air (and also 5 years old)…
The speed advantage of the Go program is all in the time it takes to load and start running.
On my machine, the Python version takes ~0.3s to load, while the Go version takes ~0.03s. If your machine loads the Python version more quickly, the speed difference will shrink (they both load results from the network and cache at more or less the same speed).
If you have jupyter installed, you can try running the Benchmark.ipynb notebook in the extras directory.

It is really fast, don't get me wrong.
I thought it'd be as fast as something like AnyComplete or close to it. But I remember you said why that is impossible to do in Alfred.
But I really appreciate the new update, really.


Add info about shipping to single item page and change year to 2022

[x] Add info about shipping to single item page
[x] change 2023 to 2022

👍


Add bookmarks

It' convenient to have bookmarks feature,something like this: https://imgur.com/a/OSHZ2wB

Feature added,thanks.Closed


Merge beta with the main branch

Merge changes from the beta version to main

Some of the main changes include:

First beta release, initial contents

Fix onLoad/onFrame accessors

screenToWorld2D & minor Vector changes. #5

Camera & focalDistance

Improvements and extra functionality

Dynamic snapshots. Addresses #7

Improvements + major changes to World.run

Fix pause on DEV mode

Runs TimedEvents in order

addToSnapshot & removeFromSnapshot

Introduce Jest tests & CI #2

Tests and bug fixed

createState, Persistant data storage. #4

Fixing unmerged commits 🙂


Can you please add what does "Off" means?

I can see there is a description about External and Internal but there is no any mention about the "Off" option. Also for the external is the external load balancer automatically created? or does it need to be created/managed manually?

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

ID: 8d854b3c-f9f9-7f6a-f889-e19acac2961c
Version Independent ID: ed544e54-d24b-2f37-05b6-8b60eacd2026
Content: How to use Azure API Management with virtual networks
Content Source: articles/api-management/api-management-using-with-vnet.md
Service: api-management
GitHub Login: @vlvinogr
Microsoft Alias: apimpm

@msghaleb The Off option is the default deployment model where APIM is not deployed into a user configurable VNET.
All load balancers mentioned here are created and managed for you.

@msghaleb Hope my previous comment clears things up. We are assigning this issue to the content author for further review and to update the doc as appropriate.

The doc is being updated with the definition for off, once the changes have been merged this issue will automatically close.  If you have any other issues please don't hesitate to reach out.

#please-close


Document interaction between custom profiles and overrides

Not sure if I actually captured the behavior correctly.
What does this PR try to resolve?
Do custom profiles keep package overrides requiring the exact same set to be duplicated if a setting needs to be changed, or are the overrides discarded for a custom profile & the overrides need to be repeated if any settings need to be persisted?
How should we test and review this PR?
N/A - just need to document current behavior.
Additional information
N/A

@rustbot review

@ehuss fixed the wording to reflect the correct state.

I'm not sure how to check whether things work as expected so any tips are appreciated.
@ehuss what's the opt-level for package foo in this scenario?
[profile.dev]
opt-level = 0

[profile.dev.package.foo]
opt-level = 2

[profile.opt-dev]
opt-level = 1

It it 1 or 2

@rustbot author

@vlovich are you still interested in moving this forward?

:umbrella: The latest upstream changes (presumably #14620) made this pull request unmergeable. Please resolve the merge conflicts.

I'm going to close due to inactivity. There were some imprecise understanding in the patch. If you have a chance to help and improve it, feel free to reopen a pull request.


Mast: Watch islamicwazifa.hatenadiary.com

Mast requests the watch of the watch_keyword islamicwazifa\.hatenadiary\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

islamicwazifa\.hatenadiary\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Daniil in Charcoal HQ


[gha] sccache publish osx object files.

Motivation
When landing on master produce osx object files per crate and store in s3
Have you read the [Contributing Guidelines on pull requests]
Yes
Test Plan
CI and local pulls.
https://github.com/diem/diem/runs/1864797013?check_suite_focus=true
Related PRs
None

/land


Bug with converting to base64

Hi!
I need to show result qr-code in img html tag using base64 encoding.
e.g.
When I use options Ecc.High and Ecc.Quartile all is ok.
But when I use options Ecc.Low and Ecc.Medium image is not shown.
I explored the result base64 string and saw that it had incorrect format. At the end of the string there is only one symbol "=" (but must be "=="). And If I take away several last symbols (about 600) of the string and add "=" symbol, everything is getting ok.
Also when I save bitmap to file (.png), everything is good. Problem is only with base64 string.
May be some unnesassary bytes get to bitmap when using options Low and Medium ?
My code:
public string ToBase64(string data)
{
            var qrCode = QrCode.EncodeText(data, QrCode.Ecc.Low);
            using (var ms = new MemoryStream())
            using (var bitmap = qrCode.ToBitmap(6, 10);)
            {
                bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                return Convert.ToBase64String(ms.GetBuffer());
            }
}

The Base 64 encoded string is generated by Convert.ToBase64String(). This is a function of the .NET framework and not related to the QR generator code.
So if you think the function generates invalid Base 64, you should contact Microsoft or a .NET related forum. However, I somewhat doubt this function has a bug that hasn't been discovered in the last few years.


wip: new eslint rules and fix/ignore errors

fixes #1668
I adjusted some rules as they felt unnecessarily restrictive for our usecase and added some rules to prevent misbehaviour and ease reviews.
Most of the checks are passing, but I rebased some commits recently so those might still need work.

should no-non-null-assertion rule be enabled?

continuing with this @turbocrime

@penumbra-zone/web-team requesting re-review on the latest commit - turned on no-non-null-assertions and ignored the existing errors


Multi monitor focusing (physical external monitor, not virtual desktop)

Description of the new feature / enhancement
Some simple shortcut to jump focus between monitors (e.g. between primary and secondary monitors or maybe even numbered shortcut to jump directly to specific monitor). It would make sense if the last used window on that specific monitor is focused and maybe additional keys to navigate splits within that monitor.
It seems like extended monitors on windows are considered as an extension of the same virtual desktop, thus a huge list of windows open on both monitor will jumbled up all in one single alt + tab list which makes sense because they share the same virtual desktop, however the result of this is an unusable navigation due to huge amount of windows on two different screen that shares the same alt tab list.
I would say the default implementation of window management for multi monitor in windows isn't ideal.
Scenario when this would be used?
People who have more than one monitor and doing tasks back and forth while typing requires absurd amount of mouse moving and clicking in order to focus different screens.
Supporting information
I would agree that this is something that should exist within OS itself, otherwise at the very least in powertoyz for power user. I would disagree on installing some 3rd party tools trying to achieve this and will possibly be archived sooner or later due to constant windows update and breakage. This should've been part of the OS.

Have you seen the Mouse Jump utility in PowerToys? It sounds like it might be a close-ish match for what you're after.
When you hit the activation keys (Win + CTRL + D by default) it shows a miniature thumbnail of your entire desktop and when click it the mouse "jumps" to the location you clicked.
The utility is disabled by default but you can enable it and / or change the activation keys in PowerToys Settings.
And if you've got a spare button on your mouse you can also use your manufacturer's software to assign a button to the activation keys so you don't need to use the keyboard to show the desktop thumbnail.


fixed #597

fixes https://github.com/quantified-uncertainty/squiggle/issues/597
    describe("ternary bindings", () => {
      testToExpression(
        // expression binding
        "f(a) = a > 5 ? 1 : 0; f(6)",
        "(:$$_block_$$ (:$_let_$ :f (:$$_lambda_$$ [a] (:$$_block_$$ (:$$_ternary_$$ (:larger :a 5) 1 0)))) (:f 6))",
        ~v="1",
        (),
      )
      testToExpression(
        // when true binding
        "f(a) = a > 5 ? a : 0; f(6)",
        "(:$$_block_$$ (:$_let_$ :f (:$$_lambda_$$ [a] (:$$_block_$$ (:$$_ternary_$$ (:larger :a 5) :a 0)))) (:f 6))",
        ~v="6",
        (),
      )
      testToExpression(
        // when false binding
        "f(a) = a < 5 ? 1 : a; f(6)",
        "(:$$_block_$$ (:$_let_$ :f (:$$_lambda_$$ [a] (:$$_block_$$ (:$$_ternary_$$ (:smaller :a 5) 1 :a)))) (:f 6))",
        ~v="6",
        (),
      )
    })

Codecov Report

Merging #600 (ce5f123) into develop (5caad73) will decrease coverage by 2.74%.
The diff coverage is 100.00%.

:exclamation: Current head ce5f123 differs from pull request most recent head 217a783. Consider uploading reports for the commit 217a783 to get more accurate results

@@             Coverage Diff             @@
##           develop     #600      +/-   ##
===========================================
- Coverage    55.13%   52.38%   -2.75%
===========================================
  Files           48       51       +3
  Lines         3047     3205     +158
===========================================
- Hits          1680     1679       -1
- Misses        1367     1526     +159

Impacted Files
Coverage Δ

...educer_Dispatch/Reducer_Dispatch_BuiltInMacros.res
100.00% <100.00%> (ø)

...ducer_Expression/Reducer_ExpressionWithContext.res
100.00% <100.00%> (ø)

...ript/FunctionRegistry/FunctionRegistry_Library.res
55.17% <0.00%> (-33.72%)
:arrow_down:

...ucerInterface/ReducerInterface_ExpressionValue.res
32.91% <0.00%> (-23.81%)
:arrow_down:

...ript/Distributions/SampleSetDist/SampleSetDist.res
27.77% <0.00%> (-8.59%)
:arrow_down:

...escript/FunctionRegistry/FunctionRegistry_Core.res
48.27% <0.00%> (-8.29%)
:arrow_down:

...ucer/Reducer_Dispatch/Reducer_Dispatch_BuiltIn.res
86.04% <0.00%> (-6.46%)
:arrow_down:

...ript/FunctionRegistry/FunctionRegistry_Helpers.res
41.66% <0.00%> (-4.63%)
:arrow_down:

packages/squiggle-lang/src/rescript/Utility/E.res
43.32% <0.00%> (-0.79%)
:arrow_down:

...ucerInterface/ReducerInterface_ExternalLibrary.res
100.00% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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

Looks good to me, happy to see this be fixed so quickly!


Add Bitstamp last BTC price plugin

I just added a script based on the Coinbase plugin to show bitstamp last BTC price instead :) :chart_with_upwards_trend: :rocket: :moon:

Please add your name and a link to the Contributors list on https://github.com/matryer/bitbar/blob/master/Plugins/README.md.


add humanize-number

@deecewan Are you still interested in getting this merged in? If that's the case, I'd recommend setting a lower limit to the flow version (by replacing flow_all). We can look at the failing specs after that.


Remove Mutual Authentication (Fixing KUKSA Server token handling)

This is a follow up to #23. Previously we always had default client key/certs and fed them to KUKSA Server unless some other key/cert was given. So in short, they were never null or empty string. Now they might be empty unless specified in config or similar, so we must handle that scenario. But opting for removing client key support instead.

@SebastianSchildt - I noticed a side effect for ws/server connection after removing default certs/tokens, instead of adapting I think this could be a good time to remove client key/cert handling, as we anyway do not support it in Server or databroker, and do not plan to support it.


Fix: Fixed ArgumentOutOfRangeException in ItemViewModel

BeginBulkOperation suppresses CollectionChanged and allows changing the collection in non-UI threads. But changing the collection still needs to be done in UI threads, because changes in non-UI threads may not be seen from UI threads soon due to the memory cache.
This PR puts all FilesAndFolders operations into UI threads. This may affect UI performance, but ArgumentOutOfRangeException should no longer be thrown.
Resolved / Related Issues

[X] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #14169

Validation
How did you test these changes?

[X] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[ ] Are there any other steps that were used to validate these changes?

But changing the collection still needs to be done in UI threads

I think only signaling the event is necessary to happen on UI threads.

I think only signaling the event is necessary to happen on UI threads.

I thought so, too. But I found that putting a breakpoint between the collection change in the non-UI thread and the triggering of the event in the UI thread prevents the exception that could have occurred without the breakpoint. This implies that collection changes are not synchronized between threads. In fact, this PR prevents exceptions. I guess ObservableCollection doesn't assume that collection changes and event triggering take place in different threads.


page.url not reactive on the new $app/state module.

Describe the bug
When you try to hear for changes on page.url using $derived it won't work. For example If ones has a +page.svelte that wants the value of a searchParams like this:
const currentPage = $derived(page.url.searchParams.get("page") || "");

And then you update the searchParams using goto:
const { url } = page;

url.searchParams.set('page', newPage);

goto(url, { replaceState: true, noScroll: true, keepFocus: true, invalidateAll: true })

The value of currentPage won't be updated it. I tried multiple combinations of this, and the only thing that works is listening to another value of page. For example something like this:
const currentPage = $derived.by(() => {
  page.state;

  return page.url.searchParams.get('page') || '';
});

Now if I change the searchParams my currentPage will be updated to the correct value.
Also this used to work using the $app/store module:
// This works.
const currentPage = $derived($page.url.searchParams.get('page') || '');

Reproduction
https://replit.com/@GonzaloCaballe1/Reproduction
+page.svelte:

  Current Page:
  <input
    id="current_page"
    bind:value={
      () => page.url.searchParams.get("page"),
      (newPage) => {
        const { url } = page;

        url.searchParams.set("page", newPage);

        goto(url, {
          replaceState: true,
          noScroll: true,
          keepFocus: true,
          invalidateAll: true,
        });
      }
    }
  />

Current Page Not Working: {currentPage}

Current Page Working: {currentPageWorking}

Logs
No response
System Info
System:
  OS: macOS 14.5
  CPU: (10) arm64 Apple M1 Pro
  Memory: 105.55 MB / 16.00 GB
  Shell: 5.9 - /bin/zsh
Binaries:
  Node: 22.11.0 - ~/.nvm/versions/node/v22.11.0/bin/node
  npm: 10.9.0 - ~/.nvm/versions/node/v22.11.0/bin/npm
  pnpm: 9.14.2 - ~/Library/pnpm/pnpm
  bun: 1.1.9 - ~/.bun/bin/bun
npmPackages:
  svelte: 5.14.1 => 5.14.1

Severity
annoyance

according to the docs goto takes a string or URL.  However, this only currently works with a string.
Working Reproduction SvelteLab
this works or url.toString()
        goto(`?${url.searchParams.toString()}`, {
          replaceState: true,
          noScroll: true,
          keepFocus: true,
          invalidateAll: true,
        });

this doesn't:
        goto(url, {
          replaceState: true,
          noScroll: true,
          keepFocus: true,
          invalidateAll: true,
        });

Svelte Reactivity seems to be fine with SvelteURL

This snippet works because we're not mutating the $page/state URL object

  Current Page:
  <input
    id="current_page"
    bind:value={() => page.url.searchParams.get("page"),
    (value) => {
      const searchParams = new URLSearchParams(page.url.search);

      if (value) {
        searchParams.set("page", value);
      } else {
        searchParams.delete("page");
      }

      goto(`?${searchParams}`, {
        replaceState: true,
        noScroll: true,
        keepFocus: true,
        invalidateAll: true,
      });
    }}
  />

Current Page: {currentPage}

It's kind of a similar request to https://github.com/sveltejs/kit/issues/13178 where people want $page/state to be mutable whereas I think it wasn't intended to work this way? Thoughts? @dummdidumm @Rich-Harris

This is probably because when the URL is not actually updating by reference, $state.raw says "nothing changed" and won't trigger an update.
Either we always wrap it in a new URL(...) or we implement a version counter under the hood for it.

@dummdidumm @Rich-Harris  was the page.url created as state.raw on purpose so it's not deeply reactive with unwanted side-effects?
why not use SvelteURL for full reactivity? e.g. playground SvelteURL with searchParams reactivity
https://github.com/sveltejs/kit/blob/089159cc10a6d5a00cb693b48fc543785ca23e6b/packages/kit/src/runtime/client/state.svelte.js#L39

while that's a nice idea, we can't do that at least in SvelteKit 2 while we still support Svelte 4, because we would need to import it from somewhere that does not exist in Svelte 4.

while that's a nice idea, we can't do that at least in SvelteKit 2 while we still support Svelte 4, because we would need to import it from somewhere that does not exist in Svelte 4.

but how are we using $state.raw then?  There is a flag above to check for legacy: https://github.com/sveltejs/kit/blob/089159cc10a6d5a00cb693b48fc543785ca23e6b/packages/kit/src/runtime/client/state.svelte.js#L17C5-L40
But if you mean that the behavior in SvelteKit 2 with Svelte v4 vs v5 will be different (reactive vs not), yeah.... I mean, it could be documented and people with Svelte 5 can start benefitting from this without having to wait for SvelteKit version 3.

That's not why. These values are readonly — if we use SvelteURL then any miscreant will be able to do things like page.url.pathname = '/potato'. It needs to be controlled by the framework

@Rich-Harris Hey! Just to clarify, I don't expect variables using $derived to react whenever I change something in page.url.searchParam. I understand that the page state is readonly. However, I do expect my $derived values to update when navigating to a different page.
// This should not work
const currentPage = $derived(page.url.searchParams.get('page') || '');
page.url.searchParams.set('page', newPage);

// This should work
const currentPage = $derived(page.url.searchParams.get('page') || '');
page.url.searchParams.set('page', newPage);
goto(page.url, { replaceState: true, noScroll: true, keepFocus: true, invalidateAll: true })

Also, while currently goto(page.url) doesn't work, using a link does.

1

That's not why. These values are readonly — if we use SvelteURL then any miscreant will be able to do things like page.url.pathname = '/potato'. It needs to be controlled by the framework

Not sure I understand because at least client-side, while page.url itself is read-only, the pathname is writable via URL.

That's not why. These values are readonly — if we use SvelteURL then any miscreant will be able to do things like page.url.pathname = '/potato'. It needs to be controlled by the framework

Not sure I understand because at least client-side, while page.url itself is read-only, the pathname is writable via URL.

The intention is that these values are read-only. https://svelte.dev/docs/kit/$app-state

SvelteKit makes three readonly state objects available via the $app/state module — page, navigating and updated.

For example, updating url.pathname doesn't actually navigate to that URL. It's a one way source of truth.

@Gonzalo9823 agree, it's a totally reasonable expectation. We can fix it just by ensuring that page.url is a new object following goto (I think that's the only place where a mutation would go undetected) — #13196


zbus' blocking API causes panicks for async users

I'm getting users (primarily tokio) coming to me about strange panics like these even though they're not using zbus directly:
thread 'main' panicked at [...]/zbus-3.14.1/src/utils.rs:47:14:
Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.

Turns out accesskit is using the blocking API of zbus and of course, that's going to get you in trouble if you call them from an async context with most runtimes. tokio at least gives a hint so people know who to contact but other runtimes may just hang.
zbus is primarily async since version 2 and the blocking APIs are only there for folks who just want to quickly try the API or folks who are 100% sure async is not something they'll want to use (which is typically application developers).
For libraries, I highly recommend using the async API (providing blocking wrappers where appropriate). If blocking API is really what you want, I recommend incompatibility with async be well-advertised in the docs. Currently, crate level docs don't even exist. They should document this very important fact IMO.

@zeenix Thanks for reporting this. Can you ask any of the users who reported this to give us either a link to their project if it's open source, or a minimal sample program that reproduces the problem? Feel free to just point them at this issue.

A little bit too high level of example, but it is how I run into this issue
main.rs
use eframe::egui;

#[tokio::main]
async fn main() -> Result<(), eframe::Error> {
    eframe::run_native(
        "My egui App",
        eframe::NativeOptions {
            ..Default::default()
        },
        Box::new(|_cc| {
            // This gives us image support:
            Box::new(MyApp {})
        }),
    )
}

struct MyApp {}

impl eframe::App for MyApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        egui::CentralPanel::default().show(ctx, |_ui| {});
    }
}

Cargo.toml
[package]
name = "tokio-zbus"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
# GUI
eframe = "0.24"

# Async framework
tokio = { version = "1", features = ["full"] }

# Need to access NetworkManager
zbus = { version = "3", default-features = false, features = ["tokio"] }

Error
    Finished dev [unoptimized + debuginfo] target(s) in 0.16s
     Running `target/debug/tokio-zbus`
thread 'main' panicked at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zbus-3.14.1/src/utils.rs:47:14:
Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[user@localhost tokio-zbus]$ RUST_BACKTRACE=1 cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s
     Running `target/debug/tokio-zbus`
thread 'main' panicked at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zbus-3.14.1/src/utils.rs:47:14:
Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.
stack backtrace:
   0: rust_begin_unwind
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
   2: tokio::runtime::context::runtime::enter_runtime
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/runtime.rs:68:5
   3: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
   4: tokio::runtime::runtime::Runtime::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/runtime.rs:348:47
   5: zbus::utils::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zbus-3.14.1/src/utils.rs:47:5
   6: accesskit_unix::util::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/accesskit_unix-0.6.2/src/util.rs:13:5
   7: accesskit_unix::adapter::Adapter::new
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/accesskit_unix-0.6.2/src/adapter.rs:219:29
   8: accesskit_winit::platform_impl::platform::Adapter::new
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/accesskit_winit-0.15.0/src/platform_impl/unix.rs:21:23
   9: accesskit_winit::Adapter::with_action_handler
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/accesskit_winit-0.15.0/src/lib.rs:73:23
  10: accesskit_winit::Adapter::new
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/accesskit_winit-0.15.0/src/lib.rs:56:9
  11: egui_winit::State::init_accesskit
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/egui-winit-0.24.1/src/lib.rs:161:31
  12: eframe::native::epi_integration::EpiIntegration::init_accesskit
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/epi_integration.rs:214:9
  13: eframe::native::glow_integration::GlowWinitApp::init_run_state
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/glow_integration.rs:262:17
  14: <eframe::native::glow_integration::GlowWinitApp as eframe::native::winit_integration::WinitApp>::on_event
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/glow_integration.rs:418:21
  15: eframe::native::run::run_and_return::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:123:28
  16: winit::platform_impl::platform::sticky_exit_callback
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/mod.rs:884:9
  17: winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:334:17
  18: winit::platform_impl::platform::x11::EventLoop<T>::run_return
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:443:31
  19: winit::platform_impl::platform::EventLoop<T>::run_return
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/mod.rs:785:56
  20: <winit::event_loop::EventLoop<T> as winit::platform::run_return::EventLoopExtRunReturn>::run_return
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform/run_return.rs:51:9
  21: eframe::native::run::run_and_return
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:79:5
  22: eframe::native::run::run_glow::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:372:13
  23: eframe::native::run::with_event_loop::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:61:9
  24: std::thread::local::LocalKey<T>::try_with
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:270:16
  25: std::thread::local::LocalKey<T>::with
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:246:9
  26: eframe::native::run::with_event_loop
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:55:5
  27: eframe::native::run::run_glow
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/native/run.rs:370:16
  28: eframe::run_native
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/eframe-0.24.1/src/lib.rs:249:13
  29: tokio_zbus::main::{{closure}}
             at ./src/main.rs:5:5
  30: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/park.rs:282:63
  31: tokio::runtime::coop::with_budget
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:107:5
  32: tokio::runtime::coop::budget
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:73:5
  33: tokio::runtime::park::CachedParkThread::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/park.rs:282:31
  34: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/blocking.rs:66:9
  35: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/multi_thread/mod.rs:87:13
  36: tokio::runtime::context::runtime::enter_runtime
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
  37: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
  38: tokio::runtime::runtime::Runtime::block_on
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/runtime.rs:350:45
  39: tokio_zbus::main
             at ./src/main.rs:5:5
  40: core::ops::function::FnOnce::call_once
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

More context in #227
So we use async zbus types everywhere now and we expose an async-std and a tokio feature. But since we don't expose an async API, we have to run everything inside:

zbus::block_on if the tokio feature is not enabled,
a single-threaded tokio executor otherwise.

Until we figure out something else, the Unix adapter must not be used inside an async context. This should have been documented as part of #248, my mistake.
Now it will be a pain to communicate this fact to projects like egui...
Once we bump our MSRV to 1.75, maybe we'll be able to expose a fully async API.

zbus::block_on if the tokio feature is not enabled,

woa! That's internal API. I only exposed that for our tests (and macros I think). I suggest not using API that's marked as #[doc(hidden)]. That's almost always a bad idea in general.

a single-threaded tokio executor otherwise.

That's a good choice.

Until we figure out something else, the Unix adapter must not be used inside an async context. This should have been documented as part of #248, my mistake.

:+1:

Now it will be a pain to communicate this fact to projects like egui...

Mentioning this in the crate docs and README would go a long way, I think.

Once we bump our MSRV to 1.75, maybe we'll be able to expose a fully async API.

That would be the best solution.

Is the use of zbus::block_on in accesskit recent? In https://github.com/dbus2/zbus/issues/526 I mentioned an issue with there is no reactor running, must be called from the context of a Tokio 1.x runtime' when the tokio feature of zbus but not accesskit is enabled. Not seeing that if I try it now, it seems.
Having zbus::block_on public makes sense for this sort of thing, since it is guaranteed to work with zbus futures, while something like futures::executor::block_on would panic if the tokio feature of zbus were enabled.

@ids1024 The behavior changed in accesskit_unix 0.5.0 and accesskit_winit 0.14.0.

@zeenix
I used zbus::block_on even though it is internal stuff because we were really concerned with the size of the dependency tree, and it was a convenient helper.
We initially wanted to not bring our own executor and try to integrate with whatever the user already had. Since we basically dropped this idea for tokio, we might as well do the same for async-std.
Exposing an async API feels nice, but since AccessKit adapters have to integrate with the event loop, this might not help much. That is, until an async windowing crate comes along.

I used zbus::block_on even though it is internal stuff because we were really concerned with the size of the dependency tree, and it was a convenient helper.

Use of internal API is a strange solution to the problem tbh but your project, your way. :) Just keep in mind, that this API can change or even removed in any release (even a patch release, if needed).

We initially wanted to not bring our own executor and try to integrate with whatever the user already had. Since we basically dropped this idea for tokio

I see that you provide  tokio and async-io features. Why not use block_on from either of them, based on the enabled feature (just like zbus does)?

Exposing an async API feels nice,

It's not only nice but also something I'd expect from any API that does I/O (especially IPC) as a user these days.

but since AccessKit adapters have to integrate with the event loop, this might not help much. That is, until an async windowing crate comes along.

I'm not sure that's necessarily required. There are at least 2 options here:

Make use of tokio::task::spawn_blocking or blocking::unblock (in case of async-io) to turn blocking I/O calls into async calls.
Use the typical solution of splitting async and blocking API use in separate threads, communicating with channels between them.

@zeenix

Use the typical solution of splitting async and blocking API use in separate threads, communicating with channels between them.

This is the route I have already taken. In fact all the calls to zbus happen inside a single task since latest accesskit_unix version.
So the best solution here would probably be to make the code running in the main/UI thread completely blocking, and spawn our own executor no matter which feature is selected. This way we don't care if the adapter is used inside an async context.

So the best solution here would probably be to make the code running in the main/UI thread completely blocking, and spawn our own executor no matter which feature is selected. This way we don't care if the adapter is used inside an async context.

@DataTriny Yeah, that sounds right. And the code in the main thread should use something like futures_lite::future::block_on, so it's not dependent on async-io or tokio.


Add a Cargo.lock

Building with Buildroot requires a Cargo.lock.
This change also fixes the version of clap_derive for compatibility with  Buildroot's rustc (currently @ 1.71.1).

This is not needed anymore.
The original problem does not pop up when using a more modern buildroot (which includes newer rustc).


Describe the bug
Since 1.16 was released, rake is broken. See full trace here https://travis-ci.org/github/dev-sec/chef-os-hardening/jobs/763925521
$ bundle exec rake kitchen
rake aborted!
ArgumentError: wrong number of arguments (given 1, expected 0)
/home/travis/build/dev-sec/chef-os-hardening/vendor/bundle/ruby/2.6.0/gems/github_changelog_generator-1.16.0/lib/github_changelog_generator/task.rb:34:in `initialize'
/home/travis/build/dev-sec/chef-os-hardening/vendor/bundle/ruby/2.6.0/gems/github_changelog_generator-1.16.0/lib/github_changelog_generator/task.rb:34:in `initialize'
/home/travis/build/dev-sec/chef-os-hardening/Rakefile:57:in `new'
/home/travis/build/dev-sec/chef-os-hardening/Rakefile:57:in `<top (required)>'
/home/travis/build/dev-sec/chef-os-hardening/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/home/travis/.rvm/rubies/ruby-2.6.3/bin/ruby_executable_hooks:24:in `eval'
/home/travis/.rvm/rubies/ruby-2.6.3/bin/ruby_executable_hooks:24:in `<main>'
(See full trace by running task with --trace)
The command "bundle exec rake kitchen" exited with 1.
cache.2

To Reproduce
Create Rakefile with
begin
  # read version from metadata
  metadata = Chef::Cookbook::Metadata.new
  metadata.instance_eval(File.read('metadata.rb'))

  # build changelog
  require 'github_changelog_generator/task'
  GitHubChangelogGenerator::RakeTask.new :changelog do |config|
    config.future_release = "v#{metadata.version}"
    config.user = 'dev-sec'
    config.project = 'chef-os-hardening'
  end
rescue LoadError
  puts '>>>>> GitHub Changelog Generator not loaded, omitting tasks'
end

Run bundle exec rake kitchen
Expected behavior
No error. Expected documentation about required changes, if any.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
1.15.2 was working OK.

@mfortin What happens to your rake task if you attempt to leave out the :changelog argument (which is the default, according to https://github.com/github-changelog-generator/github-changelog-generator/blob/master/lib/github_changelog_generator/task.rb#L35 ) ?

@mfortin Does the change in the linked PR change things for you?

I have the same issue and removing the super call as done #943 seems to fix it.

removing :changelog seems to be OK.

I believe the right solution is to remove the super call, as it is backward compatible

Maybe you can keep the super call only when there's no argument passed and emit a deprecation warning for who is still using it if you want to remove it in the future.

@kennyadsl Calling super() allows it work, too.

Right!

@olleolleolle are you planning on creating a new release today ?


Adding example: Extend a Image classification model to classification and localization model

Can I work on adding example for Image classification and localization using the idea from OverFeat?

Hi @krn-sharma ,
Just checking if you have any update on the issue.
Check our Computer vision based examples here for all the latest examples https://keras.io/examples/vision/
Thanks!


Demoable for single bounding box

this code works for a single bounding box (at least when i tested with katie's data over huntsman or NCH)
@abhisuri97

multiple boxes seems fine except the last (i.e. earliest week) summary doesn't show up


Custom Speech Endpoint for JS

Describe the bug
Passing the endpointId, WebSocket connection to STT fails. If endpointId is not passed, the SDK works fine.
To Reproduce
Steps to reproduce the behavior:
async sttFromMic() {
	  const tokenObj = await this.getTokenOrRefresh();
	  const speechConfig: SpeechConfig =
		speechsdk.SpeechConfig.fromAuthorizationToken(
		  tokenObj.authToken,
		  tokenObj.region
		);
	  speechConfig.endpointId = 'my custom speech endpoint id';
	  speechConfig.speechRecognitionLanguage = 'en-US';
	  speechConfig.speechSynthesisLanguage = 'en-US';
	  const audioConfig: AudioConfig =
		speechsdk.AudioConfig.fromDefaultMicrophoneInput();
	  const recognizer: SpeechRecognizer = new speechsdk.SpeechRecognizer(
		speechConfig,
		audioConfig
	  );
	  recognizer.startContinuousRecognitionAsync();
	  //  The event recognizing signals that an intermediate recognition result is received.
	  recognizer.recognizing = function (s, e) {
		console.log(recognizer.speechRecognitionLanguage);
		console.log('recognizing text', e.result.text);
	  };
	  //  The event recognized signals that a final recognition result is received.
	  recognizer.recognized = function (s, e) {
		console.log('recognized text', e.result.text);
	  };
	}

async getTokenOrRefresh() {
  const cookie = new Cookie();
  const speechToken = cookie.get('speech-token');

  if (speechToken === undefined) {
    const speechKey = 'my key';
    const speechRegion = 'westus';

    const headers = {
      headers: {
        'Ocp-Apim-Subscription-Key': speechKey,
        'Content-Type': 'application/x-www-form-urlencoded',
      },
    };

    try {
      const tokenResponse = await axios.post(
        'https://${speechRegion}.api.cognitive.microsoft.com/sts/v1.0/issueToken',
        null,
        headers
      );
      cookie.set('speech-token', speechRegion + ':' + tokenResponse.data, {
        maxAge: 540,
        path: '/',
      });
      return {
        authToken: tokenResponse.data,
        region: speechRegion,
      };
    } catch (err) {
      console.log(err);
    }
  } else {
    console.log('Token fetched from cookie: ' + speechToken);
    const idx = speechToken.indexOf(':');
    return {
      authToken: speechToken.slice(idx + 1),
      region: speechToken.slice(0, idx),
    };
  }
}

Version of the Cognitive Services Speech SDK
Javascript SDK version - 1.17.0
Platform, Operating System, and Programming Language

OS: [e.g. Windows, Linux, Android, iOS, ...]

I have the exact same issue,
I'm almost certain it is a bug as I've used the same functions in python and got the expected result :
https://github.com/Azure-Samples/AzureSpeechReactSample/issues/2 (Sorry I've missplaced the issue).

@Ananya-96 @adriensas Deployment IDs are tied to a specific key and region pair. Using the latest JS SDK version, I received the same "connection failed" (with a 404) error when using a valid deployment ID not paired to an otherwise valid key.
When retesting with a valid deployment ID and the key to which that ID is paired, however, there was no connection error, so I'm wondering if that's the issue you are seeing.
@adriensas, You mentioned that your endpoint ID worked in python, correct? If your endpoint ID and key still works in python, but not JS, could you followup with me at <my_github_username>(at)microsoft(dot)com?
Thanks again for using Speech SDK!

@Ananya-96 @adriensas Please confirm if the information provided in https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1116#issuecomment-883592428 does help in your case or if you need more support.

Closing the item since no further updates received & issues presumed resolved based on https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1116#issuecomment-883592428. Please open a new issue if more support is needed.

@pankopon I'm very sorry for the late reply I didn't have the time to come back to that matter before.
If tried many things meanwhile.
It seems that the custom endpoint works in JS when using a predefined language but when I use the AutoDetectSourceLanguageConfig and I instantiate the recognizer with sdk.SpeechRecognizer.FromConfig(speechConfig, autoDetectConfig, audioConfig), it cease working even though it detects the correct language to which I've associated the custom endpoint id.
Thank you in advance for your help.


Added Bogo Sort

Description of Change

Checklist

[ ] Added description of change
[ ] Added file name matches File name guidelines
[ ] Added tests and example, test must pass
[ ] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[ ] Relevant documentation/comments is changed or added
[ ] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

Tests were failing and I didn't follow guidelines.


Update SLIs/SLOs for Dashboard component

We need to update the SLIs/SLOs for all components. This issue is for updating the RHODS Dashboard component.
This issue will require two steps:

Updating the SLIs/SLOs offline for your component.
Meeting with other component leads/QE and discussing/refining the SLIs/SLOs (I'll schedule the meeting once all components are updated).

I will share the document that needs to be updated, when this issue is assigned.
If this could be completed in the next couple of weeks, that would be great.

@maryfrances01 Hi! I've just reviewed https://github.com/opendatahub-io/odh-dashboard/issues/1702 and it seems the old SLOs are quite outdated, we have a lot of new components right now.
Our main issue here is that most of our issues are raised in the browser, and no longer are in the pods, that's something we might wanna discuss
cc @andrewballantyne @christianvogt @alexcreasy

Hi @lucferbux thanks for looking at 1702! That issue and this one are separate though.
1702 is about reviewing the SOPS that SREs use when we are alerted on issues. We are hoping to move them to KCS articles so that CEE could use them as well.
This issue is for updating the SLIs/SLOs.  You can access the link for updating the SLIs/SLOs here: https://docs.google.com/document/d/193TCezqdJogX1PvuDGAQDjhyEMv3DeZEpVeDrhenj4k/edit#heading=h.6y6mpgy6grs2
Let me know if you have any questions about the SLIs/SLOs.

Ok, yes, I'm sorry, I got confused.
@andrewballantyne I can take the lead here but I would love to have some discussions about it, I think several people should review this to share some ideas, given the past experiences we've had with 500 errors and pings to SREs. We can plan this ahead for next sprint and sync.

@lucferbux and @andrewballantyne
Yes, this is just a first pass at updating the SLIs/SLOs. Once everyone has updated the SLIs/SLOs for their components, and everyone has a chance to comment on the document, we will all meet an discuss how they can be improved more, if needed.

Yes, update, some of the User Journeys are outside of scope right now for the dashboard. We mostly use client side requests, so we don't have observability in our pod, we can take a further look about that, I'm sure there's a way to monitor pass through, but the current set up with prometheus will not handle that.
cc @andrewballantyne @alexcreasy @christianvogt any thoughts here?

We have a record-based logging system (outside of Pod logs) Landon put together for adminActivity. But we don't have general information like requests for all users and other observability other than whatever is naturally done by OpenShift Console on Pods.
What kind of observability do we need?

We can have a conversation about this, as the Dashboard is mainly a reflection of Openshift and the rest of the components, I think more or less everything is covered, but there are plenty of edge cases that we are adding that would be amazing to be covered (i.e. roles in projects and so).  Not sure how much of that is relevant enough, but for example for the  As a data scientist, I want to serve a model by creating a model server and then serving the saved model. User Journey, maybe logging the issue of failed rolebindings when enabling route security can be interesting.

We have migrated all work to Jira - please contact me off line to talk about how to move this forward if this is still a requirement or there is any remaining work on it.


Changing properties crashes Visual Studio (2013/2015/2017)

How to reproduce?
Here's my step-by-step crash reproduction with cartesianChart in a WinForm application
Place Cartesian Chart on Form

In properties under 'Misc' Click on AxisY
Click on the '...'
Change MaxValue from NaN to 100
Click OK -- immediate crash and visual studio restarts*

Extra notes
I've also tried setting the MinValue from NaN to 0 at the same time to see if that solved it, but it did not.
I am using
Visual Studio 2013 Community
Visual Studio 2015 Community
Visual Studio 2017 Enterprise

I was not able to reproduce, I am using VS 2015 CE, it didn't throw, but the axis limit was not set properly.
If anyone is facing this issue do no use the designer to add axes for now, instead do it from code behind:
cartesianChart1.AxisY.Add(new Axis
            {
                MinValue = -1,
                MaxValue = 1,
                LabelFormatter = _vm.YFormatter,
                Separator = new Separator
                {
                    Stroke = new SolidColorBrush(Color.FromRgb(235,235,235))
                }
            });

I will close this now, the library works fine with WinForms, considering that we also have more solid options  like WPF and UWP to have a better support the Designer (WinForms) requires a considerable amount of work, and I personally don't think it is worth.

Well I just started using LiveCharts and love it so far.  But I am stuck doing WinForms, and the poster is right - in VS 2017 community, touching anything in designer crashes VS.  Here's one vote for continuing to support WinForms in VS 2017 LiveCharts!
Thanks for the great work.

This is definitely an issue in VS 2015, WinForms is still very relevant.


Block producer will not include any blobs in the block if there are over 20,000 txs in their mempool

As pointed out by @nashqueue, the mechanism that estimates the first compact share will begin to pick a value that attempts to fit all of the transactions in the block. The current estimation algorithm has no way of changing the first compact share value, and will continue to layout the square using that value. While this is not a critical issue for "normal" conditions (<10000 transactions per block), this starts becoming an issue if we have tens of thousands of transactions in the block, because the first compact share will be so large that we are unable to pack the square efficiently.
While unlikely given the mempool default value for max txs is 5000, if we have over 20,000 txs in the mempool, then this becomes a critical issue, as we will not be able to fit any blobs in the square at all. This means that no PFB transaction will be allowed in either, only normal cosmos-sdk transactions. There could be a scenario where all validators have >20,000 PFB transactions in their mempool, and the chain would cease putting blobs on the chain!
The best solution to this issue would be to refactor the square layout process, to be able to change the initial index picked for the first compact share. This would allow for a more consistently efficient packing of square under extremely high loads.
A quick temporary solution would be to limit the number of transactions included in the block. If we set the value to roughly a quarter of the current max square size (roughly 5000 PFB transactions), then we will avoid the worst scenario described above.

can close with #1210

I think you could recreate the same issue if the first blob of the list of PFBs is very big. You will not get empty blocks, but you will get as much empty space as the limited amount of Txns * MaxOverhead. For maximum Damage, the first PFB should maximise the content of (nonreserveStart to end of Square).

yeah, the current mechanism of only estimating the non reserve start once is far from perfect, but the goal for this issue was to add extra protections against the worst case scenario of no blobs being included.


Correct requirements to specify python3

Fixes issue #35

Some user configs have pip point to pip3, and pip3 may not be present on all systems.  Closing this one, but on a broader note, I'm open to feedback on how to make the docs clearer.


Tableau Viz - Additional Filter is not working - Salesforce Integration

Summary
Tableau Visualization is returning no data if Additional Filter is added
We have integrated Tableau Visualization to our Account Flexipage. It is working fine without filter and we are able to see the Tableau dashboard on Account Page as well.
Now we have to add filter based on one field, As soon as we apply filter It's coming as blank.
I have debug the LWC and the issue with setting up value for "advancedFilterValue" (tableauViz.js - GetRecords Method)
Steps To Reproduce:

Add all the Components from the Master branch of this Repo (Master Branch)
Added the WrapperTableauViz to the Flexipage
Added Additional Filter

Expected result
Dashboard Should shown the filter data
Actual result
Showing Blank
Additional information
Below is the Screenshot of Tableau Viz LWC from our Repo :

Tableau Viz LWC is being Archived
All outstanding PRs and Issues are being addressed and closed. Please migrate to the new Tableau View LWC.
For more information, please see the README

@PKansaraBain The new Tableau View LWC supports dynamic filtering via Advanced Filters. By checking the box, the view will be filtered on the [RecordType] ID. For example, Account ID. The Advanced Filter fields can be used to dynamically filter on another record field.


clarification on singleton registers and single bits equivalence

When declare (qu)bits, is bit foo; equivalent to bit[1] foo;? In other words, singleton registers and single bits type-equivalent?
For example, are these valid?
def a_subroutine qubit[1] qr {
   ...
}
qubit q;
a_subroutine q;

def a_subroutine qubit qr {
   ...
}
qubit[1] q;
a_subroutine q;

This is something that should be clarified by a prospective Types working group if and when it is formed...

if single qubits are also singleton registers let concatenated = q[0] || q[3]; is allowed


Made imagerySplitPosition use absolute coordinates

This should fix #5106 by making the imagerySplitPosition option use absolute coordinates instead of relative coordinates so that the multiple viewport rendering of the 2D view won't cause issues.
I've also updated the sandcastle example to use absolute coordinates and put a prerender listener in there to make sure the split position is correct when the window is resized.

Thanks @jasonbeverage!  Looks good at quick glance.  Can you please update CHANGES.md, including a link to #5106?
@rahwang can you please review and test this?

Ah, this is a breaking change, right?  Can you please make a new property name and deprecate the old one? See https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/CodingGuide#deprecation-and-breaking-changes

Hey @pjcozzi , I opened up another PR at #5151 that still uses the relative coordinates publicly and computes the absolute coordinates in UniformState.update.  This avoids having to deprecate the property and also makes it easier for users to deal with the canvas resizing.  I'm going to close this PR in favor of the other one if that is ok with you.

Sounds good, thanks @jasonbeverage!


Issue caused by timezone mismatch

Describe the bug
This project seems unable to display blog posts with a publishing time after the access time. However, for blog posts with publishing time set to precision of day, due to differences in time zones between the publisher and the machine on which this project is deployed (i.e. Vercel or VPS), it may result in the publisher's post being inaccessible on that day.
To Reproduce
Deploy the blog on Vecel and set the serverless function region in Washington(UTC-4). If you are a writer in China(UTC+8) and write a post between 00:00 UTC+8 and 11:59 UTC+8, you must set the post date to "yesterday" to make it accessible immediately.
Expected behavior
Screenshots

Platform:
Additional context

I believe this is a duplicate of #229. Please check that issue for a workaround.


Bump up gocd version

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/approve

/ok-to-test

/lgtm

/assign @varshavaradarajan

/lgtm


BUG! Files program closes itself automatically when opening it.

Error Description:
This error appears when I click on the Files program icon to open it.
The "Files" program opens, but then this message appears, shown in the attached image. The message says:
"Error!
Files has encountered an issue that the developers have not yet prepared for. "
And I can't do anything else within the program. Then the Files program closes itself automatically.
I also posted an attached video that demonstrates what is happening.
It was working normally. It happened after updating my Intel audio and video driver:  "Intel Audio for Screens" version <IP_ADDRESS>.
Device name:
LAPTOP-FC8O4M1J
System Information:
Windows 10 Pro - 21H1 19043.1110
App version:
<IP_ADDRESS>
Thank you.
https://user-images.githubusercontent.com/88102299/127373929-d382e41a-b74b-481e-9fb3-0cc4b9e1fbdd.mp4

It happened after updating my Intel audio and video driver.

@iolandoguimaraes can you please fill out the issue template?

@iolandoguimaraes você pode preencher o modelo de emissão?

Yes. Is it correct now?

@iolandoguimaraes can you please fill out the issue template?

Yes. I think I corrected it. Is it correct now?

@iolandoguimaraes você pode preencher o modelo de emissão?

I uninstalled and re-installed the program and it is working perfectly again.


added suport for get with body on camel-http4

Added support for GET with body content on camel-http4.  This is triggered with the 'getWithBody=true' uri parameter.
**note: built and tested with maven compiler plugin 3.6.0 because of a dependency issue with plexus-util-1.1 when using v3.8.0 (NoClassDefFound error on org/codehaus/plexus/compiler/util/scan/InclusionScanException).

Ok I'll re-publish on camel-2x


Tutorials, how-to guides, and reference for Pulumi Packages

As part of pulumi/pulumi#6804, we should create some new and updated documentation. Specifically:
Tutorials
We should author two new articles. Each should be an on-rails, 0-60 guide for helping someone who's never authored a Pulumi Package (or maybe even a Pulumi component) complete the scenario described in the article title.

Author your first Pulumi Component Package (including docs) and get it successfully published to the public registries
Author your first Pulumi Native Provider Package
Author your first Pulumi Bridged Provider package

How-to guides
We should author several new articles:

How to add multiple components to a Pulumi Component Package
How to author documentation and examples
How to publish Pulumi Packages to a private package registry

Reference

How the docs generator works, including the format of docs in the schema
Move https://github.com/pulumi/pulumi/blob/master/sdk/go/common/resource/plugin/provider-implementers-guide.md into the docs
How packages are named

Note: Each section title in this issue comes from the Divio documentation system, to help us think through content in a structured way.

Fixed - see https://www.pulumi.com/docs/guides/pulumi-packages/how-to-author/ and surrounding docs.


[refactor] use iteration over recursion

Iteration is slightly faster since javascript doesn't have tail-call optimization until ES2015.
This should still provide a small speed boost until pre ES2015 modules are no longer required :)

Did you need this because you noticed slowness?

No slowness, just saw it when I was going through the codebase. Feel free to close if you want to avoid the churn

I use function recursion in the whole code base because I prefer a functional approach, sorry but I think I'll keep it as is.
If in the future we see any performance bottlenecks because of this I'll be happy to reconsider this.


ImSequencer, How to snap CurvePoint to the Sequencer Frames

Hello!
First thank you for ImSequencer and ImGuizmo, they are really useful.
My question is like the title says, I'm working in a sort of Animation Keyframe Editor and I use RampEdit Class Sample to have a keyframe inside Sequence Item. The problem is I want to snap the points(keyframes) to the grid draw by ImSequencer::Sequence.
How I can get the pixel position of the frames ?

Here is the line of code that computes the X coordinate for a particular frame:
https://github.com/CedricGuillemet/ImGuizmo/blob/7daa4b24ffe08b906040079bf297e8b920f86f47/ImSequencer.cpp#L201


committing with --allow-empty

Hi, loving the python-semantic-release generally works really well. I had a question about committing with an empty commit (still including a message).
While getting used to using semantic-release we've sometimes forgotten to add in a fix: or feat: to the commit message before merging, so obviously no build has occurred. After It's merged we've created a new merge request with no change and run the command git commit -m 'fix: test empty commit '--allow-empty . I'd hoped that it would bump the patch number as expected but this has sadly not happened.
debug traceback:

Is there a better solution for this situation or would it be possible for a change to allow the --allow-empty to be implemented.

I would be interested in knowing this as well.