ipmag.unpack_magic/ipmag.download_magic not parsing MPMS data

What command was run:
ipmag.unpack_magic('./MPMS_data/ECMB 2018.txt',dir_path='MPMS_data')

On this file:
ECMB 2018.TXT
What happened:
Successfully unpacked hysteresis experiments, but wasn't able to parse the MPMS data giving this message:
working on:  'measurements\r'
WARNING:  problem in file with line:
meas_temp	meas_field_dc	magn_mass	magn_r2_det	timestamp
skipping....
WARNING:  problem in file with line:
10.01318	0	0.0188512354679803	0.9812937	2020:01:06:21:12:37.36

We need to diagnose the issue and either figure out if there is something wrong with the IRM output or with the ipmag.download_magic function.

This is error comes from the mismatch in the number of columns with the expected.
Because `ipmag.download_magic' determines the expected column number and format with the typical magic files in mind. One example is below. It basically looks at the row below 'tab site' for the number of columns and the column names ('keys' in the image below), and check that each entry has the same number of columns when unpacking the data file.

However, in the provided file (IRM data written into pseudo-MagIC format), the first line below 'tab measurement' is specimen and specimen name, which would be interpreted as indicating there being only two columns in the measurement file. But the hysteresis loop measurements have three and the MPMS data have 5. The reason that the hysteresis files got unpack with no apparent problem is because it was dealt with as an exception but for the wrong reason.

Overall, I think this is a formatting issue associated with writing IRM data files into MagIC format. One easy way to resolve the issue is to have all the IRM metadata (those lines that start with *) be appended at the end of the file instead of being at the beginning. I attach a short modified file that works now.
ECMB_2018.TXT

The format of having the repeated entry values be at the top is standardized. It is the MagIC compact format. So rather than adjusting how these compact format files are generated, we will need to adjust the code to skip over those rows before deciding on the number of columns.

Let's leave this issue up for the moment as a place to discuss how we can help organize the numerous measurement files that get unpacked.
We should figure out a way to name the measurement files in an informative way and/or generate a measurement summary table given that it is a bit daunting to see a long list of measurement files for each experiment with no context for them.

The most straightforward way to deal with this issue is to merge the measurements files into a single one. We could make this an option where the default is to return a single measurements.txt with the other possibility be to return multiple ones.

There was a lingering issue with ECMB 2018.TXT even when not in the compact format that I just figured out.
There was an extra tab before contribution_id that was causing the problem:

When that tab is gotten rid of, all is good.


DH woes

DH has a number of edge-cases, which we need to be secured against.
Some references are Anderson and Vaudenay and Raymond and Stiglic.

I think this can be closed now, or?

Calling this done.


fixing typo in the registry page

Fixes #12966

🚀 Preview for commit 4cb90ed64a622c1a7fc0ed3163c616cc359d978d at: https://676a69340664916ff0849a06--meshery-docs-preview.netlify.app

This PR has been combined into #13000


'TypeError: jsdom.jsdom is not a function' in simserver.log

Hi,
When I run 'python3 -m minos.tools.pygame_client',
I got this error
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
2018-11-28 10:50:25,089 INFO {'sim_id': 'sim00', 'machine': 'jin-System-Product-Name', 'sim_git_hash': '478f622', 'stk_git_hash': '478f622'}
Starting simulator...
2018-11-28 10:50:25,098 INFO sim00:Starting sim server at /home/jin/minos/minos/server/server.js with port 15961
2018-11-28 10:50:26,102 INFO sim00:sim server has exited with rv 1
2018-11-28 10:50:26,112 WARNING localhost:15961/socket.io [waiting for connection] HTTPConnectionPool(host='localhost', port=15961): Max retries exceeded with url: /socket.io/?EIO=3&transport=polling&t=1543373426104-0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1d7451c780>: Failed to establish a new connection: [Errno 111] Connection refused',))
2018-11-28 10:50:27,116 WARNING localhost:15961/socket.io [waiting for connection] HTTPConnectionPool(host='localhost', port=15961): Max retries exceeded with url: /socket.io/?EIO=3&transport=polling&t=1543373427114-0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1d7451ca90>: Failed to establish a new connection: [Errno 111] Connection refused',))
^CTraceback (most recent call last):
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/logs.py", line 23, in _yield_warning_screen
yield elapsed_time
Exception: [waiting for connection] HTTPConnectionPool(host='localhost', port=15961): Max retries exceeded with url: /socket.io/?EIO=3&transport=polling&t=1543373427114-0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1d7451ca90>: Failed to establish a new connection: [Errno 111] Connection refused',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jin/minos/minos/tools/pygame_client.py", line 438, in main
ep_info = sim.start()
File "/home/jin/minos/minos/lib/Simulator.py", line 321, in start
started = self.start_child_servers()
File "/home/jin/minos/minos/lib/Simulator.py", line 255, in start_child_servers
self._sio = SocketIO(self.params.host, self.params.port)
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/init.py", line 345, in init
resource, hurry_interval_in_seconds, **kw)
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/init.py", line 58, in init
self._transport
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/init.py", line 66, in _transport
self._engineIO_session = self._get_engineIO_session()
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/init.py", line 86, in _get_engineIO_session
warning_screen.throw(warning)
File "/home/jin/anaconda3/lib/python3.6/site-packages/socketIO_client/logs.py", line 29, in _yield_warning_screen
time.sleep(1)
KeyboardInterrupt
Error running simulator. Aborting.
2018-11-28 10:50:27,887 INFO sim00:Stopping the simulator
2018-11-28 10:50:27,887 INFO Counter()
2018-11-28 10:50:27,888 INFO sim00:Stopping child servers
2018-11-28 10:50:27,888 INFO sim00:Stopped child servers
2018-11-28 10:50:27,888 INFO sim00:Simulator killed.
Does anyone got the same error? How can I solve this? Thank you very much!

I have fixed this problem. Thank you very much!

I have fixed this problem. Thank you very much!

hi,how did you fix this problem?I have met the same one!


Flatpak?

Feature/enhancement description:

It would definitely be useful to have this to make Linux distribution easier. There's a Godot runtime that can be used, but I was having some trouble getting it set up as there is no documentation yet.

I'm mostly using Windows these days so that's not really relevant to me. Godot programs are already pretty easy to distribute anyway. But i understand that flatpack install lorien is pretty convenient.
But i'm gonna leave this open, maybe someone wants to tackle it.

I'll try to figure it out.

Did you ever figure this out? I would be willing to take a look as well

https://github.com/markusgod/flathub/tree/new-pr I've put together files needed for submission, but as per https://github.com/flathub/flathub/wiki/App-Maintenance#acceptable-but-should-be-submitted-upstream= metadata files (desktop and appdata) should be upstreamed, and I won't be able to properly maintain flathub, so if somebody wants to help, please go ahead.

Here's an initial Flatpak packaging.
This is pretty much ready for Flathub publishing, except for a higher resolution icon. IIRC Flathub requires at least 128x128px icon.
I'm not running a desktop environment, so I have no idea if the mimetype association displays the app's icon.
If no one else is willing to publish and maintain the app, then I wouldn't mind stepping forward, but note that I don't use it, and my current Stylus solution for Linux, Apple Pencil + Weylus, doesn't work well for ATM.

What is a Lorien file called?

Lorien Canvas sounds good to me.

IIRC Flathub requires at least 128x128px icon

I also just added an svg version of the Logo, in case you need it (since the source file is an Affinity Designer file, which you might not have): https://github.com/mbrlabs/Lorien/blob/main/images/lorien.svg

@jn64 fixed

@poperigby and @mbrlabs I built a Snap version of Lorien

https://github.com/mbrlabs/Lorien/issues/171


please add executePath into service.Config

Current implement get executePath from current running execute file.
I think it will be better to have some control over other execute file.

This is an interesting idea. You are correct, if I add in an optional field "Executable" to the Config struct, it will allow controlling different services in a uniform method. Sounds fine to me. I'll add it in a bit.

I've added this field.


QPID-8478:[Broker-J]Added null check for ACL predicates

Added null check for ACL predicates

This request fixes NPE when ACL length is 3


WPF: EmployeeView - CheckBox IsDeveloper is not binded with model

Project: EmployeeManager.Wpf
EmployeeView.Xaml line 38.
CheckBox does not have its property IsChecked binded with model property "IsDeveloper". Changes on UI does not commit into model.

Great library btw! Was looking for some alternative to MVVMLight.

Thanks @tkovnik, great catch! 👍🏼
It's fixed now.

Happy to read you like the library.


Support upper-case letters in project name

CC @delucchi-cmu

I took a quick look at this - to make the change to accept uppercase letters is very straightforward. But I have become somewhat confused about how and where we use project and package name since these are both using almost the same regex. (I also recognize that I did this to myself)
Within the context of the output from copier, "project" and "package" names are pretty clear. However, I do have trouble keeping up with the various different ways that PyPI, ReadTheDocs, and CodeCov will manipulate the project name to fit within their standards.
For instance, I believe that PyPI will take the project.name from pyproject.toml and convert to lowercase. And possibly also converts underscores to dashes. Similarly readthedocs will change the project name underscores to dashes.
Maybe these different standards are worth worrying about, and we should just let the user name the package as they like, and allow PyPI, RTD or CodeCov to do what it does??? Doing so would likely break a bunch of the README badges that we've created though...

Thank you, @drewoldag, for the investigation. I could be wrong, but I think @delucchi-cmu also wanted to create a GitHub repo name with uppercase letters.
For Python-related names, modules, projects, and packages should all be lowercase, I believe.


[Bug] gorilla-openfunctions-v1-q4f16_1-MLC crashes on JIT lib build on cuda12.2

🐛 Bug
Trying to serve gorilla openfunctions v1 will crash during initial jit library build.   Same happens with openfunctions v2  and f16 or f32
To Reproduce
Steps to reproduce the behavior:

install cuda 12.2 nightly
mlc_llm serve   HF://mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC
crashes with log attached below

Found device: cuda:0
[2024-04-10 00:12:41] INFO auto_device.py:85: Not found device: rocm:0
[2024-04-10 00:12:42] INFO auto_device.py:85: Not found device: metal:0
[2024-04-10 00:12:43] INFO auto_device.py:85: Not found device: vulkan:0
[2024-04-10 00:12:44] INFO auto_device.py:85: Not found device: opencl:0
[2024-04-10 00:12:44] INFO auto_device.py:33: Using device: cuda:0
[2024-04-10 00:12:44] INFO chat_module.py:362: Downloading model from HuggingFace: HF://mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC
[2024-04-10 00:12:44] INFO download.py:40: [Git] Cloning https://huggingface.co/mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC.git to /tmp/tmpgtd319_l/tmp
[2024-04-10 00:12:45] INFO download.py:76: [Git LFS] Downloading 1 files with Git LFS: ['tokenizer.model']
[2024-04-10 00:12:45] INFO download.py:79: [Git LFS] Downloading tokenizer.model
100%|██████████| 1/1 [00:00<00:00,  1.83it/s]
[2024-04-10 00:12:47] INFO download.py:152: Downloaded https://huggingface.co/mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC/resolve/main/params_shard_1.bin to /tmp/tmpgtd319_l/tmp/params_shard_1.bin
...

[2024-04-10 00:13:29] INFO download.py:152: Downloaded https://huggingface.co/mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC/resolve/main/params_shard_112.bin to /tmp/tmpgtd319_l/tmp/params_shard_112.bin
100%|██████████| 115/115 [00:43<00:00,  2.62it/s]
[2024-04-10 00:13:29] INFO download.py:153: Moving /tmp/tmpgtd319_l/tmp to /root/.cache/mlc_llm/model_weights/mlc-ai/gorilla-openfunctions-v1-q4f16_1-MLC
Traceback (most recent call last):
  File "/usr/local/bin/mlc_llm", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/__main__.py", line 41, in main
    cli.main(sys.argv[2:])
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/cli/serve.py", line 75, in main
    serve(
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/interface/serve.py", line 42, in serve
    engine = async_engine.AsyncThreadedEngine(
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/serve/async_engine.py", line 274, in __init__
    ) = _process_model_args(models)
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/serve/engine.py", line 125, in _process_model_args
    model_args: List[Any] = sum(
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/serve/engine.py", line 126, in <genexpr>
    (_convert_model_info(model) for model in models),
  File "/usr/local/lib/python3.10/dist-packages/mlc_llm/serve/engine.py", line 101, in _convert_model_info
    assert isinstance(chat_config.conv_template, Conversation)
AssertionError

Expected behavior
Should work as with Llama and Mistral and Gemma.
Environment

Platform (e.g. WebGPU/Vulkan/IOS/Android/CUDA):  CUDA 12.2
Operating system (e.g. Ubuntu/Windows/MacOS/...):   Ubuntu 20.04lts
Device (e.g. iPhone 12 Pro, PC+RTX 3090, ...)   3060 12 GB
How you installed MLC-LLM (conda, source):  nightly
How you installed TVM-Unity (pip, source):  nightly prevuilt
Python version (e.g. 3.10): 3.11
GPU driver version (if applicable):
CUDA/cuDNN version (if applicable):
TVM Unity Hash Tag (python -c "import tvm; print('\n'.join(f'{k}: {v}' for k, v in tvm.support.libinfo().items()))", applicable if you compile models):
Any other relevant information:

Additional context

Thank you @MasterJH5574       It works fine now.   Closing the issue.

Sorry, @MasterJH5574    Is it possible to update the configs for the other two gorilla function weights as well 🙏
https://huggingface.co/mlc-ai/gorilla-openfunctions-v2-q4f32_1-MLC
https://huggingface.co/mlc-ai/gorilla-openfunctions-v2-q4f16_1-MLC

Hey @Sing-Li, sorry for the late reply. Just updated these two repositories. If I remember correctly, there might still be some output formatting issue for the function calling of gorilla v2. Could you try a bit at your convenience and see how it goes?

Thanks @MasterJH5574
Test results:
gorilla-openfunctions-v2-q4f32_1

chat  - seems to work
serve - I only have 12GB VRAM and serve ran out of memory

gorilla-openfunctions-v2-q4f16_1

chat - crashes with the following dump

[2024-04-16 04:10:14] INFO estimate_memory_usage.py:57: [Memory usage] Function `sampler_take_probs`: 0.00 MB
[2024-04-16 04:10:14] INFO estimate_memory_usage.py:57: [Memory usage] Function `softmax_with_temperature`: 0.00 MB
[2024-04-16 04:10:14] INFO pipeline.py:50: Compiling external modules
[2024-04-16 04:10:14] INFO pipeline.py:50: Compilation complete! Exporting to disk
[2024-04-16 04:10:31] INFO model_metadata.py:96: Total memory usage: 4169.98 MB (Parameters: 3707.35 MB. KVCache: 0.00 MB. Temporary buffer: 462.62 MB)
[2024-04-16 04:10:31] INFO model_metadata.py:105: To reduce memory usage, tweak `prefill_chunk_size`, `context_window_size` and `sliding_window_size`
[2024-04-16 04:10:31] INFO compile.py:198: Generated: /tmp/tmphmrwlwhl/lib.so
[2024-04-16 04:10:31] INFO jit.py:98: Using compiled model lib: /root/.cache/mlc_llm/model_lib/5c413127c1217b4fc4779c7be427b220.so
[2024-04-16 04:10:32] INFO model_metadata.py:96: Total memory usage: 4169.98 MB (Parameters: 3707.35 MB. KVCache: 0.00 MB. Temporary buffer: 462.62 MB)
[2024-04-16 04:10:32] INFO model_metadata.py:105: To reduce memory usage, tweak `prefill_chunk_size`, `context_window_size` and `sliding_window_size`
You can use the following special commands:
 /help               print the special commands
 /exit               quit the cli
 /stats              print out the latest stats (token/sec)
 /reset              restart a fresh chat
 /set [overrides]    override settings in the generation config. For example,
                     `/set temperature=0.5;max_gen_len=100;stop=end,stop`
                     Note: Separate stop words in the `stop` option with commas (,).
 Multi-line input: Use escape+enter to start a new line.

Traceback (most recent call last):
 File "/usr/local/bin/mlc_llm", line 8, in <module>
   sys.exit(main())
 File "/usr/local/lib/python3.10/dist-packages/mlc_llm/__main__.py", line 37, in main
   cli.main(sys.argv[2:])
 File "/usr/local/lib/python3.10/dist-packages/mlc_llm/cli/chat.py", line 41, in main
   chat(
 File "/usr/local/lib/python3.10/dist-packages/mlc_llm/interface/chat.py", line 135, in chat
   cm._process_system_prompts()  # pylint: disable=protected-access
 File "/usr/local/lib/python3.10/dist-packages/mlc_llm/chat_module.py", line 1228, in _process_system_prompts
   self._process_system_prompts_func()
 File "tvm/_ffi/_cython/./packed_func.pxi", line 332, in tvm._ffi._cy3.core.PackedFuncBase.__call__
 File "tvm/_ffi/_cython/./packed_func.pxi", line 263, in tvm._ffi._cy3.core.FuncCall
 File "tvm/_ffi/_cython/./packed_func.pxi", line 252, in tvm._ffi._cy3.core.FuncCall3
 File "tvm/_ffi/_cython/./base.pxi", line 182, in tvm._ffi._cy3.core.CHECK_CALL
 File "/usr/local/lib/python3.10/dist-packages/tvm/_ffi/base.py", line 481, in raise_last_ffi_error
   raise py_err
tvm._ffi.base.TVMError: TVMError: Unsupported layout: 0

running serve also crashes with same error when a REST completion requests comes in:
tvm._ffi.base.TVMError: TVMError: Unsupported layout: 0

Thank you @Sing-Li for checking again. This issue https://github.com/mlc-ai/mlc-llm/issues/2121#issuecomment-2049258529 also reports the similar error. We will look into that.

Hi @Sing-Li @ollmer, we have fixed this issue in the latest pip package. Please update the packages and try again, thank you!


Unable to install policy-controller Helm chart

Description
I'm following these docs to install the policy-controller via Helm.
When I run:
helm install policy-controller -n cosign-system sigstore/policy-controller --devel

I get the following error:
Error: INSTALLATION FAILED: 2 errors occurred:
	* Internal error occurred: json: cannot unmarshal number into Go struct field ObjectMeta.spec.template.metadata.annotations of type string
	* Internal error occurred: json: cannot unmarshal number into Go struct field ObjectMeta.spec.template.metadata.annotations of type string
	*

I have already ran the previous steps:
helm repo add sigstore https://sigstore.github.io/helm-charts
helm repo update
kubectl create namespace cosign-system

The same happens if I get the default values file and provide it to Helm:
$ helm install policy-controller -n cosign-system sigstore/policy-controller --devel --values=values.yaml

Error: INSTALLATION FAILED: 2 errors occurred:
	* Internal error occurred: json: cannot unmarshal number into Go struct field ObjectMeta.spec.template.metadata.annotations of type string
	* Internal error occurred: json: cannot unmarshal number into Go struct field ObjectMeta.spec.template.metadata.annotations of type string
	*

Am I missing something? Do I need to provide more values?

I think the issue was with my cluster. Retrying the steps on a brand new cluster installed the chart successfully.

@asankov Happy to hear that!


error with @bazel/runfiles helper after updating to 1.6.0

After updating to 1.6.0 I have this error:
/private/var/tmp/_bazel_romain/aab898f10bfeb90def8d69f3c9616e24/execroot/com_shadow_cbp/bazel-out/darwin_arm64-fastbuild/bin/proxy/proxy.sh.runfiles/com_shadow_cbp/node_modules/.aspect_rules_js/@bazel+runfiles@5.7.0/node_modules/@bazel/runfiles/runfiles.js:26
            throw new Error('Every node program run under Bazel must have a $RUNFILES_DIR or $RUNFILES_MANIFEST_FILE environment variable');
            ^

Error: Every node program run under Bazel must have a $RUNFILES_DIR or $RUNFILES_MANIFEST_FILE environment variable
    at new Runfiles (/private/var/tmp/_bazel_romain/aab898f10bfeb90def8d69f3c9616e24/execroot/com_shadow_cbp/bazel-out/darwin_arm64-fastbuild/bin/proxy/proxy.sh.runfiles/com_shadow_cbp/node_modules/.aspect_rules_js/@bazel+runfiles@5.7.0/node_modules/@bazel/runfiles/runfiles.js:26:19)
    at Object.<anonymous> (/private/var/tmp/_bazel_romain/aab898f10bfeb90def8d69f3c9616e24/execroot/com_shadow_cbp/bazel-out/darwin_arm64-fastbuild/bin/proxy/proxy.sh.runfiles/com_shadow_cbp/node_modules/.aspect_rules_js/@bazel+runfiles@5.7.0/node_modules/@bazel/runfiles/index.js:9:20)
    at Module._compile (node:internal/modules/cjs/loader:1126:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
    at Module.load (node:internal/modules/cjs/loader:1004:32)
    at Function.Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/private/var/tmp/_bazel_romain/aab898f10bfeb90def8d69f3c9616e24/execroot/com_shadow_cbp/bazel-out/darwin_arm64-fastbuild/bin/proxy/proxy.sh.runfiles/com_shadow_cbp/proxy/src/index.js:5:20)
    at Module._compile (node:internal/modules/cjs/loader:1126:14)

Probably related to this: https://github.com/aspect-build/rules_js/pull/538

cc @gregmagolan @jbedard

That comes from here https://github.com/bazelbuild/rules_nodejs/blob/591e76edc9ee0a71d604c5999af8bad7909ef2d4/packages/runfiles/runfiles.ts#L33
However rules_js doesn't set either the RUNFILES_DIR or the RUNFILES_MANIFEST_FILE file. Those are both set by Bazel.
Might be related to updating to Bazel 6 if you did that at the same time.

I did not update to Bazel 6 :(

Oh.. I see. It is probably because we no longer depend on the runfiles.bash initialization which got removed in #538
# shellcheck disable=SC1090
{

# --- begin runfiles.bash initialization v2 ---
set -uo pipefail; f=bazel_tools/tools/bash/runfiles/runfiles.bash
source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \
source "$0.runfiles/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
{ echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
# --- end runfiles.bash initialization v2 ---

}

Tagging this as bug; although the fix is in rules_nodejs (https://github.com/bazelbuild/rules_nodejs/blob/stable/packages/runfiles/runfiles.ts) and not in this rule set

Thanks!

The fix for this landed in rules_nodejs: https://github.com/bazelbuild/rules_nodejs/commit/11395ea1bd86f5a3d62c1d7eaab7c1af3d0896f2
Will be available in the next release of @bazel/runfiles

Keeping open until fix is verified

The fix in @bazel/runfiles 5.7.2 is working for me.

Sorry, I spoke too soon. Upgrading to @bazel/runfiles 5.7.2 and rules_js v1.8.0 had to be rolled back due to errors of the form:
Error: could not resolve module <runfile path>
at Runfiles.resolve (/<app>/main.sh.runfiles/<app>/node_modules/.aspect_rules_js/@bazel+runfiles@5.7.2/node_modules/@bazel/runfiles/runfiles.js:118:19)

Hmm. You're getting past the @bazel/runfiles Runfiles constructor now with
        else if (!!_env['RUNFILES']) {
            this.runfilesDir = path.resolve(_env['RUNFILES']);

is runfilesDir not set to the correct value now?

The issue turned out to be some of our own code that set RUNFILES_DIR. Looks like the history was:

We started out using rules_nodejs's js_binary, which generates a runfiles directories without .sh component, so we set RUNFILES_DIR accordingly for @bazel/runfiles to pick up.
With<EMAIL_ADDRESS>this value of RUNFILES_DIR was invalid because rules_js generates a runfiles directory with a .sh component, but it didn't matter because rules_js also generated a launcher script that overwrote our RUNFILES_DIR value with one that includes .sh.
With<EMAIL_ADDRESS>the rules_js launcher no longer overwrites RUNFILES_DIR, so there was a mismatch between RUNFILES_DIR (without .sh) and the actual runfiles directory (with .sh).

Confirmed with @jfirebaugh that this solves his problem over Slack. The subsequent error there was a bad RUNFILES_DIR env variable sneaking in from outside of the rule set.


Custom to default prefix

Sometimes at random times the default prefix shows for users
Purpur 1.16.5
Powerranks 1.9.9R4
Bug:

My custom prefix it's the one showing "Miembro >" and the default one is the "[Member]" one

Please don't post bug reports without detailed information and before testing and finding a way to reproduce them.
In the meantime, please come to the discord https://discord.gg/rAgBHMB and post your ranks.yml in the support channel

i mean how do you reproduce something that happends randomly? there's no way of doing it, and you can check my previous rank.yml in another issue i did

Please don't post bug reports without detailed information and before testing and finding a way to reproduce them.
In the meantime, please come to the discord https://discord.gg/rAgBHMB and post your ranks.yml in the support channel

i mean how do you reproduce something that happends randomly? there's no way of doing it, and you can check my previous rank.yml in another issue i did (still the same rank.yml as now)

if we can't reproduce the error, we can't fix it.
there is no such file called rank.yml

Please don't post bug reports without detailed information and before testing and finding a way to reproduce them.
In the meantime, please come to the discord https://discord.gg/rAgBHMB and post your ranks.yml in the support channel

i mean how do you reproduce something that happends randomly? there's no way of doing it, and you can check my previous rank.yml in another issue i did (still the same rank.yml as now)

if we can't reproduce the error, we can't fix it.
there is no such file called rank.yml

just happends randomly
i can't upload files for some reason so i had to upload the full text instead in that issue

Please go to the discord for individual support.
github issues only work for reproducable bugs


Panic when performing go-to definition

Lapce Version
The Lapce version you are using, which can be found in "About Lapce" at the top right settings icon.

Version v.0.4.0

System information
the operating system used, including its version, e.g. Windows 10, Ubuntu 18.04

Windows 11

Describe the bug
A clear and concise description of what the bug is.

Lapce proxy panics when trying to "Go to definition" on my react project.

Additional information
Other information that can be used to further reproduce or isolate the problem.
This commonly includes:

screenshots
logs
theories about what might be going wrong
workarounds that you used

Duplicate of https://github.com/lapce/lapce/issues/2954


[BUG] Unable to connect to Postgres-DB in Chatflow module

Describe the bug
Reference https://github.com/FlowiseAI/Flowise/issues/2013
I have added the vector extension but still get the same error... is this because I am use a self-signed certificate? what is the correct parameter for that? I just have sslmode=require exactly as above.. I'm using a hosted postgresdb.
Steps to reproduce the behavior:

Add credentials for Postgres
Add Postgres module to Chatflow
Add host (tried external subdomain, localhost and IP), DB, port
Additional parameters: sslmode="require" + add table name
Save chatflow
Upsert
Error: error: pg_hba.conf rejects connection for host "XX", user "XX", database "XX", no encryption

Expected behavior
Postgres-DB connection is working
Setup
Flowise Version 1.6.2
npm

Originally posted by @rubrix in https://github.com/FlowiseAI/Flowise/issues/2013#issuecomment-2085163589

perhaps you need PGSSLMODE? https://github.com/FlowiseAI/FlowiseDocs/pull/65

I tried that as well like this:

but still receive an error..

Had the same issue and finally fixed it. I am using an AWS RDS and had to add a configuration group in order to override the ssl settings. See https://stackoverflow.com/a/77787495 But the important part is setting the correct configuration for the postgres vector node. Turns out it uses typeorm under the hood. Therefore you have to provide the correct configuration (see screenshot).

After this the issue was resolved.


Group public ips

Add flag (make default) group-public-ips to reduce number or metrics. When flag is enabled pod sending traffic to public ip will accumulate under single destination ip <IP_ADDRESS>

https://github.com/castai/egressd/pull/37


CreateEventFromVOBJ: if there is no dtend, use the duration if available

... which allows me to gcalcli import the *.ics files provided by a travel agency.  According to a quick skim of one random ;-) iCalendar RFC, that appears to be legit.
Beware: only very lightly tested, so far.

Would you be willing to rebase off current master and then do a bit more testing?   I think it would be good to add your calendar file to the tests/data/ directory and set up some sort of unit testing for your code?

@jcrowgey: Thanks for looking into this, and no worries about the delay.  I also haven't really been proactive with pinging this.
Thanks for your review; that all makes sense, and I'll re-work/extend as suggested.  I won't get it done this year, but I'll try to before the "third birthday" of this PR.  ;-)

I'll try to before the "third birthday" of this PR.

Now 7 years old! Do you still have interest in this change or would you prefer to abandon and let someone else pick it up later?

K, I rebased a version of these changes onto the latest main in #771, doing some polishing and then getting that merged.


DtypeWarning: Columns (7) have mixed types.

The following code is generating a warning for me:
import GEOparse
gpl = GEOparse.get_GEO('GPL17481')

The output is:
>>> import GEOparse
>>> gpl = GEOparse.get_GEO('GPL17481')
17-May-2021 13:32:21 DEBUG utils - Directory ./ already exists. Skipping.
17-May-2021 13:32:21 INFO GEOparse - Downloading http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?targ=self&acc=GPL17481&form=text&view=full to ./GPL17481.
txt
17-May-2021 13:32:23 DEBUG downloader - Total size: 0
17-May-2021 13:32:23 DEBUG downloader - md5: None
1.72MB [00:00,1.63MB/s]
10.3MB [00:01, 7.26MB/s]
17-May-2021 13:32:24 DEBUG downloader - Moving /tmp/tmp2lblbvso to /home/dbolser/Geromics/Dogome/Geromics/GPL17481.txt
17-May-2021 13:32:24 DEBUG downloader - Successfully downloaded http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?targ=self&acc=GPL17481&form=text&view=full
17-May-2021 13:32:24 INFO GEOparse - Parsing ./GPL17481.txt:
17-May-2021 13:32:24 DEBUG GEOparse - PLATFORM: GPL17481
/usr/bin/bpython3:1: DtypeWarning: Columns (7) have mixed types.Specify dtype option on import or set low_memory=False.
  #!/usr/bin/python3
>>>

I get that this error is coming from pandas, but I'm not sure how to fix it.

Could it be that the chromosome column starts out as an int, and then becomes a str?
!platform_table_begin
ID      CHROMOSOME      Position        SNP     Plus/Minus Strand       CanineHD_A.bpm.Address  SPOT_ID SNP_ID
BICF2G630100019 25      34549096        [A/G]   BOT     25732300        BICF2G630100019
BICF2G630100032 25      34560607        [A/G]   BOT     18759386        BICF2G630100032
BICF2G630100034 25      34561954        [A/G]   BOT     13789354        BICF2G630100034
BICF2G630100043 25      34587072        [A/G]   BOT     32780356        BICF2G630100043
BICF2G630100054 25      34604596        [T/C]   BOT     21757302        BICF2G630100054
BICF2G630100063 25      34615165        [A/G]   BOT     51809461        BICF2G630100063
BICF2G630100075 25      34638645        [A/C]   BOT     55806509        BICF2G630100075
BICF2G63010009  X       95382735        [T/C]   BOT     41613463        BICF2G63010009
BICF2G630100090 25      34688200        [T/C]   BOT     51730475        BICF2G630100090
BICF2G630100094 25      34689509        [A/T]   BOT     53724487        BICF2G630100094
BICF2G63010010  X       95373856        [A/G]   BOT     49675468        BICF2G63010010

Pandas may guess that it's an int and then get confused... As I said, I'm not super familiar with pandas, but I suppose there is a way to let it know the datatype of each column. However, I don't know how GEOparse invokes Pandas.

Indeed, this seems that this is a problem. Currently, the package does not allow to pass kwargs to Pandas. However, if the code is in some script and it influences the behaviour you could convert the type after the data is read.

Seems not to cause any problem TBH. It's just a bit of a weird looking error..
You could probably get away with the low_memory=False flag by default?
Thanks for help,
Dan.


Question about deep copy in lib/bus.js

Hi,
On line 98 in lib/bus.js I see a deep copy of the msg coming in on the connection.  Why is the deep copy there?  Also why is there a declaration of msg when msg is a call parameter - will the deep copy work if msg is copied to msg?
Kind Regards

Thanks!
Hm. I remember I had some problems in another handler because on('message') altered message and I was expecting to see original incoming data but I can't see exactly why. var msg is definitely bad style though should not cause problems. I'll try to investigate if msg is not modified in the function I'll delete line 98

If we can get away without it - it will improve performance.

I doubt it's noticeable, but I'll try to remove it

Hi @mkcybi - could you look at commit? I haven't tested it thoroughly yet, I'll merge when I get chance to run some examples

wouldn't the changes from this have rippled out and caused people problems by now?

I suppose so, I'm closing now, but will reopen if some problems start to appear somehow.
Thanks @jrobeson , @mkcybi .


Add some screenshot images on github project page

Hi Michael,
Could you please add some screenshot images on github project page? so that others can see the ui and how it looks like.
Screenshot should be displayed when user visits this URL:
https://github.com/t3chguy/Roundcube-SQL-Global-Address-Books

Yeah, sure I'll do that when I get home tonight, thanks for the idea!

I just got home to find that you had beaten me to it, thank you very much, could you list what screenshots you need for an Android EAS Tutorial and I'll do those in a few hours for you

Sent you testing account to setup Android EAS. :)


Include root user

The intent with the chiseled containers is to have a non-root user by default. As part of that implementation, the users that were actually registered in the container have been scoped down to just that non-root user app.
However, all of the files in the system are actually owned by the root user (technically owned by UID 0 since there is no user named root). So it's a bit odd that there are files in the container that are owned by a user that is not registered.
Not having a root user exist doesn't actually provide any sort of protection. The container can still be run with root-level permissions by running the container with --user 0 instead of --user root.
So to make things more correct and consistent, the root user will be included in the generated images.

nice. thanks @mthalman


default event + demo

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


#667 Remove builder & builder_test

closes #667

@davecheney I am new to Go & contour project. I followed the issue description & deleted - builder.go & builder_test.go and the build fails. Can you please guide me to fix the build?

@Atul9 lets talk about it on #667.


Does the front-end support onnx-mlir? Why not use Onnx-mlir directly when importing onnx, but use Torch-mlir to convert the onnx file into the torch dialect?

No it does not. Frontends are expensive and we preferred to leverage the joint work to make both take the same path and exercise the same pipelines in order to have them both be first class and get the benefit of testing. We've found that doubling up investment on the same path through is more efficient than having a lot of independent multi-hop partial conversions at this layer. In some cases, it pushes us to make the torch support more robust, but pretty much every modern onnx model is coming from torch anyway, so there is a lot of overlap.


Philsophy

Coverage remained the same at 72.628% when pulling 6f0c57ee2b6ad255f26f0ff0e039a21b6577473a on philsophy into 1c55ef691d7bf402b9a9b970e7047f86a6431cfc on master.


Explore async support

The tracker feels extremely synchronous at the moment.
Other trackers have a singleton daemon-like emitter which works through any event backlog under their own steam.

I think we can close this old ticket as a dupe...

I think yes!


TCP route based on matched port doesn't seem to be working.

I am testing the following example from your website:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: server-vs
spec:
  hosts:
  - server.istio.svc.cluster.local
  tcp:
  - match:
    - port: 12345
    route:
    - destination:
        host: nginx.istio.svc.cluster.local
        port:
          number: 80

And this is the explanation:

Describes match conditions and actions for routing TCP traffic. The following routing rule forwards traffic arriving at port 27017 for mongo.prod.svc.cluster.local to another Mongo server on port 5555.

What I have change are the service names and ports. But have not added or removed anything. Instead of mongo.prod it's server.istio, which based on the port match, would send the traffic to nginx.istio service.
Note: server.istio is a service pointing to nginx and apache backeds, while nginx.istio only points to nginx backends.
So, if I'd curl server on port 12345, I should always get nginx serving this requests. But if I do that, Envoy times out:
/ # curl server:12345
curl: (56) Recv failure: Connection reset by peer

Then I thought may be it should be on the port that server.istio is actually expecting to get requests, so I changed server service port to 12345. But now I just get 50% serving nginx and 50% apache.
Is this feature actually working? Seems to be pretty simple and it is not working. Am I doing something wrong?
I am using Istio 1.4.2 and k8s 1.16.4.

Show your confifg dump of the outbound listener and cluster

I don't have any listener for this purpose. Could you point out anywhere is the docs where it is explained the theory behind this? All I can find are examples. In fact, the entire Istio documentation is based on examples.
With that said, I did find an example that works. But it uses istio-ingressgateway for the port match. So, if I create the VirtualService, link it to istio-ingressgateway and set the port to match to be 31400 (which is TCP on ingress gateway pod), it works fine. Is this the way to make work TCP port match?

Yeah, for ingress, it is a little different, you need a gateway with explicitly port specified, and i think you can only match by the port. Otherwise it will no add a outbound network filter.

If i understand this right, this is working now? If not, please add a config dump as requested and reopen. Thanks! https://github.com/istio/istio/wiki/Troubleshooting-Istio for more info


Version with node-fetch (Fixes invalid grant_type with newer got versions)

There's a problem with the<EMAIL_ADDRESS>library that is causing an the fetchToken API call to return :
{
	error: 'unsupported_grant_type',
    error_description: 'Invalid grant_type: '
}

I've fixed this by using node-fetch instead:
const fs = require("fs");
const process = require("process");
const { default: fetch, Request } = require("node-fetch");

const rootURI = "https://www.googleapis.com";
const refreshTokenURI = "https://www.googleapis.com/oauth2/v4/token";
const uploadExistingURI = id => `${rootURI}/upload/chromewebstore/v1.1/items/${id}`;
const publishURI = (id, target) => (
	`${rootURI}/chromewebstore/v1.1/items/${id}/publish?publishTarget=${target}`
);

const requiredFields = [
	"extensionId",
	"clientId",
	"refreshToken"
];

class APIClient {
	constructor(options) {
		requiredFields.forEach(field => {
			if (!options[field]) {
				throw new Error(`Option "${field}" is required`);
			}

			this[field] = options[field];
		});

		if ("clientSecret" in options) {
			this.clientSecret = options.clientSecret;
		}
	}

	async uploadExisting(readStream, token = this.fetchToken()) {
		if (!readStream) {
			throw new Error("Read stream missing");
		}

		const { extensionId } = this;

		const response = await fetch(new Request(uploadExistingURI(extensionId), {
			method: "PUT",
			headers: this._headers(await token),
			body: readStream,
		}));

		return await response.json();
	}

	async publish(target = "default", token = this.fetchToken()) {
		const { extensionId } = this;

		const response = await fetch(new Request(publishURI(extensionId, target), {
			method: "POST",
			headers: this._headers(await token),
		}));

		return await response.json();
	}

	async fetchToken() {
		const { clientId, clientSecret, refreshToken } = this;

		const response = await fetch(new Request(refreshTokenURI, {
			method: "POST",
			headers: {
				"Content-Type": "application/json",
			},
			body: JSON.stringify({
				client_id: clientId,
				client_secret: clientSecret,
				refresh_token: refreshToken,
				grant_type: "refresh_token",
			}),
		}));

		const json = await response.json();
		return json.access_token;
	}

	_headers(token) {
		return {
			Authorization: `Bearer ${token}`,
			"x-goog-api-version": "2"
		};
	}
}

It's more likely that the input data was incorrect/incomplete because the library has been in continuous use in my repos for months without change.
However if you'd like to open a PR to replace got with node-fetch I'd accept it. I hope to release a new major version this or next month.

got prints the body arguments in the error message, and they all look correct. My first step when reproducing this error was to check the same request with Insomnia (open source Postman), and it worked. I then replaced got with node-fetch, without changing any arguments, and that worked
I use a rolling release distro and copied the code rather than using this library - it seems more likely due to having a different got version. I used 11.8, whereas the library uses 11.5.
Obviously, it's a user error to use a different version of the library. I made this issue not because it's a bug with this library (it probably works with the correct got version) but to share my porting to node-fetch as I felt that it could be useful

I made several updates in this module and its CLI counterpart, including handling errors a little better: https://github.com/fregante/chrome-webstore-upload-cli/pull/55
I'd still like to replace got with fetch to make it lighter, so feel free to open a PR


Add Pydantic validators for goal-related fields

suggestion: Consider adding Pydantic validators for goal-related fields to ensure valid ranges
Fields like goal_percentage_complete (0-100), goal_cadence, and goal_cadence_frequency should have appropriate value constraints using Pydantic's field validation.
Suggested implementation:
src/uynab/model/category.py
    activity: int
    balance: int
    goal_type: str = "TB"

    @validator('goal_percentage_complete')
    def validate_percentage(cls, v):
        if not 0 <= v <= 100:
            raise ValueError('Percentage must be between 0 and 100')
        return v

    @validator('goal_cadence', 'goal_cadence_frequency')
    def validate_positive_int(cls, v):
        if v <= 0:
            raise ValueError('Value must be a positive integer')
        return v

    @validator('goal_creation_month', 'goal_target_month')
    def validate_month_format(cls, v):
        try:
            datetime.strptime(v, '%Y-%m')
        except ValueError:
            raise ValueError('Month must be in YYYY-MM format')
        return v

    from datetime import datetime
    from pydantic import validator

    goal_needs_whole_amount: Optional[bool]

duplicate of #6


Bump @celo/utils to 0.1.5-dev

Description
Move @celo/utils to an unpublished version

@jmrossy @mcortesi I've updated the README-dev.md file to include the publishing instructions as I understand them.

Assigning back for now because tests are failing


Add in or extend methods from Node.js http

Problem description:
Express is built on top of Node.js http library, it extends http so if an application is using methods from http through express the test utility will not have those methods and would need to be manually added or it will cause errors.
Suggested solution:
Express uses/extends http.IncomingMessage, http.ServerResponse and http.Server. These could be added in jest-express or we could create a jest-http as a base and jest express could extend the base.

See: https://github.com/jameswlane/jest-node-http


functional-tester: remove log prefixes

capnslog already prefixes with its package name.

lgtm

Sorry. Should have done in the previous PR. Will deploy shortly after documenting the errors.
Thanks.


Sanitize HTML in MessageViewExtractor instead of MessageWebView

This PR moves more data processing, namely the html header construction and sanitization, into extractor classes, saving a bunch of processing time on the ui thread.
It is arguable if addition of the viewport meta tag shouldn't be kept in the MessageWebView, since that bit is about a specific behavior of the WebView. However, if we do that we seperate it from other header pieces like theming and fonts, ripping apart the header creation. So I decided to move all of that into HtmlConverter. I suppose HtmlConverter is slowly approaching a point where it does too much, but we can always split it apart later.

:+1:
Please rebase and merge.


CI build to validate PRs

Would you be interested in adding a GitHub Actions CI build that simply builds the solution and runs all tests? That way the build errors I missed in https://github.com/paul1956/CSharpToVB/pull/2 would have prevented the PR from being merged without overriding.

Yes, but the real tests are the 42 that use Roslyn Source.

I set up a CI build first without the Roslyn tests, then with them. The Roslyn tests are currently failing, so we cannot use them to validate PRs until that is fixed. Not only do they fail, but they take a super long time to run. 14 minutes and still running! https://github.com/jnm2/CSharpToVB/runs/507932037
The weird thing about it is that the Roslyn codebase is a moving target, so if they do something you haven't seen before, your master branch will be considered broken and all builds will fail even for PRs that are not related.

Yes, I check new versions of Roslyn maybe monthly and they take over an hour based so yes it is better to not include them.

Fixed by @jnm2


Yields a state object

This PR does 2 things:

rename textState to currentState (I personally found textState confusing)
yield a state object to the block, in addition to the component itself (for backward compatibility).

The later allows for better control of the contents in the template, see:
<!-- before -->
{{async-button action="save" as |block|}}
  {{#if (eq block.textState "pending")}}
    Please wait...
  {{/if}}
{{/async-button}}

<!-- after -->
{{async-button action="save" as |block state|}}
  {{#if state.isPending}}
    Please wait...
  {{/if}}
{{/async-button}}

The advantage of the state object is to avoid doing string comparison in templates, which is error prone and forces the app developer to either build a helper or install ember-truth-helpers.
I hope you'll like it!

rename textState to currentState (I personally found textState confusing)

Could you alias instead of rename? Seems unnecessary to have a breaking change for just a rename.
Also needs a little blurb about the new feature in the README.md file.

Update:
currentState is not usable because of Ember.View and the compatibility with Ember 1.13.
So I aliased textState to asyncState (https://github.com/DockYard/ember-async-button/pull/91/files#diff-d6ef0b16dc1a1a16373acd916a9f56f8R22) and added a stateObject property that is yielded.
would say that the stateObject could be private (ie, _stateObject).

would say that the stateObject could be private (ie, _stateObject).

Go for it!

Done, and updated with documentation


An error occurs with nothing on the tensorboard.

An error occurs with nothing on the tensorboard!!!!
	tbCallBack = keras.callbacks.TensorBoard(log_dir=logdir, write_graph=True, write_images=True)

	learner = ktrain.get_learner(model, train_data=trn, val_data=val, batch_size=6)

	learner.fit_onecycle(3e-5, int(epoch),checkpoint_folder = checkpoint_path, callbacks=[tbCallBack])

tensorboard --logdir=./logs/ --host=<IP_ADDRESS>tensorboard --logdir==training:logs/ --host=<IP_ADDRESS>
2020-03-24 16:59:18.934221: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
Exception in thread Reloader:
Traceback (most recent call last):
File "c:\users\hwnau.conda\envs\cuda\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "c:\users\hwnau.conda\envs\cuda\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\application.py", line 480, in _reload
multiplexer.Reload()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_multiplexer.py", line 246, in Reload
Worker()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_multiplexer.py", line 224, in Worker
accumulator.Reload()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_accumulator.py", line 177, in Reload
for event in self._generator.Load():
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 89, in Load
for event in self._LoadInternal():
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 109, in _LoadInternal
self._InitializeLoader()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 168, in _InitializeLoader
self._SetPath(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 192, in _SetPath
self._loader = self._loader_factory(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\event_file_loader.py", line 42, in init
self._reader = _pywrap_tensorflow.PyRecordReader_New(
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\lazy.py", line 65, in getattr
return getattr(load_once(self), attr_name)
AttributeError: module 'tensorflow.python.pywrap_tensorflow' has no attribute 'PyRecordReader_New'
TensorBoard 1.15.0 at http://<IP_ADDRESS>:6006/ (Press CTRL+C to quit)
E0324 16:59:27.287061 15336 _internal.py:122] Error on request:
Traceback (most recent call last):
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\serving.py", line 304, in run_wsgi
execute(self.server.app)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\serving.py", line 292, in execute
application_iter = app(environ, start_response)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\application.py", line 395, in call
return self.exact_routes[clean_path](environ, start_response)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\wrappers\base_request.py", line 237, in application
resp = f(*args[:-2] + (request,))
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\plugins\core\core_plugin.py", line 188, in _serve_runs
run_names.sort(key=get_first_event_timestamp)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\plugins\core\core_plugin.py", line 182, in get_first_event_timestamp
return self._multiplexer.FirstEventTimestamp(run_name)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_multiplexer.py", line 306, in FirstEventTimestamp
return accumulator.FirstEventTimestamp()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_accumulator.py", line 227, in FirstEventTimestamp
event = next(self._generator.Load())
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 89, in Load
for event in self._LoadInternal():
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 109, in _LoadInternal
self._InitializeLoader()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 168, in _InitializeLoader
self._SetPath(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 192, in _SetPath
self._loader = self._loader_factory(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\event_file_loader.py", line 42, in init
self._reader = _pywrap_tensorflow.PyRecordReader_New(
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\lazy.py", line 65, in getattr
return getattr(load_once(self), attr_name)
AttributeError: module 'tensorflow.python.pywrap_tensorflow' has no attribute 'PyRecordReader_New'
W0324 16:59:27.369062 16352 core_plugin.py:185] Unable to get first event timestamp for run =training\train: No event timestamp could be found
E0324 16:59:27.406058 16352 _internal.py:122] Error on request:
Traceback (most recent call last):
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\serving.py", line 304, in run_wsgi
execute(self.server.app)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\serving.py", line 292, in execute
application_iter = app(environ, start_response)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\application.py", line 395, in call
return self.exact_routes[clean_path](environ, start_response)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\werkzeug\wrappers\base_request.py", line 237, in application
resp = f(*args[:-2] + (request,))
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\plugins\core\core_plugin.py", line 188, in _serve_runs
run_names.sort(key=get_first_event_timestamp)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\plugins\core\core_plugin.py", line 182, in get_first_event_timestamp
return self._multiplexer.FirstEventTimestamp(run_name)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_multiplexer.py", line 306, in FirstEventTimestamp
return accumulator.FirstEventTimestamp()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\plugin_event_accumulator.py", line 227, in FirstEventTimestamp
event = next(self._generator.Load())
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 89, in Load
for event in self._LoadInternal():
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 109, in _LoadInternal
self._InitializeLoader()
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 168, in _InitializeLoader
self._SetPath(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\directory_watcher.py", line 192, in _SetPath
self._loader = self._loader_factory(path)
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\backend\event_processing\event_file_loader.py", line 42, in init
self._reader = _pywrap_tensorflow.PyRecordReader_New(
File "c:\users\hwnau.conda\envs\cuda\lib\site-packages\tensorboard\lazy.py", line 65, in getattr
return getattr(load_once(self), attr_name)
AttributeError: module 'tensorflow.python.pywrap_tensorflow' has no attribute 'PyRecordReader_New'
W0324 16:59:27.489111 16352 core_plugin.py:185] Unable to get first event timestamp for run =training\train: No event timestamp could be found
W0324 16:59:27.490113 16352 core_plugin.py:185] Unable to get first event timestamp for run =training\validation: No event timestamp could be found

Take a good look

Hello:  I wasn't able to reproduce this issue.  It looks like some sort of TF/TensorBoard issue on our end, as opposed to a ktrain issue. Probably a versioning issue.


update documentation

Hey, I made some changes to the introduction text to improve fluency and made slight changes to the table design to make it easier to navigate through.
hope you like it!

<b> is a tag and defines the area of effect better that ** thus reducing syntax error chances, I visited the website and the complete list was a bit overwhelming to navigate through for the first time thats why I decided to make headings stand out different to improve readability.

** is as strong as <b>.
**word**, <b>word</b>
word, word

Maybe we can enforce this via markdownlint:
https://github.com/markdownlint/markdownlint/blob/main/docs/RULES.md#md033---inline-html

Unfortunately, no, this rule looks unsuitable without it offering any configuration on which tags to forbid.

https://github.com/go-gitea/gitea/pull/23581 for the lint change.

IIRC b is deprecated, and strong should be used for emphasis. That being said I'm unsure about these changes, and perhaps instead of a list we should list functionality in a different way.

I've decided against this lint rule. It's to forbiding when one needs to use HTML to access HTML attributes like center. Still I think this PR needs to be refactored to not use HTML as there is no reason for <b> usage here.

Thanks for your PR. I'm going to close it due to the comments above. If you'd like to contribute again, please hop into chat and we'd be happy to be able to help out :)


Whitelist activating in DMs.

When using a command like !email or !birthday in my DM with our PCO Bot, it always gives me the following response:

I might have that email address. I'll look. (Good!)
The "Dd6B1Ncpn" channel is not whitelisted. So I sent it as a direct message. (Bad.)
Here you go: {the info I requested.} (Good!)

Basically, it's flagging my DM channel as not being in the whitelist, though DMs should be automatically whitelisted.

I think #114 is a fix for this. Let me know after it's deployed.

I found this bug again. Hopefully #121 fixes it

I think this is fixed so closing this one. If it's not working please reopen.


Fix unnecessary setting up template while refreshing state

@FVesely What should that do? :)

@paveljanda Sorry, maybe I should open an issue first. Without this PR for example an unnecessary select to database is triggered while refreshing state.

@FVesely Aaah, I see. Shouldn't be that call just after the $this->onRender($this);? I mean after the filter assembly.

@paveljanda I don't think so. All required functions are called in handleRefreshState function.

@FVesely @paveljanda Anything new? How should it be then?

@FVesely Shouldn't be the return in ::render() method called before $this->onRender($this);?

@paveljanda Yes, it should and it's called before $this->onRender($this); because it doesn't render anything.

I like it. Can you maybe call the property only_refresh_state?

I think we can close it, WDYT @paveljanda?

Yes


wails: update sign transaction screen

We are updating sign transaction screen to follow design :

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (cb21c51) 41.54% compared to head (99c6a75) 41.54%.

:exclamation: Current head 99c6a75 differs from pull request most recent head 435970b. Consider uploading reports for the commit 435970b to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #366   +/-   ##
=======================================
  Coverage   41.54%   41.54%
=======================================
  Files          15       15
  Lines        1047     1047
=======================================
  Hits          435      435
  Misses        569      569
  Partials       43       43

Impacted Files
Coverage Δ

internal/handler/wallet/transfer.go
55.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fix zero gradient for subtensor assignment.

@alexbw Partially fixes #126 and adds a unit test. It gives the correct answer in direct mode now, but still crashes in optimized mode.

Will merge when Assignment test passes on CI
On Fri, May 27, 2016 at 5:38 PM Bart van Merriënboer <
<EMAIL_ADDRESS>wrote:

@alexbw https://github.com/alexbw Partially fixes #126
https://github.com/twitter/torch-autograd/issues/126 and adds a unit
test. It gives the correct answer in direct mode now, but still crashes in
optimized mode.
You can view, comment on, or merge this pull request online at:
https://github.com/twitter/torch-autograd/pull/127
Commit Summary

Fix zero gradient for subtensor assignment.

File Changes

M src/gradfuns.lua
https://github.com/twitter/torch-autograd/pull/127/files#diff-0 (7)
M test/test.lua
https://github.com/twitter/torch-autograd/pull/127/files#diff-1 (5)

Patch Links:

https://github.com/twitter/torch-autograd/pull/127.patch
https://github.com/twitter/torch-autograd/pull/127.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twitter/torch-autograd/pull/127, or mute the thread
https://github.com/notifications/unsubscribe/AAJ4jzSbpB_VT7x5bzVhKIpXaZRAPPBNks5qF2RegaJpZM4Io4la
.

The test that I added fails on the current master as well, it's a bug somewhere in optimized mode. I'd have to get a bit more familiar with the details of optimized mode before I can fix that.

Maybe someone with better knowledge of the optimized mode internals can understand what is going on. The problem seems to be this line in Node.lua which specifically deals with "Value.__internal_set:
mutationFlow:alias(self.inputs[1], valueAlias)

Unlike valueAlias = Value.from(outputs[1], Source.computed(self, 1)), self.inputs[1] here is not transformed into a Value instance. This line in runtime/codegen/backend/lua/init takes issue with that:
aliasOp = graph.mutationFlow.history[i]
addNodeTargets(aliasOp.from.source.node, hazardNodes)

since aliasOp.from.source doesn't have a node, it's simply a table that looks like this:
from    {
  type : "tensor"
  source :
    {
      type : "table"
      parent :
        {
          type : "param"
          name : 1
        }
      key : "x"
    }
  raw : DoubleTensor - size: 10x10
}

Because I need this for something else as well now, another stab at it. I'm using torch.clone to sidestep the issue of params.x not being a node (as was done in the other tests).
However, now the test for optimized mode fails for another reason: The gradient gets computed correctly the first time grad(f) is called, but when it is called a second time it overwrites the gradient in place and sets it to zero. This surfaced accidentally because gradcheck happens to call grad(f) twice to check for determinism. I made the check more explicit, but I haven't figured out how to fix it yet.

@luketwitter @alexbw Although I can't figure out the current bug in optimized mode triggered by the new unit test I added, can I propose at least merging my changes to src/gradfuns.lua? That way the gradients for index assignment in direct mode aren't silently set to zero anymore, which is a really nasty bug because it can make models completely fail to train without giving a single error.
I made a new PR for this: #139

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


import destroyApp from consuming app

startApp is imported form the consuming app, but not destroyApp, instead Ember.run(this.application, 'destroy') is called directly. When adding custom tear down logic into your tests/helpers/destroy-app.js  that will never be executed when using acceptance tests with ember-cli-yadda. This PR fixes this.

Sweet 😄 thanks.

We have two failing tests though.

Oh, sorry. Should have really checked that before... Will try to fix that!

It is failing because there is no destroy-app.js in the local tests/helpers folder. It is easy enough to add that (or update the used ember-cli to a more recent version that does include it by default), however I wonder how to handle that for the consuming app.
If there are still apps out there that use ember-cli-yadda and are as well based on a very outdated ember-cli version that did not come with destroy-app.js, then this will break them as well, regardless of the addons tests failing or succeeding.
Do you still want to support such older apps? And if so, how to handle this? Require them to add an destroy-app.js? Or generate the test code conditionally based on the existence of that file? (we could check this as the tests are generated in node-land)

Lets investigate in which version of ember and ember-cli destroy-app.js was added.

Seems to be 1.13.10: https://github.com/ember-cli/ember-new-output/commits/59c9794ec3b9586e3de9f7a2654efa93eb69df0d/tests/helpers/destroy-app.js

I'll have to look into updating ember-cli.

do your tests pass if you do npm install<EMAIL_ADDRESS>

I think it is not about updating the ember-cli dependency (which is in node_modules), but rather the missing destroy-app.js in https://github.com/curit/ember-cli-yadda/tree/master/tests/helpers. When updating ember-cli and running ember init, the app blueprints of ember-cli would create this missing file.

If you think it is ok to require the destroy-app.js file to exist in the consuming app (as it should be the case for every app scaffolded with an ember-cli release >= 1.13.10), I can add the missing files to this PR and make sure the tests are not failing.

It seems better to me to run ember init with a<EMAIL_ADDRESS>I'm ok with dropping support for 1.13.8 and 9

awesome job! thank you for the PR 😄


molecule_builder

PR Description 📜
Added Molecule builder game
Fixes #3005

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @kumar11jr ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @kumar11jr,
You can't work on a closed issue 👀!
Follow the proper guideline and make a new PR again 😀.
Happy Hacking 💗

Thank you  @kumar11jr , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


fix:when cursor < 0 && cursor > ^int32(^uint32(0)>>1),idx < 0

panic: runtime error: index out of range [-1023]

this PR must have some test case plz.

Codecov Report

Merging #114 into master will decrease coverage by 1.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #114      +/-   ##
==========================================
- Coverage   49.47%   48.45%   -1.02%
==========================================
  Files          62       65       +3
  Lines        6280     6412     +132
==========================================
  Hits         3107     3107
- Misses       2826     2958     +132
  Partials      347      347

Impacted Files
Coverage Δ

proxy/slowlog/slowlog.go
0% <0%> (ø)

proxy/slowlog/file.go
0% <0%> (ø)

proxy/slowlog/http.go
0% <0%> (ø)

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 eb1e8a6...910080f. Read the comment docs.

this PR must have some test case plz.

had add some test case


Add inner topic protection

Motivation
For inner topic, such as, __consumer_offsets, __transaction_stats, and system topic, such as, __change_event, they are expose to all users and can produce / consumer message to / from those topic, which will cause the cluster crash.
Changes

add produce protection for inner topic on KOP side.

TODO

for consume protection, it's in testing.

Just a doubt about your TODO: do we need to protect consuming? If I didn't remember wrong, Kafka allows consumers to read __consumer_offsets and some admin tools are implemented by this way.

Just a doubt about your TODO: do we need to protect consuming? If I didn't remember wrong, Kafka allows consumers to read __consumer_offsets and some admin tools are implemented by this way.

OK, the consume may expose to users.

I see it works well with system topic enabled. Is https://github.com/apache/pulsar/pull/10341 necessary?

Sorry I just misunderstood.


Figure of decision tables

The U.S. JTC members were provided with a suggestion to show the results of the decision table in figure format as well as the current table to help people with interpolation between the forecasts.
... ways to display the projections as graphs. As you know, the interpolations between
the values you run through the model are tight fits. 2025 status on y axis and 2024 catch on x axis.

I suggested that we CANNOT run a GAM or other models to interpolate but we might be able to just use lines between the points in a figure that could be presented to the JMC. I suggested that it NOT go in the assessment document because we already have the information in a table. I am not sure what you all think about this.

I don't mind. But they will ask for it to go into the assessment once they get used to using it... you know that right :)
Notes for later: Here's the best way to do it I think, in case the table changes in the future -
Have the table_decisions() function generate a data frame with generalized names. It would then return a two-element list, element 1 being the kbl() output and element 2 being the data frame. Change calls to the function in ES and main tables section to insert list item 1 instead of the full object returned and pass list item 2 to the plotting function.

By 'status' they mean the range of relative spawning biomass yes?
So that is already shown in Figure j for some catch values, though not in the way they're asking. They can just interpolate from the table to get more 'exact' values.
Not totally against it, and I get how it might help, but I feel the info is already there. Also, they might want then ask for three figures (one for each future catch year).


[Fix 🛠] Added fixes for #30

Issue #30 📐

I Franco have worked for #30

Guidelines 🔐
I accept the fact that I have followed the guidelines and have not copied the codes from around the internet

[x] Contribution Guidelines
[x] Code of Conduct

Issue to be closed 🛅

My pull request closes #30

Screenshots 📷
Here are the pictures of changes that I have made 🔽

please merge your contributions in a single PR

Congratulations 🎉 @FranDiSilvestro  on your first contribution in Nike

Make sure to star this project, if you liked contributing to it. 🌟🌟🌟
You can raise another new issue, if you find something is worth enhancement or needs a fix.
You can see my other projects too, which you might feel appealing.
You also follow me for making more future contributions in open-source projects.


HTML for File Detail Page

Ticket: https://openscience.atlassian.net/browse/ENG-3517
Feature flag: n/a

Purpose
The purpose of this change was to create the initial html from the UX Pin Mock ups shared with us by Product and Design.
Summary of Changes
I have removed elements on the initial quickfiles route to match current mock ups, added bootstrap grid for the detail page with the file name, version, and renderer formatted on the left with the versions to appear on the right.
Screenshot(s)

The current screenshot shows metadata, while the new mockup shows versions.
Side Effects
The route, rendering of files, and guid resolution should be thoroughly tested since this is utilizing the former quickfiles route.
QA Notes
- Verify file name and version displays
- Does the version link work correctly?
- Does the file render?
- Are the buttons functional? Is there any logic that needs testing (versions, permissions, etc)
- Are versions present? If so, are they accessible?

Hi, Ashley,
The screenshot above doesn't look quite right. Could you compare to the current mockups at https://preview.uxpin.com/a26850bd4eb83ce026a87824991239c2d9b47728#/pages/146444863/simulate/sitemap?mode=i
It should look more like:


helm chart save --app-version?

I'm trying to replicate what's possible to do with helm package --app-version but with the new OCI experimental commands helm chart save. My understanding is that's not possible today, but is it possible to accomplish this at some point?
I'm finding https://github.com/helm/helm/pull/3196 very useful especially in a CI/CD pipeline where the appVersion doesn't reside in the Chart.yaml and has to be dynamically injected while building the chart package. There is maybe more flags to take into consideration which are available today via the helm package -h command too.
Alternatively, could we use first helm package --app-version and then use helm chart save with the generated .tgz file?
Note: I have also seen this thread https://github.com/helm/helm/pull/3196 where it's mentioned that adding --app-version while doing helm install|updgrade is not possible by design.
Thanks for any thought and guidance here.

Output of helm version: 3.0.0
Output of kubectl version: N/A
Cloud Provider/Platform (AKS, GKE, Minikube etc.): N/A

Otherwise, alternatively with the commands and options today, this flow could allow to achieve what I'm looking for:
# Push without appVersion notion:
helm chart push...

# Pull and deploy:
helm chart pull...
helm chart export...
helm package --appVersion...
helm upgrade|install...

I'm just wondering if that helm package could be avoided...
Thoughts?

@mathieu-benoit I think it probably makes sense for several of the flags on helm package to make their way into helm chart save

You can use helm chart save to load the chart archive generated by helm package:
$ cd $CHART_DIR
$ export HELM_EXPERIMENTAL_OCI=1
$ helm chart save $(helm package --app-version demo --version 0.0.0 . | grep -o '/.*.tgz') chart:demo
$ helm chart list

and you'll see chart:demo in your local registry cache

Hi all,
I'm successfully to pushing/pulling charts to/from GCR. Tags are also working fine 👍
However could someone explain me what this local cache is all about ? Why do we need to helm chart save before being able to helm chart push ?
The pattern is obviously similar to docker, whereas
docker: build --> tag --> push
helm: save (with tag) --> push
but the naming, and workflow, is a bit misleading in my opinion.
second question: why isn't helm chart able to list charts from the registry ? Luckily, gcloud can be used to achieve it, e.g.
gcloud container images list --repository="$GCR_PATH"
gcloud container images list-tags "$GCR_PATH"/my-helm-chart

Furthermore, I would expect helm chart list to read from the Registry, not this local cache. In the CI pipeline, this cache would be empty.

The --version and --appVersion present in helm package command are missing a lot in helm chart save command.

You can use helm chart save to load the chart archive generated by helm package:
$ cd $CHART_DIR
$ export HELM_EXPERIMENTAL_OCI=1
$ helm chart save $(helm package --app-version demo --version 0.0.0 . | grep -o '/.*.tgz') chart:demo
$ helm chart list

and you'll see chart:demo in your local registry cache

This saved my butt, thanks!

Based on https://github.com/helm/community/pull/136, helm chart save is likely to be going away. It's a misfeature that it works like helm package without the full feature set, the usage should probably have been limited to how @btwiuse showed it in https://github.com/helm/helm/issues/7032#issuecomment-625100794

$ helm chart save $(helm package --app-version demo --version 0.0.0 . | grep -o '/.*.tgz') chart:demo

If the OCI cache is not removed (seems likely it will be) then helm chart save would be turend into helm package --cache-oci.


More feedback on Nanobot build completion

Currently it is unclear when a Nanobot build has completed. We need more feedback:

Unique but consistent sound on build start
Spawn in front of the player
Unique sound (but consistent) for each build
Particle effects on spawn


3 ➡ 4

➡ Forward port
Port ign-rendering3 to ign-rendering4
Branch comparison: https://github.com/ignitionrobotics/ign-rendering/compare/ign-rendering4...ign-rendering3
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

gpu rays test is fixed after merging with ign-rendering4.
Potential fix for DepthGaussianNoise test in https://github.com/ignitionrobotics/ign-rendering/pull/271

Potential fix for DepthGaussianNoise test

Thanks. I'll wait for #271 to get in and then update this PR.


optimize: Change Hessian function signature?

I've been thinking for a while that we might want to change the signature for the Hessian method. The current signature forces the Hessian to be a *SymDense, while for many problems the Hessian is sparse, or block structured, or something. Directly, this limits the size of problems that can be solved due to memory constraints. Indirectly, this also significantly limits optimizations available. For instance, right now Newton calls Solve, which means the matrix is always using a Dense routine. There could be simplifications available. For instance, Newton really only requires a SolveGradToer, something like
type SolveVecToer interface {
    Symmetric()
    SolveGradTo(v []float64) err
}

which is easily implemented by SymDense, but also enables taking advantage of sparse structure (or approximate solves).
cc @vladimir-ch

SGTM. If we do this change, then I would change also the Grad function from
Grad func(grad []float64, x []float64)

to
Grad func(x []float64) []float64

Is this closed by #955?

Yes. The dream is dead

Are there other approaches you could use to get what you want?

Not within the current design of optimize, that I see. The problem is that anything that uses the Hessian but wants to stay sparse needs to know more than just that it's a Symmetric. It needs more specialized things, like MulVecTo or SolveWithRegularize. As far as I can see, this is incompatible with optimize which by design only has a couple ways of specifying functions. The upside to this is that the methods are guaranteed to be consistent in how they treat Settings, since they all use identical code to do so. This also gives a common place to do the evaluations, which is otherwise tricky to do concurrently.
There are a couple ways to fix this. One is to add a lot of fields to Problem containing all the methods one might want. This of course does not scale. The second is to ditch the idea of Minimize altogether, and instead say that every Method has its own entry function where it can ask for a type that satisfies a certain interface (Functioner, FunGrader, FunGradHesser, etc.). I feel like the current design is quite usable, and I'm not sure how we would make Settings common and useful, but maybe there's a clean design I'm missing.
A third solution, and my current thoughts on the matter, is to generalize the "back-end" of optimize, and then provide different front ends (for which optimize is one of them). This is #925 . The general idea is that we (or someone) could have a different package like sparsenewton. sparsenewton could have it's own Problem, which would be something like:
type Problem struct {
    Func func(x []float64) float64
    Grad(g, x []float64)
    SolveRegularizedTo(dst, x []float64, gamma float64)
}

it's own Settings, but then could call into the same backend to do concurrency. Another potential front-end would be something with constrained optimization, where the Jacobian of the constraint matrix could be sparse. Block-structured constraint Jacobians are very common, but I don't know how that could work in optimize for the same reason that Hessian is difficult -- you need to know what operations you're going to perform on that sparse matrix.
If there is a different way of doing this that I'm missing, let me know. It would be great to just have one entry point for everything, but I don't see the design.

Yes, I think the solution is to step back a little bit from the current abstraction if you can (I don't know enough about this to know if this is possible).

What do you mean by "step back"?

Try to find a more abstracted description of the work to be done. At the moment, you have the Func, Grad and the Hess functions, but the Hess function ties you to a specific implementation. What I understood from what you have above is that you might have an approach to abstracting that away to a greater degree).

The approach above (#3) was to leave optimize the way it is (after #955 ), and then provide different front-ends. I don't see away to abstract optimize directly

OK

(but again, if there is an alternate design I'm missing)

Now that the Hess method has the signature of Hess(dst *mat.SymDense, x []float64) and doesn't return anything, it, could easily be made Hess(dst mat.MutableSymmetric, x []float64) and have the type also have a method the returned the correct size and type of mat.MutableSymmatric, that would be called in evaluate when needed (where we will call mat.NewSymDense(len(x), nil) after #955 is merged). Then loc.Hessian would be a mat.MutableSymmatric. The Hess method could immediately type assert to the concrete type, since it will know what type it should be.

How does Minimize know the type to pass into Hess at the start of the optimization? It cannot pass in nil, and does not start with any examples. Do we add a HessianFactory to Settings, and use SymDense if that's not specified? A similar problem arises if the Method needs to retain information about the Hessian at a location. Right now the method can set the field to nil and Minimize will allocate a new one.

It's not clear to me how we make use of this functionality. Does the Method use interface assertions and panic with a mismatch? This can work, but it's not clear to me this is better than having a different front-end that is explicit (and compile-time safe) about what it uses and needs.

This gets more tricky with constraints. There are a few ways to specify it, and I don't know that it's possible to handle them all with one abstraction. I posted thoughts on #925 that I think are mostly clean, but it's a Dense based approach. I don't see how to generalize this to allow for larger optimization problems. The ability to evaluate constraints independently seems incompatible with having a single sparse Jacobian for the constraints.

Do we add a HessianFactory to Settings, and use *SymDense if that's not specified?

I was thinking that it would go in Problem since it would be a partner with Hess.
// evaluate evaluates the routines specified by the Operation at loc.X, and stores
// the answer into loc. loc.X is copied into x before evaluating in order to
// prevent the routines from modifying it.
func evaluate(p *Problem, loc *Location, op Operation, x []float64) {
	if !op.isEvaluation() {
		panic(fmt.Sprintf("optimize: invalid evaluation %v", op))
	}
	copy(x, loc.X)
	if op&FuncEvaluation != 0 {
		loc.F = p.Func(x)
	}
	if op&GradEvaluation != 0 {
		if loc.Gradient == nil {
			loc.Gradient = make([]float64, len(x))
		}
		p.Grad(loc.Gradient, x)
	}
	if op&HessEvaluation != 0 {
		if loc.Hessian == nil {
			loc.Hessian = p.NewHessian(len(x))
		}
		p.Hess(loc.Hessian, x)
	}
}

Since p.NewHessian and p.Hess were both obtained from the same method struct, they will expect the same type and a type assertion can always be expected to succeed.
I really don't know enough about how optimize works to be able to make any kind of necessarily sensible suggestions, but this seemed plausible, I don't know whether this suggestion would be better or worse than an alternative.
The last point, 3., is outside the scope of this. If you think it's worth expanding things to handle that, then maybe it's not worth trying to shoehorn this in.

It's difficult to comment on all of the recent discussion, so I'll just cherry-pick a couple of points.

sparsenewton could have it's own Problem, which would be something like:
type Problem struct {
...
SolveRegularizedTo(dst, x []float64, gamma float64)
}

I don't think this would work. First, it pushes work to the user that they shouldn't be doing because it's an algorithmic detail of the modified Newton. Second, there would have to be a feedback to Method to indicate whether the value of gamma was large enough (and the solve succeeded) or not.

... generalize the "back-end" of optimize, and then provide different front ends (for which optimize is one of them). This is #925 .

Maybe it's because I don't see far enough but I'd like to first have a couple of concrete implementations that use different storage type for the Hessian (or the Jacobian or the constraints) before generalizing into a backend and frontend for optimize. How would this separation do away with the tension between the types that Methods use and the types that the users fill in?

Do we add a HessianFactory to Settings, and use *SymDense if that's not specified?

I don't think that the Hessian creation should go into Settings. The way I see it is that Methods dictate what type the Hessian should be. Current Newton dictates that it must be SymDense because it modifies its diagonal and call Cholesky on the result. If we had NewtonCG, it would probably dictate that it must be just a MulVecToer (or it could simply pick one concrete sparse storage type). So, the restriction on the type comes from the Method and the restriction can take various forms (a concrete type, possibly an interface). Then there is Problem where the user provides problem-specific functions. They should have a way to work with concrete types so that their (repeated) assembly is efficient.
I haven't thought about the details but at least conceptually it follows that Problem should be method specific and the Problem.Hess function would work with the type that also the Method works with. The user would have to adapt to it but that's fine - they have an objective function, they choose the Method based on how well it exploits any special structure and then work with a type that can represent that structure.


Update egui to 0.24

Reopened https://github.com/mvlabat/bevy_egui/pull/230/

@frewsxcv @naomijub thanks for the PR! Apologies it's taking me a while to merge and release this, I'm a bit overwhelmed with some personal stuff rn. I hope I'll get to it this weekend.

No rush at all! Take your time