[BUG] defaultSettings.storageMinimalAvailablePercentage override isn't honored on helm install

Describe the bug
Installing Longhorn 1.3.2 via Helm to a Kubernetes 1.23 cluster with defaultSettings.storageMinimalAvailablePercentage overridden (any value) always results in reserved space set to 25% for the initial node storage.
The Web UI settings have the revised default and any new storage created will suggest the revised default -- but the initial node storage is always deployed with 25% reserved.
To Reproduce
Steps to reproduce the behavior:

Deploy an AWS EKS cluster
Install Longhorn via helm

helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace --set defaultSettings.storageMinimalAvailablePercentage=10

Expected behavior
The initial node storage volumes should have 10% reserved space due to the setting override. However, the initial storage on each node has 25% reserved.
I checked the configmap and it has the revised 10% setting. The WebUI also shows 10% (correct) in the general settings and defaults to 10% (correct) when creating any new node storage -- but the original volumes don't honor the storageMinimalAvailablePercentage during install.
Environment

Longhorn version: 1.3.2
Installation method: helm
Kubernetes AWS EKS 1.23 with:

3 worker nodes

Node config

OS type and version: AmazonLinux2
CPU per node: 4
Memory per node: 16GB
Disk type(e.g. SSD/NVMe): NVMe
Network bandwidth between the nodes: 10gbps

Underlying Infrastructure: AWS EKS
Number of Longhorn volumes in the cluster: N/A (problem occurs before volume allocation)

Other
After the install, I can manually change the reserved space on each node via the Web UI but this creates an exception to our GitOps cluster management process.

@sdenovan
Do you mean the value of Storage Reserved on the node page?
If yes, the initial node reserved is 30% of maximum storage space (code).

@derekbit thanks for clarifying -- Storage Reserved space is what I thought was configurable with this parameter. I had originally run with storageMinimalAvailable set to 0% which seemed to line up with the Reserved Space recommendation on new disks, but I just confirmed they're different.
It's not clear to me whether the Storage Reserved space is fixed protocol / storage overhead that shouldn't be adjusted or just a safeguard against filling the disk on installs against the root disk. If the latter, It seems like it should be configurable especially in the case where the defaultDataPath has been set to a dedicated disk for the initial storage provisioning.
In any case, If the initial reserved space is currently hard-coded then it's working as designed and I'll close the ticket. Thanks again for the quick response and clarification.

@derekbit that would be great and would make the install more GitOps friendly.
I just found this Stack Overflow where someone manipulated the Kubernetes CRDs after the install to reduce the Storage Reserved space but a configurable parameter would definitely be cleaner.

@sdenovan
I've created a ticket for the improvement. Thanks for your suggestion.


L515 camera   significant misalignment on the left side

When using the Intel RealSense L515 camera model and the pyrealsense2 library in Python to align the depth map with the color map, I have noticed that the right side aligns properly, but there is a significant misalignment on the left side, preventing a complete alignment. This issue has been tested on both Windows 11 and Ubuntu systems, with consistent results.
Required Info 	Value
Camera Model 	Intel RealSense L515
Operating System & Version 	Windows 11 and Ubuntu22.04
Platform 	PC
SDK Version 	pyrealsense2  <IP_ADDRESS>84
Language 	Python

Hi @DongLZY  Did you test with the RealSense SDK's align_depth2color.py alignment example program?
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/align-depth2color.py
If you did use this script then support for L515 was removed from it when overall support in the SDK for L515 was removed in SDK 2.55.1.  There is an older version of the example at https://github.com/IntelRealSense/librealsense/issues/11329#issue-1537754614 that still contains L515 support.

Hi @DongLZY  Do you require further assistance with this case, please?  Thanks!

Hi, thank you for your reply.
I found that I set the short range mode in the script,
'''  preset = rs.l500_visual_preset.short_range
depth_sensor.set_option(rs.option.visual_preset, int(preset))
'''
and in this mode, the depth map cannot be fully aligned with the color map. Is there a solution to this issue? Thank you.

Setting the low_ambient_light does not affect the alignment, but it is not fully aligned in the short range mode. Is it necessary to perform some calibration operations in this mode?

It should not be necessary to perform an calibration operation when using presets.
The main difference between Short Range and Low Ambient Light is that Short Range reduces the value of the Laser Power setting slightly from its maximum of 100 to '93', whilst Low Ambient Light maximizes the laser power at 100.
You could try setting the Low Ambient Light preset and then using the Python code below to set the Laser Power to '93' like the Short Range preset does in order to see whether it affects alignment.
depth_sensor.set_option(rs.option.laser_power, 100)

Hello, I have conducted more tests. The alignment still fails towards the left side, while the right side is aligned. Could it be possible that there is a hardware issue?

If alignment is correct when using the Low Ambient Light preset and only has a problem when using Short Range then that suggests that the camera hardware does not have an issue.

I just tested using the Low Ambient Light preset, and the same effect occurred—it was not aligned. when not using the Short Range , the situation remains the same.

Alignment is calculated in the SDK software and not on the camera hardware.
If you installed the librealsense SDK with tools and examples included, are you able to launch the pre-built rs-align example program to see how alignment behaves when generated by that program?  Examples are installed to the usr/local/bin folder on Linux and C: > Program Files (x86) > Intel RealSense SDK 2.0 > Tools on Windows.

Yes, I tested another L515 camera, and the same issue occurred—the left side was not aligned. I think I need to find other way to solve this problem because it's important for me to obtain the depth of finer targets.

Hi @DongLZY  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


[v2.0.0-beta.2] doesn't work with async component ?

Vue.js & vue-router.js version
2.0.0-beta.5, 2.0.0-beta.2
Reproduction Link
http://jsbin.com/cenutet/edit?js,console,output
Steps to reproduce
click /page2
What is Expected?
goto page 2
What is actually happening?
Uncaught TypeError: Cannot read property 'beforeRouteLeave' of undefined thrown

https://github.com/vuejs/vue-router/blob/v2.0.0-beta.2/src/history/base.js#L131
What is component.options for async component?

+1
But you js bin file gets error: "Script error. (line 0)".
How about this one: https://jsfiddle.net/JounQin/qyd624yk/
#586

Fixed in beta.3


zigbee2mqtt not strarting after update

ubuntu server 18.04.4 LTS
Hassio running in docker
Hassio version : 0.108.1
zigbee2mqtt: 1.12.2
Description of problem:
Hello,
it seems that after updateing Hassio, zigbee2mqtt stopt working.
in the logs of hassio and the logs from zigbee2mqtt remains empty about zigbee2mqtt i cant find anything about zigbee2mqtt.
why isn't my device started and why can't i find anything aboutt this in the log files.
Your entire configuration from the frontend (with sensitive fields redacted):
data_path: /share/zigbee2mqtt
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: '***********'
  user: ******
  password: '******'
serial:
  port: >-
    /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E32312-if00
advanced:
  pan_id: 6754
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blacklist: []
ban: []
whitelist: []
queue: {}
socat:
  enabled: false
  master: 'pty,raw,echo=0,link=/dev/ttyZ2M,mode=777'
  slave: 'tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5'
  restartdelay: 1
  initialdelay: 1
  options: '-d -d'
  log: true

*** Partial configfile hassio ***
#Tuya devices
tuya:
  username: !secret tuya_usr
  password: !secret tuya_pwd
  country_code: +31

logger:
  default: info

utility_meter:
###### DSMR METER READINGS ######
  hourly_gas:
    source: sensor.gas_consumption
    cycle: hourly

remote:
  - platform: harmony
    name: Woonkamer

zigbee2mqtt log:
there is nothing in the log

+1 Same Problem here

The supervisor logs have this error for me is this the case for others as well ?

20-04-09 19:54:08 ERROR (SyncWorker_11) [supervisor.docker] Can't create container from addon_7ad98f9c_zigbee2mqtt: 404 Client Error: Not Found ("No such image: dwelch2101/zigbee2mqtt-armhf:1.12.2")

yes, same error here. didn't look earlyer in the supervisor log.

Docker hub shows an image for 1.12.2 not sure why the supervisor isn’t grabbing it. I wonder if a remove and re-install would fix it.
https://hub.docker.com/r/dwelch2101/zigbee2mqtt-armhf/tags

Hassio version : 0.108.1
zigbee2mqtt: 1.12.2
Same here : Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
But ZHA do not find the ti_cc anymore since HA 108 update.

uninstall en reinstall did the job for me,

Had the failed to connect errors with my CC1352P-2 adapter
Read the dev firmware fixes it so have it a go and the errors have gone
I also changed to using “port: null” in my config and now my network is rock solid
Homeassistant and Zigbee2mqtt on Ubuntu 18.04 as docker

Had the failed to connect errors with my CC1352P-2 adapter
Read the dev firmware fixes it so have it a go and the errors have gone
I also changed to using “port: null” in my config and now my network is rock solid
Homeassistant and Zigbee2mqtt on Ubuntu 18.04 as docker

I think your error is different then we discuse here. oure error has nothing to do with not connecting the usb/serial adapter.

I had the same problem with a missing image 1.12.2 but having a 1.12.1 image downloaded. Finally I did ha su repair through the CLI and then it came back to life. (running currently 1.106.4 with supervisor 214 as hassio on ubuntu server amd64)

same problem, reinstall (hassio) did the job.

I had the same problem with a missing image 1.12.2 but having a 1.12.1 image downloaded. Finally I did ha su repair through the CLI and then it came back to life. (running currently 1.106.4 with supervisor 214 as hassio on ubuntu server amd64)

I have the same issue.
I am running HA Core  version 0.107.7
Hass OS 3.1, Supervisor Version 214 on Raspberry Pi 3b hardware and TI_CC2531 Zigbee USB.
I ran 'ha su repair' in an SSH session as suggested.
This solved the problem of Zigbee2MQTT not starting but I ended up with a new problem
zigbee2mqtt:info  2020-04-10 12:11:47: Starting zigbee-herdsman...
zigbee2mqtt:error 2020-04-10 12:11:55: Error while starting zigbee-herdsman
zigbee2mqtt:error 2020-04-10 12:11:55: Failed to start zigbee
zigbee2mqtt:error 2020-04-10 12:11:55: Exiting...
zigbee2mqtt:error 2020-04-10 12:11:55: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
at ZStackAdapter. (/zigbee2mqtt-1.12.2/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:71:23)
at Generator.throw ()
at rejected (/zigbee2mqtt-1.12.2/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:6:65)
npm
ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-04-10T02_11_55_527Z-debug.log
I eventually fixed this problem by unpluggin and Re-pluging in my CC2531 USB

ha su repair did the job for me.

Uninstall/reinstall doesn't help for me but unplug/replug do the trick 👍

installing the terminal&ssh addon, then running ha su repair did it for me. thanks guys.

Had the failed to connect errors with my CC1352P-2 adapter
Read the dev firmware fixes it so have it a go and the errors have gone
I also changed to using “port: null” in my config and now my network is rock solid
Homeassistant and Zigbee2mqtt on Ubuntu 18.04 as docker

I think your error is different then we discuse here. oure error has nothing to do with not connecting the usb/serial adapter.
If you only want suggestions On specific issue then don’t post full logs

I was responding to the comment(s) with these errors in the event log of @urbatecte
Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)

Had the same issue, reinstall fixed it!

because of the solution / workaround is already given i close this issue.


Usage human_tools

Hi! I have create agent and tool to ask user for input.
Agent:
user_manager = Agent(
    role='Communication Manager',
    goal='Ask user for input when information from user is required',
    verbose=True,
    backstory="""You are polite public relations manager.""",
    allow_delegation=False,
    max_iter=2,
    max_rpm=20,
    llm = llm
)

And task:
from langchain.agents import load_tools

human_tools = load_tools(["human"])

ask_user = Task(
    description= "This task is about to ask user for input when user input is required.",
    expected_output="User input.",
    tools= human_tools,
    agent=user_manager,
    async_execution=False
)

When I run it I got error:
.........................
These ideas can serve as a starting point for further research and exploration based on the specific topic provided by the user.Do I need to use a tool? Yes
Action: Ask question to co-worker
Action Input: Communication Manager|How should we ask the user for the specific topic they want us to research?|We need to ask for user input when it is required.

Entering new CrewAgentExecutor chain...
Exception in thread Thread-36 (_execute):
Traceback (most recent call last):
File "D:\Anaconda3\Lib\threading.py", line 1038, in _bootstrap_inner
self.run()
File "D:\Anaconda3\Lib\threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\task.py", line 112, in _execute
result = agent.execute_task(task=task_prompt, context=context, tools=tools)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agent.py", line 151, in execute_task
result = self.agent_executor.invoke(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\chains\base.py", line 162, in invoke
raise e
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\chains\base.py", line 156, in invoke
self._call(inputs, run_manager=run_manager)
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agents\executor.py", line 59, in _call
next_step_output = self._take_next_step(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\agents\agent.py", line 1097, in _take_next_step
[
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\agents\agent.py", line 1097, in
[
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agents\executor.py", line 195, in _iter_next_step
observation = tool.run(
^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain_core\tools.py", line 373, in run
raise e
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain_core\tools.py", line 345, in run
self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain_core\tools.py", line 523, in _run
else self.func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\tools\agent_tools.py", line 40, in ask_question
return self._execute(command)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\tools\agent_tools.py", line 64, in _execute
return agent.execute_task(task, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agent.py", line 151, in execute_task
result = self.agent_executor.invoke(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\chains\base.py", line 162, in invoke
raise e
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\chains\base.py", line 156, in invoke
self._call(inputs, run_manager=run_manager)
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agents\executor.py", line 59, in _call
next_step_output = self._take_next_step(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\agents\agent.py", line 1097, in _take_next_step
[
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\langchain\agents\agent.py", line 1097, in
[
File "C:\Users\pavel\AppData\Roaming\Python\Python311\site-packages\crewai\agents\executor.py", line 114, in _iter_next_step
raise ValueError(
ValueError: Unexpected output type from agent: <class 'langchain_core.agents.AgentFinish'>

Fixed on v0.5.5 😎👉👉
let me know if it works now. Also you might not need a specific agents just to ask human input but you could give that tool to another agent, both should work, just a matter of experimentation


C2ME + VMP = not loading chunks

Describe the bug
If both mods are installed: c2me and vmp then only about 10 chunks are loaded (visually). This happens only if in config file c2me.toml turn off [threadedWorldGen]. From this follows another problem, if I have [threadedWorldGen] enabled then the chunks are generated many times slower than in vanilla and constantly lags and sometimes hangs completely for a significant period of time.
The amount of allocated memory has no effect on this in my case. I tried with both 6GB and 12GB. I also tried different GCs (zgc, shenandoah, g1gc) but none of these critically affect the situation
To Reproduce
Steps to reproduce the behavior:

install c2me and vmp
disable [threadedWorldGen]
set draw distance to 32 chunks for example
create new world

Expected behavior
To the vmp-related bug: Chunks should load normally
To the c2me related problem: Most likely, the use of these two mods implies performance and speed of loading and generation of chunks more than in vanilla and certainly not worse
Screenshots

Runtime info (please complete the following information):

OS: win 10 pro 21h2
Minecraft version: 1.19
Mod version: 0.2.0+beta.4.0
CPU: i5 9600k
GPU: 1060 3gb
RAM: 16gb ddr4 (6/12 allocated)
JDK: 17 (Temurin/graalvm)

Crash reports / logs
no crash
Other mods
c2me
Checklist

[x] I am using the official version of the mod.
[x] I tried the latest development version but the issue persists.
[x] I searched for similar open issues and could not find an existing bug report on this.

Additional context

Since the bug is related to two mods, maybe I should also write to c2me/issues?

@mllightitup You don't need to open another issue.

I can't reproduce this error with threadedWorldGen disabled. Can you try again with current latest dev builds again?

This bug has been fixed with the latest dev versions of vmp+c2me. By the way, [threadedWorldGen] is now turned off by default in the c2me config.

I can't reproduce this error with threadedWorldGen disabled. Can you try again with current latest dev builds again?

This bug has been fixed with the latest dev versions of vmp+c2me.

Then this issue will be closing as resolved.

By the way, [threadedWorldGen] is now turned off by default in the c2me config.

This is because I forgot to turn that off automatically for users that have a relatively lower-end machines to avoid possible performance issues.


UI seems to have issues when using another language than eng

Closing this, as we aren't likely to get to it any time soon, sadly.

I'd like to extend the pattern used in the project import page and use icons for actions, these don't need to be words at all. I think this is still valid, i'll take this one at some point.

Still valid, bot :)

Is this Still Valid?
If yes, I would Like to work on this. We can add font awesome icons instead of text for those buttons.
We might use these icons:
https://fontawesome.com/icons/eye?style=regular
https://fontawesome.com/icons/eye-slash?style=regular

This affects more elements in the UI, so isn't a solution for everything

This is still valid, but we will be addressing this in a larger design project and it wouldn't make sense for anyone else to take this work on. We'll be moving to icon buttons for this particular reason however, and limiting the number of buttons in our UI listviews


Generated readme needs a refresh

For example there are mentions to manifest.yml which is our old way to configure actions.
I would recommend keeping this one short and reference public doc instead, it allows the user to more easily take ownership of the README and it is way better for us to maintain.

Fixed in #197
https://github.com/adobe/generator-aio-app/blob/master/generators/base-app/templates/README.md


Meta-issue for discussion of the proposal to allow generic constructors

This issue is to provide a forum for community discussion and feedback related to the proposal to allow constructors for classes to take additional generic arguments independent of the generic arguments of their class.
Currently strong mode allows generic functions and methods with a syntax like int foo<T>(List <T> l) ..., but constructors are not generic - they can only get the type parameters of the class.
An example case could be List.mapped<S>(Iterable<S> source, E map(S value)) ... where the type of the source doesn't depend on the type of the created list List<E>.
This entry will be updated when a proposal is available.
cc @munificent @eernstg @floitschG @lrhn

I wrote in an issue for this, and I'm fully in favor! https://github.com/dart-lang/sdk/issues/30041
This creates a weird dichotomy between factory constructors and static constructors, because we sometimes need constructors with generics. It's confusing for both library consumers and adds complexity for folks learning the language: Why isn't there one true way for class construction?
Thanks for opening up the discussion and hearing our thoughts :)

This feature was also requested in https://github.com/dart-lang/sdk/issues/31360.

Closing in favor of https://github.com/dart-lang/sdk/issues/26391 since it's older.


prometheus-bind-exporter: init at 20161221

This exporter provides many bind9 metrics for prometheus.
Motivation for this change
bind_exporter is not available in NixOS :-)
Package is packaged in the same way as e.g. node_exporter, but with a hash instead of a tag (bind_exporter has only a repo and no real versioning yet)
Things done
Tested with nix-build -A nixpkgs.tarball nixos/release-combined.nix

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] Linux

[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/): installed it to my .nix profile
[ ] Fits CONTRIBUTING.md.

Fixed the commit message. Thanks!


A crawler that does Type->Type?

I would like to generate a output type based on a input type. Useful for converting server-side types to client-side types.
Currently I can do it a bit hackily like:
var type = Context.typeof(Crawler.genType(...).expr);

That's certainly an interesting idea. I'm not 100% sure how to go about it though. Could you provide a real-world-ish example of how you use this (I'm interested to see how input and output types look)?

Currently I have something like this.
Say I have a User type on server-side:
typedef User = {
  id:String,
  name:String,
  @:private passwordHash:String,
}

and here is the overview of the macro I am using:
@:genericBuild(build())
class Response<T>{}

function build() {
  // 1. read the type parameter from Context.getLocalType()
  // 2. strip off those fields with @:private (this part is simplified for demo purpose, I have quite a few different metas to govern the build)
  // 3. create the type definition: {id:String, name:String}
  // 4. Context.defineType(def);
  // 5. return Context.getType(...);
}

And as a result:
Response<User> == {id:String, name:String}

And I use this generated type in both server-side (to generate the response) and client-side (for receiving the response) to ensure both sides conform to the same type.
My current macro works, but it is a bit messy in terms of the recursive type inspection logic. And I see this lib has some good effort done in that area so I suppose it can be tuned a bit to fit my needs 😛

I think this should be quite easy to do with BuildCache, now that it's metadata-aware.


🦊 Update dependencies

We have a pretty strict CI for duplicate dependencies in our project, and it cought some out-dated dependencies when integrating rust-i18n into our project.
This PR switches this project over to use workspace dependencies for ease of use (now there's only one place where all the versions are defined, so only one place to update!)
I've also taken the liberty in this PR to update some of the dependencies to at least be on the same level as our project (for example: serde_yaml 0.8 had a security warning issues against it because it depended on yaml-rust  which was left unmaintained).

Hi @huacnlee, any chance to get this PR merged soon? From what I can see, there are lots of old deps when installing rust-i18n and this PR solve that problem.

I have open a new PR, and keep @Jasper-Bekkers you commit sign.


doc(book): Added book to repo

doc(book): Added book to repo

This won't work until gitbook v3 lands, so I'll close it for now


iOS UIKit needs to propagate size changes up the DOM

On Android changing a property that changes the size of a view will re-layout all its parents in the view tree automatically. On iOS UIKit this is not the case! We need to manually notify that parent (and parent's parent, etc.) that the child view has changed size.
Currently we hack around this in a few places by doing something like:
func text(text: String) {
    root.text = text
    root.superview?.setNeedsLayout()
}

However, this isn't foolproof since it only re-lays out the parent and not the parent's parent, which also might have changed size due to its child's child changing its text.
How do we solve this? I think we have two main options:
Automatic
We already handle changes similar to this through the Widget.Children.onModifierUpdated method, however this is only called when a child's modifier is updated. I propose we generalize it to:
public fun change(index: Int, property: String)

This would be called for all property changes and would pass the property name so Android (and similar platforms) can skip any change where property != "modifier".
Manual
Optionally, we could have the child widget notify its parent that its size should be recomputed. This has the benefit of the child not having to recompute its size for every property change. For example, the parent doesn't have to recompute the child's size when its text colour changes. The downside to this solution is it's manual and could be error-prone.

So as far as I can tell we should not have to do this manually. I've been reading and watching WWDC videos on how iOS layout works since you posted this issue, and all signs point to this being able to be made to work using the built-in mechanisms. I also chatted with @efirestone about it who also believes that it should be something else causing the incorrect behavior.
From your example,

func text(text: String) {
    root.text = text
    root.superview?.setNeedsLayout()
}

I would say two things:

Whatever type is root seems broken. Writes to its text property should automatically be invoking setNeedsLayout() on its parent, no? Controls like UILabel do this.
If for some reason there's a really good justification for point 1 to NOT be implemented that way, having the widget wrapper perform the action is an okay solution.

However, this isn't foolproof since it only re-lays out the parent and not the parent's parent, which also might have changed size due to its child's child changing its text.

This also seems extremely suspect to me. That would mean in a traditional iOS application using UIKit changes to any property affecting layout on any view would have to manually traverse the ancestral chain calling setNeedsLayout on each.
Is there a reproducer of the problematic behavior in the samples that I can debug? Or is there one somewhere else internally?

Looking at UIViewChildren,
https://github.com/cashapp/redwood/blob/546aa52bd2d07126d4febd57d084e569f02dde07/redwood-widget/src/iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt#L69-L72
This seems incorrect. setNeedsDisplay is requesting a draw pass, not a layout pass. And, to the best of my understanding, invalidateIntrinsicContentSize invalidates constraints but does not request a layout pass itself (plus we don't actually use the constraints system).
Looking at UIViewFlexContainer,
https://github.com/cashapp/redwood/blob/546aa52bd2d07126d4febd57d084e569f02dde07/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt#L124-L126
We're probably missing a call to super here to propagate the desire for layout into the UI toolkit itself.

Going to close since I think we've seen that this can be accomplished through the toolkit directly and does not require such a mechanism as proposed. We just need to ensure we're doing this properly, and probably need more tests the the like. There may be more we need to do, but if we have problematic patterns we need to figure out how to get them into the Redwood repo as a sample or unit test so that we can be sure to not regress them.


after_tick.emit runs before the tick

https://github.com/foxssake/netfox/blob/c97141761bc307c5387599c0232e313903acd243/addons/netfox/network-time.gd#L402
Shouldn't after_tick.emit() be below the tick increment? Otherwise, there is no reason to not use on_tick.emit()

You can think of it in terms of semantics - the after_tick event emits the tick number we've just finished, instead of the tick number we'll be running during the next iteration.

Alright. Not an important problem since it can be moved in the code by the user (NetworkTime.gd), but just had to bring it up because of the word (after_tick) for a new user
(also changing it would be breaking compatibility but anyway)


Output path not relative to project root

My project file structure is like that:
* src/
  * app/
    * myapp.ts
* gulpfile.js
* package.json
* tsconfig.json

My tslint config is like this:
var tslint = require('gulp-tslint');
gulp.task('tslint', function(){
      return gulp.src('src/**/*.ts')
        .pipe(tslint())
        .pipe(tslint.report('prose'));
});

But the output is not relative the project root (should output path src/app/myapp.ts):
[14:27:30] [gulp-tslint] error app/myapp.ts[17, 5]: comment must start with a space

Is it a bug or a wrong configuration ?

Can you try setting the base directory like here: https://github.com/panuhorsmalahti/gulp-tslint/blob/master/test/gulpfile.js#L48 ?

Thanks for the hint. In my case the solution was that:
gulp.src('src/**/*.ts', {base: './'})


Why is the result of my operation like this?

Code:   localrun.DoRun();
result output:
9/18/2019 1:21:02 AM:  COMPILATIONTIME|JobId:|FriendlyName:|Mode:Deep|Overall: 0.7s 1.0cpu
9/18/2019 1:21:02 AM:  FrontEndTimers
9/18/2019 1:21:02 AM:  RoslynTimers
9/18/2019 1:21:02 AM:  OptimizerTimers
9/18/2019 1:21:02 AM:  BackendTimers
9/18/2019 1:21:02 AM:  ExternalTimers
After debugging, I found out  :  localrun.DoRun() == false ;
1.I did not capture any exception information；
2. U-SQL scripts are not being run
Thanks, waiting for your reply!

@guizi1991 Could you please share the doc that you are referring to?

localrun.ScriptPath = @"C:\Users\v-donl\source\repos\Script\Script.usql";
Script.usql  document content :
DECLARE @in  string = "test.csv";
DECLARE @out string = "/output/SearchLog-scalar-variables.csv";
DECLARE @filename = "SearchLog";
DECLARE @DeptID bool = false;
@searchlog =
EXTRACT UserId          int,
Start           DateTime,
Region          string,
Query           string,
Duration        int?,
Urls            string,
ClickedUrls     string
FROM @in
USING Extractors.Tsv();
OUTPUT @searchlog
TO @out
USING Outputters.Csv();

1.I did not capture any exception information；
2. U-SQL scripts are not being run

@guizi1991 This repo is for addressing documentation feedback. If there isn't a specific doc that you are referring to, its best to ask your query on the appropriate forum on MSDN or StackOverflow.

@guizi1991 Since there is no doc feedback to address here, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Also, please feel free to open an issue on the specific doc that you are referring to by providing feedback at the bottom of that page.


Fixes for scheduler test API before presentation

Adds Expect implementation for unreserves, adds some javadocs, uses better function names

Going to just merge this if/when sdk passes


5.2. Model tables are missing table numbers

https://canflood.readthedocs.io/en/latest/toolsets.html#model
tables need a table number (e.g., table 1.1)

The link mentioned here doesnt seem to work, cause of the new builds. Navigated to model page under toolsets section ( https://canflood.readthedocs.io/en/latest/05_toolsets.html#model ) and there are 2 summary tables ( or sections ) which do not have numbers and the rest of the tables seem to have their table numbers and looks like they are all in order and increments of 5. Should we add a table number for these 2 summary tables? and if so, to maintain the continuity, should we change the table numbers in the rest of the document?

I trust you to come up with something consistent and professional looking. How do other RTD projects handle table references? In general, someone should go through and spend a few hours improving the readability of all the tables.

A good way to go about it is to add a page table indexes listing what each table refers to and having each of these linked to the tables in their respective pages which is to say that we could create an index page just for tables.

No problem, I can update the tables across the document for consistency.

@cefect Completed and created a pull request for this branch


Use ID token if auth type is OIDC

Simply use the ID token inside the Authentication header for the OIDC case. This helps at least a bit when running locally as long as the ID token is still valid.

Thanks!

released: https://github.com/hjacobs/pykube/releases/tag/19.9.1


yo react-server outputs deprecation warning

To repro:
$ yo react-server
# add some name
# answer Y to docker
npm WARN deprecated<EMAIL_ADDRESS>Deprecated.

Looks like we're getting it from our css-loader via cssnano
<EMAIL_ADDRESS>/Users/dwade/foss/react-server/packages/react-server-examples/404-page
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>

Looks like this is fixed on master and we just need a publish to resolve.


Error retrieving a record from the database

Pipeline is failing because it is trying to retrieve a record from the database that doesn't exist.
For example, sequences for lineage XDT were inserted into the database, however, the cluster information was not.
Originally the thought was that the lineage assignment changed for a sequence in a recent provisions file. However, that does not seem to be the case.

@GopiGugan currently rebuilding database, will investigate whether cluster information is reproducibly failing to be inserted for XDT

For example, sequences for lineage XDT were inserted into the database, however, the cluster information was not.

I believe there isn't a cluster record for XDT since the XDT records were previously filtered in the filter_problematic function. https://github.com/PoonLab/covizu/blob/0631f5e6e46f072b2482e97cad0bb61efcc6b8eb/covizu/utils/gisaid_utils.py#L196-L200
Lineages that appear in by_lineage but were not previously inserted into the clusters table should be processed again:
diff --git a/batch.py b/batch.py
index 878ac70..91641d8 100644
--- a/batch.py
+++ b/batch.py
@@ -435,7 +435,17 @@ if __name__ == "__main__":
         SELECT DISTINCT LINEAGE FROM NEW_RECORDS;
         '''
         CUR.execute(UPDATED_LINEAGES_QUERY)
-        UPDATED_LINEAGES = [row['lineage'] for row in CUR.fetchall()]
+        new_records_lineages = [row['lineage'] for row in CUR.fetchall()]
+
+        by_lineage_list = list(by_lineage.keys())
+        clusters_lineages_query = '''
+        SELECT DISTINCT LINEAGE FROM CLUSTERS;
+        '''
+        CUR.execute(clusters_lineages_query)
+        clusters_lineages = [row['lineage'] for row in CUR.fetchall()]
+        unique_by_lineage = list(set(by_lineage_list) - set(clusters_lineages))
+
+        UPDATED_LINEAGES = list(set(new_records_lineages).union(set(unique_by_lineage)))


jQuery dependency

Hi Tobias, thank you very much for this plugin, it is very useful.
Did you considered dropping jQuery dependency? Nowdays being jQuery unnecessary in most of projects, it seems a good idea to keep the main plugin dependency free while still providing a jQuery Plugin Wrapper (or not). Anyway, that would be my feature request ;)
Thanks again!

Yes, I totally agree with you.
Few weeks ago I start working on, but could not continue because of lack of time.
So I will prioritize it higher and hope can be ship some results soon.

I ended up using Teddler, so no rush on my part, but having a simple script doing one thing well, is always welcome. Keep it up and thanks :)


Cellery logs will have to appended with the component name with respective logs

Description:
Currently cellery logs  lists the logs from all components, this needs to be improvised adding the component name along with its respective logs. And also, users should also be able to pass the argument for component name (e.g: cellery logs  -c ) , so that the logs related to that component is printed.

This would be useful for Cellery Tooling as well when we show the logs from an instance started by the IDE


Provide method to move or remove processed files

Enhancement request to provide a method to move or remove the processed files.

We have no plan to implement the method you said, but the value of origin in the parsed result may helps you like the following command:
% perl -MSisimai -lE 'my $v = Sisimai->make(shift); for my $e ( @$v ){ unlink $e->origin }' /tmp/test-1.eml


xcode_backend.sh build failure

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
command
/Users/xx/Documents/development_stable/flutter/bin/flutter --verbose assemble --output=/Users/xx/flutter/baidu/netdisk/note/flutter_plugins_host/ios/Flutter/ -dTargetPlatform=ios -dTargetFile=lib/main.dart -dBuildMode=release -dIosArchs=armv7 arm64 -dSdkRoot= -dSplitDebugInfo= -dTreeShakeIcons=false -dTrackWidgetCreation=false -dDartObfuscation=false -dEnableBitcode= --ExtraGenSnapshotOptions= --DartDefines= --ExtraFrontEndOptions= release_ios_bundle_flutter_assets
exception

logs
Target release_unpack_ios failed: Exception: No iOS frameworks found in
           /Users/xx/Documents/development_stable/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      _getIosEngineArtifactPath (package:flutter_tools/src/artifacts.dart:567:5)
           #2      CachedArtifacts._getIosArtifactPath (package:flutter_tools/src/artifacts.dart:324:16)
           #3      CachedArtifacts.getArtifactPath (package:flutter_tools/src/artifacts.dart:268:16)
           #4      UnpackIOS.build (package:flutter_tools/src/build_system/targets/ios.dart:280:51)
           #5      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:796:27)
           <asynchronous suspension>
           #6      Future.wait.<anonymous closure> (dart:async/future.dart)
           <asynchronous suspension>
           #7      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:734:32)
           <asynchronous suspension>
           #8      Future.wait.<anonymous closure> (dart:async/future.dart)
           <asynchronous suspension>
           #9      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:734:32)
           <asynchronous suspension>
           #10     FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:563:16)
           <asynchronous suspension>
           #11     AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:220:32)
           <asynchronous suspension>
           #12     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1157:12)
           <asynchronous suspension>
           #13     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1009:27)
           <asynchronous suspension>
           #14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #15     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #16     CommandRunner.runCommand (package:args/command_runner.dart:197:13)
           <asynchronous suspension>
           #17     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:278:9)
           <asynchronous suspension>
           #18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #19     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #20     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:234:5)
           <asynchronous suspension>
           #21     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)
           <asynchronous suspension>
           #22     run.<anonymous closure> (package:flutter_tools/runner.dart:62:12)
           <asynchronous suspension>
           #23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #24     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #25     runInContext (package:flutter_tools/src/context_runner.dart:73:10)
           <asynchronous suspension>
           #26     main (package:flutter_tools/executable.dart:90:3)
           <asynchronous suspension>

[  +20 ms] "flutter assemble" took 41,834ms.
[   +5 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:237:7)
           <asynchronous suspension>
           #2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1157:12)
           <asynchronous suspension>
           #3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1009:27)
           <asynchronous suspension>
           #4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #5      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #6      CommandRunner.runCommand (package:args/command_runner.dart:197:13)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:278:9)
           <asynchronous suspension>
           #8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #9      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:234:5)
           <asynchronous suspension>
           #11     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)
           <asynchronous suspension>
           #12     run.<anonymous closure> (package:flutter_tools/runner.dart:62:12)
           <asynchronous suspension>
           #13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #14     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
           <asynchronous suspension>
           #15     runInContext (package:flutter_tools/src/context_runner.dart:73:10)
           <asynchronous suspension>
           #16     main (package:flutter_tools/executable.dart:90:3)
           <asynchronous suspension>

flutter doctor

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on Mac OS X 10.15.5 19F101 darwin-x64, locale zh-Hans-CN)
    • Flutter version 2.0.6 at /Users/xxx/Documents/development_stable/flutter
    • Framework revision 1d9032c7e1 (7 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/xx/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/xx/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (2 available)
    • IPhone (mobile) • 00008030-001D350C2E80802E • ios            • iOS 14.2
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

Hi @IronMan-I
Can you please upgrade to the latest  stable and try again
Execute the following commands to upgrade
flutter channel stable
flutter upgrade --force
flutter doctor -v
If the problem persists, can you please provide your flutter doctor -v with the upgrade, complete reproducible minimal code sample, and complete flutter run --verbose logs running the minimal code sample?
Thank you

Duplicate of https://github.com/flutter/flutter/issues/68475.


[Help] Show content dynamically for the selected

Report
When I select (say customer) using Dropdown I would want to show users all the properties (of the customer) on a side table or division. Essentially, displaying the selected customer's fields on the same page for the users to verify/read.
Any help is greatly appreciated from the experts.

Hello @srigurubyo
One way I see that beeing done is by using an event listener on the select, having the table already in the page with some placeholders with id of the fields, when the listener fires (user selected a customer) you query another ajax endpoint, grab that customer information and display it in the table.
You can also use another event to clear the table if the user clear the selection.
This might be an interesting addon for backpack, a select_with_info field type. If you come up with something that can be shared please let us know.
Best,
Pedro

Thanks @pxpm for your inputs. Let me try to implement this custom field and shall you keep you posted.

@tabacitu I would like to move this to the addons repo, but I am unable to select it. There is no addons repo to select in list nor searching finds nothing. Could you move it please ? I like the concept of some field like this.
Best,

Oups! Looks like I forgot to give the Veterans team the permission to manage the add-ons repo. Fixed and moved!


README: Fix type argument order

Just a minor bug in the README example that the compiler complained about when making this into a demo for the RIOT examples.

Nice, thanks! Let me know if you want an updated crates.io release so the docs get updated as well.


pin to newer versions of openmmtools

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

We can support the newest version of openmmtools and there is no reason to not require people to use a newer version.


pbccs: draft vs. final consensus sequence

Package name
pbccs 4.2.0
Hi. I have a question about --by-strand pbccs. If all the forward reads are collapsed into a draft forward strand consensus sequence, how is the draft forward consensus sequence polished to create the final forward consensus sequence? Does polishing only require the base information from the single draft forward consensus sequence?
Thank you!

After collapsing reads by strand to a draft, identical reads are used per strand to further improve the draft in the polish step.


Recipes is not redirecting to the repipe docs in README.md

Actual behavior
while reading to the README.md at the Recipes section it docent redirect to the  Recipes  docs .
To Reproduce
apply redirect on the Recipes at README.md
Expected behavior
It should redirect to the Recipes docs
Screenshot

Additional context
if the issue is valid then I would like to work on this

I think the pr is merged @rannn505 ?


gitconfig alias causes hub to consume all system memory, then crash

I have the following alias in my gitconfig
[alias]
    list-remote-branches = "!f() { git for-each-ref --format=\":%(refname:strip=3)\" \"refs/remotes/$1/**\" | grep -v :maste222r; }; f"

If it is there, then running hub log will sit there consuming more and more memory until it eventually crashes. When I delete this alias, hub log works fine.
Unsure why this alias matters at all, given hub shouldn't be trying to use it...

You likely have git 2.20+.Please upgrade to the latest version of hub (2.6.1).

Huh, I've just noticed my Arch Linux package for hub is indeed out of date. Bumping the version results in a much better behaved hub binary indeed. Sorry for the bother.
(Also, the relevant #1964 claims that it simply hangs, but I was definitely getting runaway memory spikes.)


NodeJs agent fails to instantiate in AWS Lambda in runtime Node v12.x

Earlier today I attempted to run a StackImpact agent in an AWS Lambda environment, using the NodeJS 12.x runtime. AWS Lambda currently uses NodeJS 12.16.3, specifically (Running on linux-x64). My call to "agent.start(params)" failed, with the following error message: "Finding/loading of native addon failed."
After this, I updated my local version of NodeJS to the same node version (12.16.3), and was able to reproduce the issue on a windows machine.
It appears that the Agent is failing to resolve an addon because the file abi-map.json does not contain a mapping from NodeJS v12.16.3 to the proper precompiled addon version. The file contains v12.16.0 and v12.16.1, but is missing subsequent minor versions of Node 12.
Modifying this file and adding v12.16.3 resolves the problem.

I'm seeing fallback as well. Can't install in aws-lambda(node 12) project
node --version v12.18.1
"yarn add stackimpact
yarn add v1.22.4
[1/4] Resolving packages...
warning stackimpact > node-gyp ><EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@jobtarget/sdk ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>[4/4] Building fresh packages...
[-/5] ⠐ waiting...
[5/5] ⠐ serverless
[-/5] ⠐ waiting...
[4/5] ⠐ stackimpact
error /home/jamaica/projects/distribution/node_modules/stackimpact: Command failed.
Exit code: 1
Command: node node-gyp-fallback.js
Arguments:
Directory: /home/jamaica/projects/distribution/node_modules/stackimpact
Output:
"


Stale props for slot when column sorted

Hi,
I've been playing with slots recently. They are great. However, I just noticed something that I believe is a bug.
I'm actually wrapping vue-table, but the gist of the code is as follows (the slot definition is from my code):
<vue-table def ...>
    <template slot="tenancy-action" slot-scope="props">
        <renewal-action :site-data="props.rowData" />
    </template>
</vue-table>

Under normal circumstances the data in props gets based correctly to the <renewal-action> component. However, when I sort any column, the renewal component holds the original row data, not the sorted data as per the column.
Or is this a Vue component lifecycle creation issue?

@adavie1 I honestly don't know. But if you could create a sample project demonstrating this issue in jsfiddle, codepen, or codesandbox, I'll be more than willing to have a look.

Working on the jsfiddle. In the meantime, what I get is this:

The data in the renewal-action component is current relative to the data, however, when I open it, I get this:

The site name should be Jalan Orkid Utama yet it shows Austin Perdana, which is the initial table view.
What I find confusing, is that the renewal-action button is correct, whereas the dialog is not. The same data the provides the info for the button, drives the dialog as well.

Although I've not yet figured out how to use a component in jsfiddle, here's the work in progress one.
Not sure if this is the correct approach, but I've got a workaround using watch:
...
  watch: {
    siteData: function (newValue) {
      console.log('siteData changed: ', newValue)
      this.site = newValue
      this.init()
    }
  },
...

The init method is also called in create().

@ratiw Thanks for the feedback. The sort-field is part of my wrapped data-table component. I should have taken it out of the jsfiddle.
The difference between siteData and site is that siteData is the prop, and site is local mutable version. As mentioned this component is passed the slot props.rowData as siteData.
site is initalised in the data() function, as site: this.siteData.
The new coding style is that all site level data will be passed as a siteData prop, there is a lot of code refactoring going on. Sorry for confusion there!


kati: 2017-05-23 -> 2019-09-23

Motivation for this change
Update to the most recent commit. Upstream doesn't seem to do releases. I'll adopt this package as well.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build kati


realpath: command not found

hi, dream2nix beginner here. i am trying to build a python application with pip dependencies, on macOS 10.14.

flake.nix
{
  inputs = {
    dream2nix.url = "github:nix-community/dream2nix";
    nixpkgs.follows = "dream2nix/nixpkgs";
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs = { self, dream2nix, nixpkgs, flake-utils, ... }:
    {
      overlays.default = final: prev: {
        musiclib5 = final.callPackage ./default.nix {};
      };
    } //
    (flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [self.overlays.default];
        };
      in {
        packages.default = dream2nix.lib.evalModules {
          packageSets.nixpkgs = dream2nix.inputs.nixpkgs.legacyPackages.${system};
          modules = [
            ./default.nix
            {
              paths.projectRoot = ./.;
              # can be changed to ".git" or "flake.nix" to get rid of .project-root
              paths.projectRootFile = "flake.nix";
              paths.package = ./.;
            }
          ];
        };
      }
    ));
}

default.nix
{ config, dream2nix, lib, ... }:
{
  imports = [
    dream2nix.modules.dream2nix.pip
  ];

  name = "musiclib5";
  version = "0.1";

  deps = { nixpkgs, ... }: {
    python = nixpkgs.python312;
  };

  buildPythonPackage = {
    pythonImportsCheck = [
      config.name
    ];
  };

  pip = {
    pypiSnapshotDate = "2024-04-14";
    requirementsList = [
      "${config.name}==${config.version}"
    ];
  };
}

if i understand correctly, i need to generate a lockfile with nix run .#default.lock. but this fails with:
/nix/store/133dx9z930qzx06gd38vwx4s0grba2gz-refresh/bin/refresh: line 6: realpath: command not found

it seems realpath was added to macOS 13, but is not in older versions. i imagine it is available in coreutils — is it possible to make the lockfile creation depend on that?

Yes for sure. Making it depend on coreutils sounds like the right fix.


谁能告诉我怎么去解决它谢谢Findblocks disabled, new blocks will currently not show up in the frontend

We are investigating issues in the backend. Your shares and hashrate are safe and we will fix things ASAP.
Findblocks disabled, new blocks will currently not show up in the frontend
Who can tell me how to solve it
Web page fault
[information redacted]

Please do not share personal information on Github. This is a bug tracker and not a help forum. If you need assistance find support in a forum of your choice.
You may just want to force run the cron (findblocks.php) but this could be caused by a hard fork in your blockchain. This is much more difficult to fix.


Fix responsive Datawrapper chart height hook

Store height in state to trigger React update when message
arrives. Otherwise the chart is only resized next time the component
is rendered.

Ensure event handler is removed correctly. Previously it was added
to window and removed from document. Change test to assert that
messages are no longer processed instead of mocking the (wrong)
implementation detail.

Wrap postMessage calls in act calls to correctly trigger React
updates in specs. Since post message events are handled
asynchronously, we need to call tick inside act to make sure
React is still awaiting state updates while the message is being
processed. This relies on the fact that JSDOM implements
postMessage by scheduling the event handler for immediate
execution when the message is sent. tick therefore yields control
to the event handler, making sure the state update is wrapped in
act.

REDMINE-17670

Coverage remained the same at 99.193% when pulling dd8617864a2e5aecaf7c0ffafc88b2eeb9270dc1 on tf:dw-height into 92a040e30cd30c677eda509610ae059d13867bea on codevise:master.


[7.x] Add HasCasterClass interface

This PR adds an interface which allows castable types to specify their caster class. This approach has two advantages:

Packages can provide caster classes with less configuration required from the user
The casting configuration on models can now tell what class a property will be casted to, instead of what caster will be used.

As an example:
// Instead of this
class ModelX extends Model
{
    protected $casts = [
        'data' => CastToDTO::class . ':' . MyDTO::class,
    ];
}

// You could do this
class ModelY extends Model
{
    protected $casts = [
        'data' => MyDTO::class,
    ];
}

The underlying MyDTO class would look like this:
class MyDTO implements HasCasterClass
{
    public static function getCasterClass()
    {
        return CastToDTO::class . ':' . static::class;
    }
}

As you can tell from the example, my use case is with our DTO package. I would prefer our users to specify what type of DTO they want to cast to, instead of having to manually specify CastToDTO::class . ':' . MyDTO::class for each cast. The getCasterClass would be done in our abstract DataTransferObject implementation, and the user wouldn't have to worry about it.

I love this! But for https://github.com/spatie/laravel-enum we would need to be able to pass additional information too.
MyEnum::class.':nullable'
EnumCaster::class.':'.MyEnum::class.',nullable'

So the interface method should accept additional arguments.

@Gummibeer you'll return whatever string you like from getCasterClass, so that wouldn't be a problem I believe.
I might send a new PR after this one, which would allow to pass pre-configured instances of casters, instead of their class names. But that's after this.

Hmm, thinking about it, that might not be a solution for your problem…

I can return it - but it should also be possible to pass them in. So the method should accept all additional arguments, like the caster constructor.
I think that an array or the spread operator should be sufficient for this case!?

Gotcha. I will make sure $arguments are passed too, but I'll await Taylors feedback first, if he asks for additional changes, I can tackle them at once.

Yeah I think the additional arguments would definitely be needed in cases. Other than that I don't see any major issues.

I'll make these changes next week, I'm a little swamped right now with client work :)

I found some spare time. Attributes that are given to a HasCasterClass object are automatically passed to the underlying caster class.

I think we should have an ability to work with custom attributes in better way.
Class instances suits much better here:

Array from casts method can be merged with array from $casts property. So, we can use can choose from 2 options or use both.
What do you think?

@slavarazum I think it's a good feature, but outside the scope of this PR. I plan on looking it this after this feature is merged

@taylorotwell could you take a look at my final changes? Any more remarks?

Renamed HasCasterClass to Castable and getCasterClass to castUsing.

May want to PR the docs for this.

Docs PR: https://github.com/laravel/docs/pull/5934


fix: 🐛 TTL fix, attestation validation added

Fixes for https://smarttokenlabs.atlassian.net/browse/PR-291
not ready to merge, maybe we can add additional fixes

@oleggrib is this still work in progress, or is ready for review after resolution of conflicts?

PR can be removed , because all updates added by other commits

Thanks for the update @oleggrib ! I am closing this PR per your request.


test_load_with_hf_datasets_from_hub fails

For now, this PR just removes the slow marker for test_load_with_hf_datasets and test_load_with_hf_datasets_from_hub to test at github CI.
result:
FAILED tests/data/test_dataset.py::test_load_with_hf_datasets_from_hub

This seems to be a problem with the dataset caching, right? I believe HF recently fixed the CoNLL03 dataset as it had an additional newline at the end, resulting in one example more than it's supposed to be.

I'm confused, there's clearly a commit (LINK) and the dataset info states 14041 examples in train but I can't even get this version locally. I deleted the whole cache but still get the version with 14042 examples.

But do we really want to download the dataset from the HF hub every time we run CI?

This is already part of #208


Improvement of Design for Landing page

The landing page requires a lot of Design imrovement. @The-MindSpace please assign me this issue under swoc.

please assign to me #gssoc24

Hello everyone,
I'm excited about the opportunity to contribute to the project by improving the design of the landing page (#91). A well-designed landing page is essential for making a strong first impression and effectively communicating the project's value proposition to visitors.
I believe there are several areas where we can focus on enhancing the design, such as optimizing the layout for better visual hierarchy, refining the color scheme for improved readability and aesthetics, and incorporating engaging visual elements to capture users' attention.
I'm keen to collaborate on this task and explore ways to elevate the design of the landing page to make it more appealing and user-friendly. Please consider assigning me this issue, and I'll gladly contribute my efforts to achieve a polished and impactful landing page.
Looking forward to working together on this exciting project!
Kindly assign this issue to me.
Best regards,
Nidha Ahmed Mohammad.


[Feliz.Lit] Set Properties

(this may be better in Feliz.Engine, feel free to move it there if necessary)
Currently with the Feliz flavor you can only set attributes via Attr.custom("my-attribute", "it's value") but unless I'm lost (very likely) there are not ways to set properties of an element with the template strings flavor you can do
let myValue = "some value"
let myObj = {| value = 10 |}

<some-element my-attribute={myValue} .myProperty={myObj}></some-element>

it would be ideal to have this on the Feliz flavor as well

It's probably better to fix it here, as Feliz.Engine just deals with "raw" html. I've added Lit.Feliz.prop so you can do:
Feliz.prop "myProperty" {| value = 10 |}

which in JS/lit-html will become something like:
html`<some-element .myProperty=${ ({ value: 10 }) }></some-element>`


Keep tweaking asset uploading code

Sadly we keep struggling with asset upload timeouts on GitHub (hey @deitch do you know anyone on GH side personally who can help?)
At this point I'm down to really wacky ideas -- like this one (which is re-arranging content in the decreasing order of size hoping that if we get time out it'll be at least "fail early" type of a situation).
Short of that (or @deitch helping us find the right person on GH side) I think the next step may actually be rewriting upload action JavaScript code (which I REALLY would like to avoid) :-(

What are we doing when getting timeouts? Uploading actual kernel and rootfs and what-not to the release assets?

What are we doing when getting timeouts? Uploading actual kernel and rootfs and what-not to the release assets?


add a cache for versioned lookups

for example:
local semver = true
local cache = version.new_cache({
  ["1.0"] = "a_value",
  ["1.4"] = "another",
  ["2.1"] = "more",       -- those values could be anything, tables with plugin-apis for example :)
}, semver)

print(cache("1.2.3"))    --> "another"

There is an example of a versioned cache in the ncache.lua repo: https://github.com/Tieske/ncache.lua/blob/master/examples/vcache.lua


Hide menu icons on Mac OS X

Fixes #2289. The setting works, but I'm not sure if it's in the right place. Strangely, running_in_mac_app() returns False on my machine.

Thanks a lot for this :-) I've been thinking on doing this fix for a long time but never found the time to understand how to do it ;-)

Thanks, I was wondering what this function actually does :-). Works for me now.

Great! Merging then :-)

@ccordoba12 , I am not seeing the icons in Linux either... so....

I don't see any problem here. Besides, that's not possible. The code added by @cle1109 is quite clear: it's only meant to work on Mac.
Maybe it's an issue with your work on qtawesome.

@ccordoba12, what's the content of sys.platform for you before the if clause on line 2782? I can test it on my Linux machine tomorrow.

Looks like something turned off menu icons on Linux too. Here on my Arch Linux, even the latest stable version 2.3.3 doesn't have any icons in the menus. I wonder why I saw icons on a Mac then but not on Linux. I will investigate further, but I cannot debug the current HEAD version because debugging in PyCharm always exits with status 139...

@cle1109, I merged your PR against master, so these changes don't affect the 2.3 branch.
I don't know what's happening in that case.

I see the icons on Linux. Maybe some themes disable them ?


cnpy.cpp: fix memory leak in parsing shape field

The shape array created at cnpy.cpp:80 was never delete-ed. Add a
delete[] call at cnpy.cpp:136 to address this. A better solution may be
to pass a std::vector<> reference to parse_npy_header().

Hey Rich, thanks for spotting this and letting me know! I'll update memory management soon (somone else submitted a PR a while ago for this that I should merge).


look for jars in local liquibase_libs

Environment
CLI executable files for Windows, MacOS and Linux
Liquibase Version: 4.4.1
Liquibase Integration & Version: CLI
Liquibase Extension(s) & Version: N/A
Database Vendor & Version: N/A
Operating System Type & Version: MacOS, Linux, and Windows
Pull Request Type

[ ] Bug fix (non-breaking change which fixes an issue.)
[x] Enhancement/New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
When running liquibase in the cli, the executables generate a classpath with jars from LIQUIBASE_HOME and LIQUIBASE_HOME/lib. This PR loads an additional directory of liquibase_libs in the current working directory to the classpath. This would allow for individual projects to have separate extensions, drivers, and versions specific to that project (similar to how npm handles this with the node_modules directory).
Steps To Reproduce

Create a new directory and add a simple change log file:

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
         http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.3.xsd">
    <changeSet id="1" author="Liquibase">
        <createTable tableName="test_table">
            <column name="test_id" type="int">
                <constraints primaryKey="true"/>
            </column>
            <column name="test_column" type="varchar"/>
        </createTable>
    </changeSet>
</databaseChangeLog>

Add driver: org.postgresql.Driver to your liquibase.properties file.
Run mkdir liquibase_libs
Run cd liquibase_libs && curl https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.23/postgresql-42.2.23.jar -L -O -J
Run liquibase update --changeLogFile=changelog.xml

Actual Behavior

Expect Unexpected error running Liquibase: java.lang.RuntimeException: Cannot find database driver: org.postgresql.Driver

Expected/Desired Behavior

Expect success update with driver found in liquibase_libs directory.

Fast Track PR Acceptance Checklist:

<
!--- If you're unsure about any of these, just ask us in a comment. We're here to help|width=200,height=183!
-->

[ ] Build is successful and all new and existing tests pass
[ ] Added Unit Test(s)
[ ] Added Integration Test(s)
[ ] Added Test Harness Test(s)
[ ] Documentation Updated

Need Help?
Come chat with us on our discord channel
Test Requirements (Internal Liquibase QA)
Manual Tests
Verify Liquibase finds the database driver when the driver is in the /lib directory when driver is not specified in the classpath.
Verify Liquibase finds the database driver specified on the classpath when the driver is in the /lib directory.

With LIQUIBASE_HOME environment variable configured
Without LIQUIBASE_HOME environment variable configured

Verify Liquibase finds the database driver specified on the classpath when the driver is in the /liquibase-libs directory.

With LIQUIBASE_HOME environment variable configured
Without LIQUIBASE_HOME environment variable configured.

Automated Tests
No new automated functional tests are required for this change.
┆Issue is synchronized with this Jira Bug by Unito

The change is good. I'm not sure on the name yet. Options I can think of are:

liquibase_libs
liquibase_lib
liquibase-libs
liquibase-lib

The plural-ness of "libs" is good since there can be multiple jars in there, but we already have LIQUIBASE_HOME/lib singular so I lean to keeping those the same for consistency.
I have less of a thought on hyphen vs. underscore. We've been standardizing on hyphen for command and argument names but that is maybe different than directories?
Thoughts, people?

I originally chose liquibase_libs because of node_modules, for both underscore and plural conventions.

An alternate name that doesn't follow the libs convention would be liquibase-cache. This is another convention I've seen, but I don't think that it aligns with our usage as well as libs.

Yeah, it does match node_modules but I'd be more worried about consistency within Liquibase than with other tools.

The audience of this PR are those developer more familiar with other tools than they are with liquibase and/or java configurations.

I don't think we should assume liquibase users are more familiar with node than liquibase?

Wasn't suggesting that. Was suggesting that isn't not a bad thing to align with other tools that developers are familiar with. For developers that are familiar with configuring liquibase via LIQUIBASE_HOME/lib, this PR will not mean much to them. For the developers that are not familiar with that, there are other tools that we can align with they they might be familiar with. Ideally this should be an alternate path to configuration and not a replacement to anything.
I don't think there is a right/wrong answer here. There was some thought put into why the PR directory is named the way it is, that's all I wanted to clarify. Just let me know what you prefer and I'll update the PR.

This PR looks good and based on @mcred comment I suggest going with plural.

I understand the rationale with examples from some other tools being plural. But, we want Liquibase users to know about LIQUIBASE_HOME/lib and use that along with liquibase_lib and so I think the consistency between those is more important than matching one to some other tools.
I pushed the change to your repo and to the local branch copy.

I pushed the current version of master to your fork to fix the build issue.


Fix import in docs example

minor change

Description

Visual changes

Functional changes

[ ] Code style has been fixed by running the composer cs command.
[x] Changes have been tested to not break existing functionality.
[x] Documentation is up-to-date.

Thanks!


[WIP] [BlockSparseArrays] Redesign nested views

To-do:

[ ] Fix tests marked as @test_broken.

Currently, when taking views of views of BlockSparseArrays, the result is sometimes nested views:
julia> using BlockArrays: Block

julia> using NDTensors.BlockSparseArrays: BlockSparseArray

julia> a = BlockSparseArray{Float64}([2, 3], [2, 3])
typeof(axes) = Tuple{BlockArrays.BlockedOneTo{Int64, Vector{Int64}}, BlockArrays.BlockedOneTo{Int64, Vector{Int64}}}

Warning: To temporarily circumvent a bug in printing BlockSparseArrays with mixtures of dual and non-dual axes, the types of the dual axes printed below might not be accurate. The types printed above this message are the correct ones.

2×2-blocked 5×5 BlockSparseArray{Float64, 2, Matrix{Float64}, NDTensors.SparseArrayDOKs.SparseArrayDOK{Matrix{Float64}, 2, NDTensors.BlockSparseArrays.BlockZero{Tuple{BlockArrays.BlockedOneTo{Int64, Vector{Int64}}, BlockArrays.BlockedOneTo{Int64, Vector{Int64}}}}}, Tuple{BlockArrays.BlockedOneTo{Int64, Vector{Int64}}, BlockArrays.BlockedOneTo{Int64, Vector{Int64}}}}:
 0.0  0.0  │  0.0  0.0  0.0
 0.0  0.0  │  0.0  0.0  0.0
 ──────────┼───────────────
 0.0  0.0  │  0.0  0.0  0.0
 0.0  0.0  │  0.0  0.0  0.0
 0.0  0.0  │  0.0  0.0  0.0

julia> @views a[[Block(2), Block(1)], [Block(2), Block(1)]][Block(1, 1)]
3×3 view(view(::BlockSparseArray{Float64, 2, Matrix{Float64}, NDTensors.SparseArrayDOKs.SparseArrayDOK{Matrix{Float64}, 2, NDTensors.BlockSparseArrays.BlockZero{Tuple{BlockArrays.BlockedOneTo{Int64, Vector{Int64}}, BlockArrays.BlockedOneTo{Int64, Vector{Int64}}}}}, Tuple{BlockArrays.BlockedOneTo{Int64, Vector{Int64}}, BlockArrays.BlockedOneTo{Int64, Vector{Int64}}}}, [3, 4, 5, 1, 2], [3, 4, 5, 1, 2]), BlockSlice(Block(1),1:3), BlockSlice(Block(1),1:3)) with eltype Float64:
 0.0  0.0  0.0
 0.0  0.0  0.0
 0.0  0.0  0.0

These nested views can become challenging to deal with. The goal of this PR will be to flatten them down to a single view.
The goal is basically to make use of more of the generic view logic in Base Julia (i.e. in https://github.com/JuliaLang/julia/blob/master/base/subarray.jl), which flattens views using a function reindex. The primary customization point for how reindex behaves is by overloading the to_indices function. BlockArrays.jl has a lot of useful to_indices definitions for Block and other related types in https://github.com/JuliaArrays/BlockArrays.jl/blob/master/src/views.jl, but some are missing for operations we want, so the goal here is to write a minimal number of to_indices overloads to complement the ones already in Base or BlockArrays.
This is a follow-up to #1503 but will provide a more systematic fix to those kinds of issues. Additionally, the goal is to fix a few of slicing bugs listed in #1336, and also those marked as broken in the BlockSparseArrays tests: https://github.com/ITensor/ITensors.jl/blob/v0.6.14/NDTensors/src/lib/BlockSparseArrays/test/test_basics.jl.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.78%. Comparing base (d3afdb7) to head (078105c).

:exclamation: Current head 078105c differs from pull request most recent head 4873cab
Please upload reports for the commit 4873cab to get more accurate results.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

:exclamation:  There is a different number of reports uploaded between BASE (d3afdb7) and HEAD (078105c). Click for more details.
HEAD has 3 uploads less than BASE
| Flag | BASE (d3afdb7) | HEAD (078105c) |
|------|------|------|
||4|1|

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1504       +/-   ##
===========================================
- Coverage   78.06%   60.78%   -17.29%
===========================================
  Files         148      148
  Lines        9655     9646        -9
===========================================
- Hits         7537     5863     -1674
- Misses       2118     3783     +1665

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Test notebooks run as part of CI checks

Is your feature request related to a problem? Please describe.
Not a problem, rather something that would be nice to eventually have.
Currently we have tutorial notebooks and a quickstart notebook in the tutorials directory that we do not test as we make changes to the library.
Describe the solution you'd like
Ideally, we would have a part of the CI checks for each PR that runs all Jupyter notebooks and only allows merging if the notebooks run without error.
Describe alternatives you've considered
Worst case scenario, we can just add something to the PR checklist ensuring that notebooks still run, but that's not as nice I think.
Any additional information?
I think this might be possible by having the test first export the notebook as a python file programmatically, then have the test run the Python file in its entirety. We don't really care about output, just that we finish without error.

Looks like a tool to enable this has been created: nbmake 🎉
https://github.com/treebeardtech/nbmake


A data race reading/writing t.si.HaveTorrent

A data race reading/writing t.si.HaveTorrent
Noticed while testing the debian magnet link in issue #63
WARNING: DATA RACE
Write by goroutine 10:
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).load()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:283 +0x147b
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).reload()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:201 +0x356
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).DoMetadata()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:1206 +0xe08
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).DoExtension()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:1129 +0xa1b
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).extensionMessage()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:910 +0xf5
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).DoMessage()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:903 +0x138
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).DoTorrent()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:602 +0x1f66
github.com/jackpal/Taipei-Torrent/torrent.func·004()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrentLoop.go:56 +0x3d
Previous read by goroutine 44:
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).connectToPeer()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:340 +0x65
Goroutine 10 (running) created at:
github.com/jackpal/Taipei-Torrent/torrent.RunTorrents()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrentLoop.go:58 +0x69d
main.main()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/main.go:114 +0x9ca
Goroutine 44 (finished) created at:
github.com/jackpal/Taipei-Torrent/torrent.(*TorrentSession).DoTorrent()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrent.go:563 +0x1363
github.com/jackpal/Taipei-Torrent/torrent.func·004()
/Users/jackpal/code/gocode/src/github.com/jackpal/Taipei-Torrent/torrent/torrentLoop.go:56 +0x3d

Closing this issue since this race should no longer be possible with commit 0739a68:
The reason for this data race is that in the case of a magnet link torrent, the TorrentSession will start running (and thus connecting peers) before we've had a chance to load the metadata (because we don't have any until peers give it to us). Since peer connections are done in goroutines, TorrentSession.load()'s write t.si.HaveTorrent can race with a TorrentSession.connectToPeer()'s read of t.si.HaveTorrent. Commit 0739a68 removes the read on t.si.HaveTorrent from the peer connection goroutine, since it's actually unnecessary (the check it's doing is already being done before the goroutine is created).


Wrong documentation on ZINB sampling

Dear scVI team,
First I'd like to thank you for the great work you have done and the amazing responsiveness on git!
I realized there might be a small mistake in the documentation about the scVI ZINB sampling procedure.
Indeed, in the scvi.core.distributions.ZeroInflatedNegativeBinomial documentation, it is written that when using the theta, mu parameterization, you do the following
$$ w \sim Gamma(\theta, \theta/\mu)$$
$$ x \sim Poisson(w)$$
where $\theta$ is the inverse dispersion and $\mu$ the mean.
However, in the supplementary material of the scVI paper, in Supplementary Note 4, you write you sample from
$$ w \sim Gamma(r, \frac{p}{1-p})$$
where $(p, r) = (\frac{\mu}{\theta + \mu}, \theta)$.
This means you sample from
$$Gamma(\theta, \frac{\frac{\mu}{\theta + \mu}}{1 - \frac{\mu}{\theta + \mu}}) = Gamma(\theta, \frac{\frac{\mu}{\theta + \mu}}{\frac{\theta}{\theta + \mu}}) = Gamma(\theta, \mu / \theta) $$
I found this to be more reasonable also empirically, as I was sampling from a ZINB using this procedure to simulate some data, and the total counts in the cell were off by a factor 10-100 when using the parameterization described in the docs, but the sampling seemed to work fine using $Gamma(\theta, \mu / \theta)$.
In addition, it might help to be clearer in the docs as to what exactly the return of some functions are. In my specific case, I was quite confused as to what scvi.model.SCVI.get_likelihood_parameters returned, especially considering the dictionary returned has keys named mean, dispersion, and dropout, when the parameters returned are mean, inverse dispersion and logit dropout. This is obviously detail but can be quite cumbersome when one has only a superficial understanding of the generative procedure behind the model.
I hope this helps! Thanks again for the great work.

In the scvi paper supp. note 4 ("Negative binomial parametrization"), we have:

There are two possible parameterizations for the Gamma distribution (see here). We use the alpha/beta parametrization in scvi-tools, where the first parameter (alpha) is the shape and the second (beta) is the rate (which is the inverse of the scale). To conform to the scvi paper supp. note 4, this means we sample from Gamma(theta, (1-p)/p) which simplifies down to to Gamma(theta, theta/mu) which is what we have in the scvi code and in the scvi documentation.
Does that make sense? I think the trick here is the rate vs scale difference (one is the inverse of the other).

Thanks for the quick response! You are right, my bad! I am used to the shape/scale parameterization and missed the little arrow with "rate" in the scvi-tools documentation.


What is the background color of the charging station marker?

I'll take recommendations.

I think gray would be good!


Migration to v3 and the module.exports

Hi! So I'm trying to move to the v3 branch and I'm seeing that many of the previously existing interfaces are dropped:
v2:
Terminal.EventEmitter = EventEmitter_1.EventEmitter;
Terminal.inherits = inherits;
Terminal.on = on;
Terminal.off = off;
Terminal.cancel = cancel;

vs.
v3:
var Terminal_1 = require("./Terminal");
module.exports = Terminal_1.Terminal;

Apart from inherits being dropped, what's the guidance here. How do I tap into the EventEmitter and the helper on/off/cancel directly? Why the change?

You were never meant to use on/off/cancel on Terminal. You can access on and off on each individual Terminal object:
var t = new Terminal();
t.on(''scroll', () => {});

https://xtermjs.org/docs/api/terminal/#onevent-callback
If this is not sufficient, please elaborate what the use case is 😃

Yes, digesting this a bit, I guess I was (ab)using the EventEmitter for the wrong purposes and the other interface changes looks good. So I'm good - closing and Thanks! :bowtie:


[DDW-1069] Check cardano-node logs path

This PR makes sure Daedalus log packing includes cardano-node log.
Todos

[x] Move cardano-node.log into pub directory
[ ] Update ALLOWED_NODE_LOGS regex
[ ] Enable cardano-node logs file rotation

Testing Checklist

Slack QA thread
[ ] Test

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

This PR is superseded by: https://github.com/input-output-hk/daedalus/pull/1678


Support real='coord'

Currently the real kwarg is boolean, and takes a real FFT along the last dimension. This means that the user needs to transpose the data to an appropriate shape.
I propose that xrft support the following syntax:
xrft.xrft.dft(da, dim=['time', 'longitude'], real='time')

Thanks for pointing that out @dcherian. As of now, the real kwargs implements the numpy.rfftn function in paralyzation which only takes the real FFT along the last dimension: https://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.rfftn.html#numpy.fft.rfftn

I should've been clearer.
xrft.xrft.dft(da, dim=['time', 'longitude'], real='time') should be equivalent to
xrft.xrft.dft(da.transpose(['longitude', 'time']), dim=['time', 'longitude'], real=True)
i.e. xrft does the appropriate transpose based on the real kwarg.

That makes sense for two dimensional arrays but for higher dimensional arrays, I'm not sure if the transposing should be made automatically...
We could either implement a warning when the real kwarg is used or automate the transposition.

@dcherian, we really appreciate your feedback on this. There are not many people working on xrft...just me and @roxyboy (and I don't have much time for it these days).
We would be very happy to get a PR from you that addresses your issue. 😄

Actually, @TomNicholas is the one who added the real option in #54, so maybe he would be a good person to address this.

I propose that xrft support the following syntax:
xrft.xrft.dft(da, dim=['time', 'longitude'], real='time')

I think that API would be better than what I went for! Is there any performance/consistency reason why we shouldn't just transpose then apply np.fft.rfftn? If we're happy to transpose then this seems like a simple improvement to me?

There are not many people working on xrft...just me and roxyboy (and I don't have much time for it these days).

At the risk of totally derailing the discussion.... Fourier transforms (and the xhistogram module I saw you started @rabernat) are so clearly generally-useful that I think we should push for these kind of tools to be packaged more centrally for the convenience of xarray's userbase. Not as part of xarray itself but more like the new scipy to xarray's numpy. Otherwise we're just going to end up with lots of xarray users reinventing the wheel over and over (which I think is already happening).

Is there any performance/consistency reason why we shouldn't just transpose then apply np.fft.rfftn? If we're happy to transpose then this seems like a simple improvement to me?

If a user wants this feature, it's the only way to get it AFAIK without re-implementing rfftn. So yeah should be simple; transport; call rfftn; transpose back.

Ok, sounds good. Thanks for the feedback @TomNicholas and @dcherian. Would either of you be willing to submit a PR on this??

Not as part of xarray itself but more like the new scipy to xarray's numpy. Otherwise we're just going to end up with lots of xarray users reinventing the wheel over and over (which I think is already happening).

Agree. We have discussed this several times on xarray, e.g. here https://github.com/pydata/xarray/issues/1850
The main place for duplication seems to be https://github.com/fujiisoup/xr-scipy. They have discussed merging here:  https://github.com/fujiisoup/xr-scipy/issues/4
There is also https://github.com/crusaderky/xarray_extras,  https://github.com/smartass101/xarray-dsp, etc.
The main problem seems to be that we barely have enough xarray devs to maintain xarray itself. The effort required to merge these different packages is high.

Gave it a stab on PR #66. Would be great if I can have some feedback :)

Thanks for your hard work, @roxyboy


Is Mutual TLS authentication supported?

Both quic and http3 examples given by quic-go use  one-way tls auth, is mutual tls auth also supported?

What do you mean by mutual auth? You can use client certificates, please refer to the documentation of crypto/tls for the details.

Ah, was just wondering if I could use client certificates. Thx:)


Generalization

Implements #85

Can you quickly resolve the merge conflict please?

Otherwise, I'm happy with this, I just tested the merging of categorical series with colors and it worked.

Great! I will merge it one the checks pass.


chore: use node v18.19

Switching the project to the latest version of Node.js v18, which is v18.19 at this moment. I'm not a fan of setting v18 to rely on the automatic version updates because that can let false positives slip through. It's good to be aware of bugs in Node.js.

Released: v0.28.0 🎉
This has been released in v0.28.0!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


param->ctrl translation: Fix fix_ec_paramgen_curve_nid()

This function didn't prepare space to get the param string, which causes
the default_fixup_args() call to fail.
Fixes #20161

This is an alternative for #20226.
@ElMostafaIdrassi, would you mind testing this??

@levitte I did give this a shot but it seems it it still not working. Here is the error trace:
80E2E94B887F0000:error:078C0102:common libcrypto routines:get_string_internal:passed a null parameter:crypto/params.c:1261:
80E2E94B887F0000:error:0A080006:SSL routines:ssl_generate_param_group:EVP lib:ssl/s3_lib.c:4811:
80E2E94B887F0000:error:0A00013A:SSL routines:tls_process_ske_ecdhe:unable to find ecdh parameters:ssl/statem/statem_clnt.c:2346:

I did a quick debug, and it looked like the state == POST_PARAMS_TO_CTRL condition is never hit, which explains why the issue still persists.

I figured state == POST_PARAMS_TO_CTRL was just a typo, so I modified it to state == PRE_PARAMS_TO_CTRL. This still did not work but with a different error trace:
80726CF7FF7F0000:error:03000093:digital envelope routines:evp_pkey_ctx_ctrl_int:command not supported:crypto/evp/pmeth_lib.c:1327:
80726CF7FF7F0000:error:0A080006:SSL routines:ssl_generate_param_group:EVP lib:ssl/s3_lib.c:4811:
80726CF7FF7F0000:error:0A00013A:SSL routines:tls_process_ske_ecdhe:unable to find ecdh parameters:ssl/statem/statem_clnt.c:2346:

I finally added the missing ctx->ctrl_cmd = EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID; at the very end of fix_ec_paramgen_curve_nid. It still did not work but again with a different error trace:
80F26B7FE77F0000:error:08000081:elliptic curve routines:EC_GROUP_new_by_curve_name_ex:unknown group:crypto/ec/ec_curve.c:3289:name=UNDEF
80F26B7FE77F0000:error:0800008D:elliptic curve routines:pkey_ec_ctrl:invalid curve:crypto/ec/ec_pmeth.c:255:
80F26B7FE77F0000:error:0A080006:SSL routines:ssl_generate_param_group:EVP lib:ssl/s3_lib.c:4811:
80F26B7FE77F0000:error:0A00013A:SSL routines:tls_process_ske_ecdhe:unable to find ecdh parameters:ssl/statem/statem_clnt.c:2346:

I did a quick debug again, and the problem is in ctx->p1 = OBJ_sn2nid(ctx->p2);. OBJ_sn2nid awaits for a const char* but with this patch we're giving it a ctx->p2 which is &p2, that is the address of a char*.

I figured state == POST_PARAMS_TO_CTRL was just a typo, so I modified it to state == PRE_PARAMS_TO_CTRL.

Yes it was a typo.  Thank you.

I finally added the missing ctx->ctrl_cmd = EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID; at the very end of fix_ec_paramgen_curve_nid.

It's weird that this should have been necessary...  I've made a more generic change, where I ensure that it's filled in from translation->ctrl_num.  See 520f9fd4f427d88abc953574e7bd53517723da04, which I just pushed here.

I did a quick debug again, and the problem is in ctx->p1 = OBJ_sn2nid(ctx->p2);. OBJ_sn2nid awaits for a const char* but with this patch we're giving it a ctx->p2 which is &p2, that is the address of a char*. Changing it to ctx->p1 = OBJ_sn2nid(p2); seems to work.

Ah, thank you, that was quite a blunder on my part!  Fixed that too.

This seems to work, thanks!

Ping?

This pull request is ready to merge

This was merged to master, 3.1, and 3.0 branches. Closing.