Can't package win32 on WSL

Preflight Checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

**Electron Forge Version: **

6.0.0-beta.53

Electron Version:

Operating System:

Linux version 4.4.0-19041-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #488-Microsoft Mon Sep 01 13:43:00 PST 2020

Last Known Working Electron Forge version::

Expected Behavior

yarn package -- --platform win32
Actual Behavior

`➜ yarn package -- --platform win32
yarn run v1.22.4
warning package.json: License should be a valid SPDX license expression
warning ../../../../package.json: No license field
warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts.
$ electron-forge package --platform win32
✔ Checking your system
✔ Compiling Main Process Code
✔ Compiling Renderer Template
✔ Preparing to Package Application for arch: x64
✔ Preparing native dependencies
⠋ Packaging Application
An unhandled rejection has occurred inside Forge:
Error: rcedit.exe failed with exit code 1. Unable to load file: "/tmp/electron-packager/win32-x64/electron-win32-x64/electron.exe"
at ChildProcess. (/c/Users/daniel/dev/ui/node_modules/rcedit/lib/rcedit.js:71:16)
at ChildProcess.emit (events.js:315:20)
at ChildProcess.EventEmitter.emit (domain.js:483:12)
at maybeClose (internal/child_process.js:1021:16)
at Socket. (internal/child_process.js:443:11)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:483:12)
at Pipe. (net.js:674:12)
Electron Forge was terminated. Location:
{}
error Command failed with exit code 1.`
To Reproduce
yarn package --platform win32

Additional Information
So after a short investigation, the issue is a combination of 2 things.

the build is stored in a temp dir, located in /tmp/XXX this is the linux machine temp directory and its inaccessible for the windows process.
electron-rcedit added support for wsl  so when on WSL it is not using wine and therefor can't access the electron.exe file.

<!--
Add any other context about the problem here.

For example:
* Console output when you run your `electron-forge` command with the environment variable
  `DEBUG=electron-forge:*`. (Instructions on how to do so
  [here](https://www.npmjs.com/package/debug#usage)). Please include the stack trace if
  one exists.
* Command line arguments you are passing to `electron-forge` (e.g.,
  `electron-forge make --not-a-real-flag`)
* The `config.forge` data in `package.json` or `forge.config.js` in use
* A failing minimal testcase (with a link to the code) or detailed steps to reproduce the problem.
  Using `electron-forge init` is a good starting point, if that is not the source of your problem.

This seems like an electron/node-rcedit bug rather than an Electron Forge bug.

I disagree,
electron/node-rcedit doesn't handle the location of the exe file.
is there a way to configure the build directory to use a local directory? such as .build which will be added to gitignore

If any one else encounter this issue, I've solved it by adding:
"resolutions": {     "rcedit": "2.1.1"   },
to my package.json, and installing with yarn.

This is a node-rcedit bug because the path was not converted to a Windows path. rcedit.exe is a Windows executable, so it won't be able to use Linux paths.


Multi-GPU support

Thank you so much for your work containerizing this.
I must ask, is multi-GPU support planned soon? I have 4 to 8 cards that I would like to use at once.
Thanks! :)

Hey, are all cards able to fit the model (>6GB of vRAM)?
If so, I could implement smt like DataParallel that could allow to generate images in parallel using all GPUs (say you have 4 cards, requesting 4 images, each GPU generates 1).
On the other hand, if you have 4 smaller cards (<6GB) and want to "combine" their memory, we need to split the model across GPUs, which should be harder to do (I believe it doesn't come out of the box).

yeah I'm on it

Hey, I've reached a decent stage on this branch, but I am currently unable to test it on multiple GPUs.
Would you mind giving it a try on your machine?
The update command is the following:
docker run --name stable-diffusion --gpus all -it -e DEVICES=all -e TOKEN=<YOUR_TOKEN> -p 7860:7860 nicklucche/stable-diffusion:multi-gpu

I don't mind, glad to help! I will report back with output.

Excellent! It works :)
Do the output images save anywhere on the filesystem? Or are they just directly sent back to the browser and not saved anywhere?

Is the multi-gpu docker image based on this branch?: https://github.com/NickLucche/stable-diffusion-nvidia-docker/tree/dp

I am going to try this on my mining rig. there's 5 GPUs in there with different Ram amounts, tallying up to 32 gb vram. So it should be a good test on how it'd perform with that. I might do a test later on by putting all the GPUs I got laying around in one machine so I have around 64gb vram.

It splits the workload, not combining the capacity, at this point.

Sorry for the late reply, thanks a lot for your help, I'm glad it works!

Do the output images save anywhere on the filesystem? Or are they just directly sent back to the browser and not saved anywhere?

Atm they're only sent to the browser, you can save em with a right click; we could be saving them on disk, but we'd need to mount a volume as a prerequisite for that.

Is the multi-gpu docker image based on this branch?: https://github.com/NickLucche/stable-diffusion-nvidia-docker/tree/dp

Yep, I'll merge it into the main branch soon.

I am going to try this on my mining rig. there's 5 GPUs in there with different Ram amounts, tallying up to 32 gb vram. So it should be a good test on how it'd perform with that. I might do a test later on by putting all the GPUs I got laying around in one machine so I have around 64gb vram.

That would be a nice test bed indeed, I didn't think about scaling to this extent to be honest!
Also, atm I've only implemented the "workload splitting" as @mchaker said, so if you generate X images and have N gpu each card gets about ~X/N tasks (every card must be able to fit the entirity of the model tho).
I might be looking into splitting the model on multiple GPUs, so that each one can contribute to the generation of a single image, but that is going to be a bit harder as I have to figure out the best/more balanced way to split the network architecture

If you do split the model across GPUs, I would test that in a heartbeat. I really want combined GPU models for pooled VRAM. :)

Great thanks, at this point I think we can close this issue and make another one for the pooled VRAM!


No luarock module for cunn

(tensorflow) prasanna@prasanna-Inspiron-3558:~/tensorflow_programs/text$ sh demo/birds_demo.sh
/home/prasanna/torch/install/bin/lua: /home/prasanna/torch/install/share/lua/5.2/trepl/init.lua:389: module 'cunn' not found:No LuaRocks module found for cunn
no field package.preload['cunn']
no file '/home/prasanna/.luarocks/share/lua/5.2/cunn.lua'
no file '/home/prasanna/.luarocks/share/lua/5.2/cunn/init.lua'
no file '/home/prasanna/torch/install/share/lua/5.2/cunn.lua'
no file '/home/prasanna/torch/install/share/lua/5.2/cunn/init.lua'
no file '/home/prasanna/torch/install/lib/lua/5.2/cunn.lua'
no file '/home/prasanna/torch/install/lib/lua/5.2/cunn/init.lua'
no file './cunn.lua'
no file '/home/prasanna/.luarocks/lib/lua/5.2/cunn.so'
no file '/home/prasanna/torch/install/lib/lua/5.2/cunn.so'
no file '/home/prasanna/torch/install/lib/cunn.so'
no file '/home/prasanna/torch/install/lib/lua/5.2/loadall.so'
no file './cunn.so'
stack traceback:
[C]: in function 'error'
/home/prasanna/torch/install/share/lua/5.2/trepl/init.lua:389: in function 'require'
demo/get_embedding.lua:7: in main chunk
[C]: in function 'dofile'
...anna/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: in ?
Traceback (most recent call last):
File "demo/demo.py", line 15, in
from misc.config import cfg, cfg_from_file
ImportError: No module named 'misc'

@prankkelkar  : Did you find the solution to your problem ?
I am also facing the sam problem.
Also is CUDA a mandate to run this as I my system doesn't have an Nvidia GPU card.

@Saahiljeet-Singh yes CUDA currently works only on Nvidia gpu cards. I know it will be heart breaking to hear that. Therefore now all new MacBooks are useless for training

How To download dataset?


DataGrid - Error when re-adding items

I removed all items from "Items". When re-adding a new item or binding a new ObservableCollection to "Items", I am getting below error.
Java.Lang.IllegalStateException: 'The specified child already has a parent. You must call removeView() on the child's parent first.'

It seems it's an issue at android level and it might be related to MAUI Core.
I'll investigate the reason and create an issue to dotnet/maui if it's related to MAUI SDK.


How to receive session on server side

Hi
I'm trying to use this library in a Next.js project. Currently we are using the pages directory. I have no problem to receive the session data on the client side. But using the getServerSideProps to fetch data from a protected API seems rather difficult.
My first try was to write the acces_token as a cookie everytime the session is refreshed on the client. This would then be sent to the server with the request and can there be used to fetch the data.
const Faq: NextPage<FaqProps> = ({faqs}) => {
    const auth = useAuth()
    React.useEffect(() => {
        console.log(auth?.user?.access_token, 'new access token')
        if (auth.user) {
            document.cookie = `access_token=${auth.user.access_token}`
        } else {
            //revoke cookie
        }
    }, [auth?.user?.access_token])
    return <FaqPage faqs={faqs}></FaqPage>;
};
export const getServerSideProps: GetServerSideProps<FaqProps> = async (context) => {
    const { serverRuntimeConfig } = getConfig();

    console.log(context.req);

    const access_token = context.req.cookies.access_token;

    // fetching some data with the access_token

    return {
        props: {
            faqs: ...
        }
    };
};
export default Faq;

For reference my provider:
const onSigninCallback = (user: void | User): void => {
        router.replace(
            window.location.pathname
        )
    }
    const oidcConfig: AuthProviderProps = {
        authority: "xx",
        client_id: 'xx',
client_secret: 'xxx',
        redirect_uri: typeof window !== 'undefined' ? window.location.href : '',
        automaticSilentRenew: true,
    };

<AuthProvider {...oidcConfig} onSigninCallback={onSigninCallback}
                                          userStore={
                                              new WebStorageStateStore({
                                                  store: globalThis?.window?.localStorage ?? InMemoryWebStorage
                                              })
                                          }
                                          children={children}/>

This does work, but only as long as the access_token is valid. Leaving the browser open but inactive for a while, coming back to the window and hitting F5 caused a request with an outdated acces_token in the cookies, and the server is then not able to refresh it on its own.
My second though was to migrate to the app directory, as I saw some threads on github mentioning ssr support. But how can i get access to the session in a server component to fetch data? I cannot use the 'useAuth' hook as it's only available client-side.
Are there any working examples for next.js or react server side components in general?
Some assistance would be very appreciated.
Greetings

I have no experience in next.js/SSR. The access token is used in-between client and server.  getServerSideProps  on der other hand is executed on the server side. Thus i would try to avoid using a access token in that case.


Update Chinese Translations

Thanks for your contribution 🙏
Please do a PR to add yourself in CONTRIBUTORS.md if you want to 😄


[DOM] Element position doesn't get computed properly when iframe gets scaled

I have an element inside an iframe, and I'm trying to compute its position from the parent window. However, when I give transform: scale(2) to iframe element, scale doesn't get counted.
https://codesandbox.io/s/floating-ui-dom-template-forked-gz4whh?file=/src/index.js
This is how the tooltip gets rendered:

Instead, I was expecting something like this:

@atomiks as a solution, I think if we can pass an external/additional scale value (like passing an offset value) ({ scaleX: number, scaleY: number }) somehow which can be passed to the getBoundingClientRect utility function to be included in the calculations, it could solve the problem. But I'm not 100% sure if this is a good approach, of course.
Something like this:
import type {ClientRectObject, VirtualElement} from '@floating-ui/core';
import {isElement, isHTMLElement, isLayoutViewport} from './is';
import {round} from './math';
import {getWindow} from './window';

type ExternalScaleType = {
  x: number,
  y: number,
}

export function getBoundingClientRect(
  element: Element | VirtualElement,
  includeScale = false,
  isFixedStrategy = false,
  externalScale?: ExternalScaleType
): ClientRectObject {
  const clientRect = element.getBoundingClientRect();

  let scaleX = 1;
  let scaleY = 1;
  const externalScaleX = externalScale?.x || 1;
  const externalScaleY = externalScale?.y || 1;

  if (includeScale && isHTMLElement(element)) {
    scaleX =
      element.offsetWidth > 0
        ? round(clientRect.width) / element.offsetWidth || 1
        : 1;
    scaleY =
      element.offsetHeight > 0
        ? round(clientRect.height) / element.offsetHeight || 1
        : 1;
  }

  const win = isElement(element) ? getWindow(element) : window;
  const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;

  const x =
    ((clientRect.left + (addVisualOffsets ? win.visualViewport.offsetLeft : 0)) /
    scaleX) * externalScaleX;
  const y =
    ((clientRect.top + (addVisualOffsets ? win.visualViewport.offsetTop : 0)) /
    scaleY) * externalScaleY;
  const width = (clientRect.width / scaleX) * externalScaleX;
  const height = (clientRect.height / scaleY) * externalScaleY;

  return {
    width,
    height,
    top: y,
    right: x + width,
    bottom: y + height,
    left: x,
    x,
    y,
  };
}

It's funny how bloated that function is becoming 🤣  there are like 5 hacks written into it at this point. But yeah, I'm assuming something like that will work.

Yes 🙂 But I can see that each solves a problem related to scale and offset issues and seems like they are at least a must to have. Maybe separating them into a function pipeline would be more clear

ok, I think I've been able to make a PR with the the fix 😬

Hi, I just wanted to mention that I have the same issue with scaling. I get extra x-/y-shifting and the higher the position of the context elements the higher is  the extra x-/y-shifting.
It seems that this use-case often comes with sections of a webapp that have a scaling feature. From my side an opportunity to feed the computePosition function with x-/y-scaling numbers is sufficient as I know where those scalings are applied. But there may be others cases for which it is not.

I have the same issue. In Scaled Elements the element shifts. The more on the right, the more it shifts

The latest release of @floating-ui/dom (1.0.8) fixes two separate bugs with transforms, but it doesn't fix this particular one with iframes. (I have tried to fix this issue btw, but didn't reach a solution)
Regarding transforms in general:
If your floating element has a transform, this is not "negated". The floating element is positioned via layout, and a transform you apply in the CSS happens after the positioning is done. So if you scale or translate the floating element, the positioning doesn't adjust for it (which is usually a good thing especially with animations). Detection of clipping is also done via layout (which now works properly with scaling — but if the element is transformed it may appear to detect the overflow at the wrong point because detection is done via layout boxes, not accounting for transforms. This may be tricky to handle but please open a PR if you get a solution).
You can write custom middleware to handle more complex cases of transforms if needed though, especially now with these fixes in preventing other issues. For example this one handles iframe positioning in general: https://github.com/floating-ui/floating-ui/issues/1711

Okay so at this point, scale issues are killing me 🥲, there were 5 releases (1.0.8-1.0.12) fixing various issues with transform/scale, but I did find a solution to this iframe issue with the getScale function we now have.
Apply it to these values as @seahindeniz originally suggested:
https://github.com/floating-ui/floating-ui/blob/99d187876a42fbd7057952d3b273c0978d562770/packages/dom/src/utils/getBoundingClientRect.ts#L28-L37
  const iframe = element.ownerDocument?.defaultView?.frameElement;
  const iframeScale = iframe ? getScale(iframe) : {x: 1, y: 1};

  x *= iframeScale.x;
  y *= iframeScale.y;
  width *= iframeScale.x;
  height *= iframeScale.y;


Carbon shadow can be applied to a navigation view??

I am trying to apply the carbon shadow to a com.google.android.material.navigation.NavigationView but I have not been successful, the shadow is not reflected correctly, is it possible to do it? or the bookstore is not designed for that?

The way Carbon supports shadows requires both the shadow caster and the shadow receiver to implement certain Carbon interfaces. Google views don't support that. To get shadow cast by a view you need to use a Carbon view, or extend the view and implement ShadowView, or wrap that view in a Carbon layout.


[DML] [iGPU] [AMD] [Intel] GPU command exception

I encounter the following error:
2024-07-02 17:22:22.977 | INFO     | embeddedllm.engine:generate:359 - Generation Request Prompt length: 970, New tokens: 50
2024-07-02 17:22:26.036 | ERROR    | embeddedllm.engine:generate:432 - D:\a\_work\1\onnxruntime-genai\src\dml\dml_command_recorder.cpp(143)\onnxruntime_genai.cp310-win_amd64.pyd!00007FFAA661D3A3: (caller: 00007FFAA66112A5) Exception(1) tid(638e0) 887A0006 The GPU will not respond to more commands, most likely because of an invalid command passed by the calling application.

Platform (AMD)

AMD Radeon 780M Graphics
8GB Dedicated GPU memory
27.9GB Shared GPU memory
Model: https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx/tree/main/directml/directml-int4-awq-block-128

Platform (Intel)

Intel(R) Arc(TM) Graphics
31.7GB Shared GPU memory
Model: https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx/tree/main/directml/directml-int4-awq-block-128

Step to reproduce

conda create -n onnxdml python=3.10
conda activate onnxdml
pip install onnxruntime-genai-directml
Follow the example at https://onnxruntime.ai/docs/genai/tutorials/phi3-python.html#run-with-directml .

Params:
do_sample: True
temperature: 0.1
top_k: 1,
top_p: 0.1
output_tokens: 50

Input Prompt
Summarize the following text:  Sea turtles superfamily Chelonioidea sometimes called marine turtles3 are reptiles of the order Testudines and of the suborder Cryptodira The seven existing species of sea turtles are the flatback green hawksbill leatherback loggerhead Kemps ridley and olive ridley45 Six of the seven sea turtle species all but the flatback are present in US waters and are listed as endangered andor threatened under the Endangered Species Act6 All but the flatback turtle are listed as threatened with extinction globally on the IUCN Red List of Threatened Species The flatback turtle is found only in the waters of Australia Papua New Guinea and Indonesia76  Sea turtles can be categorized as hardshelled cheloniid or leatheryshelled dermochelyid8 The only dermochelyid species of sea turtle is the leatherback8  Description For each of the seven species of sea turtles females and males are the same size As adults it is possible to tell male turtles from female turtles by their long tails with a cloacal opening near the tip Adult female sea turtles have shorter tails with a cloacal opening near the base Hatchling and subadult turtles do not exhibit sexual dimorphism it is not possible to determine their sex by looking at them9  In general sea turtles have a more fusiform body plan than their terrestrial or freshwater counterparts This tapering at both ends reduces volume and means that sea turtles cannot retract their head and limbs into their shells for protection unlike many other turtles and tortoises10 However the streamlined body plan reduces friction and drag in the water and allows sea turtles to swim more easily and swiftly  The leatherback sea turtle is the largest sea turtle reaching 14 to more than 18 m 46 to 59 ft in length and weighing between 300 and 640 kg 661 to 1411 lbs11 Other sea turtle species are smaller ranging from as little as 60 cm 2 ft long in the case of the Kemps ridley which is the smallest sea turtle species to 120 cm 39 ft long in the case of the green turtle the second largest512  The skulls of sea turtles have cheek regions that are enclosed in bone1314 Although this condition appears to resemble that found in the earliest known fossil reptiles anapsids it is possible it is a more recently evolved trait in sea turtles placing them outside the anapsids1513  Taxonomy and evolution Sea turtles along with other turtles and tortoises are part of the order Testudines All species except the leatherback sea turtle are in the family Cheloniidae The superfamily name Chelonioidea and family name Cheloniidae are based on the Ancient Greek word for tortoise  khelone16 The leatherback sea turtle is the only extant member of the family Dermochelyidae  Fossil evidence of marine turtles goes back to the Late Jurassic 150 million years ago with genera such as Plesiochelys from Europe In Africa the first marine turtle is Angolachelys from the Turonian of Angola17 A lineage of unrelated marine testudines the pleurodire sidenecked bothremydids also survived well into the Cenozoic Other pleurodires are also thought to have lived at sea such as Araripemys18 and extinct pelomedusids19 Modern sea turtles are not descended from more than one of the groups of seagoing turtles that have existed in the past they instead constitute a single radiation that became distinct from all other turtles at least 110 million years ago202122 Their closest extant relatives are in fact the snapping turtles Chelydridae musk turtles Kinosternidae and hickatee Dermatemyidae of the Americas which alongside the sea turtles constitute the clade Americhelydia23

Thank you for reporting this issue. We are looking into it.

Hi @natke , may I know is there any updates? What could be the source of issue? I would like to attempt to look into it if there is any possible sources of issue.

Hi @tjtanaa . Do you think this is the same as my bug here. My bug it happens only with certain prompts and not others (but i can't see any pattern to which ones). Is this the same as your bug or does your bug occur with all prompts or only certain ones too?

Possible duplicate of #833

Hi @tjtanaa . Do you think this is the same as my bug here. My bug it happens only with certain prompts and not others (but i can't see any pattern to which ones). Is this the same as your bug or does your bug occur with all prompts or only certain ones too?

Hi @elephantpanda
I am not sure if that is the case. Because it fails very quickly with longer input prompt.

@elephantpanda with v0.4.0, The input that I shared in this issue has been resolved. I think the issue that I had is about long context length.
However, new issue arises. The model is outputing gibberish after output more than a few hundred tokens:
The input I passed:

    url = "http://localhost:5555/v1/chat/completions"
    payload = {
        "messages": [{"role": "user", "content": "Summarize the following content: Alices Adventures in Wonderland                  ALICES ADVENTURES IN WONDERLAND                            Lewis Carroll                 THE MILLENNIUM FULCRUM EDITION 30                                 CHAPTER I                        Down the RabbitHole     Alice was beginning to get very tired of sitting by her sister on the bank and of having nothing to do  once or twice she had peeped into the book her sister was reading but it had no pictures or conversations in it and what is the use of a book thought Alice without pictures or conversation    So she was considering in her own mind as well as she could for the hot day made her feel very sleepy and stupid whether the pleasure of making a daisychain would be worth the trouble of getting up and picking the daisies when suddenly a White Rabbit with pink eyes ran close by her    There was nothing so VERY remarkable in that nor did Alice think it so VERY much out of the way to hear the Rabbit say to itself Oh dear  Oh dear  I shall be late  when she thought it over afterwards it occurred to her that she ought to have wondered at this but at the time it all seemed quite natural but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT POCKET and looked at it and then hurried on Alice started to her feet for it flashed across her mind that she had never before seen a rabbit with either a waistcoatpocket or a watch to take out of it and burning with curiosity she ran across the field after it and fortunately was just in time to see it pop down a large rabbithole under the hedge    In another moment down went Alice after it never once considering how in the world she was to get out again    The rabbithole went straight on like a tunnel for some way and then dipped suddenly down so suddenly that Alice had not a moment to think about stopping herself before she found herself falling down a very deep well    Either the well was very deep or she fell very slowly for she had plenty of time as she went down to look about her and to wonder what was going to happen next  First she tried to look down and make out what she was coming to but it was too dark to see anything then she looked at the sides of the well and noticed that they were filled with cupboards and bookshelves here and there she saw maps and pictures hung upon pegs  She took down a jar from one of the shelves as she passed it was labelled ORANGE MARMALADE but to her great disappointment it was empty  she did not like to drop the jar for fear of killing somebody so managed to put it into one of the cupboards as she fell past it    Well thought Alice to herself after such a fall as this I shall think nothing of tumbling down stairs  How brave theyll all think me at home  Why I wouldnt say anything about it even if I fell off the top of the house Which was very likely true    Down down down  Would the fall NEVER come to an end  I wonder how many miles Ive fallen by this time she said aloud I must be getting somewhere near the centre of the earth  Let me see  that would be four thousand miles down I think for you see Alice had learnt several things of this sort in her lessons in the schoolroom and though this was not a VERY good opportunity for showing off her knowledge as there was no one to listen to her still it was good practice to say it over yes thats about the right distancebut then I wonder what Latitude or Longitude Ive got to  Alice had no idea what Latitude was or Longitude either but thought they were nice grand words to say    Presently she began again  I wonder if I shall fall right THROUGH the earth  How funny itll seem to come out among the people that walk with their heads downward  The Antipathies I think she was rather glad there WAS no one listening this time as it didnt sound at all the right word but I shall have to ask them what the name of the country is you know Please Maam is this New Zealand or Australia and she tried to curtsey as she spokefancy CURTSEYING as youre falling through the air  Do you think you could manage it  And what an ignorant little girl shell think me for asking  No itll never do to ask  perhaps I shall see it written up somewhere    Down down down  There was nothing else to do so Alice soon began talking again  Dinahll miss me very much tonight I should think  Dinah was the cat  I hope theyll remember her saucer of milk at teatime  Dinah my dear  I wish you were down here with me  There are no mice in the air Im afraid but you might catch a bat and thats very like a mouse you know But do cats eat bats I wonder  And here Alice began to get rather sleepy and went on saying to herself in a dreamy sort of way Do cats eat bats  Do cats eat bats and sometimes Do bats eat cats for you see as she couldnt answer either question it didnt much matter which way she put it  She felt that she was dozing off and had just begun to dream that she was walking hand in hand with Dinah and saying to her very earnestly Now Dinah tell me the truth  did you ever eat a bat when suddenly thump thump down she came upon a heap of sticks and dry leaves and the fall was over    Alice was not a bit hurt and she jumped up on to her feet in a moment  she looked up but it was all dark overhead before her was another long passage and the White Rabbit was still in sight hurrying down it  There was not a moment to be lost away went Alice like the wind and was just in time to hear it say as it turned a corner Oh my ears and whiskers how late its getting  She was close behind it when she turned the corner but the Rabbit was no longer to be seen  she found herself in a long low hall which was lit up by a row of lamps hanging from the roof    There were doors all round the hall but they were all locked and when Alice had been all the way down one side and up the other trying every door she walked sadly down the middle wondering how she was ever to get out again    Suddenly she came upon a little threelegged table all made of solid glass there was nothing on it except a tiny golden key and Alices first thought was that it might belong to one of the doors of the hall but alas either the locks were too large or the key was too small but at any rate it would not open any of them  However on the second time round she came upon a low curtain she had not noticed before and behind it was a little door about fifteen inches high  she tried the little golden key in the lock and to her great delight it fitted    Alice opened the door and found that it led into a small passage not much larger than a rathole  she knelt down and looked along the passage into the loveliest garden you ever saw How she longed to get out of that dark hall and wander about among those beds of bright flowers and those cool fountains but she could not even get her head through the doorway and even if my head would go through thought poor Alice it would be of very little use without my shoulders  Oh how I wish I could shut up like a telescope  I think I could if I only know how to begin  For you see so many outoftheway things had happened lately that Alice had begun to think that very few things indeed were really impossible    There seemed to be no use in waiting by the little door so she went back to the table half hoping she might find another key on it or at any rate a book of rules for shutting people up like telescopes  this time she found a little bottle on it which certainly was not here before said Alice and round the neck of the bottle was a paper label with the words DRINK ME beautifully printed on it in large letters    It was all very well to say Drink me but the wise little Alice was not going to do THAT in a hurry  No Ill look first she said and see whether its marked poison or not for she had read several nice little histories about children who had got burnt and eaten up by wild beasts and other unpleasant things all because they WOULD not remember the simple rules their friends had taught them  such as that a redhot poker will burn you if you hold it too long and that if you cut your finger VERY deeply with a knife it usually bleeds and she had never forgotten that if you drink much from a bottle marked poison it is almost certain to disagree with you sooner or later    However this bottle was NOT marked poison so Alice ventured to taste it and finding it very nice it had in fact a sort of mixed flavour of cherrytart custard pineapple roast turkey toffee and hot buttered toast she very soon finished it off                                                                                What a curious feeling said Alice I must be shutting up like a telescope"}],
        "model": "phi3-mini-int4",
        "max_tokens": 1000,
        "temperature": 0.0,
        "stream": True,
    }

Generation Output:
Alice'slife in Wonderland: A Tale

Alice's Adventures in Wonderland is a novel written by Lewis Caroll. The story follows the adventures of Alice, a young girl, who falls down a rabbit hole and enters a fantastical world. In the book, Alice encounters various characters, including a White Rabbit, a Mad Hatter, and a Queen of Hearts.

The book was first published in 1865 and is considered a classic in children's literature. It has been adapted into various forms of media, including a 2010 film.

Summary:

Alice's Adventures in Wonderland is a tale of a young girl's journey through a magical world. The story begins with Alice, who is bored and restless, sitting by the riverbank. She spots a White Rabbit with its large teeth and decides to follow it. Alice follows the White Rabbit down a rabbit hole, and finds herself in a strange and bizarre world.

In this world, Alice meets a Mad Hatter, a March Hare, and a variety of other peculiar characters. She also encounters a Mad Hatter, a March Hare, and a Hatter. The Mad Hatter, Alice in her world.

Alice soon finds herself in a nonsensical world. She soon finds herself in a nonsensical world. Alice in Wonderland. Alice soon finds herself in a nonsensical world. Alice soon finds herself in a nonsensical world.

Alice's Adventures in Wonderland Alices Adventures in Wonderland                        Adventures in Wonderland
                    Alice's Adventures in Wonderland                        Alice in Wonderland
   Adventures in Wonderland                        Alice's Adventures in Wonderland                        Alice in  It                        Alice'

 Alice's AdventURESonoracle began to read allormans.


Mismatched local wheels can fail silently and be hard to debug

If a local wheel is present with the wrong version there is no indication of why its not used
leaving this here as a comment in case someone in the future gets stumped by this
to make it more obvious you can replace https://github.com/jvolkman/rules_pycross/blob/757033ff8afeb5f7090b1320759f6f03d9c4615c/pycross/private/tools/bzl_lock_generator.py#L238-L242
with the following
            # has name_version and just name as specified in local_wheels
            # used to warn the user if a name is specified but version does not match
            specified_local_wheels = set()

            # Override per-file with given local wheel labels
            for filename, local_label in self.local_wheels.items():
                name, version, _, _ = parse_wheel_filename(filename)
                specified_local_wheels.add(name)
                specified_local_wheels.add(f"{name}_{version}")

                if (package.name, package.version) == (name, version):
                    package_sources[filename] = PackageSource(label=local_label)

            if package.name in specified_local_wheels and f"{package.name}_{package.version}" not in specified_local_wheels:
                print(f"WARNING: {package.name} is specified in local_wheels but version does not match version {package.version} of package used in lock file.")

@codebreach if you're still using this, would you consider submitting a PR?


comment out all css expect reset

looking at review each style sheet and cross compared duplicated css so that I can combine into one style sheet.

Or two, three sheets instead of all the ones we have

This branch mainly formats all css files and condenses some style sheet to the style.css, next step would be to look at the navigation css and conform to one navigation. @harguss

.p-menu1 was overwriting the index menu from the past production page all of which now lives in the style css file, so I updated the class name to .p-menu2, and everything is 'navigating' the way it should. this branch should be ready to review and merge.


MODNet input and output sizes

I've downloaded the mlmodel in https://github.com/anilsathyan7/Portrait-Segmentation/tree/master/MODNet and noticed that the input size expects 512x512 but the ouput is 1252 MultiArray (Float32).
How would I use the output to create a 2D mask of the original image?

The output dimension is 1x1x512x512. So you can either use indexing and convert the array to image (code)or (maybe) make output as image within the model, using coremltools.
![modnet_mlmodel](https://user-images.githubusercontent.com/1130185/103854655-ff37c300-50d6-11eb-83b7-364855f48e2a.png

The output dimension is 1x1x512x512. So you can either use indexing and convert the array to image (code)or (maybe) make output as image within the model, using coremltools.
![modnet_mlmodel](https://user-images.githubusercontent.com/1130185/103854655-ff37c300-50d6-11eb-83b7-364855f48e2a.png

I was able to use coremltools to change the ouput into an image [1,512,512] but unfortunately the pixel data is all black: I think it's because the floats were all in the [-1,1] range, so an extra post-processing would be required. Ideally this would happen in the CoreML model itself instead of Swift code. I'm stuck now.
On a related topic, which model would you advise I use for fast inference on mobile? One with a good trade-off between speed and quality.

I was able to use coremltools to change the ouput into an image [1,512,512] but unfortunately the pixel data is all black: I think it's because the floats were all in the [-1,1] range, so an extra post-processing would be required. Ideally this would happen in the CoreML model itself instead of Swift code. I'm stuck now.
On a related topic, which model would you advise I use for fast inference on mobile? One with a good trade-off between speed and quality.

The outputs will be in the range 0-1, since we are using sigmoid activations.
For inputs you can refer the onnx inference code for normalization:-
# Preprocess images based on the original training/inference code
mean = [0.5, 0.5,  0.5 ]
std = [0.5,  0.5, 0.5]

img = (inp-mean)/std

May be you can make inputs multiarray and do preprocessing before feeding inputs to the model.
Unfortunately, i couldn't test the model on a mac system.
You may try out mobilenetv2 based models for a good trade-off between speed and quality. Additionaly you can refer the following links:-

https://github.com/cainxx/image-segmenter-ios
https://machinethink.net/blog/mobile-architectures/

The outputs will be in the range 0-1, since we are using sigmoid activations.
For inputs you can refer the onnx inference code for normalization:-
# Preprocess images based on the original training/inference code
mean = [0.5, 0.5,  0.5 ]
std = [0.5,  0.5, 0.5]

img = (inp-mean)/std

May be you can make inputs multiarray and do preprocessing before feeding inputs to the model.
Unfortunately, i couldn't test the model on a mac system.
You may try out mobilenetv2 based models for a good trade-off between speed and quality. Additionaly you can refer the following links:-

https://github.com/cainxx/image-segmenter-ios
https://machinethink.net/blog/mobile-architectures/


Task: Heroku background worker to Open States APIs

We'd like to poll the Open States API on a regular interval in order to send out relevant notifications to subscribers. The target deployment environment for this application is Heroku. We should configure a Procfile and a Node module (put a placeholder here) that will run in a worker dyno on Heroku to poll the APIs. Let's get this in place, and we can tweak the behavior later.
Acceptance criteria

Create a function that will execute as a background task on Heroku
Create Procfile configuration as necessary
Create test for the background function (placeholder is fine for now)

Suggestion: Use the Heroku Scheduler instead of a custom schedule process. That way, it won't need to be scaled up to a separate dyno, and there doesn't need to be an entry in the Procfile. I think all that's needed is a new script in package.json. Will test, and make a PR.


Change default traffic light behaviour

I think the main reason is why we need to setup timed traffic lights is because the default traffic light settings are a bit wack, as they allow multiple directions to enter intersection at the same time, causing collision points. It would be more logical if the default setting would not do that, and that way we can reserve the timed traffic lights for the more complex situations.
So for the default traffic lights it would be more logical to set up as:
Lanes can go straight, left and right from one direction, the lane to the left can also turn at the same time because traffic won't hit each other.
In addition add a step where pedestrian can pass, without being hit by cars.
This setup might be more logical as default traffic light setup.
https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/200

A relevant bit of information on behaviour I've noticed in-game regarding lane arrows (and the behaviour of what left/right is on a traffic light, is that sometimes "left" or "right" also goes what you would expect to call "forward". Visual example as follows.
This is an intersection in my city of 163k, and it's pretty busy:

On the 2by3 median-divided avenue going upwards, there's an LeftForward Right Right lane arrow system which I put in place. On that particular part of the road , "right" is any path drawn by a yellow line whereas Forward is identified by the green lines. It cuts off traffic coming from lanes intersection with the red arrows, as well as traffic coming from the other side.
I do agree with the step where pedestrians can pass without being hit though. More often than not traffic is moving slowly through non-timed lights because of pedestrians crossing all of the time.

What you're essentially after is a "default" traffic light setup that minimises crossing conflict points and also provides safe points for pedestrians to cross. So essentially it's a mathematical reduction of things like this:

Ultimately, the player should be designing their roads so as to reduce crossing and merging points wherever possible.
I'll create separate issue requesting tool for visualising crossing/merging/diverging points as that in itself would be incredibly useful.

Duplicate of #5


about exercise-6  operational procedure

Hello,
I think the exercise-6 procedure doesn't use the OpenShift function enough.
In exercise-6 uses S2I docker strategy.
In exercise-1, S2I uses SourceStrategy.
The big difference between excise1 and excise6 is that there is a buildconfig in exercise-1 but not in exercise-6.
In exercise-6, if we change the source code of the application, we have to do a docker build and push the docker image to Docker Hub again.
In exercise-1, we change the application source code on GitHub, and when we click the start-build button on the GUI, build and deployment will start automatically with OpenShift.
If we make a procedure like excrcise-1 with cli, I think the following procedure is good.
$ oc new-project example-health-ns

$ oc project example-health-ns

- [if you need ] Red Hat UBI Image import to openshift project
$ oc import-image ubi7/nodejs-10 --from=registry.access.redhat.com/ubi7/nodejs-10 -n openshift --confirm

$ oc get is -n openshift
NAME             DOCKER REPO                                                 TAGS                          UPDATED
nodejs           docker-registry.default.svc:5000/openshift/nodejs           0.10,10,4 + 4 more...         5 weeks ago
nodejs-10        docker-registry.default.svc:5000/openshift/nodejs-10        latest                        2 hours ago

openshift/nodejs:10   <-- original centos template
nodejs-10:latest <- Red Hat UBI Image(RHEL7)

$ oc new-app openshift/nodejs-10~https://github.com/daihiraoka/node-s2i-openshift.git --name='patientui' --context-dir='/site'

--> Found image fca7ff7 (3 weeks old) in image stream "openshift/nodejs-10" under tag "latest" for "openshift/nodejs-10"

    * A source build using source code from https://github.com/daihiraoka/node-s2i-openshift.git will be created
      * The resulting image will be pushed to image stream tag "patientui:latest"
      * Use 'start-build' to trigger a new build
    * This image will be deployed in deployment config "patientui"
    * Port 8080/tcp will be load balanced by service "patientui"
      * Other containers can access this service through the hostname "patientui"

--> Creating resources ...
    imagestream.image.openshift.io "patientui" created
    buildconfig.build.openshift.io "patientui" created
    deploymentconfig.apps.openshift.io "patientui" created
    service "patientui" created
--> Success
    Build scheduled, use 'oc logs -f bc/patientui' to track its progress.
    Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
     'oc expose svc/patientui'
    Run 'oc status' to view your app.

$ oc get pod
NAME                                  READY     STATUS      RESTARTS   AGE
patientui-1-build                     0/1       Completed   0          2m
patientui-1-xjmbk                     1/1       Running     0          5m

$ oc expose svc/patientui
route.route.openshift.io/patientui exposed

$ oc get route
NAME       HOST/PORT                                      PATH  SERVICES  PORT TERMINATION WILDCARD
patientui  patientui-example-health-ns.***.containers.appdomain.cloud      patientui 8080-tcp         None

============================================================
Change the application source code on GitHub.
===========================================================

- check buildconfig
$ oc get bc
NAME        TYPE      FROM      LATEST
patientui   Source    Git       1

- start build
$ oc start-build patientui
build.build.openshift.io/patientui-2 started

$ oc get bc
NAME        TYPE      FROM      LATEST
patientui   Source    Git       2

- The build1 pod has terminated, and the build2 pod has started.
$ oc get pod
patientui-1-build                     0/1       Completed     0          3m
patientui-1-xjmbk                     0/1       Terminating   0          6m
patientui-2-bsgpr                     1/1       Running       0          11s
patientui-2-build                     0/1       Completed     0          45s

Best,
Daisuke Hiraoka

BuildConfig

$ oc get bc -o yaml
apiVersion: v1
items:
- apiVersion: build.openshift.io/v1
  kind: BuildConfig
  metadata:
    name: patientui
  spec:
    output:
      to:
        kind: ImageStreamTag
        name: patientui:latest
    source:
      contextDir: /site
      git:
        uri: https://github.com/daihiraoka/node-s2i-openshift.git
      type: Git
    strategy:
      sourceStrategy:
        from:
          kind: ImageStreamTag
          name: nodejs-10:latest
          namespace: openshift
      type: Source

Hi @daihiraoka yes, you are right. I think another way to look at exercise-1 vs exercise-6 is that it is UI based versus cli based approach. I will add a cli based S2I example and a Jenkins on Openshift example soon, currently located here https://code.remkohde.com/openshift/builds/source-to-image-s2i/build-and-run-from-source
I will take your comment, include it in the pure S2I with source strategy from cli and explain the different strategies more clearly. Thanks for your feedback. Let me know if you have any further feedback or contribution, it is always very welcome.

Hi @remkohdev
Thank you for your reply!
I think exercise-6 should not use docker.
The people who learn in this workshop are developers, operators, and sales. I think the easiest way is as good as possible.
When using OpenShift, it's important to learn that we can build and deploy applications without using docker, whether using GUI or CLI.　Most people will not have the opportunity to use docker when using OpenShift in commercial use.　This is one of the features of OpenShift.
I think the # 31 procedure is the best, I can agree if we change the current excise6 procedure as follows use case:
Actor:

Solution Architect
Developer

Steps:

Solution Architect

- Build and Push the base image to your public Docker Hub Registry.
  $ docker build --no-cache -t example-health .
  $ docker tag example-health:latest <username>/example-health:1.0.0
  $ docker login -u <username>
  $ docker push <username>/example-health:1.0.0

- Import the base image as a template into the OpenShift project
oc import-image <username>/example-health --from=<username>/example-health:1.0.0 -n openshift --confirm

Developer

- Deploy the Example Health app using  template(base image) and  source code (github)
$ oc new-app openshift/example-health:1.0.0~https://github.com/daihiraoka/node-s2i-openshift.git --name='patientui' --context-dir='/site'

I think that The principle of openshift build is to separate base image(docker image) and Application's source code.

Solution Architect creates a base image (Docker Image) to maintain the OS and middleware.

Developer uses the base image created by Solution Architect as a template.(developer does not use docker.)

In OpenShift, I think it's good to emphasize that Solution Architect and Developer can be separated by interest. [separation of concerns]
I looked at your blog.
https://code.remkohde.com/openshift/builds/source-to-image-s2i/build-and-run-from-source
I think this is a great job!
jenkins pipline uses the github repository for the source code.
I'm sorry, only one was interested.
In build-and-run-from-source,
$ oc new-app --name springclient registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift~.

I thought that it would be better to specify the github repository when specifying the source code for oc new-app.
I think the articles on the jenkins pipeline are very easy to understand and great.
Thank you!
Daisuke Hiraoka

Agree, the source strategy should be exercise 6, exercise-7 use docker and exercise-8 use Jenkinsfile. There are many developers and organizations that use multi-cloud and have an existing baseline or CI/CD Pipeline using docker or Jenkisn, so I would love to cover those 3 main strategies. I will take your points and input and rewrite/add exercise 6,7,8.

I don't think this is still relevant to what we are trying to accomplish. If it is, please reopen and we'll work to make it better. Thanks!


fix MARBL websocket endpoint frames coming back in arbitrary order

Currently the MARBL endpoint spins up a goroutine per sent frame, per websocket connection (!) which not only is effectively a hidden infinite buffer, but breaks the ordering of the MARBL frames making it impossible to know when all frames for a particular req/rep have been received.
This:

Adds a huge buffer per WS frame channel
Hangs up when the buffer is filled
Makes additions to the buffer occur on the writing goroutine

Just 2^14
On Fri, Aug 3, 2018 at 4:52 PM Bramha Ghosh<EMAIL_ADDRESS>wrote:

@bramhaghosh commented on this pull request.
In marbl/handler.go
https://github.com/google/martian/pull/258#discussion_r207690958:

@@ -65,7 +69,7 @@ func (h *Handler) streamLogs(conn *websocket.Conn) {
log.Errorf("logstream: failed to create ID: %v", err)
return
}

framec := make(chan []byte, 10)

framec := make(chan []byte, 16384)

is there some significance to 16384?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/martian/pull/258#pullrequestreview-143362937,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGfzeMLRdXf6_snN4BoyXwDAwzICVkJBks5uNOJOgaJpZM4Vinm2
.


Network configuration should be replayed after qemu process finish

We need something opposite to SetupContainerSideNetwork to be fired up after qemu is done and as a perquisite to fire up CNI DEL command during network teardown.
This is blocker for #167, also without that we are leaking network interfaces/namespaces and ip addresses on IPAM side of CNI plugin.

The question is where this should be fired up?
IMO this should be started not from vmwrapper, but from as separate binary started by virtlet during podsandboxstop. The reason for this is that now we are using graceful shutdown - which works for e.x. cirros image, but other images may not have ACPI support, so they have to be forcibly shutoff - what would mean kill signal probably for vmwrapper.
Only if libvirt kills qemu under wrapper (using pidfile or some returned value) this could be part of vmwrapper - hopefully then not touched in any way.

Done in #192


!fixup LuceneBatchIterator / fix flaky selectGroupByWithBreaking

selectGroupByWithBreaking was sometimes flaky because the
LuceneBatchIterator throw the wrong CircuitBreakingException which
wasn't serializable.

Codecov Report

:exclamation: No coverage uploaded for pull request base (batch-iterator@df844f4). Click here to learn what that means.
The diff coverage is 88.93%.

@@                Coverage Diff                @@
##             batch-iterator    #4979   +/-   ##
=================================================
  Coverage                  ?   81.97%
  Complexity                ?    10813
=================================================
  Files                     ?     1314
  Lines                     ?    45005
  Branches                  ?     5686
=================================================
  Hits                      ?    36893
  Misses                    ?     5443
  Partials                  ?     2669

Impacted Files
Coverage Δ
Complexity Δ

...io/crate/planner/node/dql/FileUriCollectPhase.java
65.62% <ø> (ø)
14 <ø> (?)

.../operation/collect/collectors/RemoteCollector.java
77.94% <ø> (ø)
11 <ø> (?)

dex/src/main/java/io/crate/data/Row.java
40% <ø> (ø)
1 <ø> (?)

...main/java/io/crate/action/job/ContextPreparer.java
90.69% <ø> (ø)
18 <ø> (?)

...va/io/crate/rest/action/RestResultSetReceiver.java
73.17% <ø> (ø)
7 <ø> (?)

...ate/operation/collect/sources/SingleRowSource.java
84.61% <ø> (ø)
4 <ø> (?)

...a/io/crate/operation/fetch/NodeFetchOperation.java
83.67% <ø> (ø)
13 <ø> (?)

...n/java/io/crate/protocols/postgres/BulkPortal.java
86.79% <ø> (ø)
13 <ø> (?)

.../java/io/crate/protocols/postgres/BatchPortal.java
76.27% <ø> (ø)
10 <ø> (?)

...io/crate/rest/action/RestBulkRowCountReceiver.java
33.33% <ø> (ø)
0 <ø> (?)

... and 56 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 df844f4...b009104. Read the comment docs.


Rename study to DOC-COV

Sorry about that :)

No problem whatsoever!

On 23 Mar 2020, at 17:11, Omid Golzarian<EMAIL_ADDRESS>wrote:
Sorry about that :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/Luscii/olvg-corona-check-protocol/pull/7#issuecomment-602700477, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGHUDZQTYFZIBKQYA4LADLRI6C3VANCNFSM4LR6OCIQ.


Quick Start Guide is Missing

The quick start guide is missing from the wiki (and links to it are broken). It would be useful to have for anyone who's getting started with this in the future.
In case it's missing completely here's a link to it on Google Drive
https://drive.google.com/file/d/0B77UzQX3CxDiRUh5NkJUNEYxMHc/view

The quick start guide is still in the repo:
https://github.com/StanleyInnovation/vector_v1/blob/master/vector_embedded_firmware/Vector%20Quick%20Start%20Guide.pdf
not sure why the wiki link is broken though

The one in the Wiki is pointing to the hlpr_merge branch instead of the master.


Improve documentation of cli flag --project

The current documentation of the cli flag --project is a little confusing as to which the path of a file or the path of a directory can be specified.
As both are valid options, updating the documentation to make it clear that either the path to a tsconfig.json file or the path to a directory containing a tsconfig.json file can be specified.
PR checklist

[ ] Addresses an existing issue: #0000
[ ] New feature, bugfix, or enhancement

[ ] Includes tests

[ ] Documentation update

Overview of change:
Is there anything you'd like reviewers to focus on?

CHANGELOG.md entry:

Thanks for your interest in palantir/tslint, @a-xin! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.


Convert reference pages documentation section to Markdown

Part of https://github.com/wagtail/wagtail/issues/8383
Migrates the rest of the reference/contrib section pages from RST to MD - intentionally two commits to keep the file history
[X] Does the code comply with the style guide?
[X] For new features: Has the documentation been updated accordingly?

Thanks @thibaudcolas  - really appreciate the cross-check


python312Packages.myuplink: 0.4.1 -> 0.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.myuplink is: Module to interact with the myUplink API
meta.homepage for python312Packages.myuplink is: https://github.com/pajzo/myuplink
meta.changelog for python312Packages.myuplink is: https://github.com/pajzo/myuplink/releases/tag/0.5.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.0 with grep in /nix/store/qd0760njfqg7m26gq0wrzshlfnr3520m-python3.12-myuplink-0.5.0
found 0.5.0 in filename of file in /nix/store/qd0760njfqg7m26gq0wrzshlfnr3520m-python3.12-myuplink-0.5.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.myuplink
python311Packages.myuplink
python312Packages.myuplink

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qd0760njfqg7m26gq0wrzshlfnr3520m-python3.12-myuplink-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.myuplink https://github.com/r-ryantm/nixpkgs/archive/86145b9573f98f671828d6f553c4a1229beefac9.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/86145b9573f98f671828d6f553c4a1229beefac9#python312Packages.myuplink

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qd0760njfqg7m26gq0wrzshlfnr3520m-python3.12-myuplink-0.5.0
ls -la /nix/store/qd0760njfqg7m26gq0wrzshlfnr3520m-python3.12-myuplink-0.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python311Packages.myuplink
python312Packages.myuplink

Maintainer pings
cc @fabaff for testing.

Result of nixpkgs-review pr 291586 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.myuplink
python311Packages.myuplink
python311Packages.myuplink.dist
python312Packages.myuplink
python312Packages.myuplink.dist


Licence?

Apache 2.0 I'm guessing, like with the huggingface repo? Just looking to make sure :) Thanks!

Yup!


validateToken doesn't work when authenticating with Auth0

I had this issue using the Webtask.fromExpress(server).auth0(): It wouldn't validate my token and I'd get an Unauthorized error.
It seems that it's because of the Base64 encoding, but I'm not sure. I think that the token does not come encoded from Auth0 and when the library tries to do it, the validation fails.
I solved it overwriting the validateToken function and removing the encoding, but I think that the library could check for that or have the option to not encode the token. Here's my solution:
module.exports = Webtask.fromExpress(server).auth0({
  validateToken: function (ctx, req, token, cb) {
    let user;
    console.log(token)
    try {
      user = require('jsonwebtoken').verify(token, ctx.secrets.AUTH0_CLIENT_SECRET, {
        audience: ctx.secrets.AUTH0_CLIENT_ID,
        issuer: 'https://' + ctx.secrets.AUTH0_DOMAIN + '/'
      });
    } catch (e) {
      return cb({
        code: 401,
        message: 'Unauthorized: ' + e.message
      });
    }
    return cb(null, user);
  }
});

@icaroharry  Encountering this issue as well.
After reading the docs at https://webtask.io/docs/auth and viewing several examples showing usage of wt.fromExpress(server).auth0() with no configuration parameters I was under the assumption that it would just work out of the box if I passed the correct authorization header.
So I tried your approach (using validateToken) above and received the same error. And then I tried:
cb(null, jwt.decode(token)) and it worked beautifully. My understanding is that this is not the correct approach though and that jwt.verify should be used  instead.
Playing around a bit more I also tried this inside validateToken:
cb(null) ... and it worked.
Am I missing something here? I'm new to auth0 and webtask so maybe i'm misunderstanding the purpose of validateToken.
BTW, I am first obtaining the idToken from Auth0 Lock, which I subsequently pass to the webtask using the 'Authorization: Bearer xxxx' header.
Here are a few excerpts from the docs at https://webtask.io/docs/auth that let me to the assumptions above.

Note that if you customize the createToken logic, you will also likely need to provide a custom logic to validate your token in validateToken described below.

I'm not doing this. ^

By default, the JWT access token can be provided either as the Authorization: Bearer {accessToken} HTTP request header or the access_token={accessToken} URL query parameter.

I'm doing this ^

If you don't provide your own implementation of validateToken, the default implementation will ensure the token is an id_token issued by Auth0 using the client secret configured when creating the webtask. All claims of the token will be used to construct the user profile.

I want this ^ .. but without defining the validateToken function it doesn't work.
Lastly,
I was led to research this problem in the first place because it was getting 401s from webtask containing this header:
x-wt-error:Unauthorized: invalid algorithm.

The built-in auth seems to work for me with HS256 encrypted tokens, but not RS256. This is not specified in the docs though, just something I've seen via trial and error.

Ok, I still don't know why this issue is happening as I'm not very experienced with the inner-workings of this library, but I was able to get the authentication to work with an RS256 algorithm by changing my AUTH0_CLIENT_SECRET to a Signing Certificate instead, for example:
AUTH0_CLIENT_SECRET="-----BEGIN CERTIFICATE-----\n<Signing Certificate Here>-----END CERTIFICATE-----"

Just make sure to use double quotes around the cert and add \n instead of line breaks.

Hi @icaroharry, @steve-a-jones, @karllhughes,
This issue has been solved with version 3.3.0. Sorry for the late reply.


lib.wiring.connect does not take custom Signature.__eq__ overrides into account

This is an issue if e.g. two components have the same members in their interfaces, but different latency requirements.
This can likely be solved by checking for structural equality first (with the extensive diagnostics we currently have in connect) and then also running __eq__ on the appropriately flipped interfaces.

There is a problem here: with the current design, it is entirely possible to connect two (or more) interfaces whose signatures are not just flipped versions of each other — you can connect (Out, In, In) together with (In, Out, In) and (In, In, Out) for example. No amount of signature flipping will make these three signatures compare equal, so I see no way to delegate to __eq__ without breaking this functionality.
After some brief discussion with @whitequark, we think a better approach may be to instead build on the annotation mechanism introduced by amaranth-lang/rfcs#30 and introduce a subtype of annotation that needs to compare equal between signatures for them to be considered connectable. Since this can be introduced later in a backward-compatible way, this issue will be moved to a later milestone.

I will also close this as "not planned" for the time being, noting that we may reopen this issue at a later point if the need for this feature is readily apparent (i.e. if we get bugs that could be prevented by this feature). Initially I assessed this as an "easy, low-cost modification" which it clearly isn't because it's impossible, and we can make some other, more complex modification at a later point when we have resources to do so.


Document page headings that are consistent with other pages

I'm not sure if I should label this as a bug or feature request, but this one feels more like a feature request to me.
Search Terms
documents headings
Problem
Currently document page headings are missing, which is inconsistent with other pages.
Suggested Solution
Option 1:
Include an h1 heading on document pages by default and add an omitDocumentHeadings boolean option.
Option 2:
Add an includeDocumentHeadings boolean option that when set adds an h1 heading to document pages.
Option 3 (preferred):
Include an h1 heading in document page titles, then check if documents start with a heading that matches the document name and remove it if found.

Going to track this as a part of #2729, it doesn't need its own issue.


Enable concatenation of LazyDataFrames

Resolves https://github.com/pola-rs/nodejs-polars/issues/232
Exposes the underlying lazy-compatible concat, concat_lf_horizontal, and concat_lf_diagonal functions in native.
Tried to keep things reasonably inline with existing code. Added tests that verify the behavior 👍

Tbh I didn't read the contrib guide before submitting. I'll clean this up Monday


MUI Tabs using "react-swipeable-views" to animate tab transition

Steps to reproduce
Link to live example: https://mui.com/material-ui/react-tabs/#full-width
Steps:

Change the tab to 'Item 2' or 'Item 3'
You will see no animation.
Change again the tab and the animation will start working. Reload the page to reproduce the bug.

Current behavior
The tab transition in the tabs doesn't work in the correct order on 1st go. If you try to change the tab, the tab and information will be changed without the animation. After that, if you try to change the tab then the animation will start working.
Expected behavior
The expected behaviour should be that when the tab is changed even in the first-ever click the animation should work.
Context
I want to fix the bug of the animation tab. The animation should start working on first ever click
Your environment
I am using Google chrome
Search keywords: Tabs react-swipeable-views

react-swipeable-views is no longer maintained, so it was removed from the demos in #41912. This change was merged into the next branch and is available at https://next.mui.com/material-ui/react-tabs/#full-width. I suppose it should have been merged into the master branch.


Add description field for mini.ai custom_textobjects

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.ai
Description
Given a configuration like:
local tsSpec = require('mini.ai').gen_spec.treesitter
require('mini.ai').setup({
  custom_textobjects = {
    c = tsSpec({
      a =<EMAIL_ADDRESS>      i =<EMAIL_ADDRESS>    }, {})
  }
})

It would be nice to be able to put something like desc to use in conjunction with which-key or legendary or whatever to describe the keymap.

This is an interesting idea. It has at least one, but pretty significant obstacle: 'mini.ai' only defines a and i mappings along with their next/last variants. They implement their custom waiting for character input, which allows users to take their time when deciding what to press. This is a part of 'which-key' type of functionality.
I think it should be possible to add custom description to already existing mappings inside 'folke/which-key.nvim'.

Thanks for following up. I'm a bit unclear on where the use-case for mini.ai ends and treesitter-textobjects begins. Would be nice to find a solution that "just works".


Override npc spawn function

This doesn't change how the function works; essentially it just relocates it somewhere else so we have the ability to make changes/extend it.

Should be good for now as long as PR 24 doesn't render this obsolete.

It shouldn't render it obsolete, but it's not really needed for now. I believe I wrote this to help with rendering the correct NSBMD model for freestanding/dropped items, but decided to postpone that for later. I'll just leave this in draft state for now.


error in training

Hello, author, I made a mistake in training. What is the specific reason for the error?
python scripts/segmentation_train.py --data_name ISIC --data_dir F:\liuxiao\project\dataset\isbi_3b_medsegdiff  --out_dir F:\liuxiao\project\MedSegDiff\outdir  --image_size 256 --num_channels 128 --class_cond False --num_res_blocks 2 --num_heads 1 --learn_sigma True --use_scale_shift_norm False --attention_resolutions 16 --diffusion_steps 1000 --noise_schedule linear --rescale_learned_sigmas False --rescale_timesteps False --lr 1e-4 --batch_size 8
error:
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "F:\miniconda\envs\medsegdiff\lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
File "F:\miniconda\envs\medsegdiff\lib\site-packages\urllib3\connectionpool.py", line 844, in urlopen
retries = retries.increment(
File "F:\miniconda\envs\medsegdiff\lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=8850): Max retries exceeded with url: /env/main (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024EDE7FCC40>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝，无法连接。'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "F:\miniconda\envs\medsegdiff\lib\site-packages\visdom_init_.py", line 756, in _send
return self.handle_post(
File "F:\miniconda\envs\medsegdiff\lib\site-packages\visdom_init.py", line 720, in _handle_post
r = self.session.post(url, data=data)
File "F:\miniconda\envs\medsegdiff\lib\site-packages\requests\sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "F:\miniconda\envs\medsegdiff\lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "F:\miniconda\envs\medsegdiff\lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "F:\miniconda\envs\medsegdiff\lib\site-packages\requests\adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8850): Max retries exceeded with url: /env/main (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024EDE7FCC40>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝，无法连接。'))
[WinError 10061] 由于目标计算机积极拒绝，无法连接。
on_close() takes 1 positional argument but 3 were given
Visdom python client failed to establish socket to get messages from the server. This feature is optional and can be disabled by initializing Visdom with use_incoming_socket=False, which will prevent waiting for this request to timeout.
[W socket.cpp:663] [c10d] The client socket has failed to connect to [::ffff:<IP_ADDRESS>]:59878 (system error: 10049 - 在其上下文中，该请求的地址无效。).
Traceback (most recent call last):
File "scripts/segmentation_train.py", line 118, in
main()
File "scripts/segmentation_train.py", line 26, in main
dist_util.setup_dist(args)
File "F:\liuxiao\project\MedSegDiff.\guided_diffusion\dist_util.py", line 46, in setup_dist
dist.init_process_group(backend=backend, init_method="env://")
File "F:\miniconda\envs\medsegdiff\lib\site-packages\torch\distributed\c10d_logger.py", line 74, in wrapper
func_return = func(*args, **kwargs)
File "F:\miniconda\envs\medsegdiff\lib\site-packages\torch\distributed\distributed_c10d.py", line 1148, in init_process_group
default_pg, _ = _new_process_group_helper(
File "F:\miniconda\envs\medsegdiff\lib\site-packages\torch\distributed\distributed_c10d.py", line 1268, in _new_process_group_helper
raise RuntimeError("Distributed package doesn't have NCCL built in")
RuntimeError: Distributed package doesn't have NCCL built in

same problem

how to solve this problem

Seems like NCCL isn't available in Windows.


[R] write_dataset returns nothing

Describe the bug, including details regarding any error messages, version, and platform.
The docs say
write_dataset              package:arrow               R Documentation

Write a dataset

Description:

     This function allows you to write a dataset. By writing to more
     efficient binary storage formats, and by specifying relevant
     partitioning, you can make it much faster to read and query.

Usage:

     write_dataset(
       dataset,
       path,
       format = c("parquet", "feather", "arrow", "ipc", "csv", "tsv", "txt", "text"),
       partitioning = dplyr::group_vars(dataset),
       basename_template = paste0("part-{i}.", as.character(format)),
       hive_style = TRUE,
       existing_data_behavior = c("overwrite", "error", "delete_matching"),
       max_partitions = 1024L,
       max_open_files = 900L,
       max_rows_per_file = 0L,
       min_rows_per_group = 0L,
       max_rows_per_group = bitwShiftL(1, 20),
       ...
     )

Value:

     The input ‘dataset’, invisibly

but when I write datasets, I get nothing in return:
res <- arrow::write_dataset(mtcars, "mt")
res
# NULL

On Ubuntu-23.10, R-4-3.2, arrow_15.0.1.
Component(s)
R

Part of me says I don't need the data, I'd rather have all of the filenames created ... but that's more of a feature-request than a bug-report.
res <- arrow::write_dataset(mtcars, "mt", partitioning = c("cyl", "gear"))
res
# NULL
list.files("mt", recursive = TRUE, full.names = TRUE)
# [1] "mt/cyl=4/gear=3/part-0.parquet" "mt/cyl=4/gear=4/part-0.parquet" "mt/cyl=4/gear=5/part-0.parquet" "mt/cyl=6/gear=3/part-0.parquet"
# [5] "mt/cyl=6/gear=4/part-0.parquet" "mt/cyl=6/gear=5/part-0.parquet" "mt/cyl=8/gear=3/part-0.parquet" "mt/cyl=8/gear=5/part-0.parquet"

That is, I don't want to need to do list.files(..), since arrow knows internally what files were created. A recursive search can get a little annoying if there are many existing files.

Thanks for reporting this @r2evans.
I can confirm that I can reproduce this - nothing is returned.
Thinking through the various options of what would make sense to return, I had a few thoughts.
Looking at other examples, such as DBI::dbWriteTable() (as sometimes we think of working with datasets as analogous to working with a database connection), that function just returns TRUE invisibly to indicate success.
However, looking at the tidyverse design guide, a principle referenced there is:

If a function is called primarily for its side-effects, it should invisibly return a useful output. If there’s no obvious output, return the first argument. This makes it possible to use the function with in a pipeline.

I'm not sure how common it is to use write_dataset() mid-pipeline, though it's feasible, so that could make sense too.
I can see why you might want to have the list of files created, but I'm a bit hesitant to diverge from the behaviour of existing similar APIs, and this might be better thought through as a separate feature request.
Curious to see what @amoeba thinks here?

I agree that returning something useful is a good thing. Often, yes, mid-pipeline functions pass the data through (often invisibly), but I agree that I don't see this being a mid-pipeline kind of operation.
My thought is to return the filenames created. While we are calling this function primarily for its side-effect, what we don't know is exactly what filenames will be created; the only time we "know" is when we're writing completely new data (partitioning subdirs do not exist or are known to be empty). If that is ever important (I have an internal use-case where it is), then we have to infer what files were created, something that can be ambiguous in situations where there are pre-existing files.
Do you think returning a character vector with the final filenames is both meaningful and feasible?
Another argument for this: if this returns files and it is being used mid-pipe where data would be more useful, there is an easy workaround:
# dplyr pipe
dat %>%
  mutate(...) %>%
  { write_dataset(., ...); .; } %>%
  summarize(...)
# native pipe
dat |>
  transform(..) |>
  (\(.x) { write_dataset(.x, ...); .x; })() |>
  aggregate(..., data = _)

But if the function instead returns data, there is no unambiguous way to immediately know the filenames created.

I wonder if we could hook things up so it returns a Dataset object for the serialized Dataset, instead of the input dataset. I too am not sure about the use case of putting write_dataset mid-pipeline.
Beyond the above use case, it would be a nice time-saver for cases where you want to call open_dataset on the newly-serialized dataset but where it might take some time due to dataset discovery (particularly on cloud storage). I think when write_dataset returns it may already know enough to create a Dataset object and to skip discovery (schema, fragments, partitioning).
Getting the files out of write_dataset could then be done like this:
ds %>%
  write_dataset("outdir") %>%
   .$files

and we wouldn't be limiting the information you could get out of write_dataset to just the files.

That's a good suggestion, I like that option. Thanks @amoeba!

Right. I'd only want us to do what I suggest if it was nearly free (not sure if can be made free). Adding an argument to write_dataset that changes its behavior, while useful, doesn't feel quite right.
For uniformity's sake, I'm inclined to follow @thisisnic's lead and follow the tidyverse principle here (return the input dataset). It doesn't improve things for your use case but it does fix the original bug.

I understand preferring simplicity, but ... I cannot think of a situation where I would use write_dataset in the middle of a data pipe and expect the data to continue. The premise of write_dataset is on its side-effect, not on its return value. (I don't understand it for readr::write_csv, either.) I suggest that the strength in returning the filenames-created is that the underlying code (somewhere) already knows what the filenames are, so there should be no need to scan for them. Scanning for them is exacerbated when we use partitioning into existing path with existing partitions. Whether we delete existing files, use a different basename_template=, or whatever, when partitions pre-exist, there are no "inexpensive" ways to determine if my recent call to write_dataset is what created the files I see. (I characterize "scanning all files" as relatively expensive. I do much work on an HPC using a filesystem that has, at times, had a significant 5-10 second lag, but that is just anecdotal for why I suggest that forcing a scan of the filesystem should not be necessary.)
Think of this:
arrow::write_dataset(mtcars[1:3,], td, partition = "cyl")
list.files(td, recursive = TRUE)
# [1] "cyl=4/part-0.parquet" "cyl=6/part-0.parquet"
### pause ...
arrow::write_dataset(mtcars[4:5,], td, partition = "cyl")
list.files(td, recursive = TRUE)
# [1] "cyl=4/part-0.parquet" "cyl=6/part-0.parquet" "cyl=8/part-0.parquet"

Which of those files were created on the second write? If you know the data, then you'll know that cyl=4 is not present in rows 4-5, so if we disect the data we can figure that out, but consider millions of rows and this becomes a bit more onerous.
Yes, we can do a scan of the directory structure, and we'll see which files were created in the second batch by comparing the ctime values:
file.info(list.files(td, recursive = TRUE, full.names = TRUE), extra_cols = FALSE)
#                                                                 size isdir mode               mtime               ctime               atime
# /home/r2/tmp/Rtmp1ZaQHP/file158b58c3a3b4.d/cyl=4/part-0.parquet 4579 FALSE  664 2024-03-28 19:57:03 2024-03-28 19:57:03 2024-03-28 19:57:03
# /home/r2/tmp/Rtmp1ZaQHP/file158b58c3a3b4.d/cyl=6/part-0.parquet 4579 FALSE  664 2024-03-28 19:58:11 2024-03-28 19:58:11 2024-03-28 19:57:03
# /home/r2/tmp/Rtmp1ZaQHP/file158b58c3a3b4.d/cyl=8/part-0.parquet 4579 FALSE  664 2024-03-28 19:58:11 2024-03-28 19:58:11 2024-03-28 19:58:11

But do we really need to do that? The underlying code knows (somewhere) that it only wrote to the cyl=6 and cyl=8 partitions.
Conversely, it returns filenames and we want it to do the "tidyverse principle" of returning data, we can trivially get that with
some %>%
  pipe() %>%
  { write_dataset(path=td); .; } %>%
  something_more()

Granted, if you are amenable to adding an option or two that facilitates either or both of those pathways, then it could be as simple as one of the following:
some %>%
  pipe() %>%
  write_dataset(path=td) %>%
  something_more()
newfiles <- write_dataset(path=td, return_files=TRUE)

or
some %>%
  pipe() %>%
  write_dataset(path=td, return_data=TRUE) %>%
  something_more()

or some variant of either/both of those.

My suggestion is not without precedent, I believe. In the "tidy design principles", it does say

fs:file_copy(from, to) returns to

Which is not too dissimilar from returning the filenames. I think comparing write_parquet to write_csv is perfectly legitimate, since the filename is unambiguous. However, since write_dataset can obviously be significantly different than what it was called with, I think there's precedent and value for that.

Agree with @amoeba that we'd only want to do this if it could be done for nearly free; with that in mind, if you'd like to submit a PR, @r2evans, I wouldn't be opposed to the change.

I understand that you want to add zero or near-zero overhead, I completely agree. Does the underlying library not have the filenames it created readily available?

Does the underlying plan or ExecPlan_Write have any attributes that can be directly used to know or smartly infer the filenames?


Disabling implicit evaluation of properties and functions during debugging

Do we've equivalent to visual studio option Debugging > General > Enable property evaluation and other implicit function calls? I'm looking for a way to disable implicit evaluation of properties and functions.
Visual studio doc for this is here: https://docs.microsoft.com/en-us/visualstudio/debugger/error-evaluating-the-function-process-exited?view=vs-2019#solution-2-disable-all-implicit-evaluation

Unfortunately, no, we don't have an option to set this in VS Code. Though we definitely should.

Implementation note: the fix for this is to set DkmEvaluationFlags::NoFuncEval

In the next version of the C# extension, this can be controlled using the following in launch.json, or the identically named VS Code user preference.
    "expressionEvaluationOptions":{
        "allowImplicitFuncEval": false
    }


feat: rework tx table to be more responsive and show transfers

Description
The transaction rows were a little tricky in their current implementation to adapt to mobile sizes, so I re-worked the way they are built and used the resizeObserver to actually adjust the row based on its container's width. This gives us very fine grained control over how it looks at different sizes.
The other thing that was added was displaying the actual TX transfers, this makes it much easier on us to show correct information and the parsing was getting pretty tricky to figure out who and what got the assets.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
No issue
Risk
Medium Risk
I did modify the way these work, the data is all there just the way its rendered is different.
Another note, we are using the resizeObserver so any performance degradation is possible here. This won't prevent people from seeing the information but it may slow down their browser.
Testing
View the TX table at all screen sizes, and in all the places you can view them /tx-history, asset details page, dashboard sidebar.
Note down any slow down in performances so we can try and troubleshoot.
Screenshots

Awesome.
I guess performance will be degraded only when you resize the browser and txRows changes right?
I'm afraid the biggest performance issue would be when you switch from portrait to landscape mode on mobile, some old mobiles could burn 😄

Awesome.
I guess performance will be degraded only when you resize the browser and txRows changes right?
I'm afraid the biggest performance issue would be when you switch from portrait to landscape mode on mobile, some old mobiles could burn 😄

Lol yah I mean really switch from portrait to landscape wouldn't be that bad, its an instant width change. Vs dragging the window size around. But testing this on the deployment seems to be very snappy on resize.

Noticed something that is not a blocker, but not sure if this is expected. The trade has the status showing first while sends/receives/yearn txs have the TXID showing first

But aside from this, this looks good to me. Checked tx on dashboard, assets/accounts, and transaction history. Tried in mobile as well.

Good catch, I think the status makes the most sense after the txid I’ll move it.


Do not ack/nack if consumer rejects/requeues message

Fixes #168

Thank you for submitting this.
This is directly relevant for #165. If we introduce this, #165 would be hairier. I am not sure this is really an improvement and how relevant it would be if we introduce user-driven acknowledgements.
I'll close this in favour of #165.


qa - wip

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
132

Relevant Lines:
132

💛  - Coveralls


ComputeCpp 1.1.6 support added

Description
ComputeCpp 1.1.6 introduces reversed order of range parameters (as previously done by DPC++ compiler)
Changes proposed in this pull request:

Enabling reversed order of ranges for ComputeCPP version >= 1.1.6

CI: http://intel-ci.intel.com/ea1a6b60-8a23-f192-9f2e-8cdcd4b723a1


Update mime types to save on RAM

WHAT Update version of mime types gem
WHY Saves up to 20% on RAM usage

:ram: :heavy_plus_sign: :heavy_plus_sign:
:+1:

:+1:


Add an article about decentralized storage solutions

Fixes https://github.com/near/docs/issues/683

Great overview of these three solutions. I think we should add simple examples of their implementation. Perhaps @doriancrutcher could assist with this?

hi @thisisjoshford, I have updated the draft and added examples for each storage (thanks to @doriancrutcher !!)
let me know what you think 😃


Ingest Gaia photometry & astrometry for all sources

write script to ingest Gaia astrometry for all sources which don't already have it.

related to #150

The Gaia catalog doesn’t report uncertainties on magnitudes because they are not symmetric. What do folks think we should do about that? Do we not report anything for magnitude uncertainty or add another column for flux & flux uncertainty? @cfontanive

for the record, we calculated magnitude uncertainty using the same equation Vizier used.


feat(condFormat): @W-16443035 add UiFormatSpecificationSet to metadataRegistry

What does this PR do?
Exposes UiFormatSpecificationSet as a supported metadata top-level entity for 2GP (for v62.0)
What issues does this PR fix or reference?
W-16443035
#, @@
Functionality Before
Unable to create 2GP package containing UiFormatSpecificationSet
<insert gif and/or summary>
Functionality After
Can create 2GP package with UiFormatSpecificationSet
<insert gif and/or summary>

merged with #1397


Get settings back working?

Hi there,
I know the Pebble time was long time ago.
Some of us watch fans are going to use the pebble watches again.
I was using the ChronoCode watchface as I had the pebble watch.
I was able to reinstall it but I get an error when changing the settings:
NoSuchBucketThe specified bucket does not exitpebble.rexmac.com
I know it sound weird, but do you have a chance to reactive the settings page?
Greets from germany
Daniel

Hi Daniel,
It has indeed been a long time, nearly a decade! 😅
I've re-published the settings page and updated the settings page URL.
I managed to find a version of the Pebble SDK and get a new build created, but I cannot test it as I am unable to get the emulator running and I no longer have access to a physical device. I have posted a link to it below if you would like to try it. This should be identical to the last released version, but with the new settings page URL:
pebble-chronocode.pbw.tar.gz

Hi Rex,
awesome man, really awesome! Thank you very much.
The Pebble Steel is back with the most beautiful watchface a watch ever had!

Thank you very much!
Greets from Germany
Daniel

Hello Rex!
I've had the same issue too, and I confirm that this new PBW is working perfectly as expected. Would you consider following those steps so that the version available on the Rebble store works as intended?
https://help.rebble.io/appstore-submission/#1
Thank you a lot!


[WIP] test: add node e2e test in CI

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2198 into master will increase coverage by 1.66%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2198      +/-   ##
==========================================
+ Coverage   65.02%   66.68%   +1.66%
==========================================
  Files         208      208
  Lines       16743    16743
==========================================
+ Hits        10887    11165     +278
+ Misses       4507     4253     -254
+ Partials     1349     1325      -24

Flag
Coverage Δ

#criv1alpha1test
33.02% <ø> (+0.02%)
:arrow_up:

#criv1alpha2test
33.78% <ø> (+0.13%)
:arrow_up:

#integrationtest
39.98% <ø> (+0.07%)
:arrow_up:

#nodee2etest
33.6% <ø> (?)

#unittest
23.99% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

daemon/mgr/container.go
57.37% <0%> (+0.61%)
:arrow_up:

daemon/mgr/container_utils.go
84.33% <0%> (+1.2%)
:arrow_up:

pkg/meta/store.go
64.06% <0%> (+1.56%)
:arrow_up:

ctrd/image.go
78.94% <0%> (+1.75%)
:arrow_up:

cri/stream/remotecommand/httpstream.go
46.63% <0%> (+2.59%)
:arrow_up:

ctrd/watch.go
83.33% <0%> (+3.03%)
:arrow_up:

daemon/logger/jsonfile/encode.go
80.45% <0%> (+3.44%)
:arrow_up:

daemon/mgr/spec_mount.go
84.11% <0%> (+4.67%)
:arrow_up:

cri/ocicni/cni_manager.go
65% <0%> (+5%)
:arrow_up:

ctrd/container.go
61% <0%> (+7.17%)
:arrow_up:

... and 7 more

This is really good. Thanks a lot for your work. @Starnop

👍

Thanks for your review, I think maybe we could kick ball first, and see what will go on in the next CI. @fuweid
But if @YaoZengzeng would like to review this in the future, it could not be better.
Thus, I will merge this.