doc: when building our own lxc too, we need more deps

…to be able to run & pass our tests.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

after going down a rabbit hole in #4328 & https://discuss.linuxcontainers.org/t/running-integration-tests/1374 we've discovered that when building LXC ourselves, in order to be able to run tests we need to build LXC with all appropriate security libraries.


chore: add order to addon parameters schemas

py-mtcli
Description
Short description of the change:

modified managedtenants/schemas/shared/addon_parameters.json, added order to parameter schema

Checklist
For any modification to managedtenants/bundles/

[ ] $ managedtenants --addons-dir=../managed-tenants-bundles/addons --dry-run bundles (successfuly built all addons)
[ ] $ managedtenants -addons-dir=../managed-tenants-bundles/addons --addon-name=<addon> bundles --quay-org <personal_org> (successfuly built and push a single addon)

/ok-to-test

@ciaranRoche
we aren't accepting the order field from the tenants to be explicitly specified. We are rendering that on our own already and sending that to CS anytime we upsert an addon metadata to CS.
Look - https://github.com/mt-sre/managed-tenants-cli/blob/main/managedtenants/utils/ocm.py#L535-L542


Edit and resend doesn't open the network console

I am trying to edit and resend a specifc request. On right click on edit and resend nothing happens. This is not just limited to one specific type of request or website.
Similar problem on Stackoverflow: https://stackoverflow.com/questions/78273237/microsoft-edge-edit-and-resend-not-showing-up
I am on Microsoft Edge for Business
Version 124.0.2478.51 (Official build) (64-bit)

Sorry about this. We're aware of this issue and are currently tracking it in https://github.com/MicrosoftEdge/DevTools/issues/224.


fix(ServiceRestartModal): Missing space

Noticed this while smoke testing. Hard to see that we needed a literal space between two container expressions.

:tada: This PR is included in version 2.34.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Use home row keys by default instead of abc

This would be IMHO more useful. for touch typists.

Or, allow a custom list of keys that will be used in order.
So Qwerty users would set 'asdfjkl;'. And Colemak users (self included) can use 'arstneio'. And Dvorak users can do whatever they have. Of course people can use this however they want.
Probably should default to Qwerty home row keys.

Yes, this is something that's lacking. Actually there's no configurable options, I wanted to release something minimal for myself, hoping others would be interested enough to give feedback or contribute.

And Dvorak users can do whatever they have.

Checking in: aoeuidhtns, thank you :-)


Post a photo from app

Is there a way for this plugin to post image from camera roll through this.

I am actually not sure if that can be done this way
You can look at
https://facebook.github.io/react-native/docs/cameraroll.html
The imagelink parameter can take an image from an external URL, but maybe you can load a local image as well if you get the local address.

I managed to tweak it to load local image. That is totally possible.

Cool :+1:
Did you tweak the bridge file or did you do it in js?
Do you have a code sample, would be cool to know how you did. I could also add it to the documentation :smile:

All I needed to do was to edit the objective c code to load image asset from disk coerce it to UIImage then set it on the field.

Ahh I see :smile:

I have a fork here that made the change for the facebook sharing. https://github.com/gyroscope-innovations/react-native-social-share isn't cleanest thing ever since I was working towards getting release out.


Allow Amavis configuration to be overriden

While trying to get this running on a kubernetes cluster I ran into a problem where kubernetes will not allow you to define a hostname for a pod/container. This obviously breaks a few things.

The postfix configuration is fairly easy to fix, you can just define the hostname info in the override file.
Dovecot does not generally need a hostname but I found it broke without adding in a setting<EMAIL_ADDRESS>to the dovecot.conf - again easy to mend with an override file but seems weird that I would need to.
The problem child is Amavis, it tries to use hostname to get the hostname and obviously that will fail because it will not be a FQDN. You can easily fix this with a setting but there's no amavis override file.

1 is easy I don't think it needs a change, 2 is weird but i don't think it needs a change but maybe just a note in the wiki
3 will require a change which will allow the Amavis config files to be overridden. This should be pretty easy because Amavis provides a place to store user configuration (/etc/amavis/conf.d/50-user).
The only other thing I think would be maybe a wiki entry on running in Kubernetes with the config.

One caveat is that Amavis config files are perl files so it is structured a specific way. I'm partial to requiring a user to provide the entire config file to copy rather than do any injecting into an existing file.
I figure if someone is needing to expand the Amavis config file they are probably aware of what it needs to look like.

Please, look at parameter subdomain at v1.PodSpec.
For me it resolved the relevant issue.
Example:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: mail-server
  namespace: kube-system
  labels:
    k8s-app: mail-server
    kubernetes.io/cluster-service: 'true'
    version: 'v2'
spec:
  replicas: 1
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      k8s-app: mail-server
      version: 'v2'
  template:
    metadata:
      labels:
        k8s-app: mail-server
        kubernetes.io/cluster-service: 'true'
        version: 'v2'
    spec:
      subdomain: mail-server  # <-- here it is
      containers:
        - name: docker-mailserver
          image: tvial/docker-mailserver:v2
          imagePullPolicy: Always
          ports:
            - name: smtp
              containerPort: 25
            - name: smtp-msa
              containerPort: 587
            - name: imap
              containerPort: 143
            - name: imap-secure
              containerPort: 993
          volumeMounts:
            - name: config
              mountPath: /tmp/docker-mailserver
            - name: maildata
              mountPath: /var/mail
      volumes:
        - name: config
          configMap:
            name: mail-server.config
        - name: maildata
          emptyDir: {}

After that all containers of your pod will have hostname as FQDN in Kubernetes DNS style <hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>.

Excellent - thank you! I googled everywhere for setting a hostname on a pod but never came up with the Subdomain setting in the PodSpec.
I think I'll put this in the wiki

Hi @keslerm, how can we help, what are the points that need to be unlocked?
Thanks.

This is resolved with the Amavis configuration and/or the suggestion by @tyranron - closing this!


Updates for self hosting and local dev env

What's New?

Skip email related tests when NO_EMAILS is active.
Add a --depth=10 flag to install instructions, since most users don't want a full (length download) commit log when cloning.
Run make dist, but only as needed.
gitignore updates.

Coverage remained the same at 60.736% when pulling 8721d9a283c68a41ddf8215fc9f6ce75969b0359 on RickCarlino:master into cc30f988f6293b8f3a34f4b53b0e67750f67978a on FarmBot:master.

Coverage remained the same at 60.736% when pulling f22b209872863607bf17b288f245c5afa7bdbf60 on RickCarlino:master into cc30f988f6293b8f3a34f4b53b0e67750f67978a on FarmBot:master.

Coverage remained the same at 60.736% when pulling 9fd294d08f492542b53b9417cfccba349820ab73 on RickCarlino:master into cc30f988f6293b8f3a34f4b53b0e67750f67978a on FarmBot:master.


[feature] Respect "namespaces" set in "context" in kubeconfig file

Set K8sResource::$defaultNamespace to the value if the default namespace is defined in the kubeconfig file.
If the current context has default namespaces, then it better to initialze the value in K8sResource::$defaultNamespace from the config.

Didn't have enough time back then, I wanted to thank for your contribution 😁


Jadeite-3.2pre-release7 walkback when selecting a load spec .ston file, using Load Git Project menu item in console

Not sure If I was doing the right thing ... selecting a load spec, but from the stack it looks like that is what is expected?

[edit] ... I think that when I tried to copy the stack, the stack got lost in a copy buffer translation from windows vm to file editor to imported github file ...

Note I did not rebuild my stone when I started using prerelease7 ... I'll need to do a private build with your latest code included, then run through a test cycle and publish new candidateV3.0 branches for Rowan and RowanClientServices to get things synchronized ...


Fix/python version issue

This pr solve #531 issue.
I change the SetupContext function to return an array of *PythonContext to force a test with ! in version.

@imjasonh @kaniini

@mesaglio I see melange tests failing on python_test.go, see for example this run https://github.com/chainguard-dev/melange/actions/runs/5517264026/jobs/10059642524?pr=542 . Is it related to this PR?

@deitch I think this test broken because in python convert test, this going to pypi to get the latest version and in the last version on jsonschema was added some deps like  jsonschema-specifications>=2023.03.6 and we dont have this json file mocked.
I'm working on fix this.

Thanks @mesaglio ; kindly comment here when you have a fix.

Wonder if we should revert the original PR and work on the fix adding the changes back in?  Currently CI is broken so it's blocking PRs merging and releasing.
Unless the fix is pretty straightforward and can be added soon?

Hi @rawlingsj, yes you revert if you like. I'm woking on this right now.


New files are saved as Batch file instead of Plain Text

Issue Type: Bug

Open VS Code.
Create new file (File -> New File)
Save the file (File -> Save (or Save As...))
"Batch (*.bat; .cmd)" is selected as the default format instead of the expected "Plain text (.txt)."

Why does VS Code thinks the file is a batch file when not a single line of text is written? It is quite an annoyance when using VSCode as the main editor for text files. I don't see any settings to change that, except the default language.
VS Code version: Code 1.53.1 (5d424b828ada08e1eb9f95d6cb41120234ef57c7, 2021-02-08T23:29:42.785Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 2803)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.73GB (11.49GB free)

Process Argv
--crash-reporter-id c683bdfb-a390-48ef-bf38-aabf82923ff7

Screen Reader
no

VM
0%

Extensions: none

/duplicate and will be fixed in upcoming 1.53.2


update links & project names

@Azathothas its unrelated, but someone just told me the firefox appimages are not compatible with musl... Should I blacklist them? dbin is meant to be a package manager for both Musl & Glibc...

The source repo https://github.com/pkgforge/pkgcache is on-hold & will go a complete restructure in a few weeks.
This will fix this issue by only containing truly portable prebuilts


Help us migrate to GitHub Actions

Description
We're looking for community support to help us migrate from CircleCI to GitHub Actions.
The CircleCI file is here:
https://github.com/facebook/react-native-website/blob/main/.circleci/config.yml
It's pretty simple so it should be easy to migrate over to GitHub Actions.
If you intend to work on it please comment before starting the work.

@cortinico I can help with this one.

@cortinico I can help with this one.

Great I've assigned it to you 👍


Feature - Openstack Node Template - Block device mapping

Nodes created through rancher always use default OpenStack block-storage, as the template lacks any parameters to configure what type of storage you want to use.
Openstack has a parameter when creating nodes called block-device-mapping which allows the block-storage to be configured before the node is started, but configuration of this parameter is missing in the node template.
Link to OpenStack docs on node creation
This is especially problematic when configuring etcd-nodes, as they would benefit greatly from SSD-storage, but the cloud provider defaults to hdd which thereby severely reduces the performance of the etcd-cluster.
gz#10110

+1 on this, this is currently blocking us from using the OpenStack node templates as our OpenStack admins really really don't want us using the default/on-host storage. I would be willing to add this option as a side project, I just don't know where to begin.

After some digging, I finally figured out the order that things will have to happen in:

All of the parameters in the UI are defined in the main rancher project(s), haven't dug into that too far yet
All of the actual node provisioning is handled at https://github.com/rancher/machine/tree/master/drivers/openstack, where we can add some flags to select the volume type. However, this file passes create flags into...
https://github.com/gophercloud/gophercloud/blob/master/openstack/compute/v2/servers/requests.go, but this file currently doesn't have the volume type flag.

Essentially, there will first have to be a PR into GopherCloud, and then this will have to be updated in the rancher machine driver, and then there will need to be updates into the main rancher code.

I stand somewhat corrected: looks like the volume type functionality is already implemented in GopherCloud by https://github.com/gophercloud/gophercloud/pull/1690. Poking around to see how hard it would be to implement...

Is there a way to use Openstack Block device mapping and BootFromVolume in Rancher 2.X?
I'm using rancher/rancher:latest docker image.
Thank you.

@qkrtjddlsgh The short answer has been no, not right now with nodetemplates.  The suggestion given to me was to use Terraform to provision nodes using the openstack provider and then use those nodes to create a custom cluster using the rancher2 Terraform provider.  I hope this helps.

@Jabbl FYI, this is being addressed in rancher/machine#93. Not sure when it'll make it into a Rancher release.

Thank you
Sent from my iPhone

On Dec 30, 2020, at 2:05 PM, Adam Krpan<EMAIL_ADDRESS>wrote:

@Jabbl FYI, this is being addressed in rancher/machine#93. Not sure when it'll make it into a Rancher release.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add @lavamoat/allow-scripts

Adds @lavamoat/allow-scripts and related scripts / CI steps.

We should follow up with adding a contributor section to the README. I usually do it when adding allow-scripts because the setup script is pretty unexpected for new contributors.


Self-defined anchor ratios

@endernewton  The anchor ratios are hardcoded as [0.5, 1, 2] in current version and the field "num_anchors" is computed by scales.shape[0] * 3
I suppose there should be some kind of interfaces that expose the anchor_ratio field, so that users may define their own ratios for various detection tasks.

i will update it in the next commit. close it for now.


console.log(syntheticEvent) causes "caller attempted to invoke a non-existent view method" error

repro steps:

add an onMouseDrag callback to your react component that simply console.logs the drag event. In my case my component was a wrapper around a button.
For example:

onMouseDrag = console.log

run your app and initiate a drag event
You'll see something like the following error:

Additional Context
I added a breakpoint right before the exception and noticed it was a call to toJSON that was the "non-existent view method"

And patching SyntheticMouseEvent.toJSON fixes the issue. Something like:
SyntheticMouseEvent.prototype.toJSON = ()=>{
  let o = {
    x: this.x,
    y: this.y,
    screenX: this.screenX,
    screenY: this.screenY,
  }

  return JSON.stringify(o)
}

For additional context see this Discord thread

Based on React SyntheticEvent doc that's not valid event:
onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit
onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave
onMouseMove onMouseOut onMouseOver onMouseUp

https://reactjs.org/docs/events.html#mouse-events

Based on React SyntheticEvent doc that's not valid event:
onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit
onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave
onMouseMove onMouseOut onMouseOver onMouseUp

https://reactjs.org/docs/events.html#mouse-events

@ilionic that's right, we currently have a non-standard onMouseDrag feature: https://github.com/nick-thompson/blueprint/blob/master/react_juce/core/View.cpp#L249. I think in the long run we will want to remove it for closer parity to the web standards, but for now it's in there.
The problem is not that we're missing a toJSON (this is a non-standard Duktape feature in itself), but that our synthetic event proxy gets confused somewhere along the event dispatching code path. This is a bit of an involved issue, but it will provide a very good learning experience if you want to get into it :)
If you follow along from that line in View.cpp that I linked above, you'll find that we walk through a few cpp helper calls before eventually landing right here in our javascript lib: https://github.com/nick-thompson/blueprint/blob/master/packages/react-juce/src/lib/Backend.ts#L222. This is how we make sure to invoke whatever onMouseDrag prop you've provided on your view component. Now the interesting thing is, these SyntheticEvents that we create and dispatch here have no way of accessing this "invoke view method" feature that @androidStern highlighted above. In fact, the goal of that API is more here: https://github.com/nick-thompson/blueprint/blob/master/packages/react-juce/src/lib/Backend.ts#L123, so that you can call into native view methods on the object that we give back to you when you use a viewRef.
So right there we have the problem: the synthetic view events that we bubble up to the user callback props don't get wrapped in this proxy that I highlighted on line 123, so how are we landing at a call to invokeViewMethod? Something in there is going wrong
Let me know if that provides helpful context, I can elaborate further if it's helpful, but worth knowing that this issue will certainly involve going pretty deep into the internals here!

@ilionic that's right, we currently have a non-standard onMouseDrag feature: https://github.com/nick-thompson/blueprint/blob/master/react_juce/core/View.cpp#L249. I think in the long run we will want to remove it for closer parity to the web standards, but for now it's in there.
The problem is not that we're missing a toJSON (this is a non-standard Duktape feature in itself), but that our synthetic event proxy gets confused somewhere along the event dispatching code path. This is a bit of an involved issue, but it will provide a very good learning experience if you want to get into it :)
If you follow along from that line in View.cpp that I linked above, you'll find that we walk through a few cpp helper calls before eventually landing right here in our javascript lib: https://github.com/nick-thompson/blueprint/blob/master/packages/react-juce/src/lib/Backend.ts#L222. This is how we make sure to invoke whatever onMouseDrag prop you've provided on your view component. Now the interesting thing is, these SyntheticEvents that we create and dispatch here have no way of accessing this "invoke view method" feature that @androidStern highlighted above. In fact, the goal of that API is more here: https://github.com/nick-thompson/blueprint/blob/master/packages/react-juce/src/lib/Backend.ts#L123, so that you can call into native view methods on the object that we give back to you when you use a viewRef.
So right there we have the problem: the synthetic view events that we bubble up to the user callback props don't get wrapped in this proxy that I highlighted on line 123, so how are we landing at a call to invokeViewMethod? Something in there is going wrong
Let me know if that provides helpful context, I can elaborate further if it's helpful, but worth knowing that this issue will certainly involve going pretty deep into the internals here!

Will post some findings. Don't have a full picture yet and continue digging but brains already fried :)
Found that such behaviour of onMouseDrag happens only on components with ref, ie Button. Slider on contrary works fine.
NativeMethods being called because prop toJSON is not in the target. Target is React ref containing following properties: ["_props","_parent","_id","_type","_children","contains"]
Why toJSON appears there at all I think lies somewhere deep in Duktape console proxying and I don't really have an answer for it.

Will post some findings. Don't have a full picture yet and continue digging but brains already fried :)
Found that such behaviour of onMouseDrag happens only on components with ref, ie Button. Slider on contrary works fine.
NativeMethods being called because prop toJSON is not in the target. Target is React ref containing following properties: ["_props","_parent","_id","_type","_children","contains"]
Why toJSON appears there at all I think lies somewhere deep in Duktape console proxying and I don't really have an answer for it.

Great @ilionic sounds like you're on the right path definitely. toJSON is indeed part of Duktape's console proxy stuff; I don't think we need to worry about that part too much– the real question there is "why are we eventually trying to call toJSON on our native method proxy?" Seems like we're giving the wrong thing back to a ref or something like that...


Add a simpler exercise for demo

Right now the only exercise is a demo where the output stream is replace by a through2 stream, but it is not really explained why.
Could there be a simpler demo that would lead up to this?

I'm not active in nodeschool anymore. I'm going to leave the repo as it is to match the post, but if someone wants to fork this and create a new and improved set of documentation, that's fine by me.


Simple example

Current examples are too complex (lots of mystic JSON files and so on). Need a more simple example, something like combined html+js file:

I'm going to switch to the react-storybook. Hope it will be better with the stories and preview for them.
Small example:

jsx: https://github.com/sullenor/teatime-components/blob/master/stories/Button.js#L9-L21
preview: http://sullenor.github.io/teatime-components/?selectedKind=Button&selectedStory=theme%3A `action`&full=0&down=1&left=1&panelRight=0&downPanel=kadirahq%2Fstorybook-addon-actions%2Factions-panel

Will be available for the version 0.7.0

Presumably I can add a code mirror later.

For now, all the component examples are available via react-styleguidist. Example's code is written on JSX syntax and located in markdown files at the .story folder. Preview contains codemirror with runtime repl.
Check the http://sullenor.github.io/teatime-components/ page. I'm going to publish the fresh version in two days (0.7.0).

Solved with: https://github.com/sullenor/teatime-components#example

Thanks! 👍


Help: Don't work with Python 3 X86 :-( only with Python x64

With python x86 ( not 64 ) I haven't any error with install with :
pip install yfinance --upgrade --no-cache-dir 👍
But when I call :
import yfinance as yf
Python exit, just after, without any error message 👎
Any idea why ? With in X86? Because I use one old Win Tablet as a server ;-)
yfinance working only in 64 ?
Thanks a lot for your help

Any other Python modules have same problem?

Which module?

You can name them if you want.


BB10 nfc.share both callback being called on success

With BlackBerry 10 both the success and failure callbacks are being called when nfc.share succeeds.
I think this might be a problem with the invoke plugin or the underlying BlackBerry NFC code.
Sample project https://github.com/don/nfc-share demonstrates the issue with BlackBerry WebWorks <IP_ADDRESS> and a Z10 running <IP_ADDRESS>62.
Also see #172

Works now with BB10 WebWorks SDK <IP_ADDRESS> and com.blackberry.invoke 2.1.0


Update VID and PID.

Ref: https://github.com/tessel/t2-firmware/commit/4b2f05e2bf97c6672fcc33b77846cb709a1655e3

@rwaldron this is a dup of #166, no?

Weird, I don't know how/why I completely missed that 0_o


websocket problems in non-host mode

hello guys
i have switched deconz to docker.
Then I had problems with the websocket connection.
Even though I entered the following parameters, I could not log in to the website. The website went up but the login always failed
environment:
- DECONZ_WEB_PORT=81
- DECONZ_WS_PORT=8443
ports:
- 81:81
- 8443:8443
Only after I set to "network_mode: host" it was possible to log in.
I suspect due to the NAT in the Docker container there is an error in the communication.
Can anyone confirm the problem?

This is a general docker question likely unrelated to deCONZ... and it's stale.


Great project, for instance segmentation?

It can be used for instance segmentation? such as replacing the matrix-nms in SOLOv2, or how to modify it? Thanks

Hello, it doesn't support instance segmentation as of now. You can modify the CUDA kernel code in matrix_nms_cuda.cu to make it work for segmentation. I may try adding the feature if I had time to spare, but in the foreseeable future I'm quite busy

Ok, Thank you.


UGL Parity

About the PR

CM13 Parity
Why / Balance

Technical details

Media

Current:
https://github.com/user-attachments/assets/a5d740fc-e69b-4187-869c-103f27cd509d
Revised:
https://github.com/user-attachments/assets/e9d5e45b-0315-4ec1-8336-c25ecf5d78bd
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

[X] By submitting this code and/or assets, I confirm that I either own them or have provided the correct necessary licenses to use and distribute them. I agree to be fully responsible for any legal claims or issues arising from the use of these materials.

Changelog
:cl: blueDev2

add: UGL launched grenades timer starts on landing.
add: Timer is extended to 1.5 seconds.


Add scripts to symlink in PATH

I added some scripts that automate adding scripts to the PATH. Previously a way to do this manually was adding a file like:
#!/usr/bin/env fish
__nvm_run "node" $argv

to the PATH. Here I have written all those scripts, and added ./symlink-scripts to add them to the PATH automatically too.

Nathan thanks for this pull request I have been wanting to add something similar, thanks for starting this. I will Have a look ate the script.

Hey Fabio! I just caught some bugs in the script and pushed fixes. Thanks for checking this out!


Android Chrome showing $colorMode.value as system instead of the real value(light or dark)

Version
@nuxtjs/color-mode: v2.0.3
nuxt: v2.15.1
Android version: 10
Chrome version: 88.0.4324.181
Reproduction Link

Just put it in a vue file.

Steps to reproduce

Run npm run start on your nuxt application.
go to your page with the code snippet on the browser.
read the console messages.

What is Expected?
It should print $colorMode.value with a valid value of light or dark.
What is actually happening?
it prints
$colorMode.value system
$colorMode.preference system
window.matchMedia('(prefers-color-scheme:dark)').matches true
window.matchMedia('(prefers-color-scheme:light)').matches false

It prints true for (prefers-color-scheme:dark) as my phone is enabled with dark mode.

I'm having the same issue.

Hi @wcsiu, hope you don't mind if I join in,
does it work fine on other platforms i.e. pc?
Do you have set the target option to "server" or "static"?
I have never used the "static" mode so maybe my knowledge is not complete but if you have "server", then aren't you getting an error i.e. "window is not defined"?
Hopefully, this might help you:
according to the official Nuxt's docs:

fetch is called on server-side when rendering the route, and on the client-side when navigating.

and according to the nuxt-color-module's docs

When $colorMode.preference is set to 'system', using $colorMode in your Vue template will lead to a flash. This is because we cannot know the user preferences when pre-rendering the page since they are detected on the client-side.

In fact, a had a very similar problem (I also have the ^2.0.3 version of the plugin) or rather a misunderstanding in the mounted hook of one of my components:
mounted() {
    console.log(this.$colorMode.preference) // logs system
    console.log(this.$colorMode.value) // logs system
  },

It puzzled me but then I read the caveats in the docs and added:
mounted() {
    console.log(this.$colorMode.preference) // logs system
    console.log(this.$colorMode.value) // logs system
    console.log(this.$colorMode.unknown) // logs true

    setTimeout(() => {
      console.log(this.$colorMode.preference) // logs system
      console.log(this.$colorMode.value) // logs light
      console.log(this.$colorMode.unknown) // logs false
    }, 2000)
  },

So I guess that's because of the flash mentioned in the docs, however, I don't know why it still happens in the mounted hook which is, as far as I know, called on the client-side???
Anyway, It does not make implementing dark mode impossible or harder, at least in my case - it's rather an innocent quirk. 🐛💡🍺

@Matb85 Not at all! I need all the help I can get.
I just have just tried it again for Firefox on PC, it also prints system for this.$colorMode.value so I guess it may not be the root cause that I can't use color mode module on Android chrome.
The problem only happens on android chrome. There wouldn't be a problem if I switch to Firefox using the same android phone. It also works fine on PC. The target option is server. For fetch(), I don't have the undefined problem even when the page is rendered on the server side.
I am just wondering if there is anyone also not being able to use the module for android chrome.

I have prepared another simpler example.
<template>
<ColorScheme placeholder="" tag="div">

{{ $colorMode.value }}

</ColorScheme>
</template>

For android chrome, it would be system. For others, it is either dark or light.

Interesting, as for me, everything works fine
here is my component:
<template>

    <button
      id="color-mode-switch"
      class="w-14 h-14 bg-white rounded-full items-center overflow-hidden flex flex-nowrap"
      @click="switchColorMode"
    ></button>

{{ $colorMode.value }}

</template>

here is a screenshot with dark mode on (Android 10, Chrome 88.0.4324.181)

Nevertheless, I admit there is a lag/flash - it shows "system" until the page is fully loaded and then switches to the valid value, so maybe you just need to wait a bit longer.

I have tested it with several other android 10 phones. None of them has a problem. I think the problem I am facing only happens on a specific phone model. The test phone I am using is Nokia 7 plus.


ExcelWorkSheetRowCallbackHandlerTest Fails When Using 1.3-SNAPSHOT

If I run ExcelWorkSheetRowCallbackHandlerTest from master it outputs the row details to system out.
If I copy and paste the test class into a new project and add 1.3-SNAPSHOT as a dependency the callback is never called and the row details are not printed to system out.

I'm closing it. Released v1.3 to maven central.


Add a test script for generating docs

For https://github.com/square/okhttp/issues/7105

@swankjesse Is it worth refactoring this, putting it as another github CI build workflow and uploading the build artifcats so we can check docs on each master build?


SAK-46446 Angle brackets are not recognized as answer in "Fill in the…

… blank" questions in "Tests & Quizzes"

It seems its supossed behaviour was to delete HTML entities, but I've tested it and seems to be no longer necessary.

Sorry I misunderstood. I thought you were modifying the FIB delimiters.
Okay, my only question: what JIRA added the replace code you are removing?


Show long names of files with mouse hover

Is your feature request related to a problem? Please describe.
When a file has a long name, it could be shown with mouse hover like Windows explorer does.
Describe the solution you'd like
Implement it in the in-folder view
Describe alternatives you've considered
None
Additional context
Not needed

@MarcAnt01 Are you planning on implementing this yourself? Otherwise I'd be willing to do it.

@MarcAnt01 Are you planning on implementing this yourself? Otherwise I'd be willing to do it.

No, just go for it 😉

@MarcAnt01 Are you planning on implementing this yourself? Otherwise I'd be willing to do it.

No, just go for it 😉

Alright, thanks! 🙂 @yaichenbaum you can assign me this issue!

Just a quick heads up regarding this issue, I started implementing it a while back but faced a couple of issues. At the moment I do not have much time to work on this so it would be fine if someone else would be willing to implement it. I'm unassigning myself and @yaichenbaum can move this one back to To Do again. When I'll find time again I can take another look at it as long as no one else has worked out a solution yet.

This enhancement was recently implemented in main.


issue #274 solved✨

solved all the problems highlighted in issue #274

@mansiruhil13 can you confirm this.

can you add the levels as well, thank you!

there is bug

oh ill check that.

you have to create another pr, for all changes you make

sure

the home page has some problems too , ill create a new issue for that aswell

yes

you can close this pr


weird behavior of curly code block

$ amm --no-home-predef
Welcome to the Ammonite Repl 1.1.2
(Scala 2.12.6 Java 1.8.0_181)
@ { List(1, 2, 3) }.foreach(println)
SyntaxError: found ".foreach(println)", expected End at index 17
{ List(1, 2, 3) }.foreach(println)
                 ^

@  { List(1, 2, 3) }.foreach(println)
1
2
3

adding an extra space after @  makes all the difference.

This is expected due to http://ammonite.io/#BlockInput. Wrap it in another set of curlies if you want to make your code work


Upgrade go to 1.15

OpenShift is now using go1.15 everywhere. crc should also move to this version.
All repos needs to be changed:

[x] crc
[ ] hyperkit driver
[ ] libvirt driver
[ ] admin-helper
[ ] routes-controller
[ ] gvisor-tap-vsock

Shouldn't we also include the admin-helper to the list even we create a container image out of it?

@guillaumerose I think also route-controller should be part of this list and then we can use this issue as template in the future go upgrade.


A debug REPL for signal processing

Not sure how useful this would actually be ... need to write down some use cases here in the description before putting any time into it. But! Big picture:

find or create a simple C++ embeddable Lisp (scheme's tend to be smaller)
define a DSL for operations, driven by actual use cases
create a widget text area the the REPL with readline support
reset button for clearing history and memory
load button for slurping files (definitions)
provide different form factors for number of ins/outs needed:

8 ins and outs (1x8, each)
16 ins and outs (2x8, each)
32 ins and outs (4x8, each)
64 ins and outs (8x8, each)

Oh, maybe just create a terminal module that accepts extenders (ins on the left, outs on the right) ...

Chez scheme:

https://www.reddit.com/r/scheme/comments/a3oogf/questions_on_embedding_chez_scheme_into_a_c_app/
http://cisco.github.io/ChezScheme/csug9.5/csug.html
https://cisco.github.io/ChezScheme/csug9.5/foreign.html#g34

Rolling one's own:

https://buildyourownlisp.com/contents
https://buildyourownlisp.com/chapter4_interactive_prompt#read_evaluate_print


Unable to compute length of partitions when using processes=False

What happened:  I was trying to compute the lengths of the partitions of a Dask dataframe, but it fails if I use the option processes=False.
What you expected to happen: I expected to get the lengths of the partitions.
Minimal Complete Verifiable Example:
import dask.dataframe as dd
import pandas as pd

if __name__ == "__main__":

    from dask.distributed import Client
    client = Client(processes=False)

    df = pd.DataFrame(range(15), columns=['x'])
    ddf = dd.from_pandas(df, npartitions=3)
    lengths = ddf.map_partitions(len).compute().values
    client.close()

Anything else we need to know?: It works well if I remove the option processes=False. I only tried it for len, I don't know whether it fails for other functions too.
Environment:

Dask version: 2021.04.0
Python version: 3.8.5
Operating System: Ubuntu 20.04.1 LTS 64-bit
Install method (conda, pip, source): pip

Thanks for raising an issue @druzmieres. The above snippet runs successfully for me with dask and distributed 2021.04.0. Can you provide a traceback for the error you're seeing?

Sure. Here it is:
distributed.core - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.worker - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x7f53b46bcd60>>, <Task finished name='Task-22' coro=<Worker.handle_scheduler() done, defined at /home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py:988> exception=TypeError("'tuple' object does not support item assignment")>)
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
    ret = callback()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
    future.result()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.core - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.worker - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x7f53b46bcd60>>, <Task finished name='Task-66' coro=<Worker.handle_scheduler() done, defined at /home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py:988> exception=TypeError("'tuple' object does not support item assignment")>)
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
    ret = callback()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
    future.result()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment

distributed.core - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.worker - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x7f53b46bcd60>>, <Task finished name='Task-81' coro=<Worker.handle_scheduler() done, defined at /home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py:988> exception=TypeError("'tuple' object does not support item assignment")>)
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
    ret = callback()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
    future.result()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.core - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
distributed.worker - ERROR - 'tuple' object does not support item assignment
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment
tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x7f53b46bcd60>>, <Task finished name='Task-96' coro=<Worker.handle_scheduler() done, defined at /home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py:988> exception=TypeError("'tuple' object does not support item assignment")>)
Traceback (most recent call last):
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
    ret = callback()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
    future.result()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/worker.py", line 990, in handle_scheduler
    await self.handle_stream(
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/core.py", line 554, in handle_stream
    msgs = await comm.read()
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/comm/inproc.py", line 199, in read
    msg = nested_deserialize(msg)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 609, in nested_deserialize
    return replace_inner(x)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 601, in replace_inner
    x[k] = replace_inner(v)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 594, in replace_inner
    x[k] = deserialize(v.header, v.frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 384, in deserialize
    return loads(header, frames)
  File "/home/drm/dask_bug/.env/lib/python3.8/site-packages/distributed/protocol/serialize.py", line 77, in pickle_loads
    buffers[i] = memoryview(bytearray(mv)).cast(mv.format, mv.shape)
TypeError: 'tuple' object does not support item assignment

---------------------------------------------------------------------------
KilledWorker                              Traceback (most recent call last)
<ipython-input-1-5e1110f000c6> in <module>
      9     df = pd.DataFrame(range(15), columns=['x'])
     10     ddf = dd.from_pandas(df, npartitions=3)
---> 11     lengths = ddf.map_partitions(len).compute().values
     12     print(lengths)
     13

~/dask_bug/.env/lib/python3.8/site-packages/dask/base.py in compute(self, **kwargs)
    282         dask.base.compute
    283         """
--> 284         (result,) = compute(self, traverse=False, **kwargs)
    285         return result
    286

~/dask_bug/.env/lib/python3.8/site-packages/dask/base.py in compute(*args, **kwargs)
    564         postcomputes.append(x.__dask_postcompute__())
    565
--> 566     results = schedule(dsk, keys, **kwargs)
    567     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    568

~/dask_bug/.env/lib/python3.8/site-packages/distributed/client.py in get(self, dsk, keys, workers, allow_other_workers, resources, sync, asynchronous, direct, retries, priority, fifo_timeout, actors, **kwargs)
   2652                     should_rejoin = False
   2653             try:
-> 2654                 results = self.gather(packed, asynchronous=asynchronous, direct=direct)
   2655             finally:
   2656                 for f in futures.values():

~/dask_bug/.env/lib/python3.8/site-packages/distributed/client.py in gather(self, futures, errors, direct, asynchronous)
   1961             else:
   1962                 local_worker = None
-> 1963             return self.sync(
   1964                 self._gather,
   1965                 futures,

~/dask_bug/.env/lib/python3.8/site-packages/distributed/client.py in sync(self, func, asynchronous, callback_timeout, *args, **kwargs)
    835             return future
    836         else:
--> 837             return sync(
    838                 self.loop, func, *args, callback_timeout=callback_timeout, **kwargs
    839             )

~/dask_bug/.env/lib/python3.8/site-packages/distributed/utils.py in sync(loop, func, callback_timeout, *args, **kwargs)
    349     if error[0]:
    350         typ, exc, tb = error[0]
--> 351         raise exc.with_traceback(tb)
    352     else:
    353         return result[0]

~/dask_bug/.env/lib/python3.8/site-packages/distributed/utils.py in f()
    332             if callback_timeout is not None:
    333                 future = asyncio.wait_for(future, callback_timeout)
--> 334             result[0] = yield future
    335         except Exception as exc:
    336             error[0] = sys.exc_info()

~/dask_bug/.env/lib/python3.8/site-packages/tornado/gen.py in run(self)
    760
    761                     try:
--> 762                         value = future.result()
    763                     except Exception:
    764                         exc_info = sys.exc_info()

~/dask_bug/.env/lib/python3.8/site-packages/distributed/client.py in _gather(self, futures, errors, direct, local_worker)
   1826                             exc = CancelledError(key)
   1827                         else:
-> 1828                             raise exception.with_traceback(traceback)
   1829                         raise exc
   1830                     if errors == "skip":

KilledWorker: ("('from_pandas-10d79bde6955f5f5c8f3f5336e09fe6f', 1)", <Worker 'inproc://<IP_ADDRESS>/178658/3', name: 0, memory: 0, processing: 3>)

Thanks @druzmieres. What version of distributed are you using? I think this issue was fixed in the latest distributed == 2021.04.0 release

I was using distributed==2021.3.0, I upgraded it to 2021.4.0 and now the example runs successfully.
Thanks!


BUG: UnicodeEncodeError: 'charmap' codec can't encode character '\u0141'

What Happens?
Hi, I'm using Morph-kgc and I have the error:
UnicodeEncodeError: 'charmap' codec can't encode character '\u0141' in position 133: character maps to <undefined>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\site-packages\morph_kgc\__main__.py", line 21, in <module>
    process_materialization(mappings, config)
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\site-packages\morph_kgc\engine.py", line 46, in process_materialization
    materializer.materialize_concurrently()
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\site-packages\morph_kgc\materializer.py", line 407, in materialize_concurrently
    num_triples = sum(pool.starmap(_materialize_mapping_partition,
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\multiprocessing\pool.py", line 372, in starmap
    return self._map_async(func, iterable, starmapstar, chunksize).get()
  File "C:\Users\jhon\anaconda3\envs\ERA-KGG\lib\multiprocessing\pool.py", line 771, in get
    raise self._value
UnicodeEncodeError: 'charmap' codec can't encode character '\u0141' in position 133: character maps to <undefined>

Environment (please complete the following information):

Morph-KGC version: 2.0.1

It works!


log the connection ID when destroying a session

Codecov Report

Merging #1844 into master will decrease coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1844      +/-   ##
==========================================
- Coverage   87.14%   87.11%   -0.03%
==========================================
  Files          95       95
  Lines        6507     6507
==========================================
- Hits         5670     5668       -2
- Misses        591      593       +2
  Partials      246      246

Impacted Files
Coverage Δ

session.go
76.24% <100%> (-0.27%)
:arrow_down:

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 358fce2...203bf77. Read the comment docs.


Users cannot save the Description from Activity Modal.

In the Create Scheduled page, there are a bug that doesn't save Activity's Description.

I think I can help with this bug.

Okay @cleisonsilfer, this page uses a bit of Ajax with an api built on django-rest-framework okay?

@luanfonceca i will look into it to. :)


Nested  elements in FastStore v2

Describe the bug
The Footer section and the Footer UI element that it renders both use the <footer> tag, leading to nested footer elements.
Expected behavior
One <footer> element at the top level of the page
Current behavior
Nested <footer> elements on the FastStore v2 starter and any stores that don't override the relevant components
Steps to reproduce
Visit any FastStore Evergreen store (e.g.) and inspect the footer to see the nested elements. This appears to be

Possible Solution
Decide whether the section or the UI component should be responsible for rendering the footer and replace the other <footer> tag with a <div>
Additional context
This doesn't directly violate WCAG 2.1 guidelines but it can be confusing for screen readers and isn't a great practice from a semantic HTML perspective.
This appears to have been introduced in the v1 -> v2 transition, since the FastStore Classic / v1 starter renders the Footer UI component directly in Layout. vtexfaststore.com seems to be running v1 since it does not have this issue.

Hey @batzlerg, thanks for reporting this issue and the detailed context !🌟
We created an internal task to fix it soon.

Done 🚀


Update sync.private.js

Sync MapItem handlers
Summary
Provide a summary of the change...
Checklist

[x ] Tested changes end to end
[ x] Added PR Label "ready-for-review"
[ x] Requested one or more reviewers for the PR

@dremin Yeah, sorry. I did copy/paste... Not sure if I fixed it properly here.


KDTreeMatcher has Knn more than 1

Hello!
As far as I know, the ICP algorithm finds the correspondence in Reference for each points from Reading. The correspondence should be represented by the nearst point. (so one single point)
I would like to ask, how it's implemented in this library, when I set the knn of matcher more than 1?
Thanks in advance!

There as been many variant of ICP, so libpointmatcher treat them more as a family of algorithms.
If you increase knn, you will generate an error for the second closest, third closest, etc. A large vector is generated and minimized. Here is the fonction converting the match matrix to error elements: https://github.com/ethz-asl/libpointmatcher/blob/master/pointmatcher/ErrorMinimizer.cpp#L101


Resnet for larger scales

We are interested in exploring resnet at larger scales. This could include methods to reach 80k batch including different HPs and optimizer changes.

Proposal to consider:
We propose the following can be tuned as follows:
LARS base learning rate : as per MLPERF 0.6 rules
LARS weight decay : permissible values of 1e-4 and 2e-4
LARS warmup epochs :  as per MLPERF 0.6 rules
LARS decay steps:  tunable to enable SOTA convergence steps for ResNet-50. The MLPERF reference Resnet-50 shall describe the decay steps for the different batch sizes. TBD: scaling to new batch sizes.
Tune momentum hyper parameter.
The ResNet-50 default uses a momentum of 0.9.  As shown in the MLPERF v-0.6 scaling reference,  tuning the momentum hyper parameter in the range [0.9-0.95) results in faster training accuracy and convergence to target accuracy at larger batch sizes.  The Fujitsu submission in MLPERF 0.6 also used a momentum hyper parameter in that range.
Hyper parameters for batch 64k:
LARS Base LR 29.0
LARS Warmup epochs 18
Total number of steps 2669 corresponds to 68 epochs
Momentum 0.93
Weight decay 1e-4
Hyper parameters for batch 32k training in 64 epochs:
LARS Base LR 32.2
LARS Warmup epochs 28
Decay steps 1785 corresponds to 90 epochs
Momentum 0.94
Weight decay 1e-4

For completion purposes, is it possible to put a link to LARS v0.6 HP table for smaller batch sizes as well?

The description in this issue doesn't quite match the PR: https://github.com/mlperf/training/pull/342/files
We think that the proposal is as follows:

No additional HPs should be tune-able per submission
For batch >= 64k, new proposed values for base learning rate, momentum, warm-up epochs
For batch >= 32k, "
For batch < 32k, "

Unclear: Is the proposal to allow weight decay to be a tuneable HP  \in {1e-4, 2e-4}?  If proposal is to also allow 2e-4, request is for data/evidence/argument as to how this is better.

Duplicate of #346 (will be handled by the HP table merge)


Let user know about dead instances in deferred calls (reverted)

So users have a hint about why their games print weird error messages or crash on release.
Fixes #75802.
Maybe fixes #78788.
Maybe fixes #70910.

This one would be good for 4.2 dev builds.

So we also get a lot of "ERROR: Trying to execute a deferred call/notification/set on a previously freed instance. Consider using queue_free() instead of free()." from running tests (you can see the CI run for this very PR). How should we avoid that?

We also get this error in an empty Project Manager on startup. And I get it from simply opening a project in the editor too.

I am sorry, but this also has to be either reverted or changed. It is far too common for users to run into a situation where this will throw an error. This will frustrate more users than it will help because the errors are unfixable most of the time.
I did not add error checking for a reason here, which is that its extremely difficult to prevent these situations in a lot of scenarios.

I propose the following courses of action:

Revert this PR
Because you can't add new arguments here, you will need to add a new call type, either "call_validated" or "call_unvalidated".
If the later, then all the usages of this calls in the engine will need to be renamed to "call_unvalidated" and the error printed will let the user know that this if this is intended, they should use call_unvalidated. If the former, do nothing.
Redo another PR doing this properly.

Remember that also we have method.call_deferred() in callable too, so whathever is done, a new version of this needs to be added there too. Also on the multithreading code. Adding validated/unvalidated versions sounds like a lot of work.

This is reverted by https://github.com/godotengine/godot/pull/80081.

Can't remember exactly when the "out of space" error for godot-cpp started popping up, but it seems to be at some point after this was merged, could the space issue be due to the log being filled with these messages from running the unit tests? Would be good to see if rebasing currently struggling PRs after merging #80081

NVM realized #80081 still fails with that, I'm too tired to think clearly atm

@AThousandShips What are you referring to?

Went down a wrong rabbit hole with wondering if the log was flooded by this causing the space issues for the godot-cpp build, accidentally deleted instead of editing and only this comment got left

Worth seeing if it reduces the frequency, but realized both that this occured before this got merged and also affects the revert PR so not directly causal

Has it been merged to 4.2dev2 ? I had no issues with 4.2dev1, now my code is buggy with this when I use set_deffered, I don't understand how to solve it.
Here's a conversation that I found on reddit for information https://www.reddit.com/r/godot/comments/15jhppb/please_help_constant_issues_with_queuefree/?sort=new

It has been reverted, https://github.com/godotengine/godot/pull/80081, so it will be fixed in dev3


Output format with custom path on section pages - Image paths broken

Using hugo v0.72.0/extended
Images and pages when using an output format path get generated in:
<output-format-path>/section/page and <output-format-path>/section/page/image.jpg
Section pages output to section/<output-format-path>.
This is confusing and also breaks relative image paths.
Some of our website pages are loaded by our mobile app and when this is the case, I don’t want to show the header or footer of our pages. I thought the best way to achieve this would be to use a new output format called “APP” and render a different template.
My config:
[outputFormats]
  [outputFormats.AppFormat]
    name = "app"
    isPlainText = false
    mediaType = "text/html"
    isHTML = true
    permalinkable = true
    path = "app"

[outputs]
  section = ["HTML", "APP"]
  page = ["HTML", "APP"]

This is working as expected for pages. An app directory is created and a copy of the page and images are in there so for a blog post for example would be /app/blog/post1 and in the post1 directory would be an index.html and any images that were included in the content.
Section / List pages (is there a difference between section and list?) however behave differently. The index.html page is in an app directory inside the section directory. So the URL for blog section page is /blog/app but local images to that page are not there, they are in /app/blog/image1.jpg breaking my image paths.
What’s going on? Why isn’t the app index.html also with the images?
I tried the pre-configured AMP to see if I had configured the APP output format wrong and it has the same behaviour.

I've created a repository with the minimum required to demonstrate the problem.
https://github.com/maxwedwards/hugo_issue_7342
Browse to /blog and see a working image
Browse to /blog/app and see that the image is broken
Browse to /blog/post1 and see that the image is working
Browse to app/blog/post2 and see that the image is working
Note that the image is available at: /app/blog/grapefruit.jpg but the index.html is at /blog/app.
Hope I'm explaining myself.

This  can reproduce in master branch.
when set path = "app", hugo shall create only path /app/blog/ instead of /blog/app.
The path shall be prefix as /{path}/blog/.
PR #7771  shall fix this problem.


TorchParameter

Parameters for TorchSynthModules that have an internal range from 0 to 1 and can hold a ParameterRange object to convert to and from a user specified range

Updated with some changes suggested by @turian and merged

Updated with some changes suggested by @turian and merged


Study session data available from the jatos GUI?

There might be no way around this:
I set the study session data in a component and use it in another one (e.g. for the progress bar). Because I'm testing individual components (by clicking on the Show button in each component's toolbar), I can't actually retrieve the study session data. I need to run two components in a row: the one that sets it, and the one that retrieves it.
Would there be a way to make it available for single components ran from the JATOS GUI?

Yes it would be possible, but I doubt the usefulness.
I could add a field for JSON data that is to be used for initializing the
session data in case of a single component run. Apart from being confusing.
The session data is for components working together. It should be used with
several components. It makes no sense for a single component run.

On Mon, Mar 9, 2015 at 11:07 AM, elisafilevich<EMAIL_ADDRESS>wrote:

There might be no way around this:
I set the study session data in a component and use it in another one
(e.g. for the progress bar). Because I'm testing individual components (by
clicking on the Show button in each component's toolbar), I can't actually
retrieve the study session data. I need to run two components in a row: the
one that sets it, and the one that retrieves it.
Would there be a way to make it available for single components ran from
the JATOS GUI?
—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61.

I would rather not have to run two components in case one component is too long. That means that with every run, it takes a couple of minutes to get through the whole component. But you're right. It's confusing. And the whole point of the study session data is that it is shared data between components so then it makes intuitive sense to have to run them together.
Ok then!
On 9 Mar 2015, at 11:42, Kristian Lange<EMAIL_ADDRESS>wrote:

Yes it would be possible, but I doubt the usefulness.
I could add a field for JSON data that is to be used for initializing the
session data in case of a single component run. Apart from being confusing.
The session data is for components working together. It should be used with
several components. It makes no sense for a single component run.

On Mon, Mar 9, 2015 at 11:07 AM, elisafilevich<EMAIL_ADDRESS>wrote:

There might be no way around this:
I set the study session data in a component and use it in another one
(e.g. for the progress bar). Because I'm testing individual components (by
clicking on the Show button in each component's toolbar), I can't actually
retrieve the study session data. I need to run two components in a row: the
one that sets it, and the one that retrieves it.
Would there be a way to make it available for single components ran from
the JATOS GUI?
—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61.

—
Reply to this email directly or view it on GitHub.

You could also just set the session data temporarily in the beginning of
your component. Set it with the data that would usually be set by the other
component.
On 9 Mar 2015 11:48, "elisafilevich"<EMAIL_ADDRESS>wrote:

I would rather not have to run two components in case one component is too
long. That means that with every run, it takes a couple of minutes to get
through the whole component. But you're right. It's confusing. And the
whole point of the study session data is that it is shared data between
components so then it makes intuitive sense to have to run them together.
Ok then!
On 9 Mar 2015, at 11:42, Kristian Lange<EMAIL_ADDRESS>wrote:

Yes it would be possible, but I doubt the usefulness.
I could add a field for JSON data that is to be used for initializing the
session data in case of a single component run. Apart from being
confusing.
The session data is for components working together. It should be used
with
several components. It makes no sense for a single component run.

On Mon, Mar 9, 2015 at 11:07 AM, elisafilevich<EMAIL_ADDRESS>wrote:

There might be no way around this:
I set the study session data in a component and use it in another one
(e.g. for the progress bar). Because I'm testing individual components
(by
clicking on the Show button in each component's toolbar), I can't
actually
retrieve the study session data. I need to run two components in a
row: the
one that sets it, and the one that retrieves it.
Would there be a way to make it available for single components ran
from
the JATOS GUI?
—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61.

—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61#issuecomment-77832525.

Yes, true. Just that then you change something from testing to running, which is suboptimal
But yes
On 9 Mar 2015, at 12:27, Kristian Lange<EMAIL_ADDRESS>wrote:

You could also just set the session data temporarily in the beginning of
your component. Set it with the data that would usually be set by the other
component.
On 9 Mar 2015 11:48, "elisafilevich"<EMAIL_ADDRESS>wrote:

I would rather not have to run two components in case one component is too
long. That means that with every run, it takes a couple of minutes to get
through the whole component. But you're right. It's confusing. And the
whole point of the study session data is that it is shared data between
components so then it makes intuitive sense to have to run them together.
Ok then!
On 9 Mar 2015, at 11:42, Kristian Lange<EMAIL_ADDRESS>wrote:

Yes it would be possible, but I doubt the usefulness.
I could add a field for JSON data that is to be used for initializing the
session data in case of a single component run. Apart from being
confusing.
The session data is for components working together. It should be used
with
several components. It makes no sense for a single component run.

On Mon, Mar 9, 2015 at 11:07 AM, elisafilevich<EMAIL_ADDRESS>wrote:

There might be no way around this:
I set the study session data in a component and use it in another one
(e.g. for the progress bar). Because I'm testing individual components
(by
clicking on the Show button in each component's toolbar), I can't
actually
retrieve the study session data. I need to run two components in a
row: the
one that sets it, and the one that retrieves it.
Would there be a way to make it available for single components ran
from
the JATOS GUI?
—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61.

—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/61#issuecomment-77832525.

—
Reply to this email directly or view it on GitHub.


Delay array expression solving until constant evaluator

Equivalent to #1623  but in Rust
Closes #1570
@georgwiese I wanted to add a test but everything I try either panics (we sometimes assume the fixed columns to be available in a single size) or runs forever (when I add fixed columns to a machine, I assume witgen keeps increasing the degree and never stops? or it picks the largest size and just takes time?) any thoughts?

can we merge?

Is the test still outstanding?

CI is green


Add parse2_macro_input (or equivalent) parsing macro using syn::parse2 instead of syn::parse

Hey,
I am writing an implementation for a proc macro in a seperate crate to the #[proc_macro] declarations (for testing purposes), so my function signature uses proc_macro2 instead of proc_macro.
I then follow the documentation for parsing using syn:
#[derive(Debug, Default)]
struct JsBindAttrs {
	...
}

impl Parse for JsBindAttrs {
	fn parse(input: ParseStream) -> Result<Self> {
		let mut attrs = JsBindAttrs::default();
		while !input.is_empty() {
			... // Parsing logic here
		}
		Ok(attrs)
	}
}

pub fn _js_bind_impl(
	attr: proc_macro2::TokenStream,
	input: proc_macro2::TokenStream,
) -> proc_macro2::TokenStream {
	let input = syn::parse2::<ItemFn>(input).expect("Cannot parse input as a function");
	let attrs: JsBindAttrs = parse_macro_input!(attr as JsBindAttrs);
}

But I get this error:
error[E0308]: mismatched types
   --> js-bind/core/src/impls/js_bind.rs:97:27
    |
97  |     let attrs: JsBindAttrs = parse_macro_input!(attr as JsBindAttrs);
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |                              |
    |                              expected `syn::__private::TokenStream`, found `TokenStream2`
    |                              arguments to this function are incorrect
    |
    = note: `TokenStream2` and `syn::__private::TokenStream` have similar names, but are actually distinct types
note: `TokenStream2` is defined in crate `proc_macro2`
   --> /Users/calebyates/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.56/src/lib.rs:173:1
    |
173 | pub struct TokenStream {
    | ^^^^^^^^^^^^^^^^^^^^^^
note: `syn::__private::TokenStream` is defined in crate `proc_macro`
   --> /Users/calebyates/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/proc_macro/src/lib.rs:80:1
    |
80  | pub struct TokenStream(Option<bridge::client::TokenStream>);
    | ^^^^^^^^^^^^^^^^^^^^^^
note: function defined here
   --> /Users/calebyates/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.15/src/lib.rs:869:8
    |
869 | pub fn parse<T: parse::Parse>(tokens: proc_macro::TokenStream) -> Result<T> {
    |        ^^^^^
    = note: this error originates in the macro `parse_macro_input` (in Nightly builds, run with -Z macro-backtrace for more info)
help: call `Into::into` on this expression to convert `TokenStream2` into `syn::__private::TokenStream`
   --> /Users/calebyates/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.15/src/parse_macro_input.rs:110:48
    |
110 |         match $crate::parse::<$ty>($tokenstream.into()) {
    |                                                +++++++

So, I change my code slightly to try convert into the expected syn::__private::TokenStream type as stated in the error message using .into():
let attrs = attrs.into();
let attrs: JsBindAttrs = parse_macro_input!(attrs as JsBindAttrs);

But I still get a similar error, but reversed:
error[E0308]: mismatched types
   --> js-bind/core/src/impls/js_bind.rs:98:27
    |
98  |     let attrs: JsBindAttrs = parse_macro_input!(attrs as JsBindAttrs);
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `TokenStream2`, found `syn::__private::TokenStream`
    |
    = note: `syn::__private::TokenStream` and `TokenStream2` have similar names, but are actually distinct types
 // Snipped repeated content

Expected Behaviour
I would expect, if this is expected behaviour which I don't know it is, that the error message be made a bit clearer.
Solution - could be improved
I have devised a solution, and it does work fine (to my knowledge):
let attrs: JsBindAttrs = match syn::parse2(attrs) {
    Ok(syntax_tree) => syntax_tree,
    Err(err) => return proc_macro2::TokenStream::from(err.to_compile_error()),
};

Proposed cleaner solution
To my knowledge, adding a macro parse2_macro_input!(...) that uses parse2 under the hood, like my example solution above does, seems a logical solution to my problem.
For example, this would compile without the errors above (I think):
pub fn _js_bind_impl(
	attr: proc_macro2::TokenStream,
	input: proc_macro2::TokenStream,
) -> proc_macro2::TokenStream {
	let attrs: JsBindAttrs = parse2_macro_input!(attr as JsBindAttrs);
}

The current definition of parse_macro_input is here: https://github.com/dtolnay/syn/blob/ab1c5ce3d951c2345bea7db13bf9d10045375fc9/src/parse_macro_input.rs#L110
Copy-pasted:
// macro_rules! ...
match $crate::parse::<$ty>($tokenstream) {
// snip

I propose adding a second macro that looks something like this"
// macro_rules! parse2_macro_input {
match $crate::parse2::<$ty>($tokenstream) {
// snip

Thoughts
I don't know if this is even a solution, either way can anybody cleanly solve my problem of not being able to use parse_macro_input!()?

The solution you arrived at (syn::parse2(attrs)) seems fine to me and does not warrant adding a macro specific to that use case.

Another solution could be to extend parse_macro_input to call proc_macro2::TokenStream::from($tokenstream) and return error.into_tokenstream().into().
Though this could fail when used inside a closure where parse_macro_input would have clearly defined in/output.


NullPointerException and formatting termination if at least one corpus file have one or more parsing errors

Corpus files with errors or parsing errors should be ignored somehow.

thanks!


Add "features" to settings to enable/disable single features

I was missing the ability to customize the spreadsheet, so I added a new setting variable called "features" to selectively enable/disable features. These include toolbar icons and elements in the context menu.
Per default, every feature is enabled. You can just list the features you want, or disable some of them. If we e.g. want to disable Bold, Redo and Italic, we can do the following:
var xs = x_spreadsheet(
  '#x-spreadsheet-demo',
  {
    showToolbar: true,
    showGrid: true,
    features: {...x_spreadsheet.FeaturesAll, Bold: false, Redo: false, Italic: false},
  }
)

All available features are listed in /src/core/features.js

Hi @myliang,
Can you please check and merge this change?
您能否检查并合并此更改？
I am waiting for this change to disable the print feature.
我正在等待此更改以禁用打印功能。
Thanks.


alert example

Prometheus alerts for max connections #68

Coverage remained the same at 51.815% when pulling e95a415e30907945fe53bbf5f08792f55dbf94d9 on gianrubio:alerts-example into 1fa394d4888ed8893e275b1686507fe4c3ff1172 on wrouesnel:master.

Coverage remained the same at 51.815% when pulling 66d452ad69499da5983c5fdd0a90acb1c184bd79 on gianrubio:alerts-example into 1bf7f2435f3c7cc4a0860a5752865d52ed389181 on wrouesnel:master.

@wrouesnel I did some changes, could you review again?

Coverage remained the same at 50.801% when pulling 35cc3d67c20152ec2492b0b4fbb553248fa03621 on gianrubio:alerts-example into 81194c92194402d5a79f87a11247d80039d6ed66 on wrouesnel:master.

Coverage remained the same at 50.801% when pulling becf4866fbafb8ddba818c433f8e215a1022abd7 on gianrubio:alerts-example into 81194c92194402d5a79f87a11247d80039d6ed66 on wrouesnel:master.

Coverage remained the same at 50.801% when pulling becf4866fbafb8ddba818c433f8e215a1022abd7 on gianrubio:alerts-example into 81194c92194402d5a79f87a11247d80039d6ed66 on wrouesnel:master.

Coverage remained the same at 50.801% when pulling becf4866fbafb8ddba818c433f8e215a1022abd7 on gianrubio:alerts-example into 81194c92194402d5a79f87a11247d80039d6ed66 on wrouesnel:master.

Coverage remained the same at 50.801% when pulling becf4866fbafb8ddba818c433f8e215a1022abd7 on gianrubio:alerts-example into 81194c92194402d5a79f87a11247d80039d6ed66 on wrouesnel:master.

Coverage remained the same at 50.801% when pulling b8af8effd693856bf313b1dbad91bb2b3f4d986d on gianrubio:alerts-example into 1afbd62ab194c045a88488d77de2f116400dedb7 on wrouesnel:master.

This PR no longer applies since Prometheus 2 has been released and changed the syntax.


Installer timeout windows 11

when trying to install FluXis on my PC I get errors though the issue may be on my side idk.

It's an issue with your internet being too slow, I'll make a fix for it soon™

Ok


Use controller-runtime API to figure container ID in onload-cplane-ds

The Onload control plane pods, created with onload-cplane-ds, use cgroup V1 slice names to figure out its container ID, which is not a supported way of achieving this.
Instead, the pods should use the controller-runtime API (https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/client) to query Kubernetes API servers from within the pod.
(The control plane later passes the container ID to the Onload kernel module along with a path to the crictl, so the module launches new control plane instances with crictl.)
Also, tracked as ON-14911.

Done on master with commit b010da4dab5f52f3bbf3f83631631d7b014dad2a


plugins: resolve conflict

Introduced in https://github.com/pta2002/nixvim/pull/145.

Duplicate of https://github.com/pta2002/nixvim/pull/168


Add -sanitize=scudo support

This is enough to get all of sanitize_scudo.swift passing except for the Windows test cases, and one that relies on the sanitizer ordering. Rather than fix the ordering here, I'm going to change the integrated driver to match swift-driver.

@swift-ci test


PEEP: Use >= Specifier in Pipfile by Default

See #2396 for discussion. Note that this does not propose the idea of semvar compatible, only a way to introduce a more useful record of installation, so users can work on the end result more easily.
Rendered result: https://github.com/pypa/pipenv/blob/91056e2f50d0/peeps/PEEP-004.md

Thanks for pointing it out, I honestly did not think of this scenario at all. I will update the proposal to include this.

I have updated the proposal. I also noticed that there’s already a PEEP 004 (but named peep-0004 instead), so I changed this to 005.

My main question is this:
As a user (especially as a new user to the python ecosystem) I am primarily interested in being able to re-lock my dependencies in a non-conflicting manner as I introduce additional packages to my pipfile (i.e. I want to minimize my cognitive load).  Does this help with that?
I see the argument is about pinning >= with a suggestion that this is the current behavior and we are now making it explicit, but I want to emphasize that this is not the current behavior.  We currently don't pin any version, the desired behavior is to find a resolution that is compatible with all of the specified dependencies.
By explicitly enacting a pin to whatever the latest version was at the time of installation, are we not implicitly assuming semver on some level at the very least?
If the user adds an additional dependency which requires an earlier version of another dependency which will now be pinned >=, won't this be a substantial problem? And when we do ultimately cut in an actual backtracking resolver (which we are OK to do whenever, based on conversations with Kenneth, so it depends on us being comfortable with it), doesn't this prevent us from leveraging the full functionality of it because we won't allow it to fully backtrack?
I am all for a flag that provides compatibility pinning functionality, btw, I just need some clarification on this last bit.
/cc @ncoghlan in case you aren't subscribed

As a user (especially as a new user to the python ecosystem) I am primarily interested in being able to re-lock my dependencies in a non-conflicting manner as I introduce additional packages to my pipfile (i.e. I want to minimize my cognitive load). Does this help with that?

I guess it does not help with that, but generally there should be no consequences at all. The only situation this has a impact is when a package lowers its dependency versions when upgrading.
Let’s say you have A in Pipfile, which depends on B. You  and run pipenv install B. Old behaviour is to install B 2.0 and insert B = "*". Now A releases 2.0 that depends on B<2 (maybe because maintainers realise the previous pin was too lax),  and when you lock, B will be downgraded automatically to 1.0. In the new behaviour, however, B = ">=2.0" is inserted instead, and locking would fail after A 2.0 is out.
As mentioned in the proposal, I feel this is not a negative, but a neutral change. Failing to relock serves as immediate hint that something is wrong with the assumption of versions, instead of letting the user figure out why B is downgraded after the fact.

I see the argument is about pinning >= with a suggestion that this is the current behavior and we are now making it explicit, but I want to emphasize that this is not the current behavior. We currently don't pin any version, the desired behavior is to find a resolution that is compatible with all of the specified dependencies.

It is debatable, however, whether the resolution fits the user’s expectation. When users pipenv install <package>, they are making an explicit statement of “I want to use this package”, and if pip semantics are inherited, “I want the latest version of this package”. This is different from intrinsic dependencies (i.e. packages included because other packages want them), in which case the user generally does not care about the version. When users directly request a package, it should be expected that their code would use some of its API, and more likely to break when those directly-depended packages are downgraded unexpectedly. A >= pin in Pipfile matches the users’ expectation better IMO, and although it would make previously-passing locking fail, I argue it is actually a desirable failure to help users debug package compatibility before it breaks the code.

(I forgot to include this in the previous comment.)

By explicitly enacting a pin to whatever the latest version was at the time of installation, are we not implicitly assuming semver on some level at the very least?

No, >= does not assume semver, but only requires the versions to be order-able (i.e. a list of versions can be reliably sorted). All packages distributed through a package index should already satisfy this. (Packages distributed directly via e.g. URL specs don’t need to adhere to this, but they are not installable with pipenv install <name> anyway, and therefore out of scope of this PEEP).

I mentioned this on slack, but if I install for example pipenv 2019.4.1 but I later add a pin that needs pipenv 2019.3.28 we don’t handle that in resolution.  If I wanted to pin an explicit version I would have done that -- as it stands, and this is pretty common -- the moment I install something that in turn pins a lower version of any package I previously pipenv installed, I will have a number of conflicts.
Ultimately, this comes down to a simple point: You think people mean >=<latest> when they use pipenv install <package>.  I simply don't think that's right.

The only way to find out what more people expect is to set up an actual situation for voting.

Not sure voting is great and this isn’t a democracy anyway. I am far more interested in UX and usability than an online poll and that’s probably the only thing that will govern my decision.
Rust and npm enforce semver, so when a user types a package name they can loosely pin to the patch release. In npm at least, if the user then installs something that demands an earlier patch release, it just installs both— no problem.
In pipenv this proposal means that if, as a user, I type 'pipenv install pyxl', there is now an implicit pin in my Pipfile of 'pyxl = ">=2.9"' (for example).  If I try to install anything at all with a dependency on for instance, 'pyxl<2.9', that will now fail no matter what even though I never specified any versions of anything.  That seems pretty jarring and would likely introduce resolution failures all over the place.
I did show this to a few folks and by and large the response was, ‘why would you set versions for things when I didn’t tell you to, especially if it might cause more conflicts I now have to troubleshoot?’  I get that this is a push back against ‘I got a smaller version’ but my answer is just, that’s how dependency resolution works. If you want a higher version, pin it.
Overall I am 100% against changing default behaviors in a breaking way without a clear demonstration of why the change is better. Pipenv is widely deployed and this would be a pretty significant usability change.  If you have this working somewhere i can try it out myself a bit and see how it feels. I’m -1 on this right now but if in practice it doesn’t cause problems I could come around to it.

@techalchemy That's a really good point regarding the increased risk of resolution conflicts.
One possible way to thread the design needle would be to add the extra metadata regarding the "first installed version" as an end-of-line comment, rather than changing the actual dependency specification.
With that approach, the current output of:
django = "*"

Would instead become something like:
django = "*" # To require first installed version:  django >= "2.1.7"

If folks find the comments messy, they can just delete them (or there could be an option to skip adding them), while if they keep them, then setting a minimum version later should be straightforward.

One possible way to thread the design needle would be to add the extra metadata regarding the "first installed version" as an end-of-line comment

I like this idea very much! It's conservative, which is a good thing in light of the reservations e.g. @techalchemy has expressed, but at the same time the information about which combination of versions of the dependencies should work is easily accessible. With this feature, I'd probably leave * deps by default, and only consider pinning if after setting up a new dev environment, stuff breaks.

@uranusjr do you mind if we decline this one?  There have been recent discussions of adding to the [pipenv] directives the ability to customize the default behavior of how the Pipfile gets pinned during install.

Feel free.


Modrinth and Curseforge token invalid

Ping @Prospector

I've updated the Modrinth token, I don't think the CF one can be invalid though. I am confused though, as the latest release 5.0.1 seems to have published correctly across all platforms?

Thanks! I believe Curseforge needs to be updated too, because the release action only succeeded after adding my own Curseforge and Modrinth tokens:

The first build failed because of Curseforge: https://github.com/TerraformersMC/ModMenu/actions/runs/3644055436/jobs/6152900976
The second one because of Modrinth: https://github.com/TerraformersMC/ModMenu/actions/runs/3644260367/jobs/6153327829


Cursor support

Is it possible to fetchLazy or stream with the queryExecutor? I only found the methods to return ResultSets but for larger data sets it's sometimes required to use cursors.
https://www.jooq.org/doc/3.0/manual/sql-execution/fetching/lazy-fetching/
https://www.jooq.org/doc/latest/manual/sql-execution/fetching/lazy-fetching-with-streams/

I would advise you to use the reactive (postgres) driver and work as described here. with jdbc, I am afraid this feature is not available in vertx-jooq.

See also #116

Ah yes I am using vertx, I didn't notice the other issue that had some useful info will close this as it's a duplicate.