@Issue with the dataset used in this code

Hello, I am a new member of Github community. Thus, please forgive me if my question is inexperience or immature in anyway.
I am wondering as of which dataset was implemented in this code in order for me to try implementing and reproduce said result? In your readme file I cannot find the dataset information anywhere so I am kinda confused.
Wish you had a good day.

I believe you need to have your own dataset with extension .h5
Have you managed to properly install and import both classification_models_3D and segmentation_models_3D without any issues or errors?

Thank you for your fast reply.
Yes, I have already installed and imported sad libraries without any issues or error. The cell within "train_3Dunet.ipynb" also print out "All libraries successfully imported".
Based on your comments, in order for me to implement this work, I should transform my dataset into .h5 extension or try to find a dataset that already in .h5 extension to test the code? The reason why I create the issue post was because I cannot find an example .h5 file originally from your work therefore I haven't actually run all the code yet.
Again, thank you very much for your reply.

When i run this cell
funky librairies for segmentation
from classification_models_3D.tfkeras import Classifiers
import segmentation_models_3D as sm # pretrained models
#import segmentation_models as sm
from patchify import patchify, unpatchify
i get this error:
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[4], line 2
1 # funky librairies for segmentation
----> 2 from classification_models_3D.tfkeras import Classifiers
5 import segmentation_models_3D as sm # pretrained models
6 #import segmentation_models as sm
File ~\anaconda3\Lib\site-packages\classification_models_3D\tfkeras.py:2
1 import tensorflow.keras as tfkeras
----> 2 from .models_factory import ModelsFactory
5 class TFKerasModelsFactory(ModelsFactory):
7     @staticmethod
8     def get_kwargs():
File ~\anaconda3\Lib\site-packages\classification_models_3D\models_factory.py:14
12 from .models import mobilenet as mb1
13 from .models import mobilenet_v2 as mb2
---> 14 from .models import efficientnet as eff
15 from .models import efficientnet_v2 as eff2
16 from .models import convnext as cnext
File ~\anaconda3\Lib\site-packages\classification_models_3D\models\efficientnet.py:33
30 import math
32 from keras.applications import imagenet_utils
---> 33 from keras.engine import training
34 from keras.layers import VersionAwareLayers
35 from keras.utils import data_utils
ModuleNotFoundError: No module named 'keras.engine'
Do you have any why i get this? (just for info, i imported all other necessary libraries before this cell)
i am not a contributor in this repository, i am testing it out just like you are :) As for the file extension, i am actually using nifti and i changed the code accordingly. but in your case, try to use a dataset with .h5 extension

@jumanamj: Hi, sorry for the misunderstand.
For the moment, I cannot find the cell you mentioned. However, I did copy the content of the cell and run on my device, which resulted in no error.
According to your error, the problem is due to the lack of module 'keras.engine'. My guess is that the keras library version and the efficientnet library version has a mismatch, thus during installation, the efficientnet cannot include the keras.engine module. Maybe you can try uninstall and reinstall both libraries for a quick check.

are you using jupyter notebook?

@jumanamj: kinda similar, I had it run in VS Code with the Jupyter Notebook extension. Hope that you can solve your problem soon.

@jumanamj: I am currently using python 3.8, keras version 2.8.0 , classification_models_3D version 1.0.8, segmentation_models_3D version 1.0.5,

@jumanamj: I am currently using python 3.8, keras version 2.8.0 , classification_models_3D version 1.0.8, segmentation_models_3D version 1.0.5, and patchify version 0.2.3

Hello,
May I ask if there is a source to the database that you used.


Open folds in previews

Just installed it yesterday, but I'm already enjoying this plugin so much. :blush:
One thing I realized which is a problem while working is that previews (especially the definition preview) is not open folds. I assume this is just opening the file into a regular buffer and scroll to the specific line. So this automatically applies my usual fold settings (which I use from Treesitter). While I still like my folds and think they are useful when opening a file, for  a preview they are more obstructive. Do you think it is possible to open them? Maybe set the foldlevel option for the preview window to a very high value or just "run" zR in the window. What ever fits better the code I would say.

Another idea: If I remember the LSP specification correctly, the Location object includes a range. This would allow to trim the preview to just the range of the definition. So there is nothing shown below. Trimming the buffer seems to cumbersome, but adopting the window height to the range height should be perfectly fine.
Maybe you are doing this already and I just don't see this as I have the folds. Just came into my mind and I haven't checked the code.

Btw: I'm totally fine to contribute to the plugin myself. I'm just opening issues first to discuss them with you. All the issues must be a lot of work.

Btw: I'm totally fine to contribute to the plugin myself. I'm just opening issues first to discuss them with you. All the issues must be a lot of work.

Maybe you are right, because I did not test the folding situation, Pr welcome.
Regarding Location, built-in lsp use it everywhere, but I don’t like to use location , so I use a lot of floating windows. I hope our eyes only need to focus on the center of the screen or a slightly lower position instead of lowering our heads. to look at location...

Maybe you are right, because I did not test the folding situation, Pr welcome.
Regarding Location, built-in lsp use it everywhere, but I don’t like to use location , so I use a lot of floating windows. I hope our eyes only need to focus on the center of the screen or a slightly lower position instead of lowering our heads. to look at location...

I'm not sure  I understand what you mean. Because my english is not so good :)

I'm not sure  I understand what you mean. Because my english is not so good :)

Maybe you are right, because I did not test the folding situation, Pr welcome.

Alright. I'll probably go for the window option approach. Let's see how it goes.

Maybe you are right, because I did not test the folding situation, Pr welcome.

Alright. I'll probably go for the window option approach. Let's see how it goes.

I'm not sure I understand what you mean. Because my english is not so good :)

I need to express myself better. :grimacing:

Regarding Location, built-in lsp use it everywhere, but I don’t like to use location , so I use a lot of floating windows. I hope our eyes only need to focus on the center of the screen or a slightly lower position instead of lowering our heads. to look at location...

I think there is a little misunderstanding. I like the floating window. I mean thats what this plugin is about, right?
So I looked at the code myself. And it looks like you almost do what I intended to. But why do you add this "extension" of 10 additional lines here. As I understand the LSP spec, the range of the returned location object should span from the first line of the definition to the last. So just using range.start.line to range.end.line + 1 should be fine or?

I'm not sure I understand what you mean. Because my english is not so good :)

I need to express myself better. :grimacing:

Regarding Location, built-in lsp use it everywhere, but I don’t like to use location , so I use a lot of floating windows. I hope our eyes only need to focus on the center of the screen or a slightly lower position instead of lowering our heads. to look at location...

I think there is a little misunderstanding. I like the floating window. I mean thats what this plugin is about, right?
So I looked at the code myself. And it looks like you almost do what I intended to. But why do you add this "extension" of 10 additional lines here. As I understand the LSP spec, the range of the returned location object should span from the first line of the definition to the last. So just using range.start.line to range.end.line + 1 should be fine or?


merge history db file into a common db file to avoid db file booming

I don't believe this is safe, nothing stops something else with that pid coming along while this is running. In addition there's nothing stopping this being run concurrently.

I don't believe this is safe, nothing stops something else with that pid coming along while this is running. In addition there's nothing stopping this being run concurrently.

I think this method should be called when a process is atexit, so, nobody should called it at runtime.
for uwsgi and gunicorn, they both have a hook to run method at worker exit
for safe, if you insist on it, we can use a file lock, but I think process exit is a low probability  event.

#443 this issue has the same problem with me. I used multi process mode a few days and I found the endpoint for scrape  latency was becoming more and more slow, so I checked the prometheus_multiproc_dir, and found there were 1000+ db files, because sometimes the worker would exit, so the number of db files increased dramatically

We can't make any assumptions about how this code is used, and given it's in a multi-process environment it must avoid any race conditions.
How would this work for gauges?

We can't make any assumptions about how this code is used, and given it's in a multi-process environment it must avoid any race conditions.
How would this work for gauges?

As you can see in the code, we use the same method to merge metrics as they are being scraped. I have use this commit in my production environment,  and it works well, the latency of scrape endpoint has been reduced significantly. We can use file lock to avoid race condition.

We should point out that this code should only be used in the multiprocess mode

I have added process lock code which is from django.core.files.locks

What happens if a process exists, sets a gauge, exits, and a new process comes along with the same pid?

What happens if a process exists, sets a gauge, exits, and a new process comes along with the same pid?

            for s in metric.samples:
                name, labels, value, timestamp, exemplar = s
                if metric.type == 'gauge':
                    without_pid_key = (name, tuple([l for l in labels if l[0] != 'pid']))
                    if metric._multiprocess_mode == 'min':
                        current = samples_setdefault(without_pid_key, value)
                        if value < current:
                            samples[without_pid_key] = value
                    elif metric._multiprocess_mode == 'max':
                        current = samples_setdefault(without_pid_key, value)
                        if value > current:
                            samples[without_pid_key] = value
                    elif metric._multiprocess_mode == 'livesum':
                        samples[without_pid_key] += value
                    else:  # all/liveall
                        samples[(name, labels)] = value

We have 5 mode for Gauge in multi process mode, all, min, max, liveall, livesum. In livesum and liveall mode,  we will delete the died process's db file, in min and max mode,  we will compare the old and new value and chose the correct value, in all mode, if this event happend, no matter old code or my commit, the new value will cover the old value.
Process exit and get the same pid is a low probability event.

Process exit and get the same pid is a low probability event.

It's a certainty though at scale.

Process exit and get the same pid is a low probability event.

It's a certainty though at scale.

Yes，Gauge is really a problem in multi process mode, developer should think it carefully. Do you have a good idea to reduce the latency in multiprocess mode when the nums of db files increase?

Currently the main approach is avoiding creating lots of files in the first place.

I'm also hitting this issue (uWSGI restarted often, resulting in lots of files which cause /metrics endpoints to become too slow). I'm interested and willing to help to see this PR being merged.
With the exception of test that fail due to:

nested lock acquisition - mark_process_dead and merge took the lock
and labels pid=merge added on gauge in addition to pid=$original_pid. So we could not add this duplicated pid labels or ensure it's added "before".

What block this PR ?

locking seems correct. Merge is only performed on own pid files (no pid reuse issue) and with the lock file
gauges are merged as they already are. We just reads less files.

On gauges, this PR indeed don't fix the fact that number of gauge metrics will increase... but it's not a regression.

locking seems correct. Merge is only performed on own pid files (no pid reuse issue)

That's not the case, mark_process_dead runs in a different process.

I' m using this feature in my production env now and there is no problem at present

locking seems correct. Merge is only performed on own pid files (no pid reuse issue)

That's not the case, mark_process_dead runs in a different process.

mark_process_dead runs when process is going to exit, and it only do its own merge work, using a lock will make this progress serialized.

In uWSGI case, mark_process_dead will probably run at process exit (so with own PID). At least it's own I did it (using Python atexit handler). But in Gunicorn, mark_process_dead will be called by master process for another PID.
This indeed open a (small) race-condition: if mark_process_dead is run with the PID of a terminated worker AND a new worker start using the same PID. The lock won't help there, since the new worker kept an open file descriptor to the file that mark_process_dead will remove.
This should however be quite rare as it require the OS to re-assign the PID of a recently terminated process. But nothing forbid this to happen.

BTW, this race-condition is now new. Gauge livesum and liveall already had this issue (new worker open the file, then mark_process_dead run by master remove them). Or did I miss something that avoid this race condition which could be reused ?

I think we can use pid+process_create_time to name the file, this could avoid 2 process with same pid to have same file name

I think we can use pid+process_create_time to name the file, this could avoid 2 process with same pid to have same file name

There's nothing stopping two processes being created and terminated in the same second with the same PID.

(new worker open the file, then mark_process_dead run by master remove them).

True, we should look at fixing that.

There's nothing stopping two processes being created and terminated in the same second with the same PID.

yes, but I think this is a very very very low probability event. In psutil, I also find a comments related to this problem.

In psutil, the create_time has more precision that in our case (it's a float number of seconds). But I agree that this event look like a very low probability (and in my opinion it's acceptable. maybe the merge should be an opt-in option ?)
The best solution I can think of that don't have "low probability" error is to add a new method that must be called by worker itself at exit, not by the master. It will merge files. User may or not register this method if the merge is wanted or not.

to add a new method that must be called by worker itself at exit, not by the master.

I doubt that our users will have that level of control. This needs to work with all forms of multiprocess setups, including gunicorn and multiprocessing - and handling things like a segfault of a child correctly.

In psutil, the create_time has more precision that in our case (it's a float number of seconds). But I agree that this event look like a very low probability (and in my opinion it's acceptable. maybe the merge should be an opt-in option ?)
The best solution I can think of that don't have "low probability" error is to add a new method that must be called by worker itself at exit, not by the master. It will merge files. User may or not register this method if the merge is wanted or not.

why gunicorn worker cannot register this method to ateixt?

Atexit is not reliably generally, plus things might happen before it got registered.

I still dont understand how to handle the growing number of db files. When is it safe to remove them? The documentation states that the files should be cleared on every deploy which suggests that they can be removed without any special hesitation unless a process is currently writing to them. So what happens if I remove files? Do I risk losing data? Then how come it works to purge the files on a hard restart? Wouldnt an easy solution be to just have some kind of cleanup cron that just removes old files?

The documentation says that you should delete them when the process restarts, there's nothing more to it. Anything else is unsafe.
This issue is also not the place for usage questions, please take those to the prometheus-users mailing list.

The issue from 2017 https://github.com/prometheus/client_python/issues/204 is still not resolved, suggesting this client library is designed to serve metrics with multi-second latency.
I appreciate @brian-brazil is so careful about unlikely race conditions that may happen, but it means this library is in no way production-ready.


Bug: Edit menu pop-ups on switching keyboard layout

Hi,
I'm using Keybase on Arch Linux. When I change a keyboard layout (Russian <-> English) using Alt+Shift hotkey the Edit menu pop-ups. It's very annoying and I strongly believe it's a bug.

There is a VERY OLD bug in Elecron: https://github.com/electron/electron/issues/11106
And there is also a fix mentioned (remove anchors (&) on menu items in menu helper).
// ping devs


Token count across LangGraph docs (WIP)

To add --
1/ token accounting on LangGraph code
2/ w/ 1 we can also filter ntbks by cell type and remove all ntbk outputs


GenerateJavaStubs

I get the following error after adding the permissions plugin to my android app.
Error MSB4018: The "GenerateJavaStubs" task failed unexpectedly.
System.InvalidOperationException: Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute.
at Xamarin.Android.Tasks.ManifestDocument.CreateApplicationElement(XElement manifest, List1 subclasses, List1 selectedWhitelistAssemblies)
at Xamarin.Android.Tasks.ManifestDocument.Merge(List1 subclasses, List1 selectedWhitelistAssemblies, Boolean embed, Boolean replaceSplashScreen, IDictionary2 splashScreenClasses, String bundledWearApplicationName, IEnumerable1 mergedManifestDocuments)
at Xamarin.Android.Tasks.GenerateJavaStubs.Run()
at Xamarin.Android.Tasks.GenerateJavaStubs.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() (MSB4018)
What can I do? I read something about mainApplication.cs but still do not know what to do :(

This is caused due to the Plugin.CurrentActivity, I went to that plugin and there is answer https://github.com/jamesmontemagno/Xamarin.Plugins/issues/165

Adding Plugin.CurrentActivity in Xamrin.Droid will add a new class in named as Main Application so conflict arise between MainActivity which is already there in Xamarin.Droid and Main Application.
Deleting the MainApplication class will Resolve the Issue.

I wouldn't just delete the main application, there is important logic inside of it. So failure to move that logic over will cause some serious issues.

I experience the same issue, the link provided in bovp2000's comment is broken, can someone give the right link to the solution?
Thanks.
A.

Essentially i put down a MainApplication file that has important information in it to get things working for activity tracking. You may already have a file that has an [Application] attribute, so merge those together.

I got this situation on my droid app as well. The problem was caused by these lines in AssemblyInfo.cs file:
#if DEBUG
[assembly: Application(Debuggable = true)]
#else
[assembly: Application(Debuggable=false)]
#endif
The applied solution was:

Comment those lines in AssemblyInfo file;
Adjust the [Application] attribute in the MainApplication class to keep that feature:
//You can specify additional application information in this attribute
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
....

With this, the project worked fine.

  Thanks - it worked for me.

See: https://github.com/jamesmontemagno/currentactivityplugin

Thanks @wallacesantos  for the info!
FYI: Everyone who follows this guide: https://developer.xamarin.com/guides/android/deployment,_testing,and_metrics/publishing_an_application/part_1-_preparing_an_application_for_release/
and then your guide: https://blog.xamarin.com/integrating-in-app-purchases-in-mobile-apps/
... is going to run into this issue! Suggest at the very least updating the readme.txt and your guide. There are half-a-dozen other options for the nuget. This issue should not be closed / a new one should be opened?

 Now I have to use another plugin... Xamarin team ability to F*** with us is unbelievable.

@wallacesantos your solution works, but now, I'll have to change this setting on the MainApplication.cs every time I decide to release or debug? It's not viable to have something that I can forget hardcoded. It most certainly will cause problems later and it will take an eternity to find the problem.

What do you mean? This plugin has nothing to do with Forms.Context at all @dpedrinha

The CurrentActivity one does, there's a problem with it that even without another Application in the project it won't compile, and @wallacesantos fix for it is here. Sorry if I missed that the thread was about another plug in. And sorry trashing on the xamarin team on your turf. And BTW, you should add his fix to your readme.txt file from the plug in I'm talking about.


net/ethernet/arp: Let ethernet L2 managing pkt's reference while sending

prepare_arp() was unreferencing original pkt (called pending there) in
case of error.
net_prepare_arp() was always unreferencing pkt, though it could have
been already unreferenced by prepare_arp() as seen previously which is
an extra boguf unref in this case.
And in case it returned NULL, ethernet_send() would return NET_DROP
which in turn would make net_if's tx code to unref again the pkt.
This patch ensures pkt is unrefed only once and at the right place.
Signed-off-by: Tomasz Bursztyka<EMAIL_ADDRESS>

my keyboard was writing with front teeth missing


旭日图问题

Version
4.1.0-release
Reproduction link
https://www.echartsjs.com/examples/editor.html?c=sunburst-book
Steps to reproduce
点击旭日图最外层的item即下钻到最底层，再不断通过点击最内层的item上钻返回，在最后一次上钻时出现bug
What is expected?
能够上钻返回初始状态
What is actually happening?
在最后一次上钻时无法正常上钻

I tried to disable the line 180（r0: 0）, and this time I can back to the root layout. But the presentation of '虚构' is not right.
Addition:
Why I can't find the configuration of r、r0 and position: 'outside' in the document???

This is not quite a bug, but a bad design... When drilling down some levels that has r0 as 0, there is no place to put the return button. Not sure what can be done to fix this problem.
The r, r0, position: 'outside' is missing for the doc.


libvirt: Darwin fixes

Description of changes
The Darwin build fails after the update in #266494. Found on staging-next #263535 , but this can go to master.
https://hydra.nixos.org/build/240742841

Reenable tests that work on Darwin; and
Ignore the -fsemantic-interposition check. It doesn’t seem to affect Mach-O.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 267580 run on aarch64-darwin 1

4 packages marked as broken and skipped:

perl536Packages.SysVirt
perl536Packages.SysVirt.devdoc
perl538Packages.SysVirt
perl538Packages.SysVirt.devdoc

21 packages built:

appvm
docker-machine-kvm
libvirt
libvirt-glib
libvirt-glib.dev
libvirt-glib.devdoc
mgmt
nixops_unstable
nixops_unstable.dist
ocamlPackages.ocaml_libvirt
python310Packages.libvirt
python310Packages.libvirt.dist
python311Packages.libvirt
python311Packages.libvirt.dist
rubyPackages.ruby-libvirt
rubyPackages_3_0.ruby-libvirt
rubyPackages_3_2.ruby-libvirt
rubyPackages_3_3.ruby-libvirt
virt-manager
virt-manager.dist
virt-viewer

Result of nixpkgs-review pr 267580 run on x86_64-darwin 1

4 packages marked as broken and skipped:

perl536Packages.SysVirt
perl536Packages.SysVirt.devdoc
perl538Packages.SysVirt
perl538Packages.SysVirt.devdoc

21 packages built:

appvm
docker-machine-kvm
libvirt
libvirt-glib
libvirt-glib.dev
libvirt-glib.devdoc
mgmt
nixops_unstable
nixops_unstable.dist
ocamlPackages.ocaml_libvirt
python310Packages.libvirt
python310Packages.libvirt.dist
python311Packages.libvirt
python311Packages.libvirt.dist
rubyPackages.ruby-libvirt
rubyPackages_3_0.ruby-libvirt
rubyPackages_3_2.ruby-libvirt
rubyPackages_3_3.ruby-libvirt
virt-manager
virt-manager.dist
virt-viewer


Add support for package and workflow presets

Brief Issue Summary
With CMake 3.25 there are now package and workflow presets.
It would be good as a first step to just accept them.
https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

Just having
"workflowPresets": [
  {
    [...]
  }
}

breaks vscode-cmake-tools - it can't find configure and build presets anymore.
The most current documentation is misleading

The CMake Tools extension supports version 2 or later for the CMakePresets.json and CMakeUserPresets.json files.

since version 6 is not supported.

breaks vscode-cmake-tools - it can't find configure and build presets anymore.

This annoys me too, can we get a quick fix ignoring unknown properties please?
Kinda like a less strict mode if the presets version is higher than the last one supported.

breaks vscode-cmake-tools - it can't find configure and build presets anymore.

This annoys me too, can we get a quick fix ignoring unknown properties please? Kinda like a less strict mode if the presets version is higher than the last one supported.

Having a CMakePresets.json file with unknown properties (e.g. higher version) breaking the extension behavior is indeed annoying. Currently it's either presets v6 new features or a proper VS Code developing experience.
If the support for presets version 6 cannot be included in 1.13 (the release of which I assume is not too distant in the future), I also would be happy with a (quick?) fix to ignore what's unknown in CMakePresets.json.

If the support for presets version 6 cannot be included in 1.13 (the release of which I assume is not too distant in the future), I also would be happy with a (quick?) fix to ignore what's unknown in CMakePresets.json.

Unfortunately, presets version 6 will not be in 1.13.  But thanks for the reminder on ignoring unknown properties.  I added a new setting to ignore unknown properties/macros for unsupported versions in this PR which we will take for 1.13 #2945.  cmake.allowUnsupportedPresetsVersions

I added a new setting to ignore unknown properties/macros for unsupported versions in this PR which we will take for 1.13 #2945. cmake.allowUnsupportedPresetsVersions

Thank you for your quick feedback, much appreciated!

Also add support for v7 and v8


Add discussions to global nav

Description
Global nav includes links to github.com/pulls & github.com/issues but not github.com/discussions, which this feature would fix.
Before :

After :

Example URLs
https://github.com

Thanks

You can create a browser bookmark for that

Duplicate of https://github.com/refined-github/refined-github/issues/6062


Use SimpleUpgradeableModel in more cases

Consider if the SimpleUpgradeableModel should be used in more places.

Followup of #1929


Translation Cache Memory Leak Debugging

I'm not sure this is the best place to ask this question, but I haven't found a better place, so here goes:
I'm trying to debug a memory leak in a (quite large and complex) application that I suspect is due to one or more LINQ queries having different versions cached due to (for example) Constant Expression nodes showing up in the query trees.
Is there any way to look at set of cached query translations that could help me track down which LINQ queries might be causing this? Either while stopped in a debugger or through looking at a memory snapshot in the VS2017 debugger?
If this is the wrong place to ask this, feel free just to tell me so and close it.

@jceddy Processing the logs may be a good place to start. EF generates the log entries like the following whenever it compiles a query:
dbug: Microsoft.EntityFrameworkCore.Query[10101]
      => Microsoft.EntityFrameworkCore.Query.RelationalQueryModelVisitor
      Compiling query model:
      '(from Order x in DbSet<Order>
      select [x])
      .Include("OrderLines")
      .FirstOrDefault()'

You could also consider using query tags in 2.2 to help trace where queries are coming from.
The cache can also be found in the debugger:


add workflow and contributing sections to README

See title 👆

I know we have a 2-review policy, but I want to move this forward ;)


Resolve the usage of "wait" parameter used in commit

Prior to the new commit modules, transaction submission had a wait parameter (usually we set it to 30s) which kind of ensured that we proceeded to the next step only after the transaction completed. Precisely, after submitting a transaction to sawtooth, the client waits for at least 30s for the transaction to complete. If the transaction does not complete within 30s, the client simply moves on to the next step. (of course, the next step will fail it there is a dependency of completion of the last transaction).
In the new commit module, currently the commit_async() method takes a wait parameter as input, and this wait is the "same old wait" who meaning is described above. However, this is perhaps not a correct way to pass the "old wait parameter" to the new commit_async() method.
Fix this.

The parameter wait has been renamed as wait_parameter_for_ledger.  The meaning of the variable has been retained. Hopefully, the new name clarifies the usage better. While we consider the renaming as a short term solution, the long term solution is to avoid the "wait" parameter altogether from the commit API and modify the transaction processing logic to be able to simply submit a transaction to the ledger  and not "wait" any further for completion of commit. A separate poller may be implemented to interrogate the ledger for the commit status.


Not able to see the amount of UTXO in the MAC OS desktop app. Amount displayed wrongly compared to the explorer

Actual behavior: I was sending X amount of DFI from my Desktop App to Kucoin, however the X DFIs apparently got stuck in UTXO for some reason, in explorer I can still see the same amount I was sending assigned to me account under the UTXO section but in the app it is not showing it.
Expected behavior: The DFIs are sent as usual without any issue.
How to reproduce it (as minimally and precisely as possible): Went to my MAC OS Desktop DFI Chain app, clicked send arrow, confirmed the amount, selected the address TO and confirmed the transfer.

What are your environment parameters?

DeFiCh/app Version: 2.21.0
Operating System (OS): Mac OS
– RAM (GB):
– CPU (Intel Core i5/i7/etc.):
Current free storage capacity:

Anything else we need to know?

Archive 2.zip

Thanks guys, I appreciate your help, also when I am trying to check the transaction in the app it takes ages, it shows the list is loading but there is nothing coming...

DeFi Wallet v2.21.0
Node v2.11.1
getbalance
0.26342355
getbalance
0.26342355
listaccounts {} false false true
[
{
"key": "a914d0a766a666c398bce91c4d445e292236a97caeff87@0",
"owner": "dYSYhu3i",
"amount": "54.33556867@DFI"
},
{
"key": "a914d0a766a666c398bce91c4d445e292236a97caeff87@2",
"owner": "dYSYhu3i",
"amount": "0.00008606@BTC"
},
{
"key": "a914d0a766a666c398bce91c4d445e292236a97caeff87@5",
"owner": "dYSYhu3i",
"amount": "1160.78806402@BTC-DFI"
}

the question is where is this UTXO and why the DFIs are sent to UTXO and not to the KuCoin account

Hope this helps, appreciate your kind support!

In parallel I have also opened a support ticket with KuCoin, maybe the issue is on their end, however it looks more like the DFIs got sent to my UTXO but why then the desktop application does not show them..

Just for your info, I was able to successfully send DFI from the app to my KuCoin DFI account (deposit), however no traces of my UTXOs/aka my previous transaction but in the explorer it shows that I do have that amount

Hi @pmjlaw , if I understand correctly, you sent DFI from app to KuCoin, but the transaction does not display on Transactions tab? or do you mean on the Balances tab, it does not display the correct remaining amount?

Hi @izzycsy, I sent 2385 DFI from app to KuCoin, but this amount has not arrived to my KuCoin Deposit account, and from what I see in app, there was only the transaction from Account to UTXOs, pls see screenshot, but no Sent Transaction.
Now, in my app I do not see the UTXO with this amount, although in explorer it does show that I still have UTXO Balance
2385.12389499 DFI

sure, 8a58de8b7fdf181df3ab68bd474b57c74646cb64dde01afdd4b0e8a44211eb1a

Thanks, can you provide the output of
getbalance
listaccounts {} false false true
again please. You may XXX your key, owner, etc. as you did in this comment

sure, sorry for the delay had to restart the app

DeFi Wallet v2.21.0
Node v2.11.1
getbalance
0.67892428
listaccounts {} false false true
[
{
"key": "a914d0a766a....97caeff87@0",
"owner": "dYSYhu3i....Jaz8x",
"amount": "81.34892445@DFI"
},
{
"key": "a914d0a766a6.....caeff87@2",
"owner": "dYSYhu3i....Jaz8x",
"amount": "0.00023243@BTC"
},
{
"key": "a914d0....caeff87@5",
"owner": "dYSYhu....Jaz8x",
"amount": "1160.78806402@BTC-DFI"
}
]

Thanks. I think you might just have to wait for your DFI to reflect on your KuCoin, delays may occur due to congestion in the block chain. Ku Coin's 3. FAQ. There's no in-between state in DeFiChain Network, either your tx gets through / gets rejected and goes back to your app.
Just a suggestion, if you're not running a masternode, you could use the DeFiChain Light Wallet, available on iOS / Android. Saves you the trouble of running a full node / cli.

thanks @izzycsy I would of course wait and monitor the situation, but what worries me is that there was no SENT Transaction from my app with this amount as it usually happens and why in explorer those UTXOs still sit with my DeFI App account?
Nevertheless thanks a lot, I am of course also contacting KuCoin and hope for the quick resolution

When I check in Explorer I do not see any OUT Transaction with that amount (2385.08330890 DFI), there is only IN

Hi @pmjlaw , hmm another possibility is that might be the amount was converted to UTXO and not sent. In your screenshots, your app is not synced to 100% as well.  Can you try reindex, guide here. After syncing to 100%, take a screenshot of your Balances and outputs of getbalance, listaccounts {} false false true.

it is synchronized now
getbalance
0.67892428
listaccounts {} false false true
[
{
"key": "a914d0a76.....caeff87@0",
"owner": "dYSYhu3i.....Jaz8x",
"amount": "88.46593402@DFI"
},
{
"key": "a914d0a766.....caeff87@2",
"owner": "dYSYhu3i....Jaz8x",
"amount": "0.00024010@BTC"
},
{
"key": "a914d0a7....caeff87@5",
"owner": "dYSYhu3i....Jaz8x",
"amount": "1160.78806402@BTC-DFI"
}
]

Hi @pmjlaw , did you reindex?

not yet, let me do that, would update once done, thanks!

@pmjlaw use snapshot, it's faster.

yes, let me do that now, in fact I have already tried this even before after this situation happened, but just to be sure doing this now again.

Issue closed by reindexing

Issue closed by reindexing


TEST 4b - Test internal encrypted connection between two applications via a load balancer

User Story
Test internal encrypted connection between cooker app to sprinkler internal load balancer
Confirms
Private certificates (end to end internal encryption)
Private dns (across multiple vpc’s)
Ability to use cross account private certificates
Routing between VPC’s
NACL rules work to manage traffic between different VPCs
Value
The scenario lab is required to prove the current environment works as expected, this will also provide knowledge to create tickets for issues/requirements that arise.
Questions / Assumptions

Definition of done

[x] Confirmed internal encrypted connection between between two applications via a load balancer using a Transit Gateway

Reference
https://docs.google.com/document/d/1FI_EqDn43m27K_IMyx3v4ajS20YbpepJLEyO2smXQGU/edit#

Complete as per DOD
closing


Storage: Allow null values in labels map

The way to delete a label is to set its value in the labels map to null. Currently, the labels map is converted to an ImmutableMap, which can't have null values. It's still possible to delete values by setting their values to the empty string, but that's not intuitive, users would generally expect setting null to work based on the documentation. This converts null values to the empty string in the builder to accomplish this.

I see you added a unit test. could you add an integration test as well? Overall LGTM.


Correct grammatical error in <IP_ADDRESS>.

Correct software for garbled criteria in <IP_ADDRESS>.a

DM25 from SA 0 is missing SPN X, FMI Y from DM12

This was intended to be improved.
6.8.10 DM25: Expanded Freeze Frame
<IP_ADDRESS> Actions
a. DS DM25 [send Request (PG 59904) for PG 64951 (SPs 3300, 1214, 1215)] to each OBD ECU.
<IP_ADDRESS> Fail Criteria
a. Fail if DTC(s) reported in the freeze frame does not include either the DTC reported in DM12 (this is Fault B) or the DTC reported in DM23 earlier in this part (i.e. Fault A).
// Clearly any other DTC is not appropriate — you shouldn’t see this failure message, as has been observed in the past.
b. Fail if no freeze frame data (i.e. an empty freeze frame) is provided.
c. Fail if NACK not received from OBD that did not provide an DM25 message.
<IP_ADDRESS> Warn Criteria
a. Warn if DTC reported by DM23 earlier in this part is not present in the freeze frame data. [50]
There is, clearly, a typographical or grammatical error in a.
Correct phrasing would say:
a. Warn if DTC reported by DM12 earlier in this part is not present in the freeze frame data.  OR
a. Warn if DTC reported by DM23 earlier in this part is present in the freeze frame data.
Either way Fault A or Fault B is is expected as the DTC. We didn’t have a test case in our vehicle testing to illustrate this error (Were Fault A for Cummins engines easier to implant, we may have seen this earlier).

Data from 3.0.11
...
Start Test 8.2 - DM12: Emissions related active DTCs
Attempt 1
14:02:02.9226 Global DM12 Request
14:02:02.9256 18EAFFF9 [3] D4 FE 00 (TX)
14:02:02.9286 18FED43D [8] 47 FF 6D 16 0D 01 FF FF
DM12 from Exhaust Emission Controller (61): MIL: on, RSL: off, AWL: on, PL: not supported
DTC 5741:13 - AFT 1 Outlet Soot, Out Of Calibration - 1 times
14:02:02.9301 18FED401 [8] 03 FF 00 00 00 00 FF FF
DM12 from Engine #2 (1): MIL: off, RSL: off, AWL: off, PL: not supported, No DTCs
14:02:03.5276 Destination Specific DM12 Request to Engine #1 (0)
14:02:03.5286 18EA00F9 [3] D4 FE 00 (TX)
14:02:03.5391 18E8FF00 [8] 01 FF FF FF F9 D4 FE 00
Acknowledgment from Engine #1 (0): Response: NACK, Group Function: 255, Address Acknowledged: 249, PGN Requested: 65236
14:02:03.5406 Destination Specific DM12 Request to Engine #2 (1)
14:02:03.5436 18EA01F9 [3] D4 FE 00 (TX)
14:02:03.5496 18FED401 [8] 03 FF 00 00 00 00 FF FF
DM12 from Engine #2 (1): MIL: off, RSL: off, AWL: off, PL: not supported, No DTCs
14:02:03.5496 Destination Specific DM12 Request to Exhaust Emission Controller (61)
14:02:03.5526 18EA3DF9 [3] D4 FE 00 (TX)
14:02:03.5576 18FED43D [8] 47 FF 6D 16 0D 01 FF FF
DM12 from Exhaust Emission Controller (61): MIL: on, RSL: off, AWL: on, PL: not supported
DTC 5741:13 - AFT 1 Outlet Soot, Out Of Calibration - 1 times
End Test 8.2 - DM12: Emissions related active DTCs
...
Start Test 8.4 - DM23: Emission related previously active DTCs
14:02:06.5656 Global DM23 Request
14:02:06.5676 18EAFFF9 [3] B5 FD 00 (TX)
14:02:06.6726 18FDB53D [10] 47 FF A9 F0 F0 01 A9 F0 E2 01
DM23 from Exhaust Emission Controller (61): MIL: on, RSL: off, AWL: on, PL: not supported
DTC 520361:16 - Manufacturer Assignable SPN, Data Valid But Above Normal Operating Range - Moderately Severe Level - 1 times
DTC 520361:2 - Manufacturer Assignable SPN, Data Erratic, Intermittent Or Incorrect - 1 times
14:02:06.5736 18FDB501 [8] 03 FF 00 00 00 00 FF FF
DM23 from Engine #2 (1): MIL: off, RSL: off, AWL: off, PL: not supported, No DTCs
Start Test 8.10 - DM25: Expanded freeze frame
14:02:10.2586 Destination Specific DM25 Request to Engine #1 (0)
14:02:10.2606 18EA00F9 [3] B7 FD 00 (TX)
14:02:10.2681 18E8FF00 [8] 01 FF FF FF F9 B7 FD 00
Acknowledgment from Engine #1 (0): Response: NACK, Group Function: 255, Address Acknowledged: 249, PGN Requested: 64951
14:02:10.2686 Destination Specific DM25 Request to Engine #2 (1)
14:02:10.2716 18EA01F9 [3] B7 FD 00 (TX)
14:02:10.2786 18FDB701 [8] 00 00 00 00 00 FF FF FF
DM25 from Engine #2 (1):
Freeze Frames: [
No Freeze Frames
]
14:02:10.2796 Destination Specific DM25 Request to Exhaust Emission Controller (61)
14:02:10.2816 18EA3DF9 [3] B7 FD 00 (TX)
14:02:10.6666 18FDB73D [131] 82 A9 F0 F0 01 CC 03 00 00 00 00 00 FE 00 00 00 63 31 C6 6C 50 01 F1 00 50 25 CC 29 00 00 00 16 00 00 7D 7D 80 51 80 25 00 32 A0 42 B6 B7 E0 E1 D5 F0 04 00 00 00 64 00 64 00 64 00 64 00 64 00 64 00 64 8A 29 C2 00 00 98 26 31 70 94 3B 37 32 E8 28 D2 2F 00 00 00 00 01 05 31 01 00 00 00 00 00 00 01 0E 1B 03 00 0C 60 28 00 00 37 32 D2 2F 19 03 00 00 00 00 00 00 2F 02 AB 1F 04 FF FF 00 00 FF 03
DM25 from Exhaust Emission Controller (61):
Freeze Frames: [
Freeze Frame: {
DTC 520361:16 - Manufacturer Assignable SPN, Data Valid But Above Normal Operating Range - Moderately Severe Level - 1 times
SPN Data: CC 03 00 00 00 00 00 FE 00 00 00 63 31 C6 6C 50 01 F1 00 50 25 CC 29 00 00 00 16 00 00 7D 7D 80 51 80 25 00 32 A0 42 B6 B7 E0 E1 D5 F0 04 00 00 00 64 00 64 00 64 00 64 00 64 00 64 00 64 8A 29 C2 00 00 98 26 31 70 94 3B 37 32 E8 28 D2 2F 00 00 00 00 01 05 31 01 00 00 00 00 00 00 01 0E 1B 03 00 0C 60 28 00 00 37 32 D2 2F 19 03 00 00 00 00 00 00 2F 02 AB 1F 04 FF FF 00 00 FF 03
}
]
WARN: <IP_ADDRESS>.a - DTC(s) reported by DM23 earlier in this part is/are not present in the freeze frame data from Exhaust Emission Controller (61)

Given the example data, a warning message was provided.  The better text is to complain about the missing, expected DM12 was not provided. Hence,
<IP_ADDRESS> Warn Criteria
a. Warn if DTC reported by DM12 earlier in this part is not present in the freeze frame data. [50]
The subtle nature suggests to me that a rush to improve this could create a disservice if it goes wrong.


Missing Documentation

This isn't a bug, per se, but a request to add some missing documentation to the Wiki.  Specifically the syntax for conditions and functions seems to be missing.
It doesn't need to be anything elaborate, but even adding an example or two would be a big help.

You mean the syntax for JSON conditions/functions? That's detailed in the MC wiki article I link in Getting Started.

Do you mean the "Tags" section on the MC wiki article?  Even knowing the general tree structure, it's tough to know how the JSON may look when entered into scripts.  Perhaps because I've not used them with command blocks before, so I'm not used to the syntax.
But just to ask more directly, is the parent tag "functions" (or "conditions") tag used directly in the script, or just the naked curly braces?  Do I wrap them in square brackets, so it's an array of JSON trees?  Something like:
addItemEntry(<minecraft:skull>, 500, 0, [{
    "functions":  [
            {
              "count": {
                "min": 0.0,
                "max": 2.0
              },
              "function": "minecraft:set_count"
            }
    ]
}]);

I've tried a number of things but to no avail.  This was cobbled together from looking at the loot table dumps.  An example to understand the syntax would be very helpful.

LootTweaker expects conditions/functions as an array of JSON strings or  helper class methods, not a single JSON element. If you are using JSON strings, you need to ensure that they are strings(i.e wrapped in quotes). This means you need this
""count": {
                "min": 0.0,
                "max": 2.0
              },  "function": "minecraft:set_count""

not this
"count": {
                "min": 0.0,
                "max": 2.0
              },  "function": "minecraft:set_count"

It's now documented on the Loot Pools page.

Thanks Leviathan, that's exactly what I needed to know.
Looks like I shouldn't be using JSON in most cases, but still good to know how when I need to.


Partition filter against string or date field should  strip ' around the value

Is there an existing issue for this?

[X] I have searched the existing issues

Description of the bug
Partition filter currently works for foo > A for string field. To match sql syntax, it should be foo > 'A'.  But current logic won't trim the single quotes and take 'A' as a whole for the value. Similarly for date types, it should parse date = '2020-01-01' correctly.
Steps To Reproduce
Run with partition filters like foo > A for a string field, and date = '2020-01-01' for a date field.
Expected behavior
Single quotes should be stripped for applicable field types.
Screenshots / Logs
No response
Software information

Operating system:
Rust version:
Project version:

Additional context
No response

hey @KnightChess do you happen to have some time to work on this issue? hope to get this in 0.2.0

@xushiyan hi, sorry, I've been quite busy these past few weeks and haven't had time to follow up on this issue.

@KnightChess no problem

@xushiyan please take a look at #170 I took an attempt to fix this


Deck dump sort entities by name before id

Quite some time I need to compare two deck files. When it's dumped the id() function is used to sort the entities, in this function the id (an uuid) is used before the name so the order of the entities is unpredictable between two instances.
Would it be possible to modify the id() of the identities to return the name first and then the id as a fallback ?

Makes sense. Will happily accept a patch for this.


removed connect-master service build section from docker-compose.yml

Fixes: https://issues.apache.org/jira/browse/STREAMPIPES-336

Hi @sndp2693 thanks for fixing this - I'd be happy to merge.

Sorry i somehow missed it. I have updated the commit message with jira# reference

No worries and thanks for the fast reply. Maybe one minor, as we now try to stick to the scheme of using square brackets, could you provide it as following: "[STREAMPIPES-336] XYZ" - that would be awesome.

Cheers @sndp2693 🎉


Caanot include * for trigger in yaml build

I get the following error
(Line: 6, Col: 7, Idx: 105) - (Line: 6, Col: 8, Idx: 106): While scanning an anchor or alias, did not find expected alphabetic or numeric character.
trigger:
  branches:
    include:
    - *
    exclude:
    - master

Putting the * in '*' quotes works


verify: remove SIGSTORE_TRUST_REKOR_API_PUBLIC_KEY test env var for using a key from rekor's API

Signed-off-by: Asra Ali<EMAIL_ADDRESS>Scaffolding no longer requires it.
If user's still depend on this, they can use hte SIGSTORE_REKOR_PUBLIC_KEY and directly curl the rekor API
Related https://github.com/sigstore/cosign/issues/2122

Summary

Release Note

* fix!: Breaking change. This removes the insecure environment variable `SIGSTORE_TRUST_REKOR_API_PUBLIC_KEY` that is used to fetch the public key from the API of the configured Rekor URL. Use `SIGSTORE_REKOR_PUBLIC_KEY` to configure a custom rekor public key.
* fix!: Breaking change: `GetRekorPubs` no longer requires a rekor client. Rekor public keys are no longer fetched from the Rekor API directly when `SIGSTORE_TRUST_REKOR_API_PUBLIC_KEY` is enabled.

Documentation

As a follow-up I'd still like to move the RekorPublicKeys to part of Sign/Verification options like Fulcio Roots are. This is generally tough, I always got stuck, but we'll see. That way GetRekorPubs is not called internally in the sign/verify flows and users can configure it.

Codecov Report

Merging #2362 (b45a4f3) into main (32f6f1a) will increase coverage by 0.04%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##             main    #2362      +/-   ##
==========================================
+ Coverage   30.19%   30.24%   +0.04%
==========================================
  Files         136      136
  Lines        8432     8416      -16
==========================================
- Hits         2546     2545       -1
+ Misses       5555     5541      -14
+ Partials      331      330       -1

Impacted Files
Coverage Δ

pkg/cosign/env/env.go
88.88% <ø> (ø)

pkg/cosign/tlog.go
40.06% <50.00%> (+1.62%)
:arrow_up:

cmd/cosign/cli/verify/verify_blob.go
46.41% <100.00%> (ø)

pkg/cosign/verify.go
34.13% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I think the CI failure was flakey: but rebased and crossing my fingers!

If we make a v2 branch I'll remove the unused param there. Merging for now.


Remove logging output from test runs

Passing -log.level=panic makes tests of packages that do not import our logging package fail.
When we don't pass -v to the tests, logs are silenced by default.
I see no immediate benefit in using -v. We just want to ensure all tests pass. If tests fail during development we are rerunning the tests on package level anyway.

:+1: otherwise

Done.


Washing machine becomes always unavailable for a short time

The problem
For a few weeks now, my washing machine has repeatedly lost the connection in Home Assistant and reappears after a few seconds or minutes.
home-assistant_miele_2023-12-23T17-11-01.440Z.log
Version of miele integration having the issue?
03.97
Version of Home Assistant Core having the issue?
2023.12.3
Anything in the logs that might be useful for us?
No response
Additional information
No response

Looking through the log I cannot find any signs that the integration misbehaves.
There are a couple of timeouts when requesting data from Miele servers but they all seems to recover after first retry. The integration also restarts the data stream from Miele a couple of times.  The cause is probably a flaky internet connection or occasional delays in the Miele servers. We have seen that before.

Looking through the log I cannot find any signs that the integration misbehaves. There are a couple of timeouts when requesting data from Miele servers but they all seems to recover after first retry. The integration also restarts the data stream from Miele a couple of times. The cause is probably a flaky internet connection or occasional delays in the Miele servers. We have seen that before.

Hm, okay that's strange. All other devices otherwise work perfectly. Is it possible to increase the timeout minutes/seconds?

Normal response times are 0.1 - 0.15 s. The read timeout is hard-coded to 20 s. Our experience is that if we dont get the response within 20 s, we will not get it at all. Thus the user experince will just be worse if we prolong the timeout and wait longer to start the retry procedure.
BTW I can see a few timeouts in my systems also. They have been gone for many months before  and there are no changes in relevant parts of the integration code for very long.

I have checked with other users in different cities. The temporary outages occur at the same time in all checked sites. This is a clear indication that the problem is with Miele servers.


Custom build broken: forms always included?

I'm trying a custom build from http://foundation.zurb.com/develop/download.html#customizeFoundation including icon-bar, topbar, type and visibility. The result always includes the _forms.scss styles which shouldn't be the case.

The customer uses a SCSS build to compile only the components you choose AND any of the dependancies for that component. In this case, the top-bar partial has the following imports
@import 'global';
@import 'grid';
@import 'buttons';
@import 'forms';
Because you can use a form or a button in top-bar it will import them as well to ensure your styles don't break if you try to use these in top-bar.
If you are using the SCSS version, you can choose the imports in app.scss and you can remove any imported dependancies in the partials. You can also load JS plugins individually.
For the next version we'll make it more explicit that some components depend on others.

Much appreciated, thank you.

For the next version we'll make it more explicit that some components depend on others.

Alternatively it might make sense to leave inclusion of buttons and forms up to the user as these are optional contents of the topbar, not required for it to function.


How to package to use in production

Hey Andrew --
I've been using HWI to develop an application but as I go to build it for production, I am noticing that the functionality breaks. I think it has to do with me not building correctly or my builds not including all of the required dependencies.
For example, when using enumerate I get devices back when in development mode but when I package and build for production I get back an empty array which makes me think I am hitting this area of code: https://github.com/bitcoin-core/HWI/blob/master/hwilib/commands.py#L47
So how would I go about building HWI with all of its dependencies and then dropping it into my project? Thanks dude, this library is awesome!!

Just to follow up, I put some print statements around the enumerate function and it looks like the dependencies are not getting installed when building. I'm a noob when it comes to python but I feel like there should be a way to package everything with the dependencies and then drop into another project (in my case, a node.js project)

Releases have prebuilt standalone binaries that you can use: https://github.com/bitcoin-core/HWI/releases

Excellent! Those worked perfectly. Thank you!


Publish to GitHub pages

Like https://github.com/endlessm/moddable-pong/pull/5 and https://github.com/endlessm/moddable-platformer/pull/4.
Plus a change to set the version in the project file when exporting (again like our other repos).
https://phabricator.endlessm.com/T35699

Reminder for someone with admin access to the repo to set the repo URL to https://endlessm.github.io/godot-block-coding-demos/ after merging so it's more discoverable!

Excellent! Should we put the link to the game online in the README?


Catch in async

Gc.run is not supposed to raise exceptions, but bugs may cause this. This commit catches all exceptions in async to make sure the child self-kills.

Merge when green


Hot to use Turi to speed up the data preparation?

I am building a word tagger.
This is the string I would send:
Field01Value Field02Value Field03Value Field04Value
This is the end result.

<NLModel: 0x10053cea0>
{token: Field01Value tag: Optional("Field01")}
{token: Field02Value tag: Optional("Field02")}
{token: Field03Value tag: Optional("Field03")}
{token: Field04Value tag: Optional("Field04")}

Currently I am doing it via Xcode playground but the training is very slow. 80% of the time is spend in preparing the tables. Are there a way to speed up this process using Turi for data preparations?
Here is my code with Xcode playground:

import Cocoa

var str = "Hello, playground"

import CreateML
import Foundation

var data = try MLDataTable(contentsOf: URL(fileURLWithPath: "MyData.csv"))

let derivedColumnTokens = data.map { row -> [String]  in
    let tokens = [

         row.values[5].stringValue!,        // Field01,
         row.values[6].stringValue!,        // Field02,
         String(row.values[7].intValue!),   // Field03,
         String(row.values[8].intValue!),   // Field04,
          ] as [Any]
    //return String(format: "%@", tokens)
    return  tokens as [Any] as! [String]
}

//print(derivedColumnTokens)

//
let data0: [String: MLDataValueConvertible] = [
    "tokens": [ [derivedColumnTokens[1][5],
                derivedColumnTokens[1][6],
                 derivedColumnTokens[1][7],
                derivedColumnTokens[1][8],
        ],
    ],
    "labels": [ [          "Field01",
                           "Field02",
                           "Field03",
                           "Field04"],
    ]
    ]
var tableResults = try MLDataTable(dictionary: data0)

for i in 2...derivedColumnTokens.count-1 {

    let table = try MLDataTable(dictionary:  [
        "tokens": [ [
            derivedColumnTokens[1][5],
            derivedColumnTokens[1][6],
            derivedColumnTokens[1][7],
            derivedColumnTokens[i][8]],
            ],
            "Field01": [ [
            "Field02",
            "Field03",
            "Field04",
      ],
            ]
        ]
    )
    tableResults.append(contentsOf: table)
}

print(tableResults)

/////////////////////

let (trainingData, testingData) = tableResults.randomSplit(by: 0.8, seed: 5)

let wordtagger = try MLWordTagger(trainingData: trainingData,
                                           tokenColumn: "tokens",
                                               labelColumn: "labels")

//////////
let metadata = MLModelMetadata(author: "",
                               shortDescription: "",
                               version: "1.0")

try wordtagger.write(to: URL(fileURLWithPath: “MyModel.mlmodel"),
                              metadata: metadata)
//////////

I'm not going to be able to answer the question of whether Turi Create will be faster or not.
Turi Create can read CSV files. I don't understand what data preparation you're doing but the SFrame does have a large number of method for data manipulation. However Turi Create does not have a Word Tagger.
See our user guide for some general information about working with tabular data.
I'm going to close this issue. Feel free to open new issues if you have specific questions about Turi Create that aren't covered in our documentation.

Data preparation is transposing the table coming from relational database as:
Field01,Field02,Field03,Field04
to the form:
tokenColumn: "tokens",
labelColumn: "labels"
Could  SFrame help for this task?

@topinvestor - I would recommend taking a look at SFrame.unstack(...).

Thank you, would look at it.
What do you recommend about speeding up the the training phase when using Turi and Core ML?


Feature/recursive asdict

Pull Request Check List
This is just a reminder about the most common mistakes.  Please make sure that you tick all appropriate boxes.  But please read our contribution guide at least once, it will save you unnecessary review cycles!

[x] Added tests for changed code.
[ ] New features have been added to our Hypothesis testing strategy.
[ ] Updated documentation for changed code.
[x] Documentation in .rst files is written using semantic newlines.
[ ] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.
[x] Changes (and possible deprecations) have news fragments in changelog.d.

Thanks!

Hello, thank you for your work @hynek!
When are you planning to make a new release with this change? It would allow me to remove boilerplate related to serialization of complex object, that contains list of tuples of attrs objects.
Do you need any help to speed up the release?


⚠ T:Riza Api has degraded performance

In 3ac4a42, T:Riza Api (https://infra.triza.dev/api) experienced degraded performance:

HTTP code: 200
Response time: 1337 ms

Resolved: T:Riza Api performance has improved in 77c6cfb.


H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.

OS: Ubuntu 16.04
Python: 3.6.7
Keras: 2.2.4
Tensorflow: 1.12.0
h5py: 2.9.0
I am trying to sample the weights. Using Weight sampling Tutorial

/home/lenovo/.virtualenvs/docclass/lib/python3.6/site-packages/h5py/_hl/dataset.py:313: H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.
"Use dataset[()] instead.", H5pyDeprecationWarning)

This is the error that is being displayed after running the  Sub-sample the classifier weights
Anyone know how i can fix this?

@santhoshav15 just replace
    kernel = weight_source_file[name][name]['kernel:0'].value
    bias = weight_source_file[name][name]['bias:0'].value

with this
    kernel = weight_source_file[name][name]['kernel:0'][()]
    bias = weight_source_file[name][name]['bias:0'][()]

@santhoshav15 just replace
    kernel = weight_source_file[name][name]['kernel:0'].value
    bias = weight_source_file[name][name]['bias:0'].value

with this
    kernel = weight_source_file[name][name]['kernel:0'][()]
    bias = weight_source_file[name][name]['bias:0'][()]

It works like a charm, which is evident from the number of likes.
But what does [()] mean?


[Pre-SVE] TC_G-2.1 step 1 incorrect name support value

SHA: 1e3f12041013dd71a53d035dbf2f6d142fc06c4e
platform: nRF52840
all clusters app
I get:
[1655727243.480076][108025:108030] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_0000 DataVersion:<PHONE_NUMBER>
[1655727243.480128][108025:108030] CHIP:TOO:   name support: 128

but feature map is 0 so GN should be 0 and because of it name support value should be also 0.

Looks like duplicate of https://github.com/project-chip/connectedhomeip/issues/19613

Duplicate of #19613.


⚠ AsianCinema has degraded performance

In 4afb8a6, AsianCinema ($ACM) experienced degraded performance:

HTTP code: 200
Response time: 1124 ms

Resolved: AsianCinema performance has improved in bb68c44 after 7 minutes.


Why need tsdb

Hi Team,
i am trying to use kafkastats before that i have some question .

Why we need tsdb ?
what is ostrichport ?

tsdb is used to export metrics for kafkastats process itself in case you have tsdb setup. If you do not have tsdb setup, you can give  some 'localhost:port' parameter to let it go through.
ostrichport is to specify the port number that you can curl to check kafkastats process metrics. curl -s localhost:${ostrichport_num}/stats.txt can expose kafkastats related metrics that can be helpful in diagnosis.
The following is a command that works on my devhost with dummy tsdhostport setting:
java  -cp lib/*:kafkastats-0.1.0.jar com.pinterest.doctorkafka.stats.KafkaStatsMain \
     -jmxport 9999 -topic brokerstats -zookeeper zookeeper1/cluster1  \
    -tsdhostport  localhost:12345 -ostrichport 2051  -uptimeinseconds 3600 \
    -pollingintervalinseconds 60 -kafka_config /etc/kafka/server.properties


Code review for Velludo and Turcato (pt.2)

Per riconoscere il codice da revisionare ho inserito nell'@author dei file "CODE REVIEW FOR VELLUDO AND TURCATO".

This is good and clean code overall, nice!
I have some tips:
-This method of RingtoneHandler (line 34)
public static Ringtone getDefaultTone(Context ctx, int type)
Should be private in my opinion, since it gives to RingtoneManager a parameter that is one of its constants, and you're wrapping the class.

static void playRingtone(@NonNull Ringtone ringtone, final int USAGE_CODE) (line 68)
This method takes the parameter USAGE_CODE, that is a constant from AudioAttributes, and I wouldn't quite like it if I were you. Instead, I would define some constants inside of this class that are essentially a copy of the ones you need from AudioAttributes. So that who uses RingtoneHandler doesn't have to access AudioAttributes at all.
There might be better ways, this is the only one I have in my mind right now.

Nothing else here, keep up the good work!

What's the point of having two different packages for two single classes?
MainActivity.java
lines 39, 53, 65
Verb "to click" is used in its past tense, should be "is clicked" instead.
RingtoneHandler.java
line 34
getDefaultTone() is used only in this class, if there's no need to use it outside of RingtoneHandler, then it should be set to private.
Missing description of parameter type, can it be any integer?
line 63
Is the user always a male?
line 68
playRingtone() is used only in this class, if there's no need to use it outside of RingtoneHandler, then it should be set to private.
line 74
"di" is not an English word.

@giovannivelludo, I checked what you said about lines 33, 34 in MainActivity.java: if the user exits the app, changes the default ringtone and then returns to the app (without closing and restarting it), the new ringtone will be played, not the old one.

Thanks! Since onCreate() is executed only when the activity is created, and not when it is resumed, I thought RingtoneManager.getRingtone() would return a reference to a specific ringtone, and not to the default ringtone regardless of what ringtone it actually is.

@turcato-niccolo I think what you said about USAGE_CODE is not necessary because who uses RingtoneHandler has to access AudioAttributes in any case, to set them in ringtone.setAudioAttributes(...)


Add Pause functionality for emergency situations

Solanan contracts need an emergency pause capability similar to our other smart contracts.

closed by #14


Minor refactoring and cleanup

Few minor refactorings I did when going through the code during reviews

Thanks, looks good except for the changed visibility modifiers.


Rename SplashingImages.js to splashingimages.js

Fixes a file not found error. (makes file names consistent with SplashingImagesAsset.php)

Fixed this one via #7


Move the catalog chooser to the top

Could we move the catalog chooser UI to the top left or right? I'm currently comparing the catalogs and it turns out that scrolling to the bottom, selecting a different catalog and being sent to the top of the page disrupts the user experience. Ideally, I would like to click back and forth between catalogs with the top of the UI being visible because that's were the summary and column stats are.

done


Manually creating social users

Hi! I need to have strict control over user creation. No automatic sign-up/registration.
The desired flow is:

I create a Django user through Django Admin, setting a Google email for it.
Then the user can login with a Google account with the same email.
If someone tries to login with a Google account which email isn't present in the User table, the access is denied.

At first I wanted to manually created all the required data for user registration before the user logins. But it looks like allauth creates data at socialaccount table with an ID that comes from Google login process.
So I came up with the code bellow, that seems to work, but I would like to know if this is the recommended approach.
First I disabled allauth.urls and dj_rest_auth.urls, as stated here, to restrict sign-ups. And then added only a GoogleLogin view as stated in the docs.
The auto_signup option seems required so I can decide in the is_open_for_signup if I want to accept the user.
# settings.py
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_ADAPTER = 'myapp.users.adapter.AccountAdapter'
SOCIALACCOUNT_ADAPTER = 'myapp.users.adapter.SocialAccountAdapter'
SOCIALACCOUNT_AUTO_SIGNUP = True

# adapter.py
from allauth.account.adapter import DefaultAccountAdapter
from allauth.account.models import EmailAddress
from allauth.account.utils import user_email
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
from django.contrib.auth import get_user_model
from django.core.exceptions import BadRequest, PermissionDenied

class AccountAdapter(DefaultAccountAdapter):
    def is_open_for_signup(self, request, **kwargs):
        return False

class SocialAccountAdapter(DefaultSocialAccountAdapter):
    def is_auto_signup_allowed(self, request, sociallogin):
        return True

    def is_open_for_signup(self, request, sociallogin):
        email = user_email(sociallogin.user)
        User = get_user_model()

        if not email:
            raise BadRequest()

        # After allauth 0.55 release?
        # if EmailAddress.objects.is_verified(email):
        #    raise PermissionDenied()

        try:
            user = User.objects.get(email=email)
        except User.DoesNotExist:
            raise PermissionDenied()

        if sociallogin.user.first_name:
            user.first_name = sociallogin.user.first_name
        if sociallogin.user.last_name:
            user.last_name = sociallogin.user.last_name
        # Keep previously manually created user.
        sociallogin.user = user

        return True

Until recently allauth had a scary warning related to using the email of an existent user. But I'm not sure if this applies to my case, since I'm only using Google for social login (besides regular local login).
Thanks for the attention!

Just as an update, I opened another issue in allauth with what I think is a little improved version of this code.

It seems to work even with allauth.urls enabled.
Doesn't require SOCIALACCOUNT_AUTO_SIGNUP = True
Uses sociallogin.connect that seems better than what I did here.


Method members shadow property members of the same name in Get-Member output

[System.Globalization.UnicodeCategory] has both a Format method and a Format property (enum value).
While both members can be called, Get-Member only shows the method member.
Steps to reproduce
[int] [System.Globalization.UnicodeCategory]::Format
[System.Globalization.UnicodeCategory] | Get-Member -Static -Name Format | Select-Object Name, MemberType

Expected behavior
15

Name   MemberType
----   ----------
Format     Method
Format   Property

Actual behavior
15

Name   MemberType
----   ----------
Format     Method

Only the method was reported.
Similarly, [System.Globalization.UnicodeCategory] | Get-Member -Static -Name Format -Type Property outputs nothing.
Environment data
PowerShell Core v6.0.0-beta.6 on macOS 10.12.6
PowerShell Core v6.0.0-beta.6 on Ubuntu 16.04.3 LTS
PowerShell Core v6.0.0-beta.6 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)
Windows PowerShell v5.1.15063.502 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)

I've looked into this a bit. It seems the issue is caused by PSMemberInfoInternalCollection storing the members in a dictionary where the name of the member is the key. We can choose whether or not to replace existing entries, so we can make it prioritize properties over methods, but we can't make it store both without redesigning how PSMemberInfoInternalCollection works.
Here's the relevant class: https://github.com/PowerShell/PowerShell/blob/master/src/System.Management.Automation/engine/MshMemberInfo.cs#L4009 and here's one of the methods that adds methods to that kind of collection: https://github.com/PowerShell/PowerShell/blob/master/src/System.Management.Automation/engine/CoreAdapter.cs#L3797


Highlight menu selection on hover more firmly

Something like this possibly:

I added rollover highlighting. That'll do for now.


Use programmatic API

#4

https://github.com/bored/gulp-ava/commit/d3b911f0d7172b86b21c6895bdcddb6f7692a251


Continuous publishing/release of the SDK to nuget

Hey @kenakamu other follow up of #39
Currently we don't have any automated publishing of the package. This one is dependant of #42
I could get us up to speed fairly fast on VSTS but it brings the same concerns.
Also the technology should provide us pre-deployment approval capabilities to avoid all merges to master going straight to nuget.

Yes good idea. I will add you as co-owner of the project on NuGet.org. please let me know your nuget account.

Same as GitHub email<EMAIL_ADDRESS>

please verify you are added/

Seems to have worked, thanks!


Converted to ES6 modules

Converted to ES6 modules and Rollup, in a way very similar to the latest ThreeJS changes (#9310).
I also updated the closure compiler and added a few NPM scripts.

Thanks!

I'm the one thanking. I admire and appreciate all the amazing hard work you've done for the open source community.

FYI This PR breaks stats.js when retreived over bower. Bower recommends you use the un-minified version as your main (which stats.js does), and the export at the bottom throws a syntax error in the browser.

Thanks for reporting this! I haven't used it with bower before – I'll look at it

I just tested this myself with bower, npm and normal script tag in the latest Chrome and didn't get any issues or syntax errors. screenshot
Can you post the error you got, and information about browser?

Yes, export Stats as default is good only for using with Webpack or smth like that, but with bower I want only concat all my libs into one file like vendor.js. That's why I have to override "main" to build/stats.min.js

If you aren't seeing an error, then I am assuming you are using build/stats.min.js. If you use src/Stats.js directly in the browser you will see Uncaught SyntaxError: Unexpected token export on line 171. Like @Disorrder said, I am pulling down with bower and concatenating all libs into a single bundle for minification. The gulp package that takes care of bundling uses the file specified as main in bower.json, which happens to be src/Stats.js.

Also, in case I am making it sound like the solution is to change "main" to build/stats.min.js, there was already a PR to switch it away from that (https://github.com/mrdoob/stats.js/pull/61). The reasons why you don't want to do that are listed in the PR.

So what we need is to change to provide a non-minified es5 version?

So what we need is to also provide a none-minified ES5 version?

@terkelg make build/stats.js without minify and change "main": "build/stats.js" into bower.json

@Disorrder and @cfresh thank you so much for the feedback, I really appricate that. Can you guys test this build: https://github.com/terkelg/stats.js - If it works, I'll make a pull request

The build on your fork works in my setup, thanks!


Got a value error :- 'timestamp' is not in list' while use parse dates keyword when importing the csv file

Thank you for reporting an issue.
Please read the following guidelines to ensure that your issue is handled
properly.  If you have a ...

General Question: like "How do I filter a dask.dataframe?" then
please consider asking the question on Stack Overflow using the #Dask tag.
Please do not ask a question in both locations.
If you think that you have run into a bug or have an unexplained exception
then please prefer to file a bug report here.

Bug report: then please include a self-contained copy-pastable
example that generates the issue if possible.  Please be concise with code
posted.  See guidelines below on how to provide a good bug report:

Minimal Complete Verifiable Examples
Craft Minimal Bug Reports

Bug reports that follow these guidelines are easier to diagnose,
and so are often handled much more quickly.

Question about a sub-project: like the distributed scheduler,
dask-kubernetes, s3fs, fastparquet, etc.  then please consider submitting a
report to that issue tracker instead.  A list of repositories can be
found at github.com/dask

Feature Request: then please do a quick search of existing issues to
make sure that this has not been asked before.

We know that asking good questions takes effort, and we appreciate your time.
Thank you again.

I used parse_dates keyword while importing the CSV file using dask, and got a Value_Error. Here is my code -
import dask.dataframe as dd
parsed_data = dd.read_csv('../csv_files/HR_Data_Merged.csv', sep = '|', parse_dates = ['timestamp'])
parsed_data
Error -

ValueError                                Traceback (most recent call last)
 in
1 import datetime
2 import dask.dataframe as dd
----> 3 parsed_data = dd.read_csv('../csv_files/HR_Data_Merged.csv', sep = '|', parse_dates = ['timestamp'])
4 parsed_data
/anaconda3/lib/python3.7/site-packages/dask/dataframe/io/csv.py in read(urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
481                            storage_options=storage_options,
482                            include_path_column=include_path_column,
--> 483                            **kwargs)
484     read.doc = READ_DOC_TEMPLATE.format(reader=reader_name,
485                                             file_type=file_type)
/anaconda3/lib/python3.7/site-packages/dask/dataframe/io/csv.py in read_pandas(reader, urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
368
369     # Use sample to infer dtypes and check for presense of include_path_column
--> 370     head = reader(BytesIO(b_sample), **kwargs)
371     if include_path_column and (include_path_column in head.columns):
372         raise ValueError("Files already contain the column name: %s, so the "
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
700                     skip_blank_lines=skip_blank_lines)
701
--> 702         return _read(filepath_or_buffer, kwds)
703
704     parser_f.name = name
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds)
427
428     # Create the parser.
--> 429     parser = TextFileReader(filepath_or_buffer, **kwds)
430
431     if chunksize or iterator:
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in init(self, f, engine, **kwds)
893             self.options['has_index_names'] = kwds['has_index_names']
894
--> 895         self._make_engine(self.engine)
896
897     def close(self):
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in _make_engine(self, engine)
1120     def _make_engine(self, engine='c'):
1121         if engine == 'c':
-> 1122             self._engine = CParserWrapper(self.f, **self.options)
1123         else:
1124             if engine == 'python':
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in init(self, src, **kwds)
1902                 _validate_usecols_names(usecols, self.names)
1903
-> 1904         self._set_noconvert_columns()
1905
1906         self.orig_names = self.names
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in _set_noconvert_columns(self)
1971                         _set(k)
1972                 else:
-> 1973                     _set(val)
1974
1975         elif isinstance(self.parse_dates, dict):
/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in _set(x)
1961
1962             if not is_integer(x):
-> 1963                 x = names.index(x)
1964
1965             self._reader.set_noconvert(x)
ValueError: 'timestamp' is not in list

Thanks for filing an issue. In the future you can edit an existing issue rather than opening a new one if you mess up creating the issue (#4947, #4948). Also, I've edited your issue to properly format the code, making it easier to read.  In the future you can do this by surrounding your code in backticks like this:
```
# your code
```

Does the above code work with pandas (using pd.read_csv instead of dd.read_csv)? From the error it looks like the column timestamp doesn't exist in your file, leading to the error. If this works in pandas, please create a minimal, reproducible example to help us with debugging.

Hi jcrist,
Thanks for giving me instruction and thanks for your help. I'm new in dask while I'm bit confident in pandas. So I resolved this problem in dask , by trying it in pandas as you said. Thanks. The issue is resolved.