Roadmap of MMDetection3d

We keep this issue open to collect feature requests from users and hear your voice. Our monthly release plan is also available here.
You can either:

Suggest a new feature by leaving a comment.
Vote for a feature request with 👍 or be against with 👎. (Remember that developers are busy and cannot respond to all feature requests, so vote for your most favorable one!)
Tell us that you would like to help implement one of the features in the list or review the PRs. (This is the greatest things to hear about!)

V0.7.0 (October-November)

[x] Switch visualization backend to Open3D
[ ] More performance on Waymo, nuScenes,  SUN RGB-D, and ScanNet dataset

V0.6.0 (September)

[x] Waymo Dataset (#118)
[x] Batch Inference (#95)
[x] CenterPoint (#49, #92)
[x] 3DSSD (#83, #100, #104)
[x] H3DNet  (#53, #58, #105)

Hi all,  thanks for releasing this wonderful project！
I 'm wondering what's your recent development plan for new models or methods?

In the previous version (PCDet), I see that PV-RCNN is supported. However, it is not supported now. So, I hope to see PV-RCNN again.

In the previous version (PCDet), I see that PV-RCNN is supported. However, it is not supported now. So, I hope to see PV-RCNN again.

PCDet and mmdet3d are two different codebases. You may refer to PCDet for PV-RCNN now, and we will support it in mmdet3d soon.

Thanks for the development of MMDetection3d. I would appreciate the support for the Waymo Dataset.

Thanks for the opensource. Can we support 3DSSD https://github.com/Jia-Research-Lab/3DSSD?
It seems achieve both good speed and high AP.
Thank you.

Can we support SA-SSD https://github.com/skyhehe123/SA-SSD？The AP and speed is also good.

Can we open the pretained_models of all supported methods?

Hello, this code can visualize the 3D detection box in the point cloud, may I ask if the 3D detection box can be visualized in the 2D image，and how do we do that?

Hi. all. I hope to see the implementation of pseudo LiDAR in mmdetection3d. And also, I think more visualization of data processing and detection result are required, too.
Thanks.

Hi, all.
the current strongest backbone SPVNAS could be a good thing to implement.
Also, it's new library torchsparse is must faster than the current library.
https://github.com/mit-han-lab/torchsparse
https://github.com/mit-han-lab/e3d/blob/master/spvnas/core/models/semantic_kitti/spvnas.py

Hi, all. If I wanna add a feature to dataset (for example, besides (x,y,z,intensity), I wanna add another feature to it and make the data become (x,y,z,intensity,another featrue).), could you guys provides some interfaces or functions or sth?

Hi, all. If I wanna add a feature to dataset (for example, besides (x,y,z,intensity), I wanna add another feature to it and make the data become (x,y,z,intensity,another featrue).), could you guys provides some interfaces or functions or sth?

We recommend to do this in the model part. You can implement a new module to process the point data following the guide here

Hi, all. If I wanna add a feature to dataset (for example, besides (x,y,z,intensity), I wanna add another feature to it and make the data become (x,y,z,intensity,another featrue).), could you guys provides some interfaces or functions or sth?

We recommend to do this in the model part. You can implement a new module to process the point data following the guide here

ZwwWayne, thank you very much for your answer. I think I asked a wrong question… The new kitti-like dataset (x,y,z,intensity,another feature) have already been made. The question is how I can train the model with my dataset. I tried to change the "load_dims" and "use_dims" in configs from 4 to 5, but some errors were threw… After I fixed these errors, another errors were threw again… Now the newest error is Runtime Error: size mismatch.

Hi, all. If I wanna add a feature to dataset (for example, besides (x,y,z,intensity), I wanna add another feature to it and make the data become (x,y,z,intensity,another featrue).), could you guys provides some interfaces or functions or sth?

We recommend to do this in the model part. You can implement a new module to process the point data following the guide here

ZwwWayne, thank you very much for your answer. I think I asked a wrong question… The new kitti-like dataset (x,y,z,intensity,another feature) have already been made. The question is how I can train the model with my dataset. I tried to change the "load_dims" and "use_dims" in configs from 4 to 5, but some errors were threw… After I fixed these errors, another errors were threw again… Now the newest error is Runtime Error: size mismatch.

Feel free to create a new issue to describe your issues following the reimplementation issues template if you need some help. This issue is mainly about the roadmap.

Hi, all.
the current strongest backbone SPVNAS could be a good thing to implement.
Also, it's new library torchsparse is must faster than the current library.
https://github.com/mit-han-lab/torchsparse
https://github.com/mit-han-lab/e3d/blob/master/spvnas/core/models/semantic_kitti/spvnas.py

Thanks for the suggestion. We will investigate these repos and may change the dependency if necessary.

Can you add support for sematic-kitti ?

Can you add support for sematic-kitti ?

any plan for ONNX support?

any plan for ONNX support?

This is a planned feature, but we may not support it very soon. So PRs are also welcomed.

Thanks for your job. And it would be nice if cuda11.1/torch1.7 are compatible

Can you add support for Pandaset ?

Do you have plans to release the code for your FCOS3D on NuScenes in near future?

Do you have plans to release the code for your FCOS3D on NuScenes in near future?

Do you have plans to release the code for your FCOS3D on NuScenes in near future?

Yes. More information could be referred to #247 .

Do you have plans to release the code for your FCOS3D on NuScenes in near future?

Yes. More information could be referred to #247 .

Can you support Cirrus dataset ?
https://arxiv.org/abs/2012.02938

Can you support Cirrus dataset ?
https://arxiv.org/abs/2012.02938

Hello, this code can visualize the 3D detection box in the point cloud, may I ask if the 3D detection box can be visualized in the 2D image，and how do we do that?

Hi, this multi-modality visualization has been supported recently. Check out our demo and how to use for it!

any plan for ONNX support?

This is a planned feature, but we may not support it very soon. So PRs are also welcomed.

when to support onnx?

Any plans for Range-View 3D detection models? such as RCD, RangeDet, RSN(CVPR2021), ToThePoint(CVPR2021).

Any plans for Range-View 3D detection models? such as RCD, RangeDet, RSN(CVPR2021), ToThePoint(CVPR2021).

We are actually planning for it. Do you have any recommendation?

Any plans for Range-View 3D detection models? such as RCD, RangeDet, RSN(CVPR2021), ToThePoint(CVPR2021).

We are actually planning for it. Do you have any recommendations?

I think RSN is a great choice though it does not ONLY use range view compared to RangeDet, ToThePoint or RCD :)

I would love to see more Mono3D, Stereo3D, and Camera+LiDAR detectors. Maybe RTM3D, YoloStereo3D and Frustum-PointNet.

I would really appreciate seeing the implementation of MoCa since it has been announced quite some time ago, as well as more (real-time) camera-lidar pipelines. Happy to list some examples if necessary

It would be nice to support FCAF3D (SOTA in ScanNet, SUN RGB-D, S3DIS)
Source code is available on top of mmdet3d base: https://github.com/samsunglabs/fcaf3d

这是来自QQ邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。徐谦

Do you have plans for model deployment and conversion？

pointPainting

这是来自QQ邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。徐谦

It would be nice if mmdet3d could incorporate radar information  like lidar, Our lab, and many radar researcher also need a good platform to employ radar and camera fusion and so on, thanks.

这是来自QQ邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。徐谦

你好，请问dgcnn的内容是删除了嘛？什么时候重新上线呢？

这是来自QQ邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。徐谦

Would you consider RPVNet?
RPVNet: A Deep and Efficient Range-Point-Voxel Fusion Network for LiDAR Point Cloud Segmentation

这是来自Foxmail邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。徐谦

你会考虑RPVNet吗？ RPVNet：用于激光雷达点云分段的深度高效范围-点-体素融合网络

有考虑用point transformer进行尝试，您说的这个我还没有细看。主要是想将新内容用在dgcnn上进行尝试提升，不知您有什么好的建议？

deep fusion and bevfusion

这是来自Foxmail邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。

Suggested by @JingweiZhang12 . Add request for Cube RCNN implementation.
It would be great if mmdetection3d could support Cube RCNN from Omni3d paper, so that we can easily compare across different method.

这是来自Foxmail邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。

It would be nice if mmdet3d could incorporate radar information like lidar, Our lab, and many radar researcher also need a good platform to employ radar and camera fusion and so on, thanks.

Any updates on that?

为什么我就是实现不了目标检测的demo，谁能帮帮我

这是来自Foxmail邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。

It would be nice if mmdet3d could incorporate radar information like lidar, Our lab, and many radar researcher also need a good platform to employ radar and camera fusion and so on, thanks.

Hi, is there any update on the radar integration for bevfusion project?

这是来自Foxmail邮箱的自动回复邮件。

您好，您的来信已收到，我将尽快给您回复。

@JingweiZhang12 @zhanghang1989
Is there any recent progress on the implementation of Cube R-CNN in MMDetection3D?


Beta 8 breaks PhysicsShapeQueryParameters3D set_exclude

Godot version
4.0 beta 8
System information
Windows 10
Issue description
An old function that worked fine in beta 6:
var space: PhysicsDirectSpaceState3D = get_world_3d().direct_space_state as PhysicsDirectSpaceState3D

	var params: = PhysicsShapeQueryParameters3D.new()
	params.set_shape(col_stand.shape)
	params.set_transform(global_transform)
	params.set_exclude([self])
	params.collision_mask = collision_mask

But since upgrading to beta 8, I get an error:
Parser Error: Invalid argument for "set_exclude()" function: argument 1 should be Array[RID] but is Array[res://og_player/player.gd].
This is fixed when changing params.set_exclude([self]) to params.set_exclude([self.get_id()]) but it seems like a regression.
Steps to reproduce
As above.
Minimal reproduction project
N/A

I noticed this too and thought that #65170 was a cause, but I didn't investigate. The PR was merged way before beta6 though, so if it was working correctly as you claim, fault lies somewhere else probably.

This is the result of https://github.com/godotengine/godot/pull/69017 and https://github.com/godotengine/godot/pull/69060 (follow-ups to the PR mentioned above) making the physics API more strongly typed. With the latter PR the usage is now also documented: see exclude.
I guess we can also add this information to the blog post of the first beta that included this change.

making the physics API more strongly typed

Doesn't this change make things needlessly complicated? Since the only part that's going to be required in params.set_exclude([]) would be nodes, it's much more convenient for Godot to "smartly" get the RIDs from the node references, otherwise the user has to write get_id() a bunch of times for every node which seems to go against the whole point of GDScript being a simpler language.

Yeah I don't really like it either. The method should take nodes or auto-convert, because users are always dealing with nodes, not RIDs in their code. If changing the type is a problem, we could add an intermediate method and bind it instead.

or auto-convert,

Pleeease

The 4.0 release is imminent and this is now too late to do further compat breaking changes, so closing.


fix(vimwiki): VimwikiHeader highlights and URL metadata

What is this PR for?
Vimwiki support was added in 8850021bed1d8595581a5903fd03acacf0d12af5 but there was a typo in the generation of the VimwikiHeader highlights and instead they were generated under VimwikiHeaer. It also seems the the URL was set to headlines.nvim by mistake, presumably because this file was based off of the headlines.nvim group file.
Disclaimer: I don't actually use vimwiki but I was looking through the commits and saw this easy to fix bug so I did it myself.

ty!


pyxdg: AttributeError: 'MenuEntry' object has no attribute 'Type' on KDE plasma

Describe the bug
A clear and concise description of what the bug is.
This came up while debugging xpra on KDE. This issue has been reported upstream, but it seems to uniquely affect KDE on nix. We communicated with the xpra author who added a mitigation for this, but it does not address the underlying issue in pyxdg. It seems the issue is due to the envvar XDG_DATA_DIRS only when it contains both ${plasma-workspace}/share and current-system/sw/share. Those are the only two directories that seem to matter. I'm wondering if this is because some entries from plasma-workspace/share are a subset of what is symlinked into current-system/sw/share?
To Reproduce
Steps to reproduce the behavior:

nix-shell -p "python3.withPackages (ps: with ps; [ pyxdg ])" --command "python -c 'from xdg.Menu import parse;parse()'" -> Error occurs

For the following you'll need the /share directory for the installed KDE. You can get this by echo $XDG_DATA_DIRS > out.txt and searching for plasma-workspace, or on nix repl
❯ sudo nix repl
[sudo] password for mjlbach:
Welcome to Nix version 2.3.4. Type :? for help.

nix-repl> :l <nixpkgs>
Added 11495 variables.

nix-repl> "${plasma-workspace}"
"/nix/store/2gc5fsahhfxvffdrfz2vmr4g2askadia-plasma-workspace-5.17.5"

nix-shell -p "python3.withPackages (ps: with ps; [ pyxdg ])" --command "XDG_DATA_DIRS=/run/current-system/sw/share:/nix/store/2gc5fsahhfxvffdrfz2vmr4g2askadia-plasma-workspace-5.17.5/share python -c 'from xdg.Menu import parse;parse()'" -> Error occurs (change the path to point to your plasma workspace)

nix-shell -p "python3.withPackages (ps: with ps; [ pyxdg ])" --command "XDG_DATA_DIRS=/run/current-system/sw/share python -c 'from xdg.Menu import parse;parse()'" -> Error doesn't occur

nix-shell -p "python3.withPackages (ps: with ps; [ pyxdg ])" --command "XDG_DATA_DIRS=/nix/store/2gc5fsahhfxvffdrfz2vmr4g2askadia-plasma-workspace-5.17.5/share python -c 'from xdg.Menu import parse;parse()'" -> Error doesn't occur

A clear and concise description of what you expected to happen.
pyxdg loads cleanly
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Nixpkgs snippet to make an executable script that tests the issue
writers.writePython3 "pyxdg-test" { libraries = [ python3Packages.pyxdg ]; } ''
from xdg.Menu import parse
parse()
''


Cranelift-object emit_to_file proposition

Thanks for filing a feature request! Please fill out the TODOs below.
Feature
TODO: Brief description of the feature/improvement you'd like to see in
Cranelift/Wasmtime.
I would like to see in cranelift-object (https://docs.rs/cranelift-object/0.82.3/cranelift_object/struct.ObjectProduct.html#method.emit), where we would create a new function called emit_to_file, essentially passing in a File, and that function would then call https://docs.rs/object/0.27.1/object/write/struct.Object.html#method.emit with the File's buffer.
I think this would be nice instead of having to call ObjectProduct.emit(), and then having to transform the Vec<u8> into a slice to be written into a file;
This may very feel redundant, too
Implementation
TODO: Do you have an implementation plan, and/or ideas for data structures or
algorithms to use? Yes
Alternatives
TODO: What are the alternative implementation approaches or alternative ways to
solve the problem that this feature would solve? How do these alternatives
compare to this proposal?
Transform the Vec<u8> returned by ObjectProduct.emit() into a slice and write it to a file

You can call both product.object.emit() and product.object.write_stream() already.


update concurrent-ruby to 1.0 release

PTAL @v-yarotsky

Looks good :)
Thanks for updating it!

Sweet. Can you push to Rubygems?
I can if you want to add turadg to http://guides.rubygems.org/command-reference/#gem-owner

Added you to owners :)


Theming in nuxt.config

Description
Hey!
I'm just starting with Nuxt UI and I wasn't able to define the theming in nuxt.config
I don't use app.config so I need to create a new file just for that.
Would be nice if there was a way to put it directly in the app.config to avoid having the extra file!
Additional context
No response

https://ui.nuxt.com/getting-started/theming

Is this what you need? Custom theme colors

The two files serves two different purposes. You don't have a choice than to use the app.config.ts which will allow you to change your config without restarting the nuxt server every time.


What combination of GNSS sentences exactly could be parsed?

As I can see after a quick test the GPGGA sentences don't work - only GNGGA, which means that I can get data from any combination of GNSS including GLONASS. But in the library description you say that this is the GPS parser library. And also at the beginnig of all functions in minmea.c you put GP***, not GN***. Because of this I have some misunderstanding, from which source nmea sentences  (only GPS or both GPS and GLONASS) can I use.
Thank you in advance!
upd: I realized, that GPGGA didn't work because I tested it with wrong checksum, so it works both with GP & GN sentences.

Closing as it appears you've found this works as expected. Please reopen if there is still an issue!


Support resolving of default Windows fonts

There are font families like MS Shell Dlg 2 which will not be resolved at the moment:
> cargo run --example match-font -- "MS Shell Dlg 2"
Error: NotFound

I'm not sure if it's possible to resolve them via winapi, but they are defined here: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes\

IIRC, GDI does sanity checking on the values, but nothing more than that.


Migrate to conda-build 3

Makes a few changes to migrate to conda-build 3.

Re-renders with conda-smithy 3
Split build and host
Add compiler syntax

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Just a quick note to say that this version can't be used by PyQt 5.6. Is that ok @jakirkham?

Appears to have been addressed in PR ( https://github.com/conda-forge/sip-feedstock/pull/9 ). Closing.


optimize fullscreen implement

I found fullscreen() method simply call method of video element. That will hide CustomComponents.
So I made fullscreen method to call **requestFullscreen of parent div.
And I change fullscreen method to toggleFullscreen. (reference: https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API)
When run demo, I found the width of div(call fullscreen) is limited by the width of video in chrome(IE11 is OK). But I change the style of it's parent div from display: block; to display: flex;, it works well.

Thank @Frezc. I never actually intended for fullscreen to have the custom controls, it never actually crossed my mind. I wanted to just leave it as native fullscreen however this could be a nice addition! I will take a look at this PR later this week as I am aware that this is not supported by many browsers that I intended to support. Thank you :)

I found no native controls in fullscreen mode of IE 11. (IE 10 or under have more bugs)
If you wanna support IE, I think it necessary.


Create pat2feat

This PR creates Pat2Feat as the component to hold the encodings generation module, which separates the encoding from dpm and improves the API design. Pat2Feat will closely match the system structure in DPM paper.

Went over on a high-level, I like the new structure! Now that I'm looking at this, I can also see a design pattern where we pickle the Pat2Feat object to be able to reuse the same patterns with another set of sequences. Any thoughts on this? Otherwise LGTM

Thanks @dorukkilitcioglu . It is a good point! So far I think we have been focusing on DPM analysis + Pattern-to-Feature generation. But after DPM is done, pat2feat itself can be reused, especially for an application/deployment stage. So pickling everything for Pat2Feat has the value here. I think we might consider a following PR on it as I have the idea and usage more concrete.


.once modifier on input event prevents v-model from updating value on input element.

Version
2.6.11
Reproduction link
https://jsfiddle.net/fxdez9qh/
Steps to reproduce
Type some text in the input field.
What is expected?
The input handler is executed and the value in the input is updated.
What is actually happening?
The input handler is executed but the first update to the model is not applied. This means the first character typed will not show up.

I found this issue: https://github.com/vuejs/vue/issues/6552 It's a few years old and it was fixed but it seems to be the same problem.

It seems like the change on micro tasks on v2.6.0 brought back this bug.

use  v-model.var="variable" just update this variable ,not needs update components

The event trigger order of capture and bubble was changed form Chrome Version 89.0.4383.0.
It is the root cause of this issue.
And there might be more issues relate to it.
Refs:

https://bugs.chromium.org/p/chromium/issues/detail?id=1202483&q=1202483&can=2
https://chromium.googlesource.com/chromium/src/+/f73b047b99026f22c60f4541cab98346e9871f65
https://github.com/whatwg/dom/issues/746


object.init() takes no parameters in test_inheritance

In IronPython.test_inheritance there are tests which are similar to:
import System

class test(System.Collections.Generic.List[System.Int32]):
    def __init__(self):
        super().__init__(1)

test()

which fail with:

TypeError: object.__init__() takes no parameters

These tests worked with IronPython 2 and raised a DeprecationWarning. I'm not entirely sure what the purpose of having the super().__init__ calls on a .NET class (which doesn't define __init__). I think having it throw TypeError is correct and the tests should be fixed.

I agree that TypeError in such case is sensible but I think this the whole picture is a little bit trickier.
.NET classes do define __init__ that takes unlimited number of arguments and does nothing, but only if there is no __init__ in the derived class (see the doctext on InstanceOps). I think the reason was to make a smooth and regular Python object construction using the __new__/__init__ progression. But in practice, I see no good reason to call super().__init__ in classes derived from .NET classes. However, from the type system viewpoint, it is inconsistent: I can do:
t = System.Collections.Generic.List[System.Int32](8)
t.__init__(1)

I can also call super().__init__() in class test, but not super().__init__(1) as you have discovered.

Hmm, interesting that instances of .NET types have an __init__ that doesn't appear on the type. Anyway, getting a headache thinking about this so will leave it for the future. 😃
Disabled some tests related to this in https://github.com/IronLanguages/ironpython3/pull/1414


CI: Conformance Delegated IPAM (dual-stack): error while updating MTU for endpoint ... terminating OS thread

CI failure
Failure: https://github.com/cilium/cilium/actions/runs/12317070265/job/34378752561#step:19:428
Sysdump: https://github.com/cilium/cilium/actions/runs/12317070265/artifacts/2317587552
  ❌ Found 1 logs in kind-kind/kube-system/cilium-6blkw (cilium-agent) matching list of errors that must be investigated:
time=2024-12-13T14:08:07Z level=error msg="error while updating MTU for endpoint" module=agent.datapath.mtu netns=cni-58098135-23e8-ff3e-bd7d-613319d68f38 error="set netns: invalid argument (terminating OS thread)" (1 occurrences)

I suspect we'll see this failure on other workflows. Given the error, it doesn't look specific to delegated IPAM.

There is a very similar symptom in the test:
K8sDatapathConfig WireGuard encryption strict mode
    [AfterEach] Pod-to-pod traffic is encrypted in native routing mode with per-endpoint routes and overlapping node and pod CIDRs

Error log:
    2024-12-13T14:19:10.092157249Z time="2024-12-13T14:19:10.092028627Z" level=error msg="error while forcefully terminating sockets in netns connected todeleted service backend. Consider restarting any application pods sending trafficto the backend" error="set netns: invalid argument (terminating OS thread)" l3n4Addr="<IP_ADDRESS>:53/UDP" netns=cni-b793300c-e8f4-e7a4-1cde-505fcd30e112 subsys=service

https://github.com/cilium/cilium/actions/runs/12317070910/job/34378979272#step:19:979
This to me sounds like maybe shutdown of the agent is not happening gracefully. Probably it's affecting multiple packages but we need a general solution and then to fix it in each package (service, MTU).


rainbow magic connector

branch for implementing Email Auth with Magic Labs and Rainbowkit

@mickeymond this is the branch with the issues I was facing


Rabbit example

Thank you for contributing to naz.
Every contribution to naz is important.
Contributor offers to license certain software (a “Contribution” or multiple
“Contributions”) to naz, and naz agrees to accept said Contributions,
under the terms of the MIT License.
Contributor understands and agrees that naz shall have the irrevocable and perpetual right to make
and distribute copies of any Contribution, as well as to create and distribute collective works and
derivative works of any Contribution, under the MIT License.
Now,
What(What have you changed?)

add rabbitMQ example
use custom logger adapter

Why(Why did you change it?)

more examples
custom logger adapter works cool with other libs using stdlib logging lub

Codecov Report

Merging #24 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
+ Coverage   86.99%   87.07%   +0.07%
==========================================
  Files           8        8
  Lines         523      526       +3
==========================================
+ Hits          455      458       +3
  Misses         68       68

Impacted Files
Coverage Δ

naz/__version__.py
100% <ø> (ø)
:arrow_up:

naz/client.py
82.74% <100%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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


Added api dependency on pull-model

I added a dependency between the api and pull-model services like the other bots.  This should avoid unable to connect errors if people try to connect before pulling the model is over.

Thank you 🍻


Enhancement: allow instantiation of new Parameterized instances with other instances

Hello,
First off, thanks, devs, for a really cool package.
In my workings with param, I've found it really useful to separate common parameters into multiple Parameterized classes and instances, then combine them later. A specific use case is when working with training, development, and test sets in machine learning. You wouldn't expect them to have the same number of samples, but they likely have a number of shared parameters (imagine images or something). You could create three instances of a Parameterized class and configure them separately, but if I'm somehow exposing those instances to the end user, I'd like to ensure that the common parameters remain the same across instances. Instead, I separate the parameters into two subclasses: one containing population (common) parameters; the other containing set-specific parameters, like so:
class PopulationParams(param.Parameterized):
    image_width = param.Number(10, bounds=(1, None))
    image_height = param.Number(10, bounds=(1, None))
    # etc...

class SetParams(param.Parameterized):
    num_samples = param.Number(1000, bounds=(1, None))
    # etc...

class SampleParams(PopulationParams, SetParams):
     pass

Where the last class can be used to combine parameters back together. I prefer this pattern because it has safety-by-design. AFAICT there's no convenient way of getting the parameters of the instantiations of each uppermost class into the lowermost class when instantiating it. Right now, I resort to something like the following
param_list = []
for params in (pop_params, set_params):
    param_list += ((k, getattr(params, k)) for k in params.params() if k != 'name')
samp_params = SampleParams(**dict(param_list))

Which is serviceable, but not elegant.
I think it would be nice to pass a variable number of Parameterized instances as positional arguments to any Parameterized initializer to have it populate its values with those from the instances. The above code could be then simplified to
samp_params = SampleParams(pop_params, set_params)

Overlapping entries can be clobbered in the order the instances were passed to the initializer.
Let me know what you think!
Thanks for the time,
Sean

Glad you find it useful!  From your description it sounds like what you want is just the normal way that parameters already are inherited by subclasses, but maybe I'm just not reading closely enough:
class PopulationParams(param.Parameterized):
    image_width = param.Number(10, bounds=(1, None))
    image_height = param.Number(10, bounds=(1, None))
    # etc...

class SetParams(PopulationParams):
    num_samples = param.Number(1000, bounds=(1, None))
    # etc...

SetParams should then have image_width, image_height, and num_samples.  If that doesn't do what you want, maybe you can compare what this does to what you're after.

@jbednar Thanks for getting back to me so quick. At the end of the day, yes, I combine the lot into a single instance (like your SetParams). However, I'd rather avoid letting the user specify multiple instances of SetParams for each data set, since they are then required to ensure image_width and image_height remain consistent over the instances. So if I go
train_params = SetParams()
val_params = SetParams()
val_params.image_width = 11

I've introduced an error by forgetting to set train_params.image_width.
Though I've talked about this specific scenario, it's generally useful to have a copy constructor for objects like these, I think.

I think in this particular case I'd still use inheritance:
import param

class SetParams(PopulationParams):
    num_samples = param.Number(1000, bounds=(1, None))

class PopulationParams(param.Parameterized):
    image_width = param.Number(10, bounds=(1, None))
    image_height = param.Number(10, bounds=(1, None))
    training = param.ClassSelector(SetParams, default=SetParams())
    testing = param.ClassSelector(SetParams, default=SetParams())
    validation = param.ClassSelector(SetParams, default=SetParams())

sp=PopulationParams()

But it sounds like you want to have a flattened set of parameters at the end, not a hierarchical one like this (with e.g. sp.training.num_samples)?

I think it would be nice to pass a variable number of Parameterized instances as positional arguments to any Parameterized initializer to have it populate its values with those from the instances.

As it is currently implemented, there is one set of Parameters for a particular Parameterized class, not instance.  So to get the functionality you are describing, we'd need to create a new class on the fly, combining the Parameters from the two existing classes. That can be done, and we do something like that in other cases, but it's not as simple as just making a special instance.  That said, for other reasons we are already contemplating instances being able to override metadata (ranges, etc.) currently changeable only in the class, and one obvious way to do that is to allow an instance to have a copy of the Parameter object that overrides what's in the class, so it's not crazy to think we could do something like this at the same time...

But it sounds like you want to have a flattened set of parameters at the end, not a hierarchical one like this

Hierarchical constructions require hierarchical configurations like JSON or YAML, which are hard to read. But point taken.

As it is currently implemented, there is one set of Parameters for a particular Parameterized class, not instance. So to get the functionality you are describing, we'd need to create a new class on the fly, combining the Parameters from the two existing classes.

Though, admittedly, that would be pretty neat, I'm not proposing anything so complicated... I don't think. At its core, I just want a nice way to copy the values from one Parameterized instance to another, though preferably from more than once instance. No need to build a new class. e.g.
class A(param.Parameterized):
    a = param.Number(1)
class B(param.Parameterized):
    b = param.Number(2)
class C(A, B):
    pass
a_1 = A()
a_1.a = 10
b_1 = B()
b_1.b = 5
c_1 = C(a_1)
assert c_1.a == 10 and c_1.b == 2
c_2 = C(b_1)
assert c_2.a == 1 and c_2.b == 5
c_3 = C(a_1, b_1)
assert c_3.a == 10 and c_3.b == 5
c_4 = C(c_3)
assert c_4.a == 10 and c_4.b == 10

There's really no need for C to inherit from A or B, either, as long as C contains all the parameters from both A and B.

It sounds like you want two things, then:

A way to copy the Parameter objects from A and B to C (otherwise C won't have range checking, docs, or any other benefit of Parameters). C would then have all the parameters of A and B, without duplicating their definition.
A way to copy the parameter values from a_1 and b_1 to c_1 (using the Parameters copied in step 1)?

Seems like having C inherit from A and B is already a way to achieve goal 1, right? Is there some problem with it or some reason you wouldn't want to do that?
For 2, that seems like a trivial utility to write, and sure, that can be in Param if it seems useful.

Seems like having C inherit from A and B is already a way to achieve goal 1, right? Is there some problem with it or some reason you wouldn't want to do that?

Probably not, no :) I just pointed it out because Python likes "better to ask forgiveness than permission." 2 is exactly what I want, yes. I loaded up the request with a use case to justify its inclusion, but I think I just over-complicated things. Sorry!

Ok, then it seems like Param could include a utility function like this:
def param_union(*parameterizeds, warn=True):
    """
    Given a set of Parameterized objects, returns a dictionary
    with the union of all param name,value pairs across them.
    If warn is True, warns if the same parameter has been given
    multiple values; otherwise uses the first value encountered.
    """

    d = {}
    for o in parameterizeds:
        for k,p in o.params().items():
            if k != 'name':
                if k in d:
                    if warn:
                        print("WARNING: overwriting parameter {}".format(k))
                else:
                    d[k]=getattr(o,k)
    return d

to be used like:
pp=PopulationParams(image_width=50)
sp=SetParams(num_samples=5)
sm=SampleParams(**param_union(pp,sp))
sm
``

If that's helpful, then please submit it as a PR.  Thanks for helping me understand what I can now see was in your original issue text!


fix indent on labels in .asf.yaml

See if this works; looks like the example yaml on cwiki
had the wrong indentation level for the labels...

Codecov Report

Merging #4608 into master will decrease coverage by 5.62%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4608      +/-   ##
==========================================
- Coverage   84.38%   78.75%   -5.63%
==========================================
  Files         183      183
  Lines        8305     8305
  Branches      581      581
==========================================
- Hits         7008     6541     -467
- Misses       1297     1764     +467

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.89%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0% <0%> (-94.74%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.6%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedListener.scala
0% <0%> (-86.67%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0% <0%> (-76.48%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-74.08%)
:arrow_down:

...a/org/apache/openwhisk/common/ExecutorCloser.scala
0% <0%> (-66.67%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
4% <0%> (-52%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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

FaaS is invalid as it contains uppercase characters. faas would work.


Change the height calculations on the UIScrollView category to take only the maximum visible height

I was having trouble with a UIScroll view's frame when the keyboard dismissed. Since the category set the frame from the union of all the frames in the view, the frame of my scroll view was getting set slightly larger than the visible frame of the screen, which allowed the user to scroll around after the keyboard dismissed. This fixes that issue for me.

:shipit:

Thanks @cwshevlin! I noticed you're not using kCalculatedContentPadding, though - any particular reason?


Add the possibility to desactivate DC search service

Now managed at DC level using a property on the search period


feat(linter): add fix capabilties to existing lint rules

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#4560  👈
#4559
#4558
#4557
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @DonIsaac and the rest of your teammates on  Graphite


MAAS-107 | Make safe_translation_getter return a str default value

This PR fixes e.g. issues experienced in Django admin due to missing translations.
Also adds safe_translation_getter to Trip.

Codecov Report

Merging #66 (00eacca) into main (50ae3e4) will increase coverage by 0.70%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##             main      #66      +/-   ##
==========================================
+ Coverage   88.54%   89.25%   +0.70%
==========================================
  Files          48       48
  Lines        1519     1507      -12
  Branches      118      118
==========================================
  Hits         1345     1345
+ Misses        140      128      -12
  Partials       34       34

Impacted Files
Coverage Δ

gtfs/models/trip.py
96.42% <0.00%> (ø)

gtfs/models/agency.py
93.33% <50.00%> (+15.55%)
:arrow_up:

gtfs/models/rider_category.py
91.66% <50.00%> (+18.33%)
:arrow_up:

gtfs/models/route.py
97.56% <50.00%> (+6.65%)
:arrow_up:

gtfs/models/stop.py
96.29% <50.00%> (+9.62%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature: Add static online demo page

We can use ioredis_mock & msw for mimic redis + server responses.

ioredis_mock can't work in the browser since it requires some lua stuff.


Add direction parameter to migration change method

Enables otherwise irreversible migrations to become reversible. e.g. inside a change():
$this->table('foo', ['id' => false])
    # more columns
    ->create();
if ($direction === MigrationInterface::UP) {
    # some change to new table/data that requires no down() counterpart, e.g. custom compound primary key.
}

Would you mind adding a couple tests for this new feature?

The base migrations class would also need the method signature changed

Can this be implemented without touching change signature? Somehow by protected method like isUp(): bool inside migration?

I don't see any binding signature for the method, as it is optional.
Therefore, adding a parameter where none existed should be a non-breaking
change.
Had a deeper look at this the other night but it keeled over, after table
creation, upon insert()ing data, without any error to the console.
On 26 Aug 2017 02:25, "Alexander Ustimenko"<EMAIL_ADDRESS>wrote:
Can this be implemented without touching change signature? Somehow by
protected method like isUp(): bool inside migration?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cakephp/phinx/pull/1151#issuecomment-324977460, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AbSqSsQkCms9GZpL7hQtV7yiqIG076p6ks5sbvx9gaJpZM4O83gF
.

I don't see any binding signature for the method, as it is optional.
Therefore, adding a parameter where none existed should be a non-breaking
change.
Had a deeper look at this the other night but it keeled over, after table
creation, upon insert()ing data, without any error to the console.

I just see another issue here: to know if we up/down we should import some MigrationInterface::UP.
From developer usage simple isUp() or youNameIt() flag method is better, that scalar variable, that you need to know from which interface to import to use it.
Current suggestion is not usable and could be potential error-source.

A method would be fine. How about "goingUp()"?

Anything you wish. Main idea: I'm lazy and just want to write inside $this->go + ctrl + space and my IDEtor will just do all the things for me.


Is it ok to refer to compiled JSX files in ReactConfig.cs?

The react config file recommends that developers add references to JSX files:
// If you want to use server-side rendering of React components,
// add all the necessary JavaScript files here. This includes
// your components as well as all of their dependencies.
// See http://reactjs.net/ for more information. Example:
//ReactSiteConfiguration.Configuration
//	.AddScript("~/Scripts/First.jsx")
//	.AddScript("~/Scripts/Second.jsx");

Is it okay (or even preferable) to refer to the compiled files here instead? In my case, We're compiling JSX files to JS using grunt as part of our build process.
Do we get any performance benefits by referring to the compiled files instead of the JSX files? I assume that React.NET will compile JSX for use on the server side, but I'm curious whether this happens at runtime or at build time.
Thanks so much for building React.NET - it rocks!

Go ahead and use compiled files there, that's perfectly fine. Just make sure there's no client-specific code in your bundles (eg. definitely don't include jQuery or anything else that touches document in there). I cover this in the Webpack docs on the site and might eventually add docs for Gulp/Grunt too.
Using precompiled files does result in performance benefits. In theory it means JSXTransformer doesn't even need to be loaded at runtime, so you have a lighter footprint. ReactJS.NET isn't quite there yet, using external JS files isn't as performant as it could be at the moment since it will still run your file through JSXTransformer even though it's not needed (since you've already transformed the file yourself). I'll have to think of a smart way to handle this, perhaps a second parameter to AddScript like doNotTransform that just loads the file directly without transformation.

Going to close this since it's just a discussion/question, but please feel free to reply if you have any further questions. Thanks!


Typo in chapter 8

In section 8.1, under 'For grids', I believe "A filter is conceptually the same as a focal operation in map algebra (in GIS), as as a convolutional filter in computer vision" has a typo (as as)

cheers


Amazon has killed KindleGen

Amazon is no longer hosting KindleGen. Consequently, the nix kindlegen package is broken. I suppose we need to choose whether to remove the package or find a mirror?
CC maintainer: @peterhoeg
Side notes: Sadly, its replacement, Kindle Previewer, has no Linux support. But on a more positive note, there are other programs that can produce mobi files, some mentioned in this discussion.

I suggest we just drop it. Considering that kindlegen was under an unfree license, we're probably not allowed to distribute it, so let's just blow it away with a release note entry that mentions some alternatives.

My current recommendation for NixOS is to use calibre for conversion. It also has commandline tools for scripting.


[Unity][DistIR] Legalize redistribute

This PR adds a pass LegalizeRedistribute that transforms R.dist.redistribute to ccl ops (Sharding->Replica will be translated as allgather) or slicing op (Replica->Sharding)

cc: @Lunderberg @csullivan @tqchen

Instead of adding a new pass, could we add an implementation of FLegalize, then allow relax.transform.LegalizeOps to accept a list of operators which should be legalized?  That would avoid needing to make these single-purpose transforms in the future.

I wouldn't call the behavior of the pass as a normal legalize, because this pass doesn't always translate relax op to call_tir. Depending on the resharding pattern, it may be translated to a ccl op, a list of ccl ops, or a call_tir.  And for the user side, normally they don't want to legalize redistribute together with other ops. This LegalizeRedistribute is expected to be called every time a redistribute is created in some pass and serve as an epilogue. So I disagree changing to FLegalize

because this pass doesn't translate relax op to call_tir.

This is no longer a requirement of FLegalize  (see https://github.com/apache/tvm/pull/15842), specifically to enable this type of usage.

I agree that the handling of DistIR is different enough that we would like to decoule -- at least for now

So long as we're planning on an integration at some point, that makes sense.  While orthogonal and composable features are easier to use and maintain in the long-term, having fully de-coupled features is useful for path-clearing and exploration,

@Lunderberg Since this PR doesn't have complex logic, can you do a quick review?

@Lunderberg I have addressed your comments


Add support for Labels to the Image config

Adds support for ContainerLabel item group properties.
<ItemGroup>
  <ContainerLabel Include="com.microsoft.created-by" Value="dotnet-sdk" />
  <ContainerLabel Include="com.microsoft.project-name" Value="$(MSBuildProjectName)" />
</ItemGroup>

This is good to go now. I added an initial conventional label to prove that the mechanism works. On my local testing, we go from:
"Labels": null

to this:
"Labels": {
    "org.opencontainers.image.created": "2022-08-19T15:03:03.7298106Z"
}

Fixes #95


Add SLES testing to nightly and PR builds

Description
Once https://github.com/gravitational/robotest/issues/248 is available for gravity CI, we need to make sure key SLES scenarios are validated on at least master,  6.1.x, and 7.0 (for intermediate upgrades)

Proposal for the high end of what we might do:
6.1 PR build
exercise both SLES12 sp5 and SLES15
install
upgrade from previous 6.1 versions
11 currently + 4 (36% load increase)
7.0 PR build
upgrade from 6.1 and previous 7.0 SLES12 sp5 and SLES15
7 + 4 (57% load increase)
Master PR build
upgrade from 7.0 SLES12 sp5 and SLES15
6 + 2 (33% load increase)
Master Nightly
Everything that we run against ubuntu/redhat should also be run against SLES15.  For this, I haven't run the exact numbers, but as we test most scenarios on RHEL and ubuntu, I'd expect this to be ~33%)
The easiest savings would be to cut either SLES12 sp5 or SLES 15 from all PR builds.  I'd be a bit hesistant to cut all SLES from PR builds, as we don't have nightlies on 6.1 and 6.1 is probably where we care about testing this the most due to customer scenarios.

Upon further consideration, I'm reopening this. #1582 is tracking whether we can add SUSE 12 sp5 and SUSE 15 to our supported releases table, and I'd like to close it once the customer need is satisfied.   I'd want to track reoccuring automated SLES testing separately, as there are some other things that need to happen -- releasing the next version of Robotest and PRs with appropriate configurations to all active Gravity branches, and these aren't needed on the same timeline.


Add mpdsvm meta example

Needs a rebase as another data patch was merged ... Good to merge otherwise

I think you need to rebase your data submodule

ah no
github lag


Added option to change the path

With this PR you can change the path using -p or --path ex: rpipress-downloader -p downloaded

Hi @cfpwastaken,
Thanks for the PR. I'm afraid this feature won't work with the snap version of this script. Snaps are confined and this particular one does not have access to e.g. the user's home. Plus, it would be proper to handle any error that may arrise in case the user provides a path without proper permissions (e.g. rpipress-downloader -p /opt/downloaded)
How do you use this 'dowloader', directly from the script or as a snap?

I use it directly on the script. I don't really know how snap works and stuff. And yes i prob should have added a test for permissions. But i think python will just throw its error so its fine?

Ok, then could you change the logic a bit so that this feature is only available if the script is not used as a snap? E.g. here when os.getenv('SNAP_USER_DATA') is none.
As for the error handling, I have no idea what urlreq.urlretrieve may throw, it may not be clear to the end-user so I'd prefer a small early check with a clear error message.

Ok let me pull the code up real quick

It should be working now? You should test it with snap tho because i cant test that sadly

so.. any updates?

The feature is now available on the master branch.
Closing this.


How to re-train on music?

Hello, the examples you give for music sound amazing, the best I've heard from any GAN so far.  How can I train this on my own set of music?

I’ve never tried to train with music, but I think it can be.
(Of course, it is better to consider the feature vector, e.g. F0)
What you need is to make wav.scp for training, development, and evaluation set.
Maybe you can understand the flow by running the one of the recipes.


Descriptor Wallet Backup

Proposing BIP392: Encryption path to support descriptor wallet backup
The goal is to be able to backup more complex script wallets without changing the mnemonic seed interface for wallet management.
Just writing down your own mnemonic is not enough to recover scripts that have data outside of your own private key.
For example, time locks, hash locks or public keys of other parties.
This information lives outside the mnemonic and without it users cannot recover more complex script wallets.
We solve this issue by defining a new derivation path m/392 to generate encryption keys.
These keys will be used to encrypt a .txt file that contains all the external information to recover script wallets.
This .txt file can now be redundantly stored in multiple locations: GDrive, DropBox, you friends, family, everywhere you can think of.
This way, if you lose the device (mobile) managing your descriptor wallet, you can still recover the entire wallet with JUST your mnemonic.

Current script wallets like Muun and Hexa wallet, use a separate encryption key that the users are expected to write down alongside their seed. This creates a UI hurdle and takes away from the original interface of just remembering a single seed to recover funds.

@mocodesmo We will need your help with this since its our first time adding a feature to this repo.

Before we start this we have to note:

This is only for script wallets. In our case inheritance.
Script wallet creation flow needs updates first. It must also accept making a script just using pub keys as a watch only, and also support import seed.
The option to backup will show up under wallet->info; and will only be seed once the wallet is fully initialised with all the required public information.

All this must happen before any interaction of knowledge of cypher post. Just as a regular bitcoin script wallet, that expects your to get all this information from the outside to make a script. You should also be able to leave the script wallet it a Partial state where I can come back to it later and add the other public parts, and once all are added, the wallet becomes Initialised and ready for backup and testing.

model/wallet.dart main class can use String descriptor, instead of holding 3 different InternalWallet class as extra variables.
The descriptor will have information about the keys and whether it is watcher(pub-only) or spender(w/privkeys).
Also all the stackmate-core/wallet functions take mainly the descriptor as input.
@freezed
class Wallet with _$Wallet {
  @HiveType(typeId: 1, adapterName: 'WalletClassAdaper')
  const factory Wallet({
    @HiveField(0) required String label,
    @HiveField(1) required String descriptor,
    @HiveField(2) required String blockchain,
    @HiveField(3) List<Transaction>? transactions,
    @HiveField(4) int? id,
    @HiveField(5) int? balance,
    @HiveField(6) required String walletType,
    // @Default(false) @HiveField(7) bool watchOnly,
  }) = _Wallet;
  const Wallet._();

So in cubit/new_wallet
instead of :
 var newWallet = Wallet(
        label: state.walletLabel,
        walletType: 'SINGLE ACCOUNT',
        mainWallet: InternalWallet(
          xPub: wallet.xpub,
          fingerPrint: wallet.fingerPrint,
          path: wallet.hardenedPath,
          descriptor: com.descriptor.split('#')[0],
        ),
        exportWallet: InternalWallet(
          xPub: exportWallet.xpub,
          fingerPrint: exportWallet.fingerPrint,
          path: exportWallet.hardenedPath,
        ),
        blockchain: _blockchainCubit.state.blockchain.name,
      );

We can just do:
 var newWallet = Wallet(
        label: state.walletLabel,
        walletType: 'SINGLE ACCOUNT',
        descriptor: com.descriptor,
        blockchain: _blockchainCubit.state.blockchain.name,
        watchOnly: isWatchOnly(com.descriptor)
      );

a naive isWatchOnly just needs to look for an xprv string in the descriptor. This is fine for now since we only support extended key format in descriptors. If we decide to support normal ec key format, then we will have to update this. We can also get stackmate-core to return watchOnly.

and I think we should always show/accept the public key as the full extended public key [fingerprint/path]xpub, rather than separating them. Makes the UX more simple. Only copy/paste 1 thing, rather than 3.

and if a user is making a watch-only wallet, if they even paste the entire descriptor we should recognise it and recover the wallet based on that.
blue wallet has this recovery feature where they say just dump whatever you have and we will try out best to recover.
So one text area where you put whatever you have and create a wallet if possible with that data.

@freezed
class InternalWallet with _$InternalWallet {
  @HiveType(typeId: 2, adapterName: 'InternalWalletClassAdaper')
  const factory InternalWallet({
    @HiveField(0) String? xPriv,
    @HiveField(1) required String xPub,
    @HiveField(2) required String fingerPrint,
    @HiveField(3) required String path,
    @HiveField(4) String? descriptor,
    @HiveField(5) DateTime? rescueDate,
  }) = _InternalWallet;
  const InternalWallet._();

  factory InternalWallet.fromJson(Map<String, dynamic> json) =>
      _$InternalWalletFromJson(json);
}

This class is technically key or WalletKeys

Under Info we will now show the full extended pub key for single sig wallets and for script wallets, we will show the public descriptor and allow you to encrypt and share that everywhere.

We can add other info for scripts like  a policy breakdown. The policy parts and the satisfaction threshold.

And inheritance only has a flow for recovering as the primary signer. we need to include a flow for secondary signer.
Also we should have a page before we start that explains the script. Shows the 2 parts, introduces it as 1/2. Then asks you to setup each part. You can leave the setup half way, and finish it later.
So for some duration we will have to store ExtendedKey as part of Wallet. So we could have an array of keys as a variable in Wallet along side descriptor.

enum PolicyCondition{
  extendedKey('[fingerprint/path]xkey'),
  timeLock('21000000'),
  hashLock('9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08');

  const PolicyCondition(this.value);
  final String value;
}

We can then update Wallet policyConditions to be a List<PolicyCondition> where length.policyConditions == n, for the wallet to be initialised.

Latest:
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hive/hive.dart';
import 'package:sats/model/transaction.dart';

part 'wallet.g.dart';
part 'wallet.freezed.dart';

const satsInBTC = 100000000;

@freezed
class Wallet with _$Wallet {
  @HiveType(typeId: 1, adapterName: 'WalletClassAdaper')
  const factory Wallet({
    @HiveField(0) required String label,
    @HiveField(1) required String descriptor,
    @HiveField(1) required String policy,
    @HiveField(2) required int requiredPolicyElements,
    @HiveField(2) required List<policyElement> policyElements,
    @HiveField(4) required String blockchain,
    @HiveField(5) List<Transaction>? transactions,
    @HiveField(6) int? id,
    @HiveField(7) int? balance,
    @HiveField(8) required String walletType,
    // @Default(false) @HiveField(7) bool watchOnly,
  }) = _Wallet;
  const Wallet._();

  factory Wallet.fromJson(Map<String, dynamic> json) => _$WalletFromJson(json);

  String balanceToBtc() =>
      balance == null ? '0' : (balance! / satsInBTC).toStringAsFixed(8);

  bool isNotWatchOnly() => label != 'WATCH ONLY';
}

enum policyElement {
  // Example Policy:
  // wsh( or( pk($main) , and(after($exit-timelock),hash160($exit-password)) ) )
  publicKey("[fingerprint/path]xkey","main"),
  timeLock("7894564","exit-timelock"),
  hashLock("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08","exit-password");

  const policyElements(this.value, this.identifier);
  final String value;
  final String identifier;

}

I think this is more clear and extendible.
policy is a readable format of the contract which the UI can use to show it in a friendly way.


Take a look at journey development docs as guide

@bomeng - good start, but we need to work to get it into journey format. You can start with the  README at https://github.ibm.com/developer-journeys/journey-docs.

I've updated the README.md


Itinerancy

[X] add a new parent field
[ ] sort by name
[x] serialize parent/children
[ ] publication of children in addition to publication of parents

Parent field and serialization released in v0.34.0

When a parent is published, his detail page will include all his children (published or not).
If you dont want to display children in RANDO homepage trek list, dont publish them.
Now also available on Geotrek-mobile - https://github.com/makinacorpus/Geotrek-mobile/issues/109
#######################
The system is getting changed to associate children to parent and no more parent to children.
So it has to be done on parent form and no more on children form.
It allows to associate one children to several parents.
It needs to include an order field and no more use alphabetical names to order children.
See https://github.com/makinacorpus/Geotrek/issues/1479 for details.


GPTQ model merged with LoRA become big size after merging

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
If I create a LORA for a GPTQ model and merge it with the original GPTQ model, I should be able to create a model with approximately the same size.
Current behaviour
I used examples/llama-2/gptq-lora.yml.
After creating lora with reference to , I merged it with the following command.
CUDA_VISIBLE_DEVICES="" python3 -m axolotl.cli.merge_lora ../../gptq_qlora/axolotl/gptq-lora.yml --lora_model_dir="../../gptq_qlora/axolotl/checkpoint-800" --load_in_8bit=False --load_in_4bit=False

The original GPTQ version model is 3GB.
The created LoRA is 100MB (optimizer.pt + adapter_model.bin).
However, after merging LoRA, the size is 12.6G (pytorch_model-00001-of-00002.bin + pytorch_model-00002-of-00002.bin).
--load_in_4bit=True made no difference
Steps to reproduce
create lora from gptq model and merge with gptq model.
Config yaml
base_model: webbigdata/ALMA-7B-Ja-GPTQ-Ja-En
is_llama_derived_model: false
gptq: true
gptq_disable_exllama: true
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer
tokenizer_use_fast: true
tokenizer_legacy: true
trust_remote_code: true
load_in_8bit: false
load_in_4bit: false
strict: false
push_dataset_to_hub:
hf_use_auth_token: true
datasets:
  - path: alma-ja-v2_gptq/converted_file.jsonl
    type: alpaca
dataset_prepared_path:
val_set_size: 0.01
adapter: lora
lora_model_dir:
sequence_len: 4096
sample_packing:
lora_r: 8
lora_alpha: 32
lora_dropout: 0.05
lora_target_modules:
  - k_proj
  - o_proj
  - q_proj
  - v_proj
lora_target_linear:
lora_fan_in_fan_out:
wandb_project: test
wandb_watch:
wandb_run_id:
wandb_log_model:
output_dir: ./model-out
gradient_accumulation_steps: 2
micro_batch_size: 2
num_epochs: 4
optimizer: adamw_torch
adam_beta2: 0.95
adam_eps: 0.00001
max_grad_norm: 1.0
torchdistx_path:
lr_scheduler: cosine
lr_quadratic_warmup: true
learning_rate: 0.000017
train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
float16: true
tf32: true
gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention:
sdp_attention:
flash_optimum:
warmup_steps: 100
eval_steps: 50
save_steps: 200
debug:
deepspeed:
weight_decay: 0.1
special_tokens:
  bos_token: "<s>"
  eos_token: "</s>"
  unk_token: "<unk>"

Possible solution
No response
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
3.10
axolotl branch-commit
axolotl      0.3.0
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

Hi, afaik, merging isn't supported for gptq models - link

@Praful932
Hi, Thank you very much.
Okay, So, if I want a single model that has been fine-tuned and GPTQ quantized,
Lora fine-tuning -> merge into one file -> GPTQ -> OK
GPTQ -> fine-tuning -> I can, but merging into one file is not supported.


Documentation--default docker user is nobody

Proposal
I'd like to suggest that the default docker user id being assigned as 'nobody' be mentioned somewhere in the docker installation documentation.  (I'm sorry if this is in the wrong place, I couldn't find a separate git for the documentation, but I also don't know much about using git)
I know there's a long-standing open issue about this, but given it has been un-fixed for years, it is super frustrating as a new user to see this old an issue without mention in the documentation.
This is breaking for some installation configurations (mine: small experimental lab with Portainer as root, which results in a container that looks running but isn't actually working).
Having the default user be mentioned would at least have cued me to know I needed to either do some chmodding or user assignment in the stack from the start.

Closing, figured out where the right place is for this.


Added past programs

I have added past program page.
Screencast from 2024-05-29 18-53-12.webm

Conflicts resolved. issues #40

@Pra-kas The feature you added for past programs is no longer necessary, and you haven't implemented the this feature properly. Everything else has already been added previously. So, if there are any new features, you can open an issue and work on them.


[Gekidou CRT] thread mention counts

Summary
This PR will incorporate thread mention counts to channel mention counts when CRT is enabled.

[x] team sidebar
[x] server list
[x] channel screen header

Fixes channel is_unread to take into account threads.
Fixes "X new messages" to show only root posts when CRT is "ON".
Ticket Link
https://mattermost.atlassian.net/browse/MM-42595
https://mattermost.atlassian.net/browse/MM-40085
Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

Release Note
NONE

@koox00 does the WS for marking a channel as unread has any impact on this?

@koox00 does the WS for marking a channel as unread has any impact on this?

we need to check if the channel is muted, hm, let me see if I can refactor a bit.

Places I see has something to do with mentionCount

local action markChannelAsUnread called in two places
WS action handleNewPostEvent
component ChannelListItem
component (withObservables) TeamItem
component OtherBadges
component Servers
component ServerItem
component Home

conflicts to be resolved


EmsAzure will perform a full refresh RestClient::Unauthorized: 401 Unauthorized error

I saw this on a seemingly unrelated PR test run:
https://github.com/ManageIQ/manageiq/pull/4250
  1) EmsAzure will perform a full refresh
     Failure/Error: Unable to find matching line from backtrace
     RestClient::Unauthorized:
       401 Unauthorized
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/abstract_response.rb:197:in `exception_with_response'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/abstract_response.rb:83:in `return!'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/request.rb:594:in `process_result'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/request.rb:504:in `block in transmit'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/webmock-1.21.0/lib/webmock/http_lib_adapters/net_http.rb:123:in `start_without_connect'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/webmock-1.21.0/lib/webmock/http_lib_adapters/net_http.rb:150:in `start'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/request.rb:494:in `transmit'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/request.rb:202:in `execute'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient/request.rb:52:in `execute'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/gems/rest-client-2.0.0.rc1/lib/restclient.rb:66:in `get'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/bundler/gems/azure-armrest-e47ff458c05a/lib/azure/armrest/armrest_service.rb:310:in `rest_get'
     # /home/travis/build/ManageIQ/manageiq/vendor/bundle/ruby/2.2.0/bundler/gems/azure-armrest-e47ff458c05a/lib/azure/armrest/virtual_machine_service.rb:85:in `block (2 levels) in list'
...

rspec ./spec/models/ems_refresh/refreshers/azure_refresher_spec.rb:16 # EmsAzure will perform a full refresh
Randomized with seed 11108

cc @bronaghs @djberg96  (have you seen this before?)

@jrafanie - Friday I saw this error on Travis while the tests passed locally, I regenerated the VCR cassette and it went away. Is there a known issue with Travis and VCR? @Fryguy

Let me try running the example a bunch of times in a loop...

try this @bronaghs
diff --git a/spec/models/ems_refresh/refreshers/azure_refresher_spec.rb b/spec/models/ems_refresh/refreshers/azure_refresher_spec.rb
index 09687ba..e976c84 100644
--- a/spec/models/ems_refresh/refreshers/azure_refresher_spec.rb
+++ b/spec/models/ems_refresh/refreshers/azure_refresher_spec.rb
@@ -13,7 +13,8 @@ describe EmsAzure do
     @ems.update_attributes(:azure_tenant_id => "a50f9983-d1a2-4a8d-be7d-123456789012")
   end

-  it "will perform a full refresh" do
+1000.times do |i|
+  it "will perform a full refresh #{i}" do
     2.times do # Run twice to verify that a second run with existing data does not change anything
       @ems.reload
       VCR.use_cassette(described_class.name.underscore, :allow_unused_http_interactions => true) do
@@ -29,6 +30,7 @@ describe EmsAzure do
       assert_specific_vm_powered_off
     end
   end
+end

Then:
bundle exec rspec spec/models/ems_refresh/refreshers/azure_refresher_spec.rb --fail-fast
It fails for me after a few runs and I see that the ems_azure.yml cassette is changed locally after running it.

The problem is the expiration of the Azure AAD token:
string: '{"error":{"code":"AuthenticationFailed","message":"The access token
expiry UTC time ''9/8/2015 2:31:38 PM'' is earlier than current UTC time ''9/8/2015
6:18:36 PM''."}}'
I am not sure why the expiration is even today since i always set it to 1 or 2 years out on the Azure AAD portal when  I create it.
Including @bzwei @djberg96  since they just refactored this code…

Note, this is more than "random"/sporadic, it's affecting both master and PR builds.
I've seen 2 PRs and now 2 failed master builds just today because of this error.

The root cause is in armrest gem list methods we have multiple threads. Each thread makes a Rest call. The therad execution is no longer guaranteed but VCR tests require every external request in the right order.
The error RestClient::Unauthorized is mystery to me. It seems the API call gets escaped from VCR and reaches to the real Azure server. I turned off my Internet connection and got different error from VCR.

We'll have to disable this test before we figure out a proper method to arrange multi-thread test.

@bzwei thanks, yeah, disabling it is fine while we get a better understanding of what's happening.

https://github.com/vcr/vcr/issues/200
https://github.com/vcr/vcr/issues/403

@bzwei - Is the RestClient::Unauthorized error caused by the 1 hour expiration of tokens added in the last couple of weeks to the armrest gem? I pasted the error above where the token has already expired even though it is good for 1 or 2 years according to the Azure portal?

The spec test should not be impacted by the actual token expiration date. If this were true, then we would still fail the test after 1 or 2 years.
The refactoring of armrest gem does not change the length of a token, which is given by the Azure provider side. I believe the default length is 1 hour otherwise you have to configure a user setting through the portal, right? I have not tried this myself.

@bzwei - No the token does not expire after 1 hour on the Azure portal

I tested the length with another account and got the default 1 hour. You can do a test with your account once you got a new token back. It has attributes showing the expiration date and length.

Fixed by #4287


Cam controller bugs

After reentering a vehicle with wire cam controller enabled, the entity the cam controller has as it's parent input becomes invisible.

Also after pasting a dupe with a cam controller that was linked to a vehicle, my view starts being controlled by the cam controller even though I'm not sitting in it.

what
On Wed, Dec 23, 2015 at 10:13 AM, thegrb93<EMAIL_ADDRESS>wrote:

Also after pasting a dupe with a cam controller that was linked to a
vehicle, my view starts being controlled by the cam controller even though
I'm not sitting in it.
—
Reply to this email directly or view it on GitHub
https://github.com/wiremod/wire/issues/1062#issuecomment-166839462.

first issue: there's a checkbox for that in the cam controllers context menu
On Wed, Dec 23, 2015 at 3:28 PM, Arvid Enbom<EMAIL_ADDRESS>wrote:

what
On Wed, Dec 23, 2015 at 10:13 AM, thegrb93<EMAIL_ADDRESS>wrote:

Also after pasting a dupe with a cam controller that was linked to a
vehicle, my view starts being controlled by the cam controller even though
I'm not sitting in it.
—
Reply to this email directly or view it on GitHub
https://github.com/wiremod/wire/issues/1062#issuecomment-166839462.

Oh ok then the first issue is that the parented entity will draw when the player enters the vehicle for the first time even if that option is off.
I think maybe it's because I created the parented entity after sitting in the chair.
The other issue seems to be a pasting issue.

Make sure it's linked to a vehicle after pasting it, and also make sure it isn't constantly enabled (using a pod controller's active output is a good choice)

It is constantly active. So maybe it is becoming active before the vehicle is created. I've changed my code to do that, but I still think it should wait until after pasting before becoming active.

The active input is a wire input and they've always worked this way when being pasted. Not saying it's the best idea, but it's the way it always has been.

Sry, what I meant is that it shouldn't start modifying the view until after everything is pasted. Or maybe after it's pasted, stop modifying the view if linked to a vehicle. Anyway I fixed that so not a big issue anymore, but the parent visibility bug might need a fix.


feat(Must): create extension

Description
Created an extension for Must, a great app to keep track of the movies/series you watched, and the ones you will watch in the future.
Type of change

New extension

Screencast
https://user-images.githubusercontent.com/13917975/149185404-b20a463d-d0e4-48e4-b8c8-abe19795c684.mov
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing

hmm, lgtm

Hey @pernielsentikaer, sorry I had to commit via GitHub web because I have other files (extension) that are waiting to be pushed and I didn't want to include them in this PR 😅. It works as you requested now. You can take a look at it again!


cannot install nodejs 4.1.1 64 bit

Any idea how to install nodejs 4.1.1 using nvm for windows?

Download and install the latest release and type nvm install 4.1.1

I think this can be closed

Great man!


Vue Test Utils (VTU) Intro

A short introduction to VTU by explaining what it is, why it is useful, and how to install it with Jest

I added a concrete test example and more details on installation, would this be sufficient?

looks good! the example is detailed and easy to follow. Nice work


Update runFuzzTest.sh Script to be more fault tolerant

Issue # (if available): N/A
Description of changes:
Update runFuzzTest.sh to better handle Fuzz Tests failures.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (fuzz_check_for_empty_string@95fdc0d). Click here to learn what that means.
The diff coverage is n/a.

needs a rebase/merge conflicts resolved.


Improved error reporting for daynaport attach failures

Info

Which version of Pi are you using: all
Which github revision of software: v20.10
Which board version: 2.3
Which computer is the RaSCSI connected to: N/A

Describe the issue
When a user tries to attach a daynaport scsilink, but they haven't configured the network interface with easy install, the web interface just gives a generic failure message. It would be useful for the web interface to figure out if the easyinstall network setup has been done, and if not, tell the user what to do.

@akuker I don't think we even throw any kind of error message when attaching daynaport before configuring ipv4 forwarding (for wired) or NAT (for wireless). Even worse, we've gotten reports that attaching daynaport before running the configuration causes the network interface to become unreachable. I assume this is due to how rascsi dynamically brings up rascsi_bridge when you attach daynaport (or the host bridge).

@akuker This is a kind of crude approach, introspecting the configuration files themselves. A true Linux networking guru can probably do better, but in the meantime it's better than nothing I think:  https://github.com/akuker/RASCSI/pull/428


Always scrolling top

Hello
I am doing the migration to version 12 and with the changes, it always does scroll to the top. I have the following code
import smoothScroll from 'smooth-scroll'; ... this.smoothScroll = new smoothScroll('a[href^="#linkto"]', {easing: 'linear'}); ... // when clicking on the link let target = document.querySelector(element); this.smoothScroll.animateScroll(target, 0, { offset: this.history.offsetTop + 10 });
And it scroll up. On the second click on the same link it gives this error Cannot read property 'tagName' of null at Object.I.animateScroll.

Please provide a reduced test case: https://github.com/cferdinandi/smooth-scroll/blob/master/SUPPORT.md
I'll reopen once one is provided. Thanks.


graceful removal of hosts

When I want to remove a host, I first select "deactivate" and then "remove". However, rancher does not begin to re-schedule containers on the deactivated host until you select remove. At this point, it might take time for the new containers to start on any new or remaining hosts. It would be nice if the re-scheduling started to happen after "deactivating" a host and when a host was fully "deactivated" it is safe to remove it.
One downside to this approach is that the "scaling" size for services has to be relaxed during this deactivation period (since a service container will continue to run on the deactivated host until it starts on a new host). There would also need to be some sort of "timeout" if services cannot start on new hosts and you still want to deactivate/remove the old host.
This would provide a nice way to remove hosts without service disruption and something I thing the "deactivate" state is well positioned to offer.

The "deactivated" state was always meant to allow you to set the host in a state where you would leave the host alone, stop scheduling new containers on the host, but do not stop the existing containers.  You would commonly use this when the host is in max capacity and you don't want Rancher to schedule anymore unto the host or perhaps do some maintenance on it and do not want any new activity to be placed on the host.
For your specific problem, I assume the issue is that you only have 1 container per service and since you removed the host, it will still take some time before the health check kicks in and the container rescheduled unto a new host?  I also assume that it could be annoying to manually scale up a service before removing a host and you would also have to guarantee that the new container lands on a different host via some anti-affinity rule.  I'm trying to understand your use case a bit more.

I run an LB instance in front of my services and I think in my case I had a single LB instance and it was on the host I wanted to bring down. I have since changed my deployment structure to not co-locate LBs on the same hosts I run service containers on to avoid other issues with network and memory.
Now that you have explained what deactivated means, I don't think this it as big a deal since I know the process now for bringing down a host per what you described if I do end up with a single container.
Some users might want a state where the host is running as is but no longer part of the LB network (aka receiving inbound data, etc). I don't have that immediate need tho I do find the word "deactivated" possibly overloaded for these use-cases.


Subscription throws uncaught handshake exception when using http

<!--
I get this error when trying to make a subscription connection:
There was an error causing connection lost: HandshakeException: Handshake error in client (OS Error:
        WRONG_VERSION_NUMBER(../../third_party/boringssl/src/ssl/tls_record.cc:242))
coming from somewhere deep inside the WebSocket library.

Is there some setup I need to do to allow subscriptions over http? It works fine when I use my https endpoint but I'd like to set up some containerized testing environments without the rigamarole of signing certificates.

**Expected behavior**
 subscription connects and tests pass the same as they do when I use an https endpoint

**device / execution context**
Windows

maybe https://github.com/daegalus/dart-uuid/issues/103


improve garbage collection of stream

Fixes #828.
This removes the Iterate method of the streamsMap, and moves the garbage collection of closed streams from the session to the streamsMap.

Codecov Report

Merging #867 into master will decrease coverage by 0.01%.
The diff coverage is 89.47%.

@@            Coverage Diff             @@
##           master     #867      +/-   ##
==========================================
- Coverage   90.99%   90.99%   -0.01%
==========================================
  Files          92       92
  Lines        6228     6224       -4
==========================================
- Hits         5667     5663       -4
  Misses        357      357
  Partials      204      204

Impacted Files
Coverage Δ

session.go
85.43% <33.33%> (-0.25%)
:arrow_down:

streams_map.go
93.41% <94.29%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

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


replace NSException with NSError to enable catching when using form S…

Replace NSException with NSError to enable catching when using from Swift and prevent crashes in apps written in Swift.

Introduced NSError pattern in new release of version 3.0.0


fix: correctly resolve OOPIF response bodies

What kind of change does this PR introduce?
Bugfix
Did you add tests for your changes?
Yes
If relevant, did you update the documentation?
Summary
Fix for https://github.com/puppeteer/puppeteer/issues/13307. I've raised it as a draft initially as there's a potential edge case that this may need to account for in #maybeReassignOOPIFRequestClient - namely, if we end up with different sessions for a document request on the main frame (top-level page). Is this something you're aware can happen? If so, what do you think would be the best way of making this info available for this check in NetworkManager, i.e. does the CDPSession that just received a Network.loadingFinished or Network.loadingFailed event belong to the 'main' target or not?
Does this PR introduce a breaking change?
No
Other information

Fix for https://github.com/puppeteer/puppeteer/issues/13307. I've raised it as a draft initially as there's a potential edge case that this may need to account for in #maybeReassignOOPIFRequestClient - namely, if we end up with different sessions for a document request on the main frame (top-level page). Is this something you're aware can happen? If so, what do you think would be the best way of making this info available for this check in NetworkManager, i.e. does the CDPSession that just received a Network.loadingFinished or Network.loadingFailed event belong to the 'main' target or not?

what do you mean by different sessions for a document request? The only thing that can happen is that the network manager gets a new client on pre-rendering activation but that is not associated with a network request so it should not have an effect on ongoing network activity (except that the client before the activation will get disconnected and its network data would not be available anymore). I think the solution in this PR for updating the client to the client that received the loading finished/failed events makes sense.

Apologies I should have given a clearer example. With the OOPIF scenario, this new check works because the HTTPRequest instance for its navigation request is initialised with the client of the main target where its initial CDP events are fired, but then it’s Network.loadingFinished or Network.loadingFailed are fired on the OOPIF target, so this check can compare the clients in the #onLoadingFinished and #onLoadingFailed handlers and reassign clients if needed.
My question was is there a possible scenario where we’d receive a navigation request for the main target where its initial CDP events are fired on the main target client (and so it’s HTTPRequest instance is initialised with this client), but then it’s Network.loadingFinished or Network.loadingFailed events are fired on a different client, leading to this new check being true for the main target and its session being reassigned (e.g. if Puppeteer swaps out frame clients for the main target some reason)? If that’s not a possibility then all good :)
I can see there’s some failing tests in CI, i’ll try and take a look at those this evening.

Got it, thanks for the explanation, so I do not think the scenario you describe can currently happen.
The failing tests seem to be for the WebDriver BiDi implementation that do not support getting the response bodies yet. Let's mark the test as FAIL in test/TestExpectations.json for "webDriverBiDi" on all platforms.

you can run npm run format to fix all formatting/lint issues that could be automatically fixed (it includes also the formatting for the expectation files)


Fix parsing of SWC files with discontinuous section points.

Fixes #383.

@lidakanari I think this fixes the issue (albeit in an awful way.)


Possible conflict with ModernFix

          Also take a look at this error

#269
Originally posted by @Willem07 in https://github.com/hammertater/treechop/issues/231#issuecomment-1766231654

Can confirm, Modernfix breaks Treechop in Survival.

Unable to reproduce, authors suggested a GPU-related issue


Finish the GitHub link feature

Esp. site.go is filled with TODOS and other comments related to the GitHub link stuff that does not indicate completely finished.
I didn't merge this, but someone should finish it. @SvenDowideit -- feeling up to it?

yeah, I also need to add more unit tests, and add mmark support, as we'll be wanting some of its features soon.

@SvenDowideit what is the status on this? If noone else is stepping up to fix this issue, I will. And I will go the easy route.

mmm, I think we forgot to merge this when I made the changes

This issue has been automatically marked as stale because it has not been commented on for at least four months.
The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still valuable, please open a proposal at https://discuss.gohugo.io/.
This issue will automatically be closed in four months if no further activity occurs. Thank you for all your contributions.

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.
If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.


Display symbols with multiple defs. with the right attributes in the Kconfig documentation

Currently, Kconfig symbols defined in multiple locations get all their properties (defaults, selects, implies, and ranges) displayed on the first instance of the symbol in the Kconfig documentation, rather than on the instance that actually has the attribute.
I thought of some internal Kconfiglib reorganization that would fix this (and that might also clean up the dependency propagation code a bit).
It's not a priority at the moment, but recording for possible later work.

@carlescufi

Note to self: Save all properties separately on the menu node itself during parsing, then propagate them up to symbols and choices in _finalize_tree().


Too many errors

The script is missing multiple parameter checks (Simple add required = True would solve this)
parser.add_argument("-c", "--count", default="all", help="Character count to change with punycode alternative")

And always crashing,
[*] Processing: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Traceback (most recent call last):
  File "punydomaincheck.py", line 285, in <module>
    punyDomainCheck(args, logger)
  File "punydomaincheck.py", line 268, in punyDomainCheck
    "[+] Punycheck result for {}{}.{}{}:\n {}".format(GRE, args.domain, args.suffix, RST, tabulate(string_array, headers=headers_list)))
UnboundLocalError: local variable 'headers_list' referenced before assignment

Can you help?

Solve the problem at new commit. Also added parameter check.

Thanks


update pre-commit branch

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

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

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
326

Relevant Lines:
793

💛  - Coveralls


Improve logging when falling back to default SLI

We had the following issue in an environment of @gabrielprioli
The SLI used in the slo.yaml had the name error_rate while the SLI name in the sli.yaml was of name error_rate_svc (please note the _svc at the end). Therefore, the SLI was not used, but instead the SLI service (dynatrace) felt back to the default query for the error_rate.
Unfortunately, the logs didn't indicate that there is a fallback mechanism and it is not clear for the user that even though the SLI is not defined in the sli.yaml it is still used.
2020-10-29T15:03:34.515566849Z {"timestamp":"2020-10-29T15:03:34.515382544Z","logLevel":"DEBUG","message":"Found dynatrace/sli.yaml on service level"}
2020-10-29T15:03:34.51560725Z {"timestamp":"2020-10-29T15:03:34.515415945Z","logLevel":"INFO","message":"Found custom SLI queries in dynatrace/sli.yaml for project=easytravel,stage=production,service=easytravel-backend"}
2020-10-29T15:03:34.51561505Z {"timestamp":"2020-10-29T15:03:34.515478747Z","logLevel":"INFO","message":"Fetching indicator: error_rate"}
2020-10-29T15:03:34.51562005Z {"timestamp":"2020-10-29T15:03:34.515492747Z","logLevel":"DEBUG","message":"Retrieved SLI config for error_rate: metricSelector=builtin:service.errors.total.count:merge(0):avg\u0026entitySelector=type(SERVICE),tag(keptn_project:$PROJECT),tag(keptn_stage:$STAGE),tag(keptn_service:$SERVICE),tag(keptn_deployment:$DEPLOYMENT)"}

You can find the SLIs and SLOs of the project here: https://github.com/gabrielprioli/autoremediation-demo-keptn/blob/production/easytravel-backend/slo.yaml
Suggestion for improvement:
The fetching indicator: error_rate should state something like:
No custom SLI for error_rate found, falling back to default implementation.

This is not a Keptn related issue, but it depends on the SLI service provider. Could you please raise these as separate issues for all SLI service repositories affected?

Opened https://github.com/keptn-contrib/dynatrace-sli-service/issues/105

Thanks! closing this in favor of keptn-contrib/dynatrace-sli-service#105


Components (HTML/JS)

Description
Trying to break out separate UI sections and code into smaller "components" that can be added to HTML Pages and are re-usable. We want to also maybe include each of these in the styleguide (todo later)
Set up a basic todo list example app in another folder with a new js entry point
It seems like we can have two different types of components/templates

static -- that are built during the webpack compile and included in the page (e.g. header)
dynamic -- that are imported/required in javascript files and render html and change based on the users actions/setting (e.g. todo and add-input)

Important changes here
Related
N/A
Visual

TODO

[x] underscore-webpack-loader for static templates (no JS)
[x] Handlebars for dynamic components (bb39c3c and #23)
[x] Rename src/components/ to src/static for static HTML components
[x] header partial param for adding class to current page header link (bb39c3c)
[x] icons in handlerbars components (36d6824 and db646b2)
[x] style todo app (08db5f2)
[x] footer static component (#22)

docs
github
api?
contact info?
build/version info (hidden)

branch
commit?
datetime of build

copyright?

[x] Updated READMEs

add README.component.md in src/todo/component

can be either in subdir or top level

add README.model.md in src/todo/model

also either subdir or top level

readme.loaders.md
README.static.md

macros

update README.entry.md on notes on html entry's

[x] Reactive handlebars for events? seems way out of date

https://github.com/hadijaveed/reactive-handlebars
https://medium.com/@hadijaveed/writing-reactive-templates-with-handlebarsjs-c163a2816510

[x] Hierarchical Components
[x] Better Event Handling/Rendering setup

Think we should figure out a framework in a different Repo....
see notes: https://github.com/devlinjunker/template.webpack.fend/pull/23/files#diff-5ed0e14e21a91f683c6c72d5447771a7R25

[ ] Partial File Linting/Formatting

Prettydiff? installed, but doesn't really lint html files, only beautifies them
Require " for attributes

[ ] PR Body

I think we might want to use this webpack-underscore-loader for the static templates (may want to rename the top level components/ directory to something like static/.
Then we can use handlebars maybe for dynamic templates/components, this will make it easy to use Fractal for a styleguide

It looks like handlebars can be used for both the compiled “static” and rendered “component” templates (again I think we should make the difference being wether or not javascript is included with them)

So handlebars is great for templating the HTML and structure of the page. For now, I am just using vanilla JS and functions to create the DOM and attach handlers to elements but this still feels clunky...
https://github.com/hadijaveed/reactive-handlebars looks interesting for managing handlers and updating the DOM when properties change... added some todos about that
also https://medium.com/@hadijaveed/writing-reactive-templates-with-handlebarsjs-c163a2816510

Got svg icons to be inlined during build process on simple handlebars partials: https://github.com/devlinjunker/template.webpack.fend/pull/11/commits/36d682405d656eb05638732d3175364cc237628a?file-filters[]=.hbs&file-filters[]=.html&file-filters[]=.js&file-filters[]=.scss&hide-deleted-files=true
Will this work on larger things?
Ideas:

[ ] App Container partial?

#each on todo list
todo partial rather than importing to js file?

Look at this point:

TODO Create Separate PRS into this one for each new idea (help keep code changes small -- eventually this will be a huge PR but you can go through smaller ones to see the individual changes)

Q: Should we just create html-inline-loader (svg-inline-loader?)
- run on all html and hbs files
- looks for @inline() and replaces with contents of file? just svg?
- return contents of file called on (html/hbs) not wrapped in module.exports
- Q: if we compress js file after using this, all repeat svgs will be replaced right?

v1.1 of underscore-template-loader fixed the issues with macros in webpack.config.js, so changes to libraries are no longer needed and this is not blocked by that anymore!
💯

progress report:

Attempting Partial Linting:

tried prettydiff, installed, but doesn't look like it really lints html files, only beautifies them
also tried ember-template-lint:

saw errors while trying to parse some templates (no partials, no block helpers?)

./src/components/form/checkbox.hbs
  18:6  error  A block may only be used inside an HTML element or another block.  undefined

./src/components/list/list-item.hbs
  2:2  error  Handlebars partials are not supported: "{{> (lookup . 'template')" at L2:C2  undefined


Quick wins 🏆

These turned into not very quick wins actually.
In this PR:

Fixed a bug where the chevrons were too close to their links
Make all the visited links blue
Unbolded things where we wanted to unbold them

resolves #224

Translates our links

resolves #128

Preserves bolded text to the french version of the site

also resolves #128

Fixes a layout bug we were seeing with the noJS calendar, where the "selected days" box would always be underneath it.

Gonna executive decision merge this PR and then deploy it since this is all needed for our go-live.


Automatically detect setting directories

[ ] Automatically detect Skyrim directory

This should be automatically detected from the registry when the application first starts up. After that, the value saved in the user's settings should be used.

This isn't needed anymore because the launcher has no need for the Skyrim directory. Wildlander now uses Stock Game


Error with BL input file reading

Hello OpenFAST team,
I'm trying to have the code reading the same boundary layer data input file over multiple sections. One could argue that it is weird to try doing that, but it was a convenient thing to do close to blade root, where BL data is hard to obtain from codes like XFoil. The code is now throwing the error "FAST_InitializeAll:AD_Init:Init_AAmodule:AA_Init:ReadInputFiles:readbltable:OpenFInpFile:Cannot
open file"
@andrew-platt
Could it be that this routine opens the files but does not close it? Matlab/Python would crash in a case like this. Does Fortran run into the same issue?
https://github.com/OpenFAST/openfast/blob/ff33ca1cf65f2e13c1de0ab78cc2396ec4a47ce0/modules/aerodyn/src/AeroAcoustics_IO.f90#L391
Am I off track? If I am not, is this is a hard bug to fix?
It is NOT an urgent issue.
Thank you!
Pietro

Yes you are right, only the last file is closed, I can submit a quick fix

Thank you!

@ptrbortolotti Did you verify that this fixes the issue?

It does fix it thank you. I close the issue


Does this support TC3, or just 2.x like pyads?

@evanmj, yep, this should work with Twincat 3 (we use TC3 here at Counsyl).

Please re-open if you encounter any issues!

@tajmorton Thanks!


Replace complete original string in PowerRename

Description of the new feature / enhancement
Option to NOT find and replace matching string but rather replace the whole original file/folder name.
Scenario when this would be used?
Camera footage applies its own naming which looks something like "DJI_0129", "DJI_0130", etc. I need to be able to replace everything including the numbering the camera applies to apply my own numbering scheme.
In the example below you can see that I'm only able to replace the first part of the original file name and I'm stuck with the extra numbers at the end.

Supporting information
No response

@Samuel-Murray-Metservice
If you enable "Use regular expresion" and search for .* it should do what you want. /helped


Compiler Issue for Xcode 10.3

Hi Brian!
We need support for this.. must remove the default values, thank you!

I strongly advise updating to Xcode 11+.  This library will only be supported for the latest major version of Xcode.