Performance improvements

I'm trying to understand what's written here : https://github.com/ZuluSCSI/ZuluSCSI-firmware/issues/269 I'm not getting all the details but I do see performance numbers around 25mb/s for sdio and maybe even 40mb/s if I'm reading it correctly. I see in the readme here, the numbers are closer to 10mb/s. Do you have a sense for the mismatch? This is something I'd be happy to try to address if I had a better sense of where the gap is coming from.

FAT file system: there is a big difference if you're comparing raw block read/write speeds with file read/write speeds on FAT.
SdFAT vs FatFs. ZuluSCSI uses SdFAT.
System clock frequency: I ran my benchmarks at the default Pico system clock frequency (clk_sys) of 125 MHz.
Hardware: even at the default Pico system clock frequency (clk_sys) of 125 MHz, a baud_rate of 31250000 Hz is possible. However, some of my boards get flaky over 20833333 Hz.

Re: CMD12: I've made some effort to exploit that trick. (See Performance improvements, https://github.com/carlk3/no-OS-FatFS-SD-SDIO-SPI-RPi-Pico/pull/30.)
I have some ideas for speeding things up:

First of all, essentially the same SD driver runs faster in FreeRTOS-FAT-CLI-for-RPi-Pico, maybe because it uses both cores. Currently, no-OS-FatFS-SD-SDIO-SPI-RPi-Pico itself only uses one core. There is some locking in that isn't necessary if only one core is used, but is necessary if the application uses the filesystem from both cores.
There is some room for improvement in the CRC calculations. In particular, I've been looking at slicing-by-8. (There is also DMA Snoop, but there are reasons I'm avoiding that; see Suggestion for calculating CRC/etc #63).
ZuluSCSI's PIO optimizations: rp2040_highspeed_sdio
I'm looking at eMMC. That has additional bus modes that could open up some possibilities:

By using the 8 bit interface instead of the 4 bit SD interface, the transfer rate could potentially be doubled.
Dual Data Rate (DDR): clocks the data on the rising AND falling edges of the clock. SD has DDR, but only for 1.8 V signaling. eMMC has a DDR mode that uses 3.3 V signaling. Another potential doubling of the transfer rate.

I'd welcome any contributions!

I'm new to SD card and just started using great page http://elm-chan.org/docs/mmc/mmc_e.html and there as well as in SD spec they say about using ACMD23 before writing (for write speed improvement). This the concept that have in mind, since I'm ok having no file system :D Never ending write (or read). Ex. for logging data, there could be started CMD25, and just pushing 512 once in a while without stopping it with CMD12 prematurely. So ex. days, months long write. There could be less rewrites of sectors. And btw in CSD 1.0, there is an erase size (for SD card - 2 GiB or less), and in CSD 2.0 (SDHC, SDXC) erase_size is hardcoded to 64 KiB with annotation, that AU (or multiple of AU) it a unit of erase size README seems to mix that a bit. So depending of the type of card, long run writes/logging might have equivalent of 4 MiB buffers in writes and less busy time.

ACMD23 before writing (for write speed improvement)

Previously, I used ACMD23, but I was never able to measure any write speed improvement. In fact, it slowed down writes by the extra time that it took to send the ACMD23. So, I removed it.

Ex. for logging data, there could be started CMD25, and just pushing 512 once in a while without stopping it with CMD12 prematurely. So ex. days, months long write. There could be less rewrites of sectors.

Keep in mind that if there is an unexpected interruption, e.g. power failure or SD card removal, you might lose days, months of data.

And btw in CSD 1.0, there is an erase size (for SD card - 2 GiB or less), and in CSD 2.0 (SDHC, SDXC) erase_size is hard coded to 64 KiB with annotation, that AU (or multiple of AU) it a unit of erase size README seems to mix that a bit (I might did it as well).

I agree; I should remove that from the README. I don't know why they even kept SECTOR_SIZE in the specification since it is apparently meaningless now, and they were defining a whole new CSD Version 2.0 structure anyway.
One difficulty with AU_SIZE  is that you can only get that in SD mode, not SPI mode. However, 4 MiB is probably a safe guess for today's SD cards.

About tuning and reading (might be writing as well). I use only SPI blocking functions right now for starters

Of course, all the tuning in the world will not make SPI approach 4-bit SD speeds.

Im just making my SPI lets call it a library, and combination CPU clock. SPI clock of 144/24 MHz and for example 200/33,(3) MHz for SPI almost fully saturates it. SPI polarity 1 and phase 1. Maybe 16 bit SPI can lower CPU speed. Now it is 8. It might not be related at all, but playing with SPI display and sending raw pictures directly from Pico's flash using 16 bit SPI required way lower CPU clock than 8 bit mode. Maybe it is worth trying, at some point I will and report back. At least it is easy for 514 bytes transfer of data payload and CRC.

Keep in mind that if there is an unexpected interruption, e.g. power failure or SD card removal, you might lose days, months of data.

Those might be just my guesses, but lets say we have gigabytes worth of buffer on Pico and doing continuous write. I would guess SD is busy after data response for a reason. I wouldn't expect giant card size buffer inside SD. My conclusion is, it wouldn't be worst case scenario losing all the data. But to be on the safe side, there could be CMD12 with every last block of 4 MiB or so, depending the card. So if malfunction will happen, it could be less to worry about. When I'm ready with writing part, I'll test it. But having smaller writes of for example 64 KiB ended with CMD12, aiming performance, disaster might also happen in the middle of the transfer.

I can only speculate, since SD card manufacturers don't disclose the internal workings of their products, but an AU_SIZE of 4 MiB might mean that the SD card has a 4 MiB volatile cache. In a Multiple Block write operation when the transmission is stopped by sending the 'Stop Tran' token (or CMD12) the card might commit the data in the volatile cache to non-volatile flash memory. So, if you never (or rarely) send  'Stop Tran' or CMD12, you could lose up to 4 MiB of data that has been written to the volatile cache but not yet committed to non-volatile flash. Of course, whether or not that is an acceptable loss is up to the application. For some applications, it might be better to use raw flash memory instead of SD cards.

Note: many SD cards support "stream recording" with CMD20.

Good to know, need to get familiar with that, but now, for SPI it just says "No". But good news is with 16 bit SPI transfers (just for 512 B of data payload and CRC) it is easier to utilise very most of the SPI bandwidth. So default CPU clock of 125 MHz and SPI at 31250000 Hz reading 64 KiB worth of data takes 17.810 ms for 16 bit transfers and 25.055 ms - 8-bit. So 3,50 MiB/s for 16 bit at the same conditions clockwise, like in your library. But there is no CRC checking and file system.

Are you using channel_config_set_bswap?
I haven't looked into 16 bit SPI transfer at all. Looks like it has some potential. CRC is optional for SPI-attached SD cards, but for many applications I think it is worthwhile. For something like media streaming, maybe not. SDIO mandates CRC but it is so much faster anyway.
Now, I wonder if there is some clever way that slicing-by-8 CRC calculation could be combined with the byte swapping.

In particular, on the SDIO side, sdio_crc16_4bit_checksum is doing
            // Each 32-bit word contains 8 bits per line.
            // Reverse the bytes because SDIO protocol is big-endian.
            uint32_t data_in = __builtin_bswap32(*data++);

I think there might be some room for improvement there.

Note: many SD cards support "stream recording" with CMD20.

Good to know, need to get familiar with that, but now, for SPI it just says "No".

If the reason that you're using SPI is to save GPIO pins, 1-bit SDIO might be another option, and that should support CMD20 (with the right SD card).

SPI needs pins for CS, DI, DO, and SCLK.
1-bit SD needs CMD, DAT0, and CLK. One fewer GPIOs!

SPI seems to be simple, so this mostly why :D I need to get familiar with PIO. SDK 1.7.0 - some official SD interface is expected https://github.com/raspberrypi/pico-sdk/issues/1663 so maybe that will be a nice solution. I settled on 8 bit SPI (and 8 bit DMA) since it solved my problem and was as fast as 16 bit SPI. So tested with reading 1 GiB (starting from 1 GiB offset) worth of data and rewriting 64 KiB buffer, it was 3,62 MiB/s, so even higher than just 64 KiB. As for CRC, I'll try to utilise that DMA stuff.
I just peeked into the code and there is already channel_config_set_bswap(), so maybe using other DMA channel just to copy (SRAM to SRAM) data to data_in and utilising DMA byte swap once again.

There is a data loss when performing described strategy as described above, eg. writing whole 4 GiB card without Stop Tran (I've mistaken that for CMD12 before), and last 2 MiB was never written (tried couple times, starting from about last 100 MiB), simple waiting did nothing (as expected). But at 125 Mhz CPU, 32,25 MHz SPI 512 bytes transfers (including token, CRC, response and busy wait) was most of the time at about 3,62 MiB/s, but sometimes a bit, and even more sometimes like 3,05 MiB/s, but average for 1 GiB and whole card was 3,52 MiB/s, so it doesn't happen very often. Some applications might not block when card is busy and let it finish in the background for consistent timing, while doing ex. data gathering from sensors.

Stop Tran (I've mistaken that for CMD12 before)

They seem to do about the same thing, but I think Stop Tran is more efficient.

2 MiB since it will be AU size if I get it right

You can query it with "SD Status" (ACMD13). For all of the modern cards I have, it returns 4 MiB.
Be wary of optimizing too much for one model of one vendor's SD cards (unless you don't mind being locked in). Other cards might behave differently. The only guarantees are in the SD Card Association's Physical Layer Specification.

Yes, a bit of cutting corners from me, but I don't mind for personal use. And for example some quite up to date cheap https://www.goodram.com/produkty/goodram-m1a0-m1aa-microcard/ 32 GB version:

It is a bit slower but without pauses. 32k blocks are only shown but the same for 96 MiB and no 'warm up' delay. So might not require large buffering, just straight up 512 bytes blocks writes.


Support Storybook?

I had someone helping me with my website and they started out using storybook, but eventually they gave up on it and here's what they said:

Well, it would be nice to use it. I think that allows for better component separation and easier to see if there already is something that can be reused. But the energy it took to keep working there, didn't outweigh the annoyances from Remix.
I don't expect a fix, just a FYI.

hot reload is REALLY nice when working on frontend. The refresh can be mildly annoying sometimes because it doesn't always scroll back to position, and because the element is deselected in the inspector. Also, comparing slight changes with or without a refresh is a world of difference. (think a change in 1 shade of gray, or small padding offsets)

more annoying, but I can live with it. The tailwind stylesheet doesn't always update properly. Requiring me to run npm run css:build manually. So that triggers 2 refreshes by Remix. Once, because it updated when I saved the jsx. Second time because I needed to rebuild the css manually.
I think that second one is possible to get fixed. But seriously, don't directly dive in to spend (much) time on it. Probably not worth it at this stage.
I don't think it's worth to get storybook fixed for this project. But I do think it would be a great selling point if Ryan would (be able to) provide a mock package, so that most components that depend on Remix, would just be able to run in storybook without changes.

Just thought I'd share to see whether it's something y'all would consider supporting.

React-cosmos works (kinda) out of the box.
I got it working with the following steps:

Create cosmos.tsx under app/routes:

export default function Cosmos() {
    return null;
}

Add cosmos.config.json in your project root directory:

{
    "staticPath": "public",
    "watchDirs": ["app"],
    "userDepsFilePath": "app/cosmos.userdeps.js",
    "experimentalRendererUrl": "http://localhost:3000/cosmos"
}

Change your entry.client.tsx accordingly:

import { mountDomRenderer } from "react-cosmos/dom";
import { hydrate } from "react-dom";
import { RemixBrowser } from "remix";

import { decorators, fixtures, rendererConfig } from "./cosmos.userdeps.js";

if (
    process.env.NODE_ENV === "development" &&
    window.location.pathname.includes("cosmos")
) {
    mountDomRenderer({ rendererConfig, decorators, fixtures });
} else {
    hydrate(<RemixBrowser />, document);
}

You might need to add // @ts-ignore in the beginning of this file if using Typescript (you should).

Of course, add react-cosmos as a dev dependency:

$ npm i -D react-cosmos

Add the following in your package.json scripts section:

        "cosmos": "cosmos",
        "cosmos:export": "cosmos-export"

Start the remix dev server:

$ npm run dev

Start cosmos server in another terminal window>

$ npm run cosmos

I wrote a short tutorial about pairing React Cosmos with Remix if anyone is interested: https://dev.to/rzmz/react-cosmos-with-remix-7go

A conversation was started by Ryan for Storybook support: https://github.com/remix-run/remix/discussions/2481

Let's defer to that. We prefer to focus on discussions and PRs and keep issues to a minimum 👍

@rzmz here is my expansion on your remix + cosmos setup

@rzmz here is my expansion on your remix + cosmos setup

Hi, I'm following your instructions and I have an issue. After adding all the files you specified I get the following.

Looks like it can't find any fixture but the userdeps can find the paths for the files>

This is the decorator, now sure if why by CustomApp is imported but never used.
import { CustomApp } from "~/root";
import { MemoryRouter } from 'react-router-dom';
import { useEffect, useState } from 'react';
import { createTransitionManager } from '@remix-run/react/dist/transition';
import { LiveReload, Scripts, ScrollRestoration } from '@remix-run/react';
import { RemixEntryContext } from '@remix-run/react/dist/components';

const clientRoutes = [
  {
    id: 'idk',
    path: 'idk',
    hasLoader: true,
    element: '',
    module: '',
    action: () => null,
  },
];

let context = {
  routeModules: { idk: { default: () => null } },
  manifest: {
    routes: {
      idk: {
        hasLoader: true,
        hasAction: false,
        hasCatchBoundary: false,
        hasErrorBoundary: false,
        id: 'idk',
        module: 'idk',
      },
    },
    entry: { imports: [], module: '' },
    url: '',
    version: '',
  },
  matches: [],
  clientRoutes,
  routeData: {},
  appState: {},
  transitionManager: createTransitionManager({
    routes: clientRoutes,
    location: {
      key: 'default',
      hash: '#hello',
      pathname: '/',
      search: '?a=b',
      state: {},
    },
    loaderData: {},
    onRedirect(to, state) {
      console.log('redirected');
    },
  }),
};

const Decorator = ({ children }) => {
  const [result, setResult] = useState(null);

  useEffect(() => {
    /// @ts-expect-error i swear to God importing is allowed
    import(
      /// @ts-expect-error Node expects CommonJS, but we're giving him ESM
      '@remix-run/react/dist/esm/components'
    ).then(() => {
      setResult(
        <RemixEntryContext.Provider value={context}>
          <MemoryRouter>
            {children}
            <ScrollRestoration />
            <Scripts />
            <LiveReload />
          </MemoryRouter>
        </RemixEntryContext.Provider>
      );
    });
  }, []);

  if (!result) return <>Loading...</>;

  if (result) return result;
};
export default Decorator;

We also have some weird errors, in the remix app we get a constant request (http://localhost:8788/socket.io/?EIO=3&transport=polling&t=OCUekNV) and in the cosmos app (localhost:5000) we get a CORS error:

not sure if they are related issues.

@Alvacampos Please don't comment on closed issues asking for support. Create a new discussion instead 🙏🏼

@Alvacampos I havent figured about the constant poll. are you sure you whitelisted "localhost:5000" in app/routes/cosmos ? No fixture is selected is valid and ok

@vixalien lets continue here please https://github.com/remix-run/remix/issues/214#issuecomment-1241776367


[ADP-2132] add an endpoint to state the transaction CBORs completeness

[ ] create a GET endpoint that reports the CBOR syncing status
[ ] implement the CBOR syncing status as Set.difference of the keys between transactions and bors tables

Comments

Issue Number
ADP-2132

will not do until client specify the use case


BR: SCMP Revocations

Currently the BR will fork revocations depending on below conditions:
border/rpkt/process.go#L161
// processSCMPRevocation handles SCMP revocations.
// There are 3 cases where the router does more than just forward an SCMP revocation message.
// 1. The revocation was received on a core interface, and the destination is in this ISD. In this
//    case the revocation is forked, and forwarded to the local BS and PS services. This prevents
//    the BS from propagating/registering revoked core PCBs. The destination check ensures that this
//    is only done for revocations which impact the local ISD.
// 2. The revocation was received from a parent AS, and the revoked interface is in the same ISD.
//    In this case the revocation is also forked to the local BS and PS services. This ensures that
//    ASes downstream of a revoked interface get informed quickly.
// 3. The revocation's destination is the local AS. The revocation notification is forked to the
//    local PS, to ensure that it stops providing segments with revoked interfaces to clients.

The purpose of revocation forking seems to be to react faster to network updates (ie. revoked interfaces) at the expense of expensive BR logic, given that the BR should implement revocation filtering to avoid trivial Denial of Service (DOS) [scionproto/scion#1867]
*** To Be Updated regarding benefits vs cost ***

#3743 means revocations forking is no longer a thing.
@sgmonroy: Can this be closed?

Indeed.


Image is not sized correctly

I was expecting the image to take up the available space. This is the code we used:
        let page1 = EAIntroPage()
        page1.title = NSLocalizedString("A party game", comment: "Intro screen 1 title")
        page1.desc = NSLocalizedString("For 3 to 12 players", comment: "Intro screen 1 detail")
        page1.titleIconView = UIImageView(image: UIImage(named: "help1"))

This is what we got

Currently best practice is this implementation: https://github.com/kolyvan/kxintro

Have you tried using bgImage instead of titleIconView?
Also I have no idea what is happening on your attached screen and how do you want it to look.

I have tried bgImage too and got the same effect.
I was hoping for it to shrink to fit on the screen like in this screenshot.

What happens if you drop your image in example project?
I don't understand yet where is titleIcon on your screenshot.

Can you share this image with me, so I can test it?

You bet. Thanks for your help!

Here is how you can do it now:
EAIntroPage *page1 = [EAIntroPage page];
page1.title = @"Testing image";
page1.desc = sampleDescription1;
page1.bgImage = [UIImage imageNamed:@"bg1"];

UIImage *testImage = [UIImage imageNamed:@"image"];
UIImageView *testImageView = [[UIImageView alloc] initWithImage:testImage];
float imageRatio = testImage.size.width / testImage.size.height;
float widthToFit = self.view.bounds.size.width;
[testImageView setFrame:CGRectMake(0, 0, widthToFit, widthToFit / imageRatio)];
page1.titleIconView = testImageView;

In EAIntroView we're preserving original image size 1:1. Code above will resize titleIconView to fit screen.
I will think more about updating page layout to handle this automatically.

Very nice, thank you!
In portrait orientation this will work. I'll need to figure it out when rotating or switching to other devices.

I'll look into it on weekend and give you update.

Added autolayout constraints to fit titleIconView inside page frame - https://github.com/ealeksandrov/EAIntroView/commit/a090a152d01e8259391432de867ba5c7b4aec7c7
With your image produces same screenshot as workaround above. Also works in landscape.
It lays out titleIconView - title - description vertically. PageControl and SkipButton may overlap - but they can be on any position on a page (for example, on top), so I don't manage them in this equation.
To add padding between description and screen bottom and fit pageControl there - you can add empty newlines at the end of page description.
Released in 2.11.0.

Thank you, this works great now!


Add 'diffbuf' option to only compare with a single buffer for highlighting

I needed this feature at work today, and it seemed like it would be simple enough to add, so after I got home I decided to give it a shot.
Basically, what this does is add a new option called diffbuf (short name dbuf) which defaults to 0 (meaning standard behavior) but can also be set to a buffer number. If it's set to a valid buffer number, then instead of highlighting all the lines that any buffer has different, it will only highlight lines that that specific buffer has different. That is, for the purpose of highlighting lines, it will be as if the buffer whose lines are to be highlighted and the buffer specified by diffbuf are the only buffers open; others won't affect it, beyond adding filler lines if that option is turned on.
Lines inside the buffer specified by diffbuf will be highlighted as normal.
This is my first contribution to this project—or any project as popular as Vim, for that matter—so please forgive me if I did anything incorrectly.
EDIT: I've taken some screenshots to show what the new feature does. Note that except in the first screenshot, lines 15 and 16 are not representative of intended behavior; this is a bug that I will explain shortly. So ignore those two lines if you're just trying to understand what this is supposed to do.

^ (diffbuf=0) This is the standard behavior, the way lines have always been highlighted in diff mode. That is, unless a line is the same in every diff buffer that's open, that line will show up as highlighted in all of the buffers. Notice how every line that differs in even one window is highlighted across the board. Zero is the default value of diffbuf, so the default behavior will not change.

^ (diffbuf=1) With diffbuf set to 1, however, it will only highlight differences with buffer 1. (The exception is buffer 1 itself, which is highlighted like before.) Line 5 is still highlighted in all rows because both of the other buffers have something different there. But line 10 is not highlighted in buffer 2, because there is no difference when it only compares against buffer 1. Buffer 3 says something different, and it's highlighted there, but with diffbuf set to anything but 0 (compare against all buffers) or 3 (compare against buffer 3) that doesn't matter. In other words, buffer 1 is the "master buffer", and if you're looking at any other buffer, it's only the master buffer that needs to be considered. Remember, ignore lines 15 and 16 here. They aren't supposed to be like that.

^ (diffbuf=2) Here it is comparing against buffer 2 instead. Now buffer 2 is the one that's highlighted normally, and the other buffers are only highlighted if that line differs from buffer 2.

^ (diffbuf=3) Here's 3, not much more to say really.
Known Issue
As you can see, this currently doesn't work properly with consecutive lines. Look at the third image, where diffbuf is 2, for instance. Lines 15 and 16 each differ from the middle buffer on one side, but not the other, but 16 differs on the left and 15 differs on the right. The proper behavior here would be to have line 15 only highlighted on the middle and right buffers, and line 16 only on the middle and left. But for some reason, it's treating consecutive lines like a block, and isn't highlighting only the ones that actually differ. If I were to set nodiff in the buffer on the right, line 15 will no longer be highlighted.
With the code working properly, however, changing something in a buffer other than the master one will not affect the appearance of any other buffers, beyond adding filler lines if necessary to keep everything together.

There is a reply from @h-east at here: https://groups.google.com/d/msg/vim_dev/9CwgjallJDg/4A8Gi7xVBgAJ

@k-takata, I replied to you on Google Groups; just making sure you saw.
Also, I noticed a case just now where it isn't working properly. But I'm at work so I'll look into fixing that when I get home.

@brammool Will do. I'll also take a look at the part where it wasn't working and try and fix that.

Screenshots added. Will add help next.
Also, Gary Johnson posted in the Google Group:

If this turns out to be something useful and worth including in Vim,
I think we really need to come up with some better method of
invoking it than setting the value of an option to a buffer number.
I don't understand what this does well enough to suggest a name, but
I think some command like :diffref that sets the current buffer as
the reference buffer, or whatever 'diffbuf' means, would be much
better than requiring the user to figure out the number of the
buffer of interest, then setting some option to it.  Further, an
option value will hang around and confuse the user the next time
they execute :diffthis.

That's a good point. Maybe keep the option though, and just add a command to set it to the current buffer, because potentially it can also be extended in the future to support a list of multiple buffers to compare against.
Actually, I think I'm going to change it to be a per-buffer option, diffignore/nodiffignore or something, defaulting to nodiffignore. Or alternatively diffref/nodiffref, defaulting to diffref.

Screenshots added. Will add help next.

Thanks, that makes it much clearer.

Also, Gary Johnson posted in the Google Group:

If this turns out to be something useful and worth including in Vim,
I think we really need to come up with some better method of
invoking it than setting the value of an option to a buffer number.
I don't understand what this does well enough to suggest a name, but
I think some command like :diffref that sets the current buffer as
the reference buffer, or whatever 'diffbuf' means, would be much
better than requiring the user to figure out the number of the
buffer of interest, then setting some option to it.  Further, an
option value will hang around and confuse the user the next time
they execute :diffthis.

That's a good point. Maybe keep the option though, and just add a command to set it to the current buffer, because potentially it can also be extended in the future to support a list of multiple buffers to compare against.
Actually, I think I'm going to change it to be a per-buffer option,
diffignore/nodiffignore or something, defaulting to
nodiffignore. Or alternatively diffref/nodiffref, defaulting to
diffref.

Not sure if this is useful.  I think what most users will want is
setting one buffer as the one to diff all other buffers against.  For
example, you have the original file, your version and the version you
need to merge in.
How about adding a buffer-local option "diffmaster" that can be set.
You set it on the original file, so you get your changes highlighted and
you get the merge changes highlighted, but not the difference between
your changes and the merge changes.
When you switch it on, it will be switched off in all other buffers in
the current tab.  There can only be one master!
--
A bad peace is better than a good war. - Yiddish Proverb
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Sure, so basically diffref from my suggestion above only it automatically turns off on all other other buffers when you set it on one?
I'll create a separate pull request when I'm ready; let me know if that sounds good.

On 2018-10-11, flarn2006 wrote:

Sure, so basically diffref from my suggestion above only it automatically turns
off on all other other buffers when you set it on one?
I'll create a separate pull request when I'm ready; let me know if that sounds
good.

So the value in all buffers is initially one, but [re]setting it to
one in one buffer seta all the others to zero?  Can we think about
this a little more?  Maybe a command to clear (i.e., set to zero)
the variable/option in all buffers but the current one?
Also, shouldn't this be per window rather than per buffer?
Regards,
Gary

Reminds me of an old feature request: Humble feature request: 3way-merge diff mode .

On 2018-10-11, flarn2006 wrote:

Sure, so basically diffref from my suggestion above only it automatically turns
off on all other other buffers when you set it on one?
I'll create a separate pull request when I'm ready; let me know if that sounds
good.

So the value in all buffers is initially one, but [re]setting it to
one in one buffer seta all the others to zero?  Can we think about
this a little more?  Maybe a command to clear (i.e., set to zero)
the variable/option in all buffers but the current one?
Also, shouldn't this be per window rather than per buffer?

Since 'diff' is per window, yes, this option would also be per window.
'diffmaster' would be default off, and it can be on for one window only.
--
A computer program does what you tell it to do, not what you want it to do.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

How about I do it like I said before, calling it diffref instead of diffmaster and having it be on by default and settable on multiple buffers at once, but then I also add diffmaster as a command that turns it on for the current buffer and off for all others? That way it's just as easy as before to use it for that most common use case of only comparing with a single buffer, but at the same time if someone does ever get the need to turn it on for multiple (but not all) buffers, they can do that too? From my understanding of the way it's coded, it would be no more difficult than only allowing a single master (actually less difficult because I won't need to have it check other buffers when you set the variable) so it would be a shame to explicitly remove that functionality if there's another way to get the ease of use it would bring.
Also you know the code a lot more than I do, but I'm pretty sure it actually would be a buffer option, not a window option. It's the buffer that it compares against. If two windows have the same buffer, what difference would it make which of the two is set as the master? The diff option is window-specific because it's specific to the way that window is treated, but the diffref or diffmaster option, whatever it's called, doesn't really involve the window; it just tells other windows whether or not to reference the buffer inside.

On 2018-10-11, flarn2006 wrote:

Also you know the code a lot more than I do, but I'm pretty sure it actually
would be a buffer option, not a window option. It's the buffer that it compares
against. If two windows have the same buffer, what difference would it make
which of the two is set as the master? The diff option is window-specific
because it's specific to the way that window is treated, but the diffref or
diffmaster option, whatever it's called, doesn't really involve the window; it
just tells other windows whether or not to reference the buffer inside.

Consider, for example, the case of one buffer being opened in two
windows, each window in a different tab.  Each of those windows can
be diffed against any other window(s) in the same tab.  A buffer
could be displayed in the master window in one tab and in
a non-master window in another tab.
Regards,
Gary

Ah, good point. Window option it is. I'm going to close this pull request and open a new one when it's ready.

Since I'm not going to use this code (and shouldn't have used the master branch for it) I'm going to change history in my fork and put the master branch back to the official one. I've created a separate branch in my fork, pullreq3527, to hold these changes that aren't going to be use, since I'm not sure how this will affect the pull request.

How about I do it like I said before, calling it diffref instead of
diffmaster and having it be on by default and settable on multiple
buffers at once, but then I also add diffmaster as a command that
turns it on for the current buffer and off for all others? That way it's
just as easy as before to use it for that most common use case of only
comparing with a single buffer, but at the same time if someone does
ever get the need to turn it on for multiple (but not all) buffers, they
can do that too? From my understanding of the way it's coded, it would
be no more difficult than only allowing a single master (actually less
difficult because I won't need to have it check other buffers when you
set the variable) so it would be a shame to explicitly remove that
functionality if there's another way to get the ease of use it would
bring.

I have a hard time imagining how it would be used, have 'diffref' in
one window/buffer to be different from another one.  What are you
looking at then?

Also you know the code a lot more than I do, but I'm pretty sure it
actually would be a buffer option, not a window option. It's the
buffer that it compares against. If two windows have the same buffer,
what difference would it make which of the two is set as the master?
The diff option is window-specific because it's specific to the way
that window is treated, but the diffref or diffmaster option,
whatever it's called, doesn't really involve the window; it just tells
other windows whether or not to reference the buffer inside.

One of the most common things to do is the disable 'diff' and switch it
on in another window.  What would then happen with the buffer-local
option?  Having 'diffref' set in a buffer that doesn't appear in any
window with 'diff' set is like a misconfiguration.  We should try to
avoid that from happening.  Also, setting it for a hidden buffer doesn't
make sense.
It's true that setting the option really means to use the buffer in that
window as the master.  I don't see a problem with that.
Gary's remark also mentions a situation where a window-local option is
needed.
--
hundred-and-one symptoms of being an internet addict:
190.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I actually did implement it as a window-local option; see #3535. Let me
know if that looks good. :)
On Fri, Oct 12, 2018, 3:48 PM Bram Moolenaar<EMAIL_ADDRESS>wrote:

How about I do it like I said before, calling it diffref instead of
diffmaster and having it be on by default and settable on multiple
buffers at once, but then I also add diffmaster as a command that
turns it on for the current buffer and off for all others? That way it's
just as easy as before to use it for that most common use case of only
comparing with a single buffer, but at the same time if someone does
ever get the need to turn it on for multiple (but not all) buffers, they
can do that too? From my understanding of the way it's coded, it would
be no more difficult than only allowing a single master (actually less
difficult because I won't need to have it check other buffers when you
set the variable) so it would be a shame to explicitly remove that
functionality if there's another way to get the ease of use it would
bring.

I have a hard time imagining how it would be used, have 'diffref' in
one window/buffer to be different from another one. What are you
looking at then?

Also you know the code a lot more than I do, but I'm pretty sure it
actually would be a buffer option, not a window option. It's the
buffer that it compares against. If two windows have the same buffer,
what difference would it make which of the two is set as the master?
The diff option is window-specific because it's specific to the way
that window is treated, but the diffref or diffmaster option,
whatever it's called, doesn't really involve the window; it just tells
other windows whether or not to reference the buffer inside.

One of the most common things to do is the disable 'diff' and switch it
on in another window. What would then happen with the buffer-local
option? Having 'diffref' set in a buffer that doesn't appear in any
window with 'diff' set is like a misconfiguration. We should try to
avoid that from happening. Also, setting it for a hidden buffer doesn't
make sense.
It's true that setting the option really means to use the buffer in that
window as the master. I don't see a problem with that.
Gary's remark also mentions a situation where a window-local option is
needed.
--
hundred-and-one symptoms of being an internet addict:
190.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net \
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\ an exciting new programming language -- http://www.Zimbu.org ///
\\ help me help AIDS victims -- http://ICCF-Holland.org ///
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vim/vim/pull/3527#issuecomment-429442676
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

You received this message because you are subscribed to a topic in the
Google Groups "vim_dev" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/vim_dev/9CwgjallJDg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
<EMAIL_ADDRESS>For more options, visit https://groups.google.com/d/optout.


Android Emulator Idling Policy- No active CatalystInstance. Should never see this.

What happened?
The context here is that I am trying to enable existing tests running on iOS emulators to run on Android emulators.
I have followed all of the Android instructions to the best of my ability. The app will install, boot, and to a certain degree execute tests successfully. The problem is that on the initial device.launchApp() command, the app seems to launch successfully on the emulator, but detox/expresso don't see the app move into an idle state. It retries until it times out.
What's interesting is that if I relaunch the app a second time in a jest 'beforeAll()' block, I can get the application to successfully boot and begin execution. Once I get to a test case, the initial failure triggers and the tests all fail.
I hope that some of the logs I have attached suggest some sort of fix or issue with the manner in which I am configuring detox.
I am particularly interested in why I am seeing this error:
E Detox   : No active CatalystInstance. Should never see this.
I don't see any other bug reports/issues mentioning this, and I'm thinking/hoping this is directly related to why detox cannot seem to detect an idle state?
Perhaps this is more of a user issue than bug, but any insight would be greatly appreciated!
What was the expected behaviour?
I would expect the app to enter and idle state and begin execution.
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

Did your test throw out a timeout?

[X] I have followed the instructions under Identifying which synchronization mechanism causes us to wait too much.

Help us reproduce this issue!
No response
In what environment did this happen?
Detox version: 19.7.0
React Native version: 0.64.2
Node version: 16.14.2
Device model: Emulator, Pixel_XL_API_30_AOSP
Android version: 11
Test-runner (select one): jest-circus
Detox logs
Detox logs
19:30:26.897 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:30:37.089 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:30:47.106 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:30:57.123 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:07.132 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:17.144 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:27.415 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:37.609 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:47.625 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:31:57.697 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:32:07.707 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:32:17.725 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• UI elements are busy:
  - Reason: UI rendering activity.
• There are enqueued timers.
19:32:25.419 detox[84479] INFO:  Test <****> is assigned to emulator-12766 (Pixel_XL_API_30_AOSP)
19:33:37.740 detox[84479] INFO:  [APP_STATUS] The app is busy with the following tasks:
• "LooperIdlingResource-983-mqt_js" (JS Thread) is executing (JavaScript code).
• UI elements are busy:
  - Reason: UI rendering activity.
• Disk I/O activity.
• Activity on the React-Native bridge.

Device logs
Device logs
07-14 19:30:27.044 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 500 iterations.
07-14 19:30:28.345 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 600 iterations.
07-14 19:30:29.303 11682 11682 E Detox   : No active CatalystInstance. Should never see this.
07-14 19:30:29.305 11682 11682 W IdlingPolicy: These resources are not idle: [com.wix.detox.reactnative.idlingresources.uimodule.UIModuleIdlingResource]
07-14 19:30:29.978 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 700 iterations.
07-14 19:30:31.595 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 800 iterations.
07-14 19:30:33.368 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 900 iterations.
07-14 19:30:34.331 11682 11682 E Detox   : No active CatalystInstance. Should never see this.
07-14 19:30:34.332 11682 11682 W IdlingPolicy: These resources are not idle: [com.wix.detox.reactnative.idlingresources.uimodule.UIModuleIdlingResource]
07-14 19:30:35.246 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1000 iterations.
07-14 19:30:35.885 11682 11830 D DetoxWSClient: Received action 'currentStatus' (ID #2, params={})
07-14 19:30:35.903 11682 11829 I DetoxDispatcher: Handling action 'currentStatus' (ID #2)...
07-14 19:30:36.018 11682 11682 E Detox   : No active CatalystInstance. Should never see this.
07-14 19:30:36.021 11682 11829 I DetoxWSClient: Sending out action 'currentStatusResult' (ID #2)
07-14 19:30:36.035 11682 11829 I DetoxDispatcher: Done with action 'currentStatus'
07-14 19:30:37.177 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1100 iterations.
07-14 19:30:38.811 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1200 iterations.
07-14 19:30:39.334 11682 11682 E Detox   : No active CatalystInstance. Should never see this.
07-14 19:30:39.334 11682 11682 W IdlingPolicy: These resources are not idle: [com.wix.detox.reactnative.idlingresources.uimodule.UIModuleIdlingResource]
07-14 19:30:40.479 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1300 iterations.
07-14 19:30:42.080 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1400 iterations.
07-14 19:30:43.727 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1500 iterations.
07-14 19:30:44.335 11682 11682 E Detox   : No active CatalystInstance. Should never see this.
07-14 19:30:44.335 11682 11682 W IdlingPolicy: These resources are not idle: [com.wix.detox.reactnative.idlingresources.uimodule.UIModuleIdlingResource]
07-14 19:30:45.349 11682 11682 W UiControllerImpl: Waiting for: DYNAMIC_TASKS_HAVE_IDLED for 1600 iterations.

More data, please!
No response

The logs show quite clearly that there's UI action (animations?) happening while the app is launched, keeping the app from going idle (thus blocking Detox). Any ideas what animations could be running?

Actually, the error you report (No active CatalystInstance. Should never see this) might suggest something else. We'll look into it.

@TallPaulRyan Could you please provide the full device logs, and your test code? Thank you


fix webpack config

Build has too many logs. 😭
So reduce the log... change stats options(errors-warings)
ref : https://webpack.js.org/configuration/stats/
devserver host set localhost #1042

remove unused import (path)

What do you think?
thanks~

Coverage remained the same at 75.393% when pulling cb63c8a5ab817f69b858ade60cbca73694f4e49b on wdh2100:enhancement/webpack-config into b8eec4cfc63919f597c9e8e81fbd9bac34324f13 on gregnb:v3.

I agree with removing the unused import, are you also suggesting we change the stat param too? I'm think that would be good too. Moving it to "normal" from "verbose". None of the info "verbose" seems to be providing seems very useful.

Moving it to "normal" from "verbose". None of the info "verbose" seems to be providing seems very useful.

"verbose" provide you useful information, right?
Is this right?
Then can I just change devServer(stat : error-waring)?
Too many logs on the development server.

Sure, "errors-warnings" works. Also, I agree that the logs are a little much.


fix: clearn up codes that impacted by query.Count return value changes

这个 PR 实现什么功能/修复什么问题:
清理代码，支持query.Count接口变更
是否需要 backport 到之前的 release 分支:
NONE

/hold

/hold cancel

/cherrypick release/2.9.0

Codecov Report

Merging #525 into master will decrease coverage by 0.03%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #525      +/-   ##
=========================================
- Coverage    7.39%   7.36%   -0.04%
=========================================
  Files         345     346       +1
  Lines       54362   54657     +295
=========================================
+ Hits         4020    4023       +3
- Misses      49965   50258     +293
+ Partials      377     376       -1

Flag
Coverage Δ

#aFlag
7.36% <0%> (-0.04%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/guestdrivers/aws.go
7.14% <ø> (ø)
:arrow_up:

pkg/compute/models/guestdrivers.go
18.18% <ø> (ø)
:arrow_up:

pkg/compute/guestdrivers/huawei.go
10.41% <ø> (ø)
:arrow_up:

pkg/compute/guestdrivers/aliyun.go
6.49% <ø> (ø)
:arrow_up:

pkg/compute/models/skustools.go
2.67% <0%> (-0.07%)
:arrow_down:

pkg/compute/models/loadbalancerlistenerrules.go
2.9% <0%> (-0.06%)
:arrow_down:

pkg/compute/models/loadbalancercertificates.go
3.03% <0%> (-0.06%)
:arrow_down:

pkg/compute/models/quotas.go
2.1% <0%> (ø)
:arrow_up:

pkg/compute/models/secgroupcache.go
1.49% <0%> (-0.05%)
:arrow_down:

pkg/compute/models/external_projects.go
5.97% <0%> (-0.24%)
:arrow_down:

... and 55 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 11e4e25...a95c0ba. Read the comment docs.

/lgtm
/approve


Register pin without altering state

Great library :+1:
Not really an issue, more like a feature request.
When a pin is registered at the start of the script using
var led = new Gpio(14, 'out');
The state of pin 14 is set to LOW (0), regardless of what it was before. If a previous script has set the pin to HIGH and then finishes, or the script restarts for whatever reason, the pin is always reset to LOW.
Is it possible to have the pin registered, but not have the start altered until it is done so manually using write or writeSync?
I appreciate your time.

No, this currently isn't possible. If persistent state is needed between different runs of the script, it would be better to store the required information using the file system. Also, if this feature was implemented, it would be unclear what state the output pin should have the first time the script is run. It would also be unclear what state the pin should have if the system is powered down between two runs of the script.

I'm going to close this one as onoff isn't the correct place for saving/restoring the state of pins between different runs of the application.


new search feature at SGD

A sensible implementation of a kw search
http://www.yeastgenome.org/
follow home page link to
http://www.yeastgenome.org/search?q=ethanol&is_quick=true
you quickly realise how sensible your search term is.
Can leverage ontology formal definitions here....
One for discussion....

hmm, my first test gave slightly odd results.
For metabolism (aka metabolic process)
I got 420 genes returned, even though GO  has over 300 SGD annotatins. So it really is a very literal keyword search.
We need to explore this further.
Have a look, and then ignore for now.


Test for logger

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
yes

Thanks!


Add 10KB File Download and Upload to Storage Blob Perf Matrix

API change check
API changes are not detected in this pull request.


Add expand-all action in search

This PR fixes https://github.com/microsoft/vscode/issues/28090

(Please let me know if there's a smart way to implement unit tests).

Thanks for taking this on! As discussed in the original issue, I think it would be better if this were only visible when there are items to expand. The trick is the three states:

Everything collapsed => Show "Expand All"
Everything expanded => Show "Collapse All"
Otherwise => ???

As the default behavior for search is now to show all results expanded, I think we should lean towards providing Collapse functionality, and the "Expand All" action should only appear if everything is collapsed, with only the "Collapse All" being visible otherwise.
It might even make sense to only add a context menu entry for expanding all, as with #84087 the search results will almost always be fully expanded
cc @roblourens for ideas

I agree, would rather not see two buttons at the same time. Just having a context menu option would be easier...

Thank you for your feedback!
I'll try to hide/show each button according to items.
I'm thinking about adding property like this.visible to ExpandAllAction and CollapseDeepestExpandedLevelAction, but do you have any ideas??

Hello @JacksonKearl (CC: @roblourens )
I updated this PR, could you please take a look at it?

I'm noticing some unexpected behavior, where in a multiroot workspace if I expend the first node then run the action, everything expands. But if I expand any other node, the all collapse.

I fixed the issue with the first node being treated differently (the while-loop was skipping the first node, changed to do-while) and added a hook to update the action when the tree state is toggled outside of this action. Should be good to go once we get an icon. Thanks for your work on this!

@roblourens @JacksonKearl I updated Codicons in master to now include a expand-all icon:

I fixed the issue with the first node being treated differently (the while-loop was skipping the first node, changed to do-while) and added a hook to update the action when the tree state is toggled outside of this action. Should be good to go once we get an icon. Thanks for your work on this!

Thank you for your fixing and merging this PR 🙇✨☺


Terraform JSON Disk block issues

System Information
Linux distribution
 Centos7
Terraform version
Terraform v0.12.24

Provider and libvirt versions
./terraform-provider-libvirt 0.6.2+git.1585292411.8cbe9ad0
Compiled against library: libvirt 4.1.0
Using library: libvirt 4.5.0

Checklist

[ ] Is your issue/contribution related with enabling some setting/option exposed by libvirt that the plugin does not yet support, or requires changing/extending the provider terraform schema?

[ ] Make sure you explain why this option is important to you, why it should be important to everyone. Describe your use-case with detail and provide examples where possible.
[ ] If it is a very special case, consider using the XSLT support in the provider to tweak the definition instead of opening an issue
[ ] Maintainers do not have expertise in every libvirt setting, so please, describe the feature and how it is used. Link to the appropriate documentation

[x] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
Setup
{
  "data": [
    {
      "template_file": [
        {
          "user_data": [
            {
              "template": "$file(\"/home/terraform/config/cloud_init.cfg\")"
            }
          ]
        }
      ]
    },
    {
      "template_file": [
        {
          "meta_data": [
            {
              "template": "file(\"/home/terraform/config/network_config.cfg\")"
            }
          ]
        }
      ]
    }
  ],
  "resource": [
    {
      "libvirt_volume": [
        {
          "vm-001": [
            {
              "format": "qcow2",
              "name": "vm-001.qcow2",
              "pool": "vm-storage",
              "source": "/home/terraform/images/CentOS-7.qcow2"
            }
          ]
        }
      ]
    },
    {
      "libvirt_cloudinit_disk": [
        {
          "cloudinit": [
            {
              "meta_data": "${data.template_file.meta_data.rendered}",
              "name": "cloudinit.iso",
              "pool": "vm-storage",
              "user_data": "${data.template_file.user_data.rendered}"
            }
          ]
        }
      ]
    },
    {
      "libvirt_domain": [
        {
          "vm-001": [
            {
              "autostart": "true",
              "cloudinit": "${libvirt_cloudinit_disk.cloudinit.id}",
              "memory": "2048",
              "name": "vm-001",
              "network_interface": [
                {
                   "bridge": "br0"
                }
              ],
              "disk": [
                {
                 "volume_id": "${libvirt_volume.vm-001.id}"
                }
              ],
              "running": "true",
              "vcpu": "2"
            }
          ]
        }
      ]
    }
  ]
}

Steps to Reproduce Issue
Hello folks! I have been dealing with this problem for quite some time now and am hoping to be missing something really simple at this point!
Basically, when I use the JSON syntax of building the terraform files, I cannot get the disk portition to function correctly and the error given is quite odd.
Error: Incorrect attribute value type

  on vm.tf.json line 69, in resource[2].libvirt_domain[0].vm-001[0]:
  69:               "disk": [
  70:                 {
  71:                  "volume_id": "${libvirt_volume.vm-001.id}"
  72:                 }
  73:               ],

Inappropriate value for attribute "disk": element 0: attributes
"block_device", "file", "scsi", "url", and "wwn" are required.

I thought it would be caused due to the way JSON maps values, however, in my testing I wasn't able to get it working.
Odd part is that if I go ahead and change the "volume_id" to a "block_device", for example, the error message changes to:
Inappropriate value for attribute "disk": element 0: attributes
"volume_id", "file", "scsi", "url", and "wwn" are required.

If I delete the disk block, the rest works perfectly fine, without the disk (to be expected).
Huge thanks for taking your time to take a look into this and sorry if it's something really simple that I might have missed!

Following up, I have double-checked and it seems like, in order to get the disk block to function, I would need to apply all of the attributes and set the ones that I don't need to null, as this doesn't set it automatically:
              "disk": [
                {
                 "volume_id": "${libvirt_volume.vps-001.id}",
                 "block_device": null,
                 "file": null,
                 "scsi": null,
                 "url": null,
                 "wwn": null
                }
              ],

This works and seems to be caused by the #665 merge which included the different mapping. Not sure this can be resolved due to the specific JSON syntax and the way it handles mapping.

@Unfairz thx for issue.We might needt to check if we can make json happy.
However the json format has less prio then the others since it is less used. But we might check if we can find a solution where there both compatible. it should exists one

Hello,
I notice same error with hcl format.
--> terraform apply

Error: Incorrect attribute value type

  on computes.tf line 18, in resource "libvirt_domain" "db1":
  18:   disk = [
  19:     {
  20:       volume_id = libvirt_volume.my_root_centos.id
  21:     },
  22:     {
  23:       volume_id = libvirt_volume.my_root_debian.id
  24:     }
  25:   ]

Inappropriate value for attribute "disk": element 0: attributes
"block_device", "file", "scsi", "url", and "wwn" are required.

I try to look at code but here https://github.com/dmacvicar/terraform-provider-libvirt/blob/v0.6.2/libvirt/resource_libvirt_domain.go#L146 attributes are marked as optional. and i fail to find error message Inappropriate value for attribute "disk". Does it had anything to do with non set value Computed: true ?

I think the last error is related to #1032


Wrong teams populated in a given week

Its seems to me that these similar approaches should output the same team
import nflgame
games = nflgame.games(year=2010,week=6)
players = nflgame.combine_game_stats(games)
TeamsFromGame = [[game.home,game.away] for game in games]
TeamsFromPlayerStats = [p.player.team for p in players]

If I condense TeamsFromGame and TeamsFromPlayerStats each to a unique list you would expect the same list of team, however...
#From Games
In[33]: sorted([item for sublist in TeamsFromGame for item in sublist])
Out[33]: [u'ATL',u'BAL',u'CHI',u'CLE',u'DAL',u'DEN',u'DET',u'GB',u'HOU',u'IND',u'JAC',u'KC',u'MIA',u'MIN',
               u'NE',u'NO',u'NYG',u'NYJ',u'OAK',u'PHI',u'PIT',u'SD',u'SEA',u'SF',u'STL',u'TB',u'TEN',u'WAS']

#And From Players
In[34]: sorted(set(TeamsFromPlayerStats ))
Out[34]: ['', u'ARI', u'ATL', u'BAL',u'BUF',u'CAR',u'CHI', u'CIN', u'CLE',u'DAL',u'DEN',u'DET',u'GB',u'HOU',
 u'IND',u'JAC',u'KC',u'LA', u'MIA',u'MIN',u'NE',u'NO',u'NYG',u'NYJ',u'OAK',u'PHI', u'PIT', u'SD', u'SEA',
 u'SF', u'TB', u'TEN', u'WAS']

I get a different set of players from combine_team_stats. Maybe this isnt a bug and Im going crazy, but this behavior seems a bit odd to me...

game.home & game.away reflects the actual home & away teams that appeared in that game.
p.player.team on the other hand uses the team found in the player's metadata (from nflgame.players)  That metadata is a snapshot of the current team rosters.  It does not have any historical knowledge of what team a player played for in the past.
Since a ton of players that appeared 7 years ago are no longer in the league, they do not have a p.player.team.  Others no longer play for the team they appeared on in 2010.
Using a much more recent example...look at the Vikings game from week 1, 2016.  At that time, Adrian Peterson played for Minnesota.  Today, he plays for New Orleans.
import nflgame
#games = nflgame.games(year=2010,week=6)
games = nflgame.games(year=2016, week=1, home='MIN', away='MIN', kind='REG')
players = nflgame.combine_game_stats(games)
TeamsFromGame = [[game.home,game.away] for game in games]
TeamsFromPlayerStats = [p.player.team for p in players]

for home, away in TeamsFromGame:
	print home
	print away

print '-'*25
for p in players:
	print p.player, 'Now:', p.player.team, 'Then:', p.team

TEN
MIN
-------------------------
Marcus Mariota (QB, TEN) Now: TEN Then: TEN
Derrick Henry (RB, TEN) Now: TEN Then: TEN
DeMarco Murray (RB, TEN) Now: TEN Then: TEN
Delanie Walker (TE, TEN) Now: TEN Then: TEN
Tajae Sharpe (WR, TEN) Now: TEN Then: TEN
Harry Douglas (WR, TEN) Now: TEN Then: TEN
Andre Johnson (, ) Now:  Then: TEN
Rishard Matthews (WR, TEN) Now: TEN Then: TEN
Ryan Succop (K, TEN) Now: TEN Then: TEN
Brett Kern (P, TEN) Now: TEN Then: TEN
Marc Mariani (, ) Now:  Then: TEN
Sean Spence (, ) Now:  Then: TEN
Angelo Blackson (, ) Now:  Then: TEN
Karl Klug (DE, TEN) Now: TEN Then: TEN
Al Woods (NT, IND) Now: IND Then: TEN
Avery Williamson (ILB, TEN) Now: TEN Then: TEN
Jason McCourty (CB, CLE) Now: CLE Then: TEN
Austin Johnson (NT, TEN) Now: TEN Then: TEN
Da'Norris Searcy (SS, TEN) Now: TEN Then: TEN
Perrish Cox (, ) Now:  Then: TEN
Daimion Stafford (, ) Now:  Then: TEN
Kevin Byard (FS, TEN) Now: TEN Then: TEN
Brice McCain (CB, TEN) Now: TEN Then: TEN
Wesley Woodyard (ILB, TEN) Now: TEN Then: TEN
Derrick Morgan (OLB, TEN) Now: TEN Then: TEN
Jurrell Casey (DE, TEN) Now: TEN Then: TEN
Rashad Johnson (, ) Now:  Then: TEN
Shaun Hill (, ) Now:  Then: MIN
Stefon Diggs (WR, MIN) Now: MIN Then: MIN
Matt Asiata (, ) Now:  Then: MIN
Cordarrelle Patterson (WR, OAK) Now: OAK Then: MIN
Adrian Peterson (RB, NO) Now: NO Then: MIN
Jerick McKinnon (RB, MIN) Now: MIN Then: MIN
Kyle Rudolph (TE, MIN) Now: MIN Then: MIN
Adam Thielen (WR, MIN) Now: MIN Then: MIN
Charles Johnson (WR, CAR) Now: CAR Then: MIN
Andrew Sendejo (SS, MIN) Now: MIN Then: MIN
Danielle Hunter (DE, MIN) Now: MIN Then: MIN
Blair Walsh (K, SEA) Now: SEA Then: MIN
Jeff Locke (P, DET) Now: DET Then: MIN
Marcus Sherels (CB, MIN) Now: MIN Then: MIN
Harrison Smith (FS, MIN) Now: MIN Then: MIN
Trae Waynes (CB, MIN) Now: MIN Then: MIN
Brian Robison (DE, MIN) Now: MIN Then: MIN
Anthony Barr (OLB, MIN) Now: MIN Then: MIN
Terence Newman (CB, MIN) Now: MIN Then: MIN
Everson Griffen (DE, MIN) Now: MIN Then: MIN
Eric Kendricks (MLB, MIN) Now: MIN Then: MIN
Linval Joseph (DT, MIN) Now: MIN Then: MIN

Ah I see! thanks for the help, I was under the impression that team was being pulled from the game, not the players profile...foolish mistake :). Thanks again


Add section to cover use of @Convert conversion.

This is a PR to address issue #32 .

Codecov Report

Merging #33 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #33   +/-   ##
=========================================
  Coverage     68.12%   68.12%
  Complexity      272      272
=========================================
  Files            16       16
  Lines           963      963
  Branches        163      163
=========================================
  Hits            656      656
  Misses          226      226
  Partials         81       81

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 8623423...5f7e42e. Read the comment docs.

Awesome, thanks!


Is there any way to increase max_length

Thank you for such a great repo and the publication. I have a question about a way to increase max_length of 128. According to my use case, most of the cleaned and tokenized sentences are usually longer than that.

You can change number of max_length in file train_congen.sh https://github.com/KornWtp/ConGen/blob/main/train_congen.sh#L13

@KornWtp  Thank you for the reply. So if I am understanding correctly, I can use simcse-model-roberta-base-thai as a teacher model which have max_seq_length of 514 and use any student model and change the max_seq_length according to my use case right?

Yes, the max_seq_length parameter can be adjusted to suit your need.

Thank you. I'll be closing this issue now.


Cant Sign In with my account

Hi!
I've tried to sign in into the app with my playground account (firstly - I've used the github integration). But always see the 'incorrect password' error.
Maybe it's connected with my too short email<EMAIL_ADDRESS>?

I think that's BE issue.


Save not dealing with StepFunction properly.

Fixed the StepFunction but now its deleting the first macro on first save.


Add support for Windows images

This allows a user to use a Windows image such as microsoft/windowsservercore and set windows-image: true to ensure that proper Windows style paths and shell are used.

I'm fine with removing -it generally, but I'm not sure about the addition of a windows-image: true. I could be talked into setting 'mount-buildkite-agent: false'  for windows by default though!

I think without -it we don’t get lovely output for a bunch of commands like yarn etc. But I’m fully aware it’s just lies, because the process really shouldn’t think that it’s an interactive session.

@lox In the interest of improving support for Windows builds I'm hoping we can find a solution that has good UX. I think having something like the windows-image property makes it much easier for people to use the plugin with Windows docker images. For example, it allows us to add Set-Variable -Name ErrorActionPreference -Value Stop before the build command by default so we get the same behavior we're used to from bash -e. It also automatically uses Windows path syntax C:\... for $PWD instead of the linux path syntax /c/... which wouldn't work at all.
If we can't have something like windows-image then this plugin would at least need some other way to modify the $PWD of the --volume flag so we can set it to the Windows path syntax. But requiring people to always have to set this manually doesn't feel like good UX to me.
If none of these options are desirable would you agree that there should be a separate plugin designed  specifically for Windows jobs? I was assuming you'd want to avoid that especially since most of this plugin works fine for Windows jobs as-is. It just needed these minor changes and a way to distinguish when to use them.

Sorry for the slow response @jeremiahsnapp. Have taken some time to think about this, and think I agree conceptually. We either need a flag for windows that changes several defaults of a different plugin. Let me think it over a bit more.

We're making some fairly major parameter changes presently, let's land those first.

@jeremiahsnapp we landed some of these things in https://github.com/buildkite-plugins/docker-buildkite-plugin/pull/76. We detect tty and shell for windows, as well as using correct paths and skipping the buildkite-agent mount. I'd love to hear your thoughts!

Looks great @lox, thanks for the improvements! You might want to add a note in the README that CMD is the default shell for Windows. I wish the default shell for Windows was powershell instead but I'm sure you have good reasons for choosing it.


Multiple calls to get_rate_limits in OpenAIService slows down the exectime of surveys when using cache.

This code uses a cache to run the survey. The first call to survey run takes ~2s; for the remaining 99 calls in normal cases, the results should be obtained instantly from the cache, but it takes ~1s.
from edsl import QuestionFreeText,QuestionMultipleChoice
from edsl import Cache,Survey
import time

s = Survey(questions=[QuestionFreeText.example(),QuestionMultipleChoice.example()])
c = Cache()

for i in range(0,100):
    start = time.time()
    res = s.run(cache=c)
    print("exec time ",time.time()-start)

Good catch - Maybe we just put an LRU cache decorator on the limit lookup
function for now?
On Fri, Jun 28, 2024 at 1:57 PM stefanm @.***> wrote:

This code uses a cache to run the survey. The first call to survey run
takes ~2s; for the remaining 99 calls in normal cases, the results should
be obtained instantly from the cache, but it takes ~1s.
from edsl import QuestionFreeText,QuestionMultipleChoicefrom edsl import Cache,Surveyimport time
s = Survey(questions=[QuestionFreeText.example(),QuestionMultipleChoice.example()])c = Cache()
for i in range(0,100):
start = time.time()
res = s.run(cache=c)
print("exec time ",time.time()-start)
—
Reply to this email directly, view it on GitHub
https://github.com/expectedparrot/edsl/issues/699, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADDNMTWDU56UBQJXQQFZG3ZJWP2HAVCNFSM6AAAAABKCJRQCCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM4DAOJRGMZTGMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@zer0dss I think a good solution here would be:

we keep alternative/back up lists of services in models hard-coded in edsl/enums.py that we can use
we create a warning of some kind to (us) as developers when a API model lookup reveals a discrepancy between our backup list (as a sign we need to update)
we don't throw an exception when we can't access the API list but we do print a warning for the user that we're using a stored list

Thoughts on this approach?

@johnjosephhorton This is the solution that I was thinking too. Until now I think this is the only place where we have this type of requests that slows down the execution ( checking for available models)

Ok - excellent that we're aligned. Do you want to build it?

Yes, I will add it.

Hey @zer0dss not to pressure you, but do you have an ETA on this one? It's holding up some stuff I want to do on this new 'Study' module.

@johnjosephhorton Currently I am working on a coop task. I can do a fast patch today that will cache the values (a similar patch to the one applied to the method that checks for available models). How is this blocking the work on the Study module, do you want to push a new edsl version and have this running optimization in place?

No worries - I'll do a quick fix myself.
re: blocking - so I'm trying to debug some evidence that a study is making an rogue API call on a replication when calls should purely be from the cache. And the most error-free way to check is to turn off wifi :)

Ok, it makes sense to me now why this blocks your work on the study module.


chore: disable artists alerts set

Description
Since the artist screen design changed, "# of Artists Alerts set" design didn't appeal to design anymore. We are setting the flag to false here until we get an alternative.

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[X] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

make artists alerts set not ready for release - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (make artists alerts set not ready for release - mounir)

  Generated by :no_entry_sign: dangerJS against de6fb6cec2df1b78fa14215bdbb1ba480d5e2749


Update UX on reset progress and delete account buttons

Refer https://github.com/FreeCodeCamp/FreeCodeCamp/pull/10824

@atjonathan was wondering if I can help out with this?

@johnnyqbui, sure, we are hoping to remove the animations on the "are you sure?" routes. Sorry, I didn't get round to this myself 😖

No worries, I'll try my best! Thanks!

@atjonathan I removed the crazy wobble animation, did you also want to center it and change the color to something else?

@johnnyqbui, awesome! Yeah if it could be centered horizontally and vertically, and adjust the design to be a little more modern, that would be great 😃

I just gave it a lighter grey background color and added more px to the top margins to center it. What do you think?

I wasn't sure what other colors to use

Gave the success button a green color

@johnnyqbui, sorry to be picky! I think if the title, "You don't really...", and the "x" button should be on the same line. The buttons shouldn't have as much spacing vertically either. Thanks again!

@atjonathan ok no problem!

@atjonathan

Like this? I also increased button size a little bit for easier tap target. Let me know what you think.

@johnnyqbui, looks great! Thanks so much for taking the time to do this, feel free to open a pull request 😄


Refactor dropdown filtered

Refactor <DropdownFiltered /> component to facilitate the upcoming redesign

extract out styled components
convert to functional component

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improvements to the list command

Description of the new feature/enhancement
We need to build a cache to improve performance for the list command.
We need to record everything installed by the Windows Package Manager explicitly.
Proposed technical implementation details (optional)

We need to record everything installed by the Windows Package Manager explicitly.

Hey @denelon glad to see this issue! For me and likely many other users, this is an essential feature needed before adopting winget as a default package manager.
It's a bit more than just an inconvenience because the situation is compounded by the fact that many current winget users also use chocolatey, scoop, or both, and so the ability to list packages installed specifically with winget should be considered a vital operation. I would argue that this issue is worthy of a high priorty 👍

@ev-dev be sure to add your 👍 to the issue. We often sort by most 👍 to find high priority / high value features. We have a large number of Issues in v.Next right now to evaluate for v1.1.

while there is a search option in the consoles of cmd and PowerShell (Ctrl+F) there is no search in Windows Terminal yet.
How about:
The list command (same as search) has an an optional paged output as if you would pipe it to "more"
e.g. get-childitem (ls) | more
just tested winget search / list support piping to more.
examples:
winget list -p / winget list --p
winget search  -p / winget list --p

I have just discovered winget, but the the winget list order makes no sense (at least not to me)
Is there a way to get a list sorted in alphabetical order of the package names? I would use | sort in Linux, but I'm not familiar with PowerShell syntax

@JohnMcPMS do you know what might be driving the order of the output for winget list?

I'm experimenting with winget again, and I'm surprised there is still no way to get a usable sorted list of winget list. That's a shame, as winget list output is getting bigger and bigger each time I use it!

I see that the related https://github.com/microsoft/winget-cli/issues/142 was opened more than 2 years ago...
Even the sorting order in the example provided in the official winget list documentation makes no obvious sense

My use case here is that I have recently installed the emacs text editor with winget install --id GNU.Emacs (it was really nice to be able to do that!), and I wanted to use winget list to check which version I had. I ended up scrolling back and forth several times to check the output and not finding anything
Now, I have also use the following, and found out that emacs did not appear in the list at all, but that's probably another problem (maybe some packages don't appear in the list, because something was not done properly in the installation package)
PS C:\Users\your_login> winget list --id GNU.Emacs
Aucun package installé ne correspond aux critères saisis.

I can do the following, with WSL installed, but it's kind of an overkill. And I don't want to learn PowerShell syntax (I'm a Linux user and I like python and bash for scripting)
PS C:\Users\jypeter> winget list | wsl sort

-----------------------------------------------------------------------------------------------------------------------
3D Builder                             Microsoft.3DBuilder_8wekyb3d8bbwe      18.0.1931.0
7-Zip 22.01 (x64)                      7zip.7zip                              22.01                              winget
Adobe Acrobat Reader - Fran??ais        {AC76BA86-7AD7-1036-7B44-AC0F074E4100} 22.003.20282
Adobe Acrobat XI Pro                   {AC76BA86-1033-FFFF-7760-000000000006} 11.0.23
Adobe Flash Player 32 NPAPI            {FDC0C70F-866A-49EF-A886-D7FE22409CDA} <IP_ADDRESS>
Adobe Genuine Service                  AdobeGenuineService                    <IP_ADDRESS>
Adobe Illustrator CS6                  {4869414E-7AEA-4C8E-BE1C-8D40977FD517} 16.0
Amazon Games                           Amazon.Games                           2.2.8063.2                         winget

[Policy] Command-List
@denelon / @stephengillie - Also should have Area-Performance

I have just used winget list again, and the default list order still does not make any obvious sense. I'm apparently using winget v1.7.11261
I see I can get a more sensible output using winget list | sort https://github.com/microsoft/winget-cli/issues/4238#issuecomment-1987358760. It's good to know that you can use a pipe in PowerShell, but a sensible defaut order and additional sort options would not hurt

Trouble is that I only use PowerShell as a terminal (in a Windows Terminal)
I mostly use Linux related shells and programming tools on remote servers, and I'm not going to spend time learning PS prpgramming, unless it exactly matches what I already use for Linux (like winget list | sort)

Ah - please accept this as a type of workaround: If you're going to implement winget list | sort, then a slight change to Get-WinGetPackage | sort should give more consistent results, while also adding the ability to sort by column.
For instance:

Get-WinGetPackage | sort name to have the output sorted by package name
Get-WinGetPackage | sort Id to have the output sorted by PackageIdentifier

And this would work for Version and Source columns as well.

I have directly pasted the command in a PS, but I'm getting a command not found error. Am I doing something wrong, or do I have to install some extra stuff (providing Get-WinGetPackage)?
PS C:\Users\jypeter> Get-WinGetPackage | sort name
Get-WinGetPackage : Le terme «Get-WinGetPackage» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme
exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au caractère Ligne:1 : 1
+ Get-WinGetPackage | sort name
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Get-WinGetPackage:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Sorry, I thought these would be present. The module might need to be installed and imported:

Install-Module Microsoft.WinGet.Client
Import-Module Microsoft.WinGet.Client

Read earlier that PS 7.x and 5.1 differ for thes capabilities of the module. Where PS 7.x takes the lead.

Thanks @stephengillie !
I have succesfully used the Install-Module Microsoft.WinGet.Client and Import-Module Microsoft.WinGet.Client commands
I had to use an elevated PS and accept something called NuGet. I hope all of this is legit
PS C:\Users\jypeter> Install-Module Microsoft.WinGet.Client

Le fournisseur NuGet est requis pour continuer
PowerShellGet requiert le fournisseur NuGet, version <IP_ADDRESS> ou ultérieure, pour interagir avec les référentiels
NuGet. Le fournisseur NuGet doit être disponible dans « C:\Program Files\PackageManagement\ProviderAssemblies » ou «
C:\Users\jypeter\AppData\Local\PackageManagement\ProviderAssemblies ». Vous pouvez également installer le fournisseur
NuGet en exécutant la commande « Install-PackageProvider -Name NuGet -MinimumVersion <IP_ADDRESS> -Force ». Voulez-vous
que PowerShellGet installe et importe le fournisseur NuGet maintenant ?
[O] Oui  [N] Non  [S] Suspendre  [?] Aide (la valeur par défaut est « O ») : O

Référentiel non approuvé
Vous installez les modules à partir d'un référentiel non approuvé. Si vous approuvez ce référentiel, modifiez sa valeur
 InstallationPolicy en exécutant l'applet de commande Set-PSRepository. Voulez-vous vraiment installer les modules à
partir de PSGallery ?
[O] Oui  [T] Oui pour tout  [N] Non  [U] Non pour tout  [S] Suspendre  [?] Aide (la valeur par défaut est « N ») : O

Afterwards, I was indeed able to get a sorted output of winget. This solution works fine and is an acceptable workaround. But it is also kind of an overkill, and I hope someone will eventually add the required sorting options to winget
PS C:\Users\jypeter> Get-WinGetPackage | sort name

Name                                          Id                                                Version             Available Source
----                                          --                                                -------             --------- ------
7-Zip                                         7zip.7zip                                         22.01               24.06     winget
Adobe Acrobat XI Pro                          {AC76BA86-1033-FFFF-7760-000000000006}            11.0.23
[...]
XnView                                        XnSoft.XnView.Classic                             2.51.5              2.51.6    winget
Zoom Workplace                                XP99J3KP4XZ4VV                                    6.0.11 (39959)                mss...
Zotero                                        DigitalScholar.Zotero                             6.0.15              6.0.36    winget

@jypeter,
I'm very sorry for giving bad advice in this thread. It definitely was overkill and I'll avoid doing so in the future.

@stephengillie Do not worry, I think your answer was quite relevant and I have added it to my small winget documentation!
But I do hope some winget developper (@denelon ?) will eventually address the following questions:

determine what the current order of winget list is. Note: I have just discovered the WinGet CLI Settings page. I did not have a %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json file and I guess I was really using the default settings. But anyway, this page does not mention anything about sorting
change the default order to be sorted by package name. This will make some sense and be useful
add sorting options to winget


update deploy_gmc logical in cd workflow

Description
update deploy_gmc logical in cd workflow
Issues
List the issue or RFC link this PR is working on. If there is no such link, please mark it as n/a.
Type of change
List the type of change like below. Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[x] Others (enhancement, documentation, validation, etc.)

Dependencies
List the newly introduced 3rd party dependency if exists.
Tests
Describe the tests that you ran to verify your changes.

manual test: https://github.com/opea-project/GenAIExamples/actions/runs/10454623642/job/28947681543


Documentation Broken

When I go to http://nuts.gitbook.com/, it shows this:

+1

It has been fixed :)


moved Datashare ref landing page to azure-docs-cli repo

Docs Build status updates of commit 8e49d52:
:clock10: Full build: the average full build time is 7 min(s) 52 sec(s), this is based on the last 754 build(s) for this repository.

Docs Build status updates of commit 8e49d52:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-reference-for-data-share.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Very large circles with transparent centers become opaque at a certain zoom level

When I draw a large circle on a map (ie: covering all of Europe) and zoom inside that circle to a zoom level of 15, the circle is filled with the stroke color even though the fill color is transparent. When I zoom in or out, the circle fill color returns to transparent. This does not happen with smaller circles and only happens at a certain zoom level.
Here is a minimal example to replicate this behavior:
const map = L.map('map').setView([51.507663, -0.160563], 15);

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);

L.circle([52.507209, 13.144268], 2172614, {
  fillColor: 'transparent'
}).addTo(map);

And here is a working example on CodePen:
http://codepen.io/tysoncadenhead/pen/ggjNVx
Environment:
Leaflet v1.0.3 / Google Chrome 56 / macOS Siera 10.12.13

I see that in your codepen, you are using mapbox.js, and that the output of L.version is 1.0.2.
I tried to create the same case with 1.0.3 at https://playground-leaflet.rhcloud.com/til/edit?html,output , and the problem doesn't reproduce anymore.
Can you see if mapbox.js is the cause of the problem? Please keep in mind that mapbox.js includes the leaflet code already.

Sorry, mapbox.js was just a remnant from earlier testing. I removed it and verified that my L.version is at 1.0.3, but it's still exhibiting the same behavior: http://codepen.io/tysoncadenhead/pen/ggjNVx

Doesn't reproduce on windows, but does on mac chrome. (Maybe retina related?)
It only appears on that one zoom level, go in or out one and it disappears. Weird!
If you set fillColor: '#ff0000' on the path, the fill doesn't show at that level, the screen is still full of blue (the blue stroke)
Setting preferCanvas: true stops it occurring.
Probably a chrome bug I'd guess.

Reproduced on Chromium 53.0.2785.143 (Ubuntu 14.04), no retina.
As pointed out by danzel, the fillColor does not need to be 'transparent' for the bug to occur.
Occurs only at some latitude (typically between London and Paris for that example), but not outside…
No bug on Firefox.
However, I see the stroke sometimes "jumps" or disappears at high zoom, on both Chromium and Firefox, but not at exactly the same zoom levels. Might be a different issue.

Jumps: http://codepen.io/anon/pen/vgzpOy (zoom in)
Disappears (and jumps sometimes): http://codepen.io/anon/pen/GrXyqv (zoom in)

On Chromium the "jump" looks wider than on Firefox.

Setting preferCanvas: true stops it occurring.

Then I'm inclined to think that this is a SVG-related bug.
Based on @ghybs's examples, I think that the problem relies in that Chrome uses 32-bit floating point arithmetic on SVG coordinates, because the shifts start to appear when the coordinates go over 222-223.
I see no easy way of fixing this on the Leaflet side. If using L.Canvas fixes it, I'm partial to closing it as "wontfix".

I can reproduce the problem with this HTML code in Chrome 55/Ubuntu:
<!DOCTYPE html>
<html>
<head>
    <title>SVG Problem</title>
</head>
<body>
<div style="position: absolute; width: 800px; height: 800px; border: 1px solid black;">
    <svg pointer-events="none"
        width="800" height="800" viewBox="0 0 800 800">
        <g>
            <path class="leaflet-interactive" stroke="#3388ff" stroke-opacity="1" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" fill="transparent" fill-opacity="0.2" fill-rule="evenodd" d="M-932000,-468000a1553340,1649182 0 1,0 3106680,0 a1553340,1649182 0 1,0 -3106680,0 ">
            </path>
        </g>
    </svg>
</body>
</html>

(Solid blue rectangle, should be white)
Works as expected (white) in Firefox 51/Ubuntu


Filtering on Badge/Global Badge details breaks if you introduce a filter that produces no results

entering a skill filter that produces no results, results in the filter display being hidden giving no opportunity to remove the filter.

:+1:


Use gz::utils::ImplPtr as much as possible

This changes the rest of our std::unique_ptr implementations over to gz::utils::ImplPtr.

Should be fixed by https://github.com/gazebosim/gz-common/pull/553

@osrf-jenkins retest this please

@ahcorde I think we are good here now


Hovering over a link in a NotFoundComponent with preloadintent and no staletime

Describe the bug
When in a notFoundComponent, a <Link to='...'> will automatically load the page. Interestingly, if you use a button with a onClick: () => navigate('/')... Nothing happens
Your Example Website or App
https://stackblitz.com/edit/github-h4dx75?file=src%2Fmain.tsx
Steps to Reproduce the Bug or Issue

Clink on the Invalid Link Button or enter an invalid link in the URL.
Hover over the go back button
The screen goes blank

If you comment either:

defaultPreload: 'intent' or defaultPreloadStaleTime: 0, it works as expected. As a workaround you can set the link: <Link to='/' preload={false}>...</Link> and it should work as expected.

Expected behavior
As a user, I would expect that I can navigate when I click on a link.
Screenshots or Videos
No response
Platform

OS: Linux
Browser: Chrome
Version: 121.0.6167.160

Additional context
No response

I’m working on this issue right now.

I believe this is related to/a dupe of 1201. Any progress on your work, @tannerlinsley ?

should be fixed, please open a new issue if this is still relevant


signal-desktop: re-enable wayland

Description of changes
Reverts #222163, via #222043.
As of signal-desktop 6.39.1, I cannot reproduce wayland crashes, at least with GNOME 45.1.
Tested running the following
signal-desktop --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --use-tray-icon --no-sandbox

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

/cc @Mic92

signal-desktop version 6.42.0 vendors electron version 27 which indeed seems to fix this.
I tested this version on sway (wayland) with the changes in this PR and can confirm it no longer needs workarounds (floating) to start without crashing.
https://github.com/signalapp/Signal-Desktop/releases/tag/v6.42.0

I tested it for a bit and it seems to work.


beep crashes on mipsel alsa target

./beep

thread '' panicked at 'called Result::unwrap() on an Err value: "Invalid argument"', ../src/libcore/result.rs:688

even after compiling beep with #98 applied the error message stays the same

Could you get a backtrace with RUST_BACKTRACE=1?

sure: thread '' panicked at 'called Result::unwrap() on an Err value: "Invalid argument"', ../src/libcore/result.rs:688
stack backtrace:
1: 0x76fe440f - sys::backtrace::tracing::imp::write::hb0563fd8feed89728eu
2: 0x76fe714b - panicking::default_handler::_::closure.42583
3: 0x76fe6a8f - panicking::default_handler::hbd850397f6692201asy
4: 0x76fde4eb - sys_common::unwind::begin_unwind_inner::hfc80d8dae0ea58e6F7s
5: 0x76fde7c3 - sys_common::unwind::begin_unwind_fmt::h9de7c0ab9b6ac79cL6s
6: 0x76fe35b3 - rust_begin_unwind
7: 0x7702951f - panicking::panic_fmt::h1f8334a13f44d76dFVL
8: 0x76fdc837 - cpal_impl::Voice::new::hffff16cde5875bf1uBa
9: 0x76fc8daf - Voice::new::h48a7e3732508b6a1Ynb
10: 0x76fc2f53 - main::hafa0319baba5c8bcfaa
11: 0x76fe656b - sys_common::unwind::try::try_fn::h12180153579636997735
12: 0x76fe34ef - __rust_try
13: 0x76fe617f - rt::lang_start::h96ede41baee7c740oky
14: 0x76fda04f - main
15: 0x76cca003 -

Thanks.
It's probably one of these: https://github.com/tomaka/cpal/blob/master/src/alsa/mod.rs#L231-L238
The unwrap()s should be replaced by expect() so that we can know where the problem comes from.
It's late for me here so I won't do it today, but you can do it if you're motivated!

with debug info:
thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: "Invalid argument"', ../src/libcore/result.rs:688
stack backtrace:
   1: 0x771c6a93 - sys::backtrace::tracing::imp::write::hb0563fd8feed89728eu
   2: 0x771c97cf - panicking::default_handler::_<closure>::closure.42583
   3: 0x771c9113 - panicking::default_handler::hbd850397f6692201asy
   4: 0x771c0b6f - sys_common::unwind::begin_unwind_inner::hfc80d8dae0ea58e6F7s
   5: 0x771c0e47 - sys_common::unwind::begin_unwind_fmt::h9de7c0ab9b6ac79cL6s
   6: 0x771c5c37 - rust_begin_unwind
   7: 0x7720bb9f - panicking::panic_fmt::h1f8334a13f44d76dFVL
   8: 0x771beebb - cpal_impl::Voice::new::hffff16cde5875bf1uBa
   9: 0x771a95ef - Voice::new::h48a7e3732508b6a1Ynb
                at src/lib.rs:286
  10: 0x771a2f9b - main::hafa0319baba5c8bcfaa
                at examples/beep.rs:6
  11: 0x771c8bef - sys_common::unwind::try::try_fn::h12180153579636997735
  12: 0x771c5b73 - __rust_try
  13: 0x771c8803 - rt::lang_start::h96ede41baee7c740oky
  14: 0x771bc6d3 - main
  15: 0x76eaa003 - <unknown>

and with added expect's:
thread '<main>' panicked at 'hardware params could not be set: "Invalid argument"', ../src/libcore/result.rs:709
stack backtrace:
   1: 0x77773f83 - sys::backtrace::tracing::imp::write::hb0563fd8feed89728eu
   2: 0x77776cbf - panicking::default_handler::_<closure>::closure.42583
   3: 0x77776603 - panicking::default_handler::hbd850397f6692201asy
   4: 0x7776e05f - sys_common::unwind::begin_unwind_inner::hfc80d8dae0ea58e6F7s
   5: 0x7776e337 - sys_common::unwind::begin_unwind_fmt::h9de7c0ab9b6ac79cL6s
   6: 0x77773127 - rust_begin_unwind
   7: 0x777b908f - panicking::panic_fmt::h1f8334a13f44d76dFVL
   8: 0x7775f24f - result::Result<T, E>::expect::h15371475496069994930
                at ../src/libcore/macros.rs:29
   9: 0x7775e56f - cpal_impl::Voice::new::h9b4d5d18d0730c92BBa
                at src/alsa/mod.rs:236
  10: 0x7774473f - Voice::new::ha31f8d5e31ae6715oob
                at src/lib.rs:286
  11: 0x7773e07b - main::hafa0319baba5c8bcfaa
                at examples/beep.rs:6
  12: 0x777760df - sys_common::unwind::try::try_fn::h12180153579636997735
  13: 0x77773063 - __rust_try
  14: 0x77775cf3 - rt::lang_start::h96ede41baee7c740oky
  15: 0x777579b3 - main
  16: 0x77442003 - <unknown>

output of enumerate:
https://gist.github.com/psych0d0g/0c00ddf99b26500ebded
output of aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: VuPlus [], device 0: BCM7xxx [BCM7xxx]
Subdevices: 1/1
Subdevice #0: subdevice #0

The only problem I see is that cpal assumes that interleaved samples are supported.
You could try replacing SND_PCM_ACCESS_RW_INTERLEAVED with SND_PCM_ACCESS_RW_NONINTERLEAVED and see if there's still an error.

Closing this due to inactivity and seeing as the ALSA backend has gone through multiple refactorings since this that may have addressed the original issue. Please feel free to re-open if this is still occurring!


Flaky test TestCleanupMountsAfterDaemonAndContainerKill

https://jenkins.dockerproject.org/job/Docker Master/7625/label=fedora23 && devicemapper/console
Daemon logs https://gist.github.com/tonistiigi/5a8edf4190efe82c7d84720ae86a05c2 show lot of things going wrong. Multiple errors/warnings in restore path and in the end daemon fails to mark the container as stopped.
https://github.com/docker/docker/pull/28590 fits with the timing but uncertain if it really is the regression point.
@mlaventure

I've seen it in fedora/centos/arm

Adding to v1.3.0 as it is an actual bug, not only a test issue.

TestDaemonRestartWithKilledRunningContainer has started failing with same error https://jenkins.dockerproject.org/job/Docker Master/label=centos72 && devicemapper/7680/console
time="2016-11-22T21:02:00.010662541Z" level=error msg="Failed to restore df9a4179588592240fbddc15887bea6bf339
c85812c0bb2224ab50540363ca73 with containerd: rpc error: code = 13 desc = get all pids for container: exit st
atus 1: \"container \\\"df9a4179588592240fbddc15887bea6bf339c85812c0bb2224ab50540363ca73\\\" does not exist\\
n\""

Seen failing a couple of times on master https://jenkins.dockerproject.org/job/Docker Master/label=fedora23 && devicemapper/7727/console, https://jenkins.dockerproject.org/job/Docker Master/label=centos72 && devicemapper/7728/console, https://jenkins.dockerproject.org/job/Docker Master/label=centos72 && devicemapper/7726/console


invoke notify only if listener is not null in the direct registry subscribe and unsubscribe

The new changes allow the NotifyListener to be null as the cluster doesn't need to maintain a cache.

 invoke notify only if listener is not null in the direct registry subscribe and unsubscribe light-4j master


Make final loss calculation be in fp32 again

It used to be this way, but I let it slip. We should make the final softmax be in fp32, probably using jmp.Policy.output_dtype. @jthickstun found that it matters when the entropy is low.

fixed in doremi branch