docker-compose throws flash attention is not installed error

System Info
Docker mage: ghcr.io/huggingface/text-generation-inference:2.0
GPU: A100
Ubuntu 22.04.2 LTS
Docker version 26.0.0, build 2ae903e
docker-compose version 1.29.2,
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Plain docker command works fine but docker-compose failed.
Can you please guide me how to resolve this error?
OK - docker
docker run --gpus 0,1  --shm-size 1g -p 8080:80 -v $PWD/data:/data -d ghcr.io/huggingface/text-generation-inference:2.0 --model-id /da
ta/our_model

NOK - docker-compose
---

version: '3.7'
services:
  inference-chat:
    image: ghcr.io/huggingface/text-generation-inference:2.0
    ports:
      - 8080:80
    volumes:
      - ${PWD}/data:/data
    command:
      - "--model-id"
      - "/data/our_model"
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia
            device_ids: ['0', '1']
            capabilities: [gpu]
    shim_size: 1g
networks:
  default:
    driver: bridge

Error

inference-chat_1  | 2024-06-13T12:25:49.886902Z  INFO text_generation_launcher: Using default cuda graphs [1, 2, 4, 8, 16, 32]
inference-chat_1  | 2024-06-13T12:25:49.886906Z  INFO text_generation_launcher: Sharding model on 2 processes
inference-chat_1  | 2024-06-13T12:25:49.887020Z  INFO download: text_generation_launcher: Starting download process.
inference-chat_1  | 2024-06-13T12:25:52.590785Z  INFO text_generation_launcher: Files are already present on the host. Skipping download.
inference-chat_1  |
inference-chat_1  | 2024-06-13T12:25:53.190319Z  INFO download: text_generation_launcher: Successfully downloaded weights.
inference-chat_1  | 2024-06-13T12:25:53.190639Z  INFO shard-manager: text_generation_launcher: Starting shard rank=0
inference-chat_1  | 2024-06-13T12:25:53.190680Z  INFO shard-manager: text_generation_launcher: Starting shard rank=1
inference-chat_1  | 2024-06-13T12:25:55.978980Z  WARN text_generation_launcher: Could not import Flash Attention enabled models: cannot import name 'FastLayerNorm' from 'text_generation_server.layers.layernorm' (/opt/conda/lib/python3.10/site-packages/text_generation_server/layers/layernorm.py)
inference-chat_1  |
inference-chat_1  | 2024-06-13T12:25:56.005450Z  WARN text_generation_launcher: Could not import Flash Attention enabled models: cannot import name 'FastLayerNorm' from 'text_generation_server.layers.layernorm' (/opt/conda/lib/python3.10/site-packages/text_generation_server/layers/layernorm.py)
inference-chat_1  |
inference-chat_1  | 2024-06-13T12:25:56.894808Z ERROR shard-manager: text_generation_launcher: Shard complete standard error output:
inference-chat_1  |
inference-chat_1  | The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling `transformers.utils.move_cache()`.
inference-chat_1  | There was a problem when trying to write in your cache folder (/data). You should set the environment variable TRANSFORMERS_CACHE to a writable directory.
inference-chat_1  | The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.
inference-chat_1  | Traceback (most recent call last):
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/bin/text-generation-server", line 8, in <module>
inference-chat_1  |     sys.exit(app())
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 71, in serve
inference-chat_1  |     from text_generation_server import server
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 17, in <module>
inference-chat_1  |     from text_generation_server.models.pali_gemma import PaliGemmaBatch
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/pali_gemma.py", line 5, in <module>
inference-chat_1  |     from text_generation_server.models.vlm_causal_lm import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/vlm_causal_lm.py", line 14, in <module>
inference-chat_1  |     from text_generation_server.models.flash_mistral import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/flash_mistral.py", line 18, in <module>
inference-chat_1  |     from text_generation_server.models.custom_modeling.flash_mistral_modeling import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_mistral_modeling.py", line 30, in <module>
inference-chat_1  |     from text_generation_server.utils import paged_attention, flash_attn
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/flash_attn.py", line 293, in <module>
inference-chat_1  |     raise NotImplementedError("flash attention is not installed")
inference-chat_1  |
inference-chat_1  | NotImplementedError: flash attention is not installed
inference-chat_1  |  rank=1
inference-chat_1  | 2024-06-13T12:25:56.895566Z ERROR shard-manager: text_generation_launcher: Shard complete standard error output:
inference-chat_1  |
inference-chat_1  | The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling `transformers.utils.move_cache()`.
inference-chat_1  | There was a problem when trying to write in your cache folder (/data). You should set the environment variable TRANSFORMERS_CACHE to a writable directory.
inference-chat_1  | The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.
inference-chat_1  | Traceback (most recent call last):
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/bin/text-generation-server", line 8, in <module>
inference-chat_1  |     sys.exit(app())
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 71, in serve
inference-chat_1  |     from text_generation_server import server
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 17, in <module>
inference-chat_1  |     from text_generation_server.models.pali_gemma import PaliGemmaBatch
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/pali_gemma.py", line 5, in <module>
inference-chat_1  |     from text_generation_server.models.vlm_causal_lm import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/vlm_causal_lm.py", line 14, in <module>
inference-chat_1  |     from text_generation_server.models.flash_mistral import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/flash_mistral.py", line 18, in <module>
inference-chat_1  |     from text_generation_server.models.custom_modeling.flash_mistral_modeling import (
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_mistral_modeling.py", line 30, in <module>
inference-chat_1  |     from text_generation_server.utils import paged_attention, flash_attn
inference-chat_1  |
inference-chat_1  |   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/flash_attn.py", line 293, in <module>
inference-chat_1  |     raise NotImplementedError("flash attention is not installed")
inference-chat_1  |
inference-chat_1  | NotImplementedError: flash attention is not installed
inference-chat_1  |  rank=0
inference-chat_1  | 2024-06-13T12:25:56.993889Z ERROR text_generation_launcher: Shard 1 failed to start
inference-chat_1  | 2024-06-13T12:25:56.993908Z  INFO text_generation_launcher: Shutting down shards
inference-chat_1  | Error: ShardCannotStart
test-inference-chat_1 exited with code 1

Expected behavior
Run same as plain docker command.

Hey! I've tried reproducing it locally, but unfortunately, I can't manage to do so. I don't have you model ID, but I see it seems to fail on the mistral import, so I designed the following docker compose file with mistral-community/Mistral-7B-v0.2:
version: '3.7'
services:
  inference-chat:
    image: ghcr.io/huggingface/text-generation-inference:2.0
    ports:
      - 8080:80
    volumes:
      - /home/ubuntu/data:/data
    command:
      - "--model-id"
      - "mistral-community/Mistral-7B-v0.2"
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia
            device_ids: ['0']
            capabilities: [gpu]
networks:
  default:
    driver: bridge

I don't have any difference between using raw docker and docker compose, and it doesn't fail at the flash attention step. I'm using an A10G GPU which is the same generation as your A100 GPU.
Can you maybe try with the checkpoint above to see if it fails for you, to see if we identify whether the problem comes from a specific architecture or not?

@LysandreJik
Thank you for the feedback.
This works for me.
+    environment:
+      CUDA_VISIBLE_DEVICES: "0,1"

//

-            device_ids: ['0', '1']
+            count: all

I'm closing this ticket.

Awesome :raised_hands:


clean up

Signed-off-by: notreallydust<EMAIL_ADDRESS>

Thanks to all my supporters, this project is now better, hehe

Life saver 🥺


magnum support

Magnum PI is my spirit animal.

supersceded by https://github.com/blueboxgroup/ursula/pull/1207


Error when running example_rag.py

Hi there - first congrats on putting this together, looks like a very promising project.
I tried running example_rag with some of my own PDFs, and it seemed to run fine as far as ingesting the documents and sending the info to chatgpt - but an error occurred in whatever the next step is - specifically "OpenAIWrapper' object has no attribute 'extract_text_or_function_call':
DEBUG:openai._base_client:HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK"
ERROR:utils.rag_tools:Error in RAG fusion: 'OpenAIWrapper' object has no attribute 'extract_text_or_function_call'
Traceback (most recent call last):
  File "C:\DEV\AutoGenProjects\autogen-agi\example_rag.py", line 55, in <module>
    main()
  File "C:\DEV\AutoGenProjects\autogen-agi\example_rag.py", line 39, in main
    answer = get_informed_answer(
  File "C:\DEV\AutoGenProjects\autogen-agi\utils\rag_tools.py", line 536, in get_informed_answer
    nodes = get_retrieved_nodes(
  File "C:\DEV\AutoGenProjects\autogen-agi\utils\rag_tools.py", line 339, in get_retrieved_nodes
    query_variations = rag_fusion(query_str, query_context)
  File "C:\DEV\AutoGenProjects\autogen-agi\utils\rag_tools.py", line 288, in rag_fusion
    rag_fusion_response = light_gpt4_wrapper_autogen(
  File "C:\DEV\AutoGenProjects\autogen-agi\utils\misc.py", line 142, in light_gpt4_wrapper_autogen
    return light_gpt_wrapper_autogen(client, query, return_json, system_message)
  File "C:\DEV\AutoGenProjects\autogen-agi\utils\misc.py", line 128, in light_gpt_wrapper_autogen
    response = client.extract_text_or_function_call(response)
AttributeError: 'OpenAIWrapper' object has no attribute 'extract_text_or_function_call'

This could be my error as I noticed you were relying on autogen v0.2.0b4 - I actually installed v0.2.2, but there doesn't seem to be much difference in that function between 0.2.0b4 and 0.2.2.  My config json file has gpt-4-1106-preview and gpt-3.5-turbo in it.  I see in rag_tools you're defining LLM_CONFIGS and then referencing 'llm4' in the 'get_informed_answer' function.
Is my use of 0.2.2 possibly the issue or is it that I need to define an LLM config key/value pair named just 'gpt-4"?

Thanks for pointing this out! I'll definitely check it out. My gut says it's an autogen version issue but if that's the case then I need to update the project.
I'll try to look at this soon and get back to you.

@mferris77 should be fixed with https://github.com/metamind-ai/autogen-agi/pull/5


[IRGen] NFC: Repack TypeInfo and FixedTypeInfo bits

This saves eight bytes per FixedTypeInfo node.
@rjmccall and @slavapestov – Can you please confirm that it is difficult to impossible to statically define extremely large objects in Swift? I suppose that one could define a multi-gigabyte sized object in C and then try to use it in Swift, but that feels impractical and unrealistic for various reasons. In any case, I can change this pull request to use all of the available bits (~48) if anybody is feeling paranoid.

We already don’t allow value types larger than 4 gb elsewhere in the compiler.

Great! Is there a header file that formalizes these limits into compile-time constants?


Warn and decline if not using Solid dev build

Implements Ryan's suggestion to refresh the page (module.hot.decline()) if Solid isn't in dev mode. Also warns (once) in this case. Also added a mention in the README.
Possible issues for discussion:

I wasn't sure the best way to detect dev mode. On the client non-dev, DEV is undefined; but on the server non-dev, DEV is {}. I opted to check for both cases, but as this only runs on the client, maybe checking !DEV is enough...
I only implemented (and tested in Meteor) within the standard version, as that's the only type I'm familiar with. It would be nice to add to the esm version too.

To be fair I was just thinking out loud. I am ok for other handling but I don't think silently doesn't update as a good solve. Situation HMR server but non-dev Solid builds. @LXSMNSYC or anyone else have thoughts.

I'd still be interested in a "force every function in CamelCase to be an HMR component" option, as it's unclear when Meteor will support export conditions.
But I think this PR would be useful in any case.

I'm not sure if this works at all, since we generally recommend using the babel plugin in a development environment (as shown in the docs for bundler setups).

I can confirm that, in a Meteor environment, Babel gets the development environment flag (I'm using {"env": {"development": ...}}), but there is no export condition because Meteot doesn't understand export conditions. Basically, these are two different notions of "development", and when they're not aligned, everything silently breaks. Adding this warning would have saved me hours today.

I understand now, I'll look more into this, thank you

That sounds reasonable to me; presumably the dev status is a global thing so all modules will fail in this way if one does.

For what it's worth, Meteor's HMR decline does a little more than page reload: it preserves some state (named reactive variables) across the refresh. (By contrast, this state isn't preserved if just refreshing the page.) For this reason I'd probably prefer decline over page reload, given the choice, as in some settings it does reload + more. But I don't feel strongly.

Oh my bad. After re-checking the ESM HMR spec, it seems that I mixed up invalidate with decline

So is there a verdict?

Not yet since the change applied only works for the standard Webpack HMR.

Replaced by #19.


Pass download file name (or guess from URL?)

Hi. This is a great script thank you. Works fantastic on Safari. However for automation, I find it cumbersome to rename the file every time.
I was thinking of making a "ViolentMonkey" script that only triggers on certain profiles (ones to download), includes your script, and then auto starts scrolling (essentially removing the need to go to console). I am not sure if the entry point would be loadWebpage then, or none because it's already called in the script definition.
In order to generate different txt files to pass to yt-dlp, because they all have the same filename (TikTokLinks.txt), you have to rename each, every time. And if you have multiple channels then it gets a bit tiring.
Would it be possible to maybe pass the channel name to your script, so that the resulting filename would be that? Or maybe for the script to auto-fetch the name? In a way that we don't need to modify the script at all, and we can just include it from other scripts (remotely) so that it's always up-to-date and whatnot.

Hi! Thanks a lot for the idea. You're right, keeping the same name for every download isn't the ideal solution.
Now it's possible to change the output file name. The script will automatically look for the username, the selected hashtag etc. and it'll use that for the name.
It's also possible to put a custom file name, if you want to change how your script saves the file you could call the startDownload() function with a custom file name as an argument (if you want to add extra things, like the date etc.) or edit the scriptOptions.output_name_type value to a string (or to one of the other automatic options).
Thank you again for the suggestion. If there are any other things that you think they might be changed, I would be happy to look into them!


thermal crosstalk experiments

@joamatab are the design for testing written down somewhere? Need to check pad spacing, gc-pad spacing, and such. All easily changed

@HelgeGehring

Looks great! Should we maybe submit the cell two or three times with different gaps?

looks great Simon,
see DFT rules here
we need to label the GND and provide a YAML
see examples
@lukasc-ubc
@mustafacc

@joamatab @HelgeGehring @simbilod
I created a new merge system on the edX page for the heater fabrication run.  I found your files and merged them.
Note that your metal contacts are not correctly defined.  the contacts are, from the top, G1, S1, G2, S2. This means if you have only one signal, you should use G1,S1, and they should be on a pitch of 125 µm.
Your cell dimensions are also not correct.
Do you have access to the edX page?

Hi @lukasc-ubc , I have revised the design according to these rules and dimensions :)
GCs that are part of the same measurement are separated by 127 um

Hi Simon, the max number of gratings is 4, the laser is on the second from the top

This is an array of gratings pairs that are 127um apart, it's just that I can only fit them interweaving like this
Can we not have more than 4 gratings total? The other masks in this repo all have multiple GC arrays

the layout looks pretty cool,
see links and dft rules here

Ok I am just seeing the labels slides for the first time (these ones)
Can we associate one electrical bondpad with multiple optical experiments? I would like to see the optical transfer function of different rings (which would all appear as different opt__) as a single heater is swept
@joamatab @lukasc-ubc

can I just put a bunch of labels with different strings at the same location?

You have an interesting idea.  I think this should work as follows:

Each optical circuit is connected to up to 4 GCs
many circuits can be interleaved as you've done
 values need to be unique, one per optical circuit
I think you could have multiple electrical labels on the same metal contact refering to the

The measurement will then run the heater multiple times, each time measuring the optical spectrum of one of the rings.
This is a great way to do it.  I like it.
Also, please feel free to submit many cells.  We have room ;)
You might want to make variations where you have the heater ring in the middle, and some test rings above, and some test rings below. That way you get two data points for each ∆y value.
Would also be interesting to see what happens if you cover the rings with the metal wire.  How much thermal cross-talk does metal introduce?
This will be an interesting study, and hopefully you can get many measurements.


Add retries to S3 reading

We hit the point of diminishing returns with #3255.
Just do retries with an exponential backoff, logging
failures so we can at least go back in logs and see
how often we see this failure in future, and if we
get storms of retries or not.

PTAL

jenkins: test this

Codecov Report

Merging #3274 into master will increase coverage by 0.04%.
The diff coverage is 80.76%.

Impacted Files
Coverage Δ

go/nbs/s3_table_reader.go
79.62% <80.76%> (+14.32%)
:white_check_mark:

go/datas/http_batch_store.go
88.05% <0%> (+0.62%)
:white_check_mark:

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 ba3fcfc...8e6c0e9. Read the comment docs.


Notification sound goes of when nothing is new (2.9.6 update)

After the 2.9.6 update, the notification sound is going off every few seconds (30'ish) but there is nothing new in my list (I have it set to only show Free and KW)
My Pavlov effect is in full swing. LOL

Do you have on screen notifications enabled ?

https://github.com/FMaz008/VineHelper/issues/129

This is a different issue. Issue 129 is getting sound when an actual new item is received but filtered out.
My understanding is that you constantly get sound every 30 seconds even when no new item are received.
Correct?

I do not have screen notifications on.
I'll time it and see if it's consistent or random but "about" 30 seconds.

Definitely random... between 30 seconds and 2 mins typically.
I think it's like you said, every new item is causing a sound but the filter is not showing them.
Used to be only things that showed caused the sound.

I've found 2 ways this could occur:

If you have a list of hidden keywords and enable the option to apply that list to your notifications, then the items are hidden after being added (in practice you don't see it). This will trigger a sound for the hidden item.
If you have the filtering on, same deal, hidden items will still trigger sound.

I have coded fixes for both issues and should be releasing them soon.
Does any of those 2 scenarios seem to explain your issue ?

No hidden keywords... I did have some before the update but the update wiped out all of my keywords.
I have filtering turned on to only show Zero ETV and KW's... I'm assuming you aren't talking about that though because then this would be happening to everyone wouldn't it?

I've been having the same problem. I do have keywords on both devices this is doing it on. I did have on-screen notifications but had to turn them off due to a new problem with that.

Any errors from notifications.js in the developer's console ?

Here is the only thing I was able to find (I don't have Brenda enabled). This is the same screen, one shot of the red X, the other what the X said.

Update your extension, that bug was fixed in version 2.9.8, see commit c52d9ec653c478e0a621eb924177afa083aded48
:)

I've upgraded to 2.9.9 and the problem of notification sounds going off still exist.
Specifically the "Free ETV" sound (Upgrade sound) as I have a different sound for KW results.


Kea: allow setting domain for DHCP clients

I know Kea is still in the very early stages, but this is a fairly important option to have for continuing evaluation.
I noticed while testing, the validation of HostnameField types will allow pretty much anything to be passed that matches [0-9a-z.-]+ except really outrageous problems like 2 dots in a row. In particular, the IpAllowed flag does nothing because filter_var('<IP_ADDRESS>', FILTER_VALIDATE_DOMAIN) does not return false.

@miken32 reimplemented in https://github.com/opnsense/core/commit/8278fbe944fede0ad6f0934d997ed95b129a1bf5 , since the firewall always has a static domain name configured, we don't have to persist the value in this case.

by the way, I still plan to take a look at the HostnameField type, the allow ip address feature is correctly a bit suboptimal as  FILTER_VALIDATE_DOMAIN seems to think it's a valid domain as well.


ready to merge

Wednesday update

@codewithshubhi Don't merge your own PR. We need double-check for everything as a rule.

I agree with you, thank you will not do it from next time :)


Add Gitter badge

Coverage remained the same at 83.699% when pulling 17a7a0b9e8eab8c4bcac4bf407835b08a36dd1c8 on haahh:pr_add_gitter into 88e401770d716cdbf6be6531c4706fe9de4d2591 on boostorg:develop.


TypeError: Cannot read property 'existsAt' of undefined

I use your plugin to generate webp images. I am using latest version of webpack (v3.4.0). Unfortunately, I got error message like this.
I:\sample\node_modules\webpack\lib\Compiler.js:342
                                        if(source.existsAt === targetPath) {
                                                 ^

TypeError: Cannot read property 'existsAt' of undefined
    at Compiler.writeOut (I:\sample\node_modules\webpack\lib\Compiler.js:342:15)
    at I:\VHIEARCH_PROJECTS\sample\mkdirp\index.js:48:26
    at FSReqWrap.oncomplete (fs.js:123:15)

' had similar problems, ' prepared a pull-request to solve the problems: https://github.com/jiangtao/webp-webpack-plugin/pull/2.

I had this happen when my entry file was incorrect, double check it!


[doc] Does CBcbox still exist?

Now Readme.md still exists this command, but not related code in the plugin. Thanks.

Should be closed if #48 is merged.


Match direct video id

Adds a matcher for a direct video id, so it'll match them like the old youtube router does

Needs moving up above the direct playlist ID matcher


When a request is copied to a distribution, the distribution doesn't tell the request object what its id is after saving

To reproduce

Log in
Open an existing request (or create one in the console, then open it)
Click on "Fulfill"
Fill out the rest of the distribution and save
Check on that request in the console and note that it does not have a distribution id

It probably just needs a callback or reference -- :request_id is passed in as a parameter. The easiest way to do this would just be to add a has_one :request to Distribution (Request already has belongs_to :distribution, optional: true), and then include the :request_id in the params when it's created. That should work bi-directionally I think?

I'd like to work on this.

I have a solution for this in place (though sadly not as magic as I think Rails ought to make it) but I have not yet added new tests verifying the functionality in both cases. I'll do my best to get that added tomorrow night. Current work can be found here https://github.com/myrridin/diaper/tree/issue-531 if curious.

@myrridin Thanks dude!! If you want to open a PR, just tag it WIP and I won't merge til it's ready.


udpate dev server to remove duplicate entries in wpConf

Resolves #80, but not sure if there was a reason to have the config retrieved and merged again

Thanks for the PR @zcrumbo !

Just added a quick unit test around this particular error.


stick with #193421, memory leak

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: V1.84.2
OS Version:
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal

Sorry for not responding to question #193421 during this period of time.
Currently, I have downloaded the latest version of vscode V1.84.2 and written a demo for testing, but the issue still exists
https://github.com/soma-liang/demo-cache.git
There are two questions here
Steps to Reproduce:

Run this demo
Run command StartTest2, The Treeview icon constantly replaces and refreshes the display
After repeating this cycle for several hours, a memory leak occurred
Count the memory usage once per second, as shown in the following figure

Steps to Reproduce:

Run this demo
Run command Hello World,The extension will create an outputchannel
Run command StartTest, Outputchannel will continuously output content and clear it after reaching a certain quantity
After repeating this cycle for several hours, a memory leak occurred
Count the memory usage once per second, as shown in the following figure

Supplement:
Question 2: When there is a memory leak, vscode OutputChannel. clear() is unable to clear previous content properly

May I ask if there is any progress

I've tried the sample for the tree view, but it doesn't appear to actually modify the tree:

please update and try again

Thanks for the update. Using the chrome or edge dev tools to check the heap, I can't reproduce any increase in memory usage. How are you generating your chart? Can you give steps using the chrome or edge dev tools?

Excuse me, may I ask about the current progress of this issue

There is a real memory leak in the tree view. Fix coming shortly.

I think I got all the tree memory leaks in https://github.com/microsoft/vscode/pull/202080. Adding @sandy081 for the output memory leak.

@soma-liang Thanks for reporting the issue. Since you are able to reproduce the memory leak for output channel, can you please let me know which process is leaking? Once you figured out the process, can you please profile that process and share it with us? You can find steps to profiling the process here - https://github.com/microsoft/vscode/wiki/Performance-Issues

@sandy081 In the problem description, there is a problem extension link https://github.com/soma-liang/demo-cache.git where you can run to view the problem

Thanks for sharing the link. It would be great if you can share the requested information that will help us in finding the root cause quickly

about output memory leak.
You can use the demo step to run for more than 3.5 hours, which will result in memory leakage.
In vscode.OutputChannel always calls appendLine(), and call clear() after reaching a certain number.
After a few hours, the accumulated information in the OutputChannel will be more and more. After the clear(), calling appendLine() will also generate the information that needs to be cleared before.

After the clear(), calling appendLine() will also generate the information that needs to be cleared before.

Do you mean, this shows the previous generated information after clear? Is this the memory leak you are talking about?

Yes, memory leakage caused by constant appendLine() and invalid clear()
Strangely, clear() was effective in the first few hours

This is not a memory leak. Because the content is written and read from the file. This seems to be a bug in the feature. It seems this issue has a fix already for a memory leak. I would suggest to have an issue tracking one problem for better tracking. Therefore, I would close this fixing for the first issue.
@soma-liang I would request you to create a separate issue for the above analysis you have done for output. I also request to share steps which can help me in reproducing easily.

@alexr00 do have some good steps for this one?

I validated with the initial steps for several minutes, and compared memory snapshots to look for leaks. It lgtm

@sandy081 I have created a new issue #205466


Customize radio button shape and color

Hello,
First of all, thank you so much for creating this amazing package. I just wanted to ask if there is any way to customize the radio button, set it's color and shape

May you change it through material design on top of app. Does it work? please let us know

May you change it through material design on top of app. Does it work? please let us know

This response solve your question @ayaanpathan ?

Due to lack of response, I will close this issue.
If the bug still exists, feel free to open a new issue


Update build_tarballs_release.jl

Compile Uno with HiGHS for future releases.

Maybe we should wait until https://github.com/cvanaret/Uno/pull/77?
I'd like to know that HiGHS actually works in Uno before merging.

This issue is that we already merged the PR #75, which is the one that tests Uno_jll.jl in the Julia ecosystem.
This PR is just the releases of Uno.

I know. But currently #75 isn't available to the wider world. If we merge this then the next time that Charlie tags a release, HiGHS will be included. But I think we need to fix HiGHS actually passing tests before we include it in the public releases.

The build of v1.3.0 failed with the following message:
[13:34:26] /opt/x86_64-w64-mingw32/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: d000003.o:(.idata$2+0x0): multiple definition of `_head_libhighs_dll'; /opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/usr/local/lib/libhighs.dll.a(d000134.o):(.idata$2+0x0): first defined here
[13:34:26] /opt/x86_64-w64-mingw32/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: d000004.o:(.idata$5+0x0): multiple definition of `__imp__ZTV17PresolveComponent'; /opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/usr/local/lib/libhighs.dll.a(d003552.o):(.idata$5+0x0): first defined here
[13:34:26] /opt/x86_64-w64-mingw32/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: d000004.o:(.idata$6+0x0): multiple definition of `__nm__ZTV17PresolveComponent'; /opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/usr/local/lib/libhighs.dll.a(d003552.o):(.idata$6+0x0): first defined here
[13:34:26] /opt/x86_64-w64-mingw32/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: d000005.o:(.idata$7+0x0): multiple definition of `libhighs_dll_iname'; /opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/usr/local/lib/libhighs.dll.a(d003778.o):(.idata$7+0x0): first defined here
[13:34:26] collect2: error: ld returned 1 exit status

Everything went fine during CI. Do you understand what happened?

On Windows, an additional file is generated: libuno.dll.a.
This is an "import library," which helps link against the shared library libuno.dll.
It contains references to the symbols exported by the DLL and ensures compatibility with compilers like MSVC, which require this intermediate file.
We should try to compile with an older version of HiGHS.
We don't need it when using gcc directly, but it is mandatory for projects compiled with MSVC if they rely on the DLL.

I quickly investigated, and it seems that the linker on Windows is using both libuno.dll.a and libuno.dll. I should try locally to see if removing libuno.dll.a before compilation fixes the problem.
It's always a pleasure to compile code on Windows...

It's always a pleasure to compile code on Windows...

Ahaha I'm sorry to put thankless tasks on you like that :(
Bad news: now the next cross-compilation (x86_64-apple-darwin-cxx11) fails with:
[19:49:32] /workspace/srcdir/Uno/uno/options/Presets.cpp:17:48: error: 'value' is unavailable: introduced in macOS 10.14
[19:49:32]    17 |          Presets::set(options, optional_preset.value());
[19:49:32]       |                                                ^
[19:49:32] /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root/usr/include/c++/v1/optional:938:33: note: 'value' has been explicitly marked unavailable here
[19:49:32]   938 |     constexpr value_type const& value() const&
[19:49:32]       |                                 ^
[19:49:32] 1 error generated.

although it's available in the C++17 standard: https://en.cppreference.com/w/cpp/utility/optional/value

@cvanaret
You should add CI tests on Windows and Mac.
I will investigate but it's so easier to keep track of these things and do not wait a new release to discover that the compilation is broken on platforms other than Linux.

Do you use the option -std=c++17 during compilation?
Otherwise, we probably need something like -mmacosx-version-min=10.14.

@cvanaret
You seem to use -std=gnu++17 by default I don't that it works with clang++:
/opt/bin/x86_64-apple-darwin14-libgfortran5-cxx11/x86_64-apple-darwin14-clang++ --sysroot=/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root  -I/workspace/srcdir/Uno/uno -I/workspace/srcdir/Uno/build/include -I/workspace/destdir/lib -I/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root/usr/local/lib -isystem /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/sys-root/usr/local/include/highs -Wall -Wextra -Wnon-virtual-dtor -pedantic -Wunused-value -Wconversion -O3 -DNDEBUG -mmacosx-version-min=10.10 -fPIC   -D HAS_HSL -D HAS_METIS -D HAS_HIGHS -D MUMPS_SEQUENTIAL -D HAS_MUMPS_MPISEQ_LIBRARY -D HAS_MUMPS -D HAS_AMPLSOLVER -fopenmp=libomp -std=gnu++17 -MD -MT CMakeFiles/uno.dir/uno/preprocessing/Scaling.cpp.o -MF CMakeFiles/uno.dir/uno/preprocessing/Scaling.cpp.o.d -o CMakeFiles/uno.dir/uno/preprocessing/Scaling.cpp.o -c /workspace/srcdir/Uno/uno/preprocessing/Scaling.cpp

I found this related code of the build_tarballs.jl of SHOT:
https://github.com/JuliaPackaging/Yggdrasil/blob/daf1aea8a02a5de9089cb391bf915492214ec483/C/Coin-OR/SHOT/build_tarballs.jl#L18-L32
@cvanaret Where can I add -mmacosx-version-min=10.14 or replace -std=gnu++17 by -std=c++17 in the build system of Uno?
I can quickly try it in the interative mode of the cross-compiler.

@amontoison can you try to add:
if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
   set(MACOSX_DEPLOYMENT_TARGET "10.14" CACHE STRING "Minimum OS X deployment version" FORCE)
endif()

somewhere here: https://github.com/cvanaret/Uno/blob/main/CMakeLists.txt#L33?

I started a PR draft here (https://github.com/cvanaret/Uno/pull/95) but at the moment, I'm not skilled enough :) The Fortran compiler cannot be detected.

@amontoison can you try to add:
if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
   set(MACOSX_DEPLOYMENT_TARGET "10.14" CACHE STRING "Minimum OS X deployment version" FORCE)
endif()

somewhere here: https://github.com/cvanaret/Uno/blob/main/CMakeLists.txt#L8?

I tried the option and I don't see any difference with or without it.

Fixed the std::optional issue with macOS in https://github.com/cvanaret/Uno/pull/101.
Added CI builds on Windows and macOS in https://github.com/cvanaret/Uno/pull/95.


Account for actions that require admin role

Some REST methods are authorized only to users having ROLE_ADMIN for the account. See https://wiki.duraspace.org/display/DURACLOUDDOC/DuraCloud+Security.
Seems like it would be convenient to allow for configuring both a ROLE_USER account and/or a ROLE_ADMIN account.
/cc @bbranan

It's true that certain actions are only available to administrative users. It's not clear to me what you are suggesting here. Are you saying that there are some of the admin-only calls you would like to see extended to allow those with user-role to perform, or perhaps that you'd like to be able to administer users via the REST API? Or maybe I'm reading this wrong and this is an update you plan to make to the ruby client?

@bbranan This is just an update to the Ruby client, sorry for the confusion. I had not realized, based on the REST docs alone, that some requests would be forbidden to "normal" users. This issue is for thinking about whether there should be some way to reflect this information in the client, on which question I thought you might have an opinion or insight. :)

Ah, ok, thanks for the clarification. There are a few ways you could make this kind of information known to the users of your client. The simplest would be documentation, of course. Going beyond that a bit, for the calls which require administrative access, you could capture any unauthorized (401) or forbidden (403) responses and make sure to include in the error messages being passed back that admin access is needed. Going much further than this would likely require making some assumptions about how the client will be used.

@bbranan May I assume that 403 would be the response code if the client authenticates successfully but is not authorized to perform the action?  Since this client always sends an authorization header, the HTTP spec says 401 means the authentication failed.

Yes, you should expect that 401 responses are returned when credentials are invalid or missing and 403 responses are returned when credentials are valid but the user is not authorized to perform an action. If you find a case where this does not hold, please let us know.


ScalaPB is unable to convert timestamp column to protobuf timestamp

Doing so will result in
Can't extract value from timestamp#6: need struct type but got timestamp;
org.apache.spark.sql.AnalysisException: Can't extract value from timestamp#6: need struct type but got timestamp;
	at org.apache.spark.sql.catalyst.expressions.ExtractValue$.apply(complexTypeExtractors.scala:73)
	at org.apache.spark.sql.catalyst.analysis.Analyzer$$anonfun$resolveExpression$1.applyOrElse(Analyzer.scala:1154)
	at org.apache.spark.sql.catalyst.analysis.Analyzer$$anonfun$resolveExpression$1.applyOrElse(Analyzer.scala:1145)
	at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformUp$4(TreeNode.scala:284)
	at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)

I created a test repo here: https://github.com/Veske/protobuf-timestamp
Run the ConvertTimestamp test and verify that it succeeds (AnalysisException is thrown)

Protobuf timestamp has nanosecond resolution, and Spark's timestamp has microsecond precision, so a conversion by default would introduce information loss. We could make it an option (like we do with ProtoSQL.withPrimitiveWrappers), but that requires some digging into the code, and perhaps it's better to do this following the Spark 3.0.0 support.
However, for the time being, it is recommended to write a custom ProtoSQL.udf to convert between sql.Timestamp and protobuf Timestamp and use that when this conversion is needed.

Thanks! A udf will be the way to go for me for now then. I guess you can feel free to close it in that case.


Ambari database

@doktoric @keyki @martonsereg 2of you plz review

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2911/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/405/


OSX: Investigate whether offscreen rendering must run on the main thread

It doesn't seem like there's an official doc or response that covers this. See:

https://www.magpcss.org/ceforum/viewtopic.php?f=10&t=18273&sid=faa44791961276d879788d95d258c6d9
https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage#markdown-header-threads
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html

Initial tests haven't crashed.

I've found a few cases of spurious pop ups. I think the crashes are attributable to pop ups automatically being given their own window by cef. Trying the following work around:
(cef/map->life-span-handler
            {:on-before-popup
             (fn [& args]
               ;; cancel popups
               1)
...
})


Refactor the apparmor flagging process

CheckList:

[x] Create a file in pkg/api/types/${cmd}/types.go, and define the CommandOption for this command
[x] Create some file in pkg/api/cmd/${cmd}, and move the command entry point in real into this package

Signed-off-by: Zheao.Li<EMAIL_ADDRESS>

Thanks, this one is easily reviewable :+1:

I am wondering if we should put cmd/${cmd} outside  the pkg/apis/... as usually it should only contains the API resource definitions.
IMHO pkg/cmd/${cmd} fit better.
cc @AkihiroSuda @Zheaoli

Create a file in pkg/api/types/${cmd}/types.go, and define the CommandOption for this command

I don't think creating a sub-package (pkg/api/types/cmd) for each command (or each command type, e.g., image, container, compose) is necessary. I prefer including them in a single package (e.g., pkg/api/types or just pkg/api) and prefix them (either pkg/api/types/apparmor_types.go or pkg/api/apparmor_types.go as @fahedouch suggested in https://github.com/containerd/nerdctl/issues/1680#issuecomment-1364704346).

Create some file in pkg/api/cmd/${cmd}, and move the command entry point in real into this package

Why these entry point functions need to be in pkg/api? As an example, similar function for compose are located here: https://github.com/containerd/nerdctl/tree/main/pkg/composer

I wonder if we should put /cmd in the same level as pkg/apis since apis folder generally only contains API resource definitions. IMHO pkg/cmd/${cmd} fit better.

We still need a package to collect the CommandOption. I'm not sure if we collect all the data structure and logic together is a good idea

I don't think creating a sub-package (pkg/api/types/cmd) for each command (or each command type, e.g., image, container, compose) is necessary. I prefer including them in a single package (e.g., pkg/api/types or just pkg/api) and prefix them (either pkg/api/types/apparmor_types.go or pkg/api/apparmor_types.go as @fahedouch suggested in #1680 (comment)).

I still think we need some subpackage in pkg/api/types/cmd, because the CommandOption may be split into some split file base on the command type(one file for all of the data structure will make this file too large to read and get more conflict in this cooperated refactor process

I still think we need some subpackage in pkg/api/types/cmd, because the CommandOption may be split into some split file base on the command type(one file for all of the data structure will make this file too large to read and get more conflict in this cooperated refactor process

Not necessarily one file, but organize by subpackage seems adding too much hierarchy. We can still split those CommandOption into different files but within the same package (e.g., pkg/api/types)

It's more aligned with how we organize cmd package (a flat package with all command files, with prefix when necessary).
Easy to navigate: all Option structs are under pkg/api/types folder/package, don't need to go one level deeper, just check the file name within pkg/api/types.
More user-friendly: if we organize them by subpackages and a downstream library wants to use our resource definitions, they only need to import a single pkg/api/types, instead of a list of pkg/api/types/commandA, pkg/api/types/commandB.
Organizing by sub-packages will add unnecessary dependency: for example, the package with RunOption will depend on the package with CreateOption (https://github.com/containerd/nerdctl/blob/main/cmd/nerdctl/run.go#L89-L91), etc.

It's more aligned with how we organize cmd package (a flat package with all command files, with prefix when necessary).

I prefer multi-level package. But you are right, keeping the flatten style with cmd package is more critical.
So I think we reach one point

all CommandOption should be placed in pkg/api/types

And the second problem, pkg/cmd/{cmd} or pkg/{cmd} like pkg/compose

It's more aligned with how we organize cmd package (a flat package with all command files, with prefix when necessary).

I prefer multi-level package. But you are right, keeping the flatten style with cmd package is more critical.
So I think we reach one point

all CommandOption should be placed in pkg/api/types

Happy to see things going ahead 😀. I propose to stay in the Middlle, So we keep the flat package as @djdongjin said and Split by category, so we :

ensure medium file size (avoid having Huge or very small files) for better contributing experience.
Easy to manipulate; contributors have functionnel related data structures in the same file. Even mentally, it's easier to make the connection between the structures in the same file

And the second problem, pkg/cmd/{cmd} or pkg/{cmd} like pkg/compose

pkg/cmd/{cmd to avoid polluting the pkg folder

Could you consider splitting the fmtutil commit

Could you consider splitting the fmtutil commit

This PR should be merged after #1779

#1779 has been merged, I think this PR is ok to merge


cura: weird non-deterministic corruption of larger meshes

Issue description
When loading larger STL files, cura sometimes corrupts them in seemingly random ways (every time different, very rarely the import works successfully):

This is not just an OpenGL rendering problem, it also affects the sliced output:

For comparison, this is how it should look like:

I cannot reproduce this issue on either ubuntu (with the PPA version of cura) or windows.
At first I thought this might be a problem with our OpenBLAS version (e.g. like #50407).  However there are no problems on ubuntu, which uses the same numpy and openblas versions.
The larger the STL file, the more likely the problems.  For example I could not succesfully import a larger STL file with 3 million faces at all.  (The same file shows no issues in either ubuntu or windows.)
The issue also occurs with 3MF files instead of STL.
I can also reproduce the issue with cura 3.6 on the stable channel.

This is the relevant part of the cura log output:
2019-04-19 20:31:01,074 - INFO - [Thread-3] STLReader.STLReader.load_file [46]: Using NumPy-STL to load STL data.
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:436: RuntimeWarning: invalid value encountered in true_divide
  n[:, 0] /= l
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:437: RuntimeWarning: invalid value encountered in true_divide
  n[:, 1] /= l
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:438: RuntimeWarning: invalid value encountered in true_divide
  n[:, 2] /= l
2019-04-19 20:31:01,505 - DEBUG - [Thread-3] UM.Mesh.MeshData.calculateNormalsFromVertices [444]: Calculating normals took 0.03203701972961426 seconds
2019-04-19 20:31:01,519 - DEBUG - [Thread-3] STLReader.STLReader._read [97]: Loaded a mesh with 677118 vertices
2019-04-19 20:31:02,156 - DEBUG - [Thread-3] UM.Mesh.MeshData.approximateConvexHull [401]: approximateConvexHull(target_count=1024) Calculating 3D convex hull took 0.635796308517456 seconds. 21245 input vertices. 21245 output vertices.
/nix/store/rxvw3i2kmnjc3yc41xg4xfc0k2sygr2c-python3.7-numpy-1.16.1/lib/python3.7/site-packages/numpy/linalg/linalg.py:2480: RuntimeWarning: overflow encountered in multiply
  s = (x.conj() * x).real
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:333: RuntimeWarning: invalid value encountered in true_divide
  data[:, 0] /= lengths
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:334: RuntimeWarning: invalid value encountered in true_divide
  data[:, 1] /= lengths
/nix/store/wmy9m8lam3ja21khh2yfp3crh4lb6pml-python3.7-uranium-4.0.0/lib/python3.7/site-packages/UM/Mesh/MeshData.py:335: RuntimeWarning: invalid value encountered in true_divide
  data[:, 2] /= lengths
2019-04-19 20:31:02,280 - DEBUG - [Thread-3] UM.FileHandler.ReadFileJob.run [69]: Loading file took 1.2 seconds

Compared to ubuntu, the only differences are the RuntimeWarning and Thread-3 (on ubuntu it's Thread-1).  The number of imported faces is also the same.
cc @abbradar @orivej
Steps to reproduce

Download a benchy.
nix-shell -p cura --run cura
File/Open
Look at the corrupted model (you might need to repeat, sometimes it works)

Technical details

system: "x86_64-linux"
host os: Linux 4.19.19, NixOS, 19.09pre174426.acbdaa569f4 (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2
channels(gebner): ""
channels(root): "nixos-19.09pre174426.acbdaa569f4"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Apparently there is an issue with OpenBLAS after all.  The problem goes away if I disable OpenMP support in openblas.nix:
USE_OPENMP = false;

@ttuegel @markuskowa @dtzWill Any ideas what is going on here?  Can we just disable OpenMP in OpenBLAS?

@gebner can you try if setting the environment variable "OMP_NUM_THREADS=1" already fixes the problem? There is also another bug which is related to AVX512 instructions https://github.com/NixOS/nixpkgs/issues/59708

Yes, setting the environment variable OMP_NUM_THREADS=1 also solves the issue.
I don't think I have AVX512 instructions though (tested on an i7-6700K and i7-7500U).

Could this be related to the numpy issue we had in 18.09 https://github.com/NixOS/nixpkgs/issues/50407?

I thought the issue in #50407 has been fixed since openblas 0.3.4; at least the numpy devs seem to believe so: https://github.com/numpy/numpy/issues/12394#issuecomment-444179486
But yeah, it looks really similar to the bug in #50407 (i.e. https://github.com/xianyi/OpenBLAS/issues/1844).

@gebner Do you know by any chance, which blas routine causes the error?

Not really.  The numpy warnings come from this code:

https://github.com/Ultimaker/Uranium/blob/a441ac775f4bf488c554d476ad46b7781d75402e/UM/Mesh/MeshData.py#L432-L441
https://github.com/Ultimaker/Uranium/blob/a441ac775f4bf488c554d476ad46b7781d75402e/UM/Mesh/MeshData.py#L318-L335

These routines use norm, dot, and cross. That looks very similar to the previous problem with numpy/openblas (the openblas error appeared in combination with dot). Can you please open an issue upstream with openblas? Maybe we can get an upstream patch for the problem.

@gebner Could you try whether the merged openblas update fixes this even when
  makeWrapperArgs = [
    # hacky workaround for https://github.com/NixOS/nixpkgs/issues/59901
    "--set OMP_NUM_THREADS 1"
  ];

is removed?

I've tried it for a couple slices and didn't notice corruption.
In particular, the 3DBenchy from the screenshot works for me multiple tries in a row.

PR to remove the workaround: #82820

Sorry for taking a bit of time, I didn't feel too well the last few days.  I can still reproduce the issue in your branch: https://github.com/NixOS/nixpkgs/pull/82820#issuecomment-600898409

I've seen this in the curaLulzbot package too, and will be interested in whatever solution is landed on.

Strike that. I haven't seen it recently, and if my quite-hazy memory serves, it went away when I dropped a dependency (causing cura's built-in implementation to be used for the purpose at-hand).
numpy-stl, maybe? Unfortunately, https://code.alephobjects.com/ is down right now, so I can't reach the bugtracker entry associated with the bug the change was intended to fix.

I've seen this in the curaLulzbot package too, and will be interested in whatever solution is landed on.

I have completely missed this comment.  We now have a workaround in the cura package by setting the OMP_NUM_THREADS environment variable to 1:
makeWrapperArgs = [
  # hacky workaround for https://github.com/NixOS/nixpkgs/issues/59901
  "--set OMP_NUM_THREADS 1"
];

The bug is still there, and the workaround continues to work around it.


Checking in invalid ABC123s fails improperly

Reported originally by @ParkerLeathers
When manually adding checkins for members to an event, their member ID needs to be perfect, otherwise the action fails. If I recall, the error is pretty gross and is not well optimized. There should be a way to ignore the error, prune the input for the officer, or offer options.

Would it be possible for a member ID to be checked in, even if the account isn't registered?

My hesitancy is more that we have a ton of collab events where a lot of those attendees arent members. So itd be nice if when an abc123 doesn't match the system just skipped them instead of failing.


listItemsOperations.py should start with a lowercase "L"

When running runExamples.py it can't find the listItemsOperations module since the file starts with a capital "L". Renaming the file resolves the issue.

@baldswede I've made a pull request for this. See https://github.com/vgrem/SharePointOnline-REST-Python-Client/pull/3


[🐛] Duplicate Cached Files On Android - Gallery Selection

Description
When selecting a single image/video from the gallery on Android, two are created in the cache folder of the app storage.
This may to be due to two calls to getAppSpecificStorageUri within the Utils.java file. The second of these is called from  getOriginalFilePath which was added on V7.0.0 here https://github.com/react-native-image-picker/react-native-image-picker/commit/7086e95f555bf61143837f3fa8cb4d8a83491b97 , this is also the file that is the duplicate.
This is preventing us cleaning up left over cache files.
As shown in the below image, two file paths are created, the final log is from the React Native side, only one is fed back, but the other still exists in cache.

How to repeat issue and example

Select a single image from the gallery
View cache directory of app using Android Studio

Solution
Prevent multiple files being cached when only a single item was selected.
Additional Information

Image Picker version: 7.0.2
React Native version: 0.72.6
Platform: Android
Development Operating System: MacOS
Dev tools: Android Studio Hedgehog | 2023.1.1

@Johan-dutoit Any updates on this?

I got the same issue...

same issue, any plans on this getting fixed?

Created PR fixing this: https://github.com/react-native-image-picker/react-native-image-picker/pull/2327
Not sure why there was this second getAppSpecificStorageUri function call, maybe there was some workaround? For me everything is working.


Fix typo in ShortArraySyntaxFixer

I'm not sure whether I need to recompile the readme. I haven't but can easily update the PR to do so.

If the description is changed you need recompile the readme :)
This is also pointed-out by Travis https://travis-ci.org/FriendsOfPHP/PHP-CS-Fixer/jobs/52056529#L178

Or by CONTRIBUTING.md.
Please do it.

Thank you @tommygnr.

Regenerate it manually in d2355e2


chore(documentation): reorganize storybook navigation

Preview environments are getting posted here, as soon as they are ready!

We must update the paths in the design-system-icons readme.md file because the paths to the component and to the icon search will change.


deps: bump OPA

Some very recent performance improvements in OPA's innards have an
effect on what we do, as well:
name                                                                                old time/op    new time/op    delta
InitPartialResultV2/default_policies-8                                                               123ms ± 6%      48ms ± 4%  -61.15%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(allow)_with_the_result_of_BenchmarkInitPartialResultV2-8            294µs ± 3%     183µs ± 4%  -37.66%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(deny)_with_the_result_of_BenchmarkInitPartialResultV2-8             305µs ± 7%     185µs ± 5%  -39.45%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(default_deny)_with_the_result_of_BenchmarkInitPartialResultV2-8     297µs ± 5%     192µs ± 9%  -35.48%  (p=0.000 n=10+10)

name                                                                                old alloc/op   new alloc/op   delta
InitPartialResultV2/default_policies-8                                                              23.5MB ± 0%    13.3MB ± 0%  -43.31%  (p=0.000 n=9+10)
InitPartialResultV2/IsAuthorized(allow)_with_the_result_of_BenchmarkInitPartialResultV2-8           98.0kB ± 0%    79.0kB ± 0%  -19.38%  (p=0.000 n=9+10)
InitPartialResultV2/IsAuthorized(deny)_with_the_result_of_BenchmarkInitPartialResultV2-8            95.6kB ± 0%    77.5kB ± 0%  -18.88%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(default_deny)_with_the_result_of_BenchmarkInitPartialResultV2-8    95.6kB ± 0%    77.5kB ± 0%  -18.89%  (p=0.000 n=10+10)

name                                                                                old allocs/op  new allocs/op  delta
InitPartialResultV2/default_policies-8                                                                906k ± 0%      343k ± 0%  -62.16%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(allow)_with_the_result_of_BenchmarkInitPartialResultV2-8            2.49k ± 0%     1.28k ± 0%  -48.53%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(deny)_with_the_result_of_BenchmarkInitPartialResultV2-8             2.41k ± 0%     1.24k ± 0%  -48.44%  (p=0.000 n=10+10)
InitPartialResultV2/IsAuthorized(default_deny)_with_the_result_of_BenchmarkInitPartialResultV2-8     2.41k ± 0%     1.24k ± 0%  -48.44%  (p=0.000 n=10+10)

So, let's pull this in.

For the curious, these are the commits, where it's @koponen-styra's recent commits focused on performance that brought this about 🎉

Please add to the PR Preamble an indication of "from version -> to version". I am reasonably sure the latter is 0.13.4 but not sure what we had as the prior version.

Not quite -- we're jumping from one ref to another one. I have chosen not to wait for a formal release, same as we've done with the last bump. You're right, this introduces some discrepancy between our CLI tools used for testing, and potentially the VSCode plugin (which I don't use, and wouldn't consider part of our platform 😉). Since I'm tracking the OPA development fairly closely, I think this is OK for now. So, merging this. 😃


Start mcelog on boot and check it for memory errors

retest

Please rebase on master for Ansible 2.1 fixes.

moved to https://github.com/blueboxgroup/ursula/pull/1913


Timeline contextual menu: mark all read in feed

In the contextual menu for the timeline, right below Select [feedname] in Sidebar, there should be a command: Mark All as Read in [feedname].
If all items are already marked as read, just don’t include that item.

That command should apply to the feed for the selected article.
I tried it on an article in the Today smart feed, and the menu command offered to mark all as read for “Today” — but it should mark all as read for article.feed.

That's a lot more useful than what I originally implemented.  Changed now.


docs(issue-templates): added the config.yml

to get the choices shown when creating a new issue
closes #174

closing as unnecessary, since adding about in #194 did the trick


lib/test.js should not be part of main package

Importing weblas from npm package gives the following error, as arrayloader is a devDependency:
ERROR in ./~/weblas/lib/test.js
Module not found: Error: Can't resolve 'arrayloader' in node_modules/weblas/lib'
 @ ./~/weblas/lib/test.js 2:10-32
 @ ./~/weblas/index.js
 @ ./src/Tensor.js
 @ ./src/index.js
 @ multi main

Thanks Leon.
This should already be fixed in master (though the commit message doesn't mention it). I'm publishing a new version to npm right now.

Can I close this?

All good, thanks!


Svg elements are not displayed inside button elements

Hi!
I'm exploring your online demo.
There all buttons do have SVG elements inside.
How do you achieve it?
Such markup I'm getting with default settings.

Thanks!

If you check the CSS for that element, you'll see it comes from a background image

Understood.
Thank you!
Strange, but default-skin.css is absent. I'm loading externally vendor.css with styles for photoswipe.
There are those lines of CSS code:
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
    background: url(/user/plugins/photoswipe/node_modules/photoswipe/dist/default-skin/default-skin.png) 0 0 no-repeat;
    background-size: 264px 88px;
    width: 44px;
    height: 44px;
}
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
    .pswp--svg .pswp__button,
    .pswp--svg .pswp__button--arrow--left:before,
    .pswp--svg .pswp__button--arrow--right:before {
        background-image: url(/user/plugins/photoswipe/node_modules/photoswipe/dist/default-skin/default-skin.svg);
    }
    .pswp--svg .pswp__button--arrow--left,
    .pswp--svg .pswp__button--arrow--right {
        background: none;
    }
}

The library is initialized with this code:
	{{ photoswipe('photoswipe-gallery-id', 'a') }}

		{% for item in page.media.images %}

		{% endfor %}

Am I missing something?

Do you have this set to true?
built_in_photoswipe_assets: true

Yes, it's set to true and everything is set to default:

vendor.css is my custom CSS file, there I have placed CSS instructions from your demo for a test purpose, such as:

Did you by any chance implement Photoswipe separately as not a plugin?
No, I don't

Does it work correctly without your custom CSS? If so, you'd need to enable/disable styles one by one and check what's happening. Without seeing live example it's very difficult to advice something 🤔

Thank you for your support!
I've tested on fresh Grav installation, so the problem was in {{ assets.css()|raw }}, I had to place it to {% block assets deferred %} block.
So, now photoswipe.css and default-skin.css are loaded, previously they were absent.
Based on that markup it seems that I should make some CSS rework:

but the main problem has been solved :)
Thank you!


Feature request (iOS): pull to mark a feed as read

First I would like to congratulate again all contributor for the quality of this app. I went back to using it after having used Reeder for about a year, and it evolved impressively well. Something I miss though:
When I scroll to the bottom of a feed, I would like to make the gesture of keeping scrolling (similar to pull to refresh, but at the bottom of the list) to get prompter to confirm “mark all as read”, and either take me to the next feed, or go back to the feeds screen.

See https://github.com/Ranchero-Software/NetNewsWire/pull/3359 for a (draft) PR that implements this.

Great! Should I download a TestFlight release to try it?

@TwentyH This is an experimental feature and hasn't been released to test yet.


need upload file notification with progress bar

response = await dio.post(
  "http://www.dtworkroom.com/doris/1/2.0.0/test",
  data: {"aa": "bb" * 22},
  onSendProgress: (int sent, int total) {
    print("$sent $total");
  },
);

Hello Wendux,
Been unable to successfully implement onSendProgress.
The following snippet below is self explanatory.
The progress prints just fine to the console output in ide.
The _syncBlocs are added, but only executed once the upload complete.
How do I get realtime upload feedback that I can use to display a progress bar in flutter, while upload busy, as currently I get them all at once at end of upload.
Thx.
try {
print('Request URL: $postPhotoImageURL with name = $photoName');
Response response = await _dio.post(
postPhotoImageURL,
data: formData,
onSendProgress: (int sent, int total) {
print("$sent $total");
_syncBloc.add(SyncUploadProgress(sent,total));
},
);


NavigationView TopNav layout issue when using MenuItemTemplate with NavigationViewItem as root element

Describe the bug

When using NavigationView in top mode, with a MenuItemTemplate that has a NavigationViewItem as the root element, menu items appear to "snap" into place as the window expands and items are moved from the overflow repeater to the main repeater.
This issue does not repro when the template does not use a NavigationViewItem as the root, due to the difference in element recycling behaviors in NavigationView.
Steps to reproduce the bug

Steps to reproduce the behavior:

Open attached TopNavTestApp solution
Build and run
Resize the app window to the smallest width
Gradually resize the window to wider widths and observe the behaviors of the menu items as they appear

Expected behavior
There should be no difference whether the MenuItemTemplate uses a NavigationViewItem as the root or not.
Screenshots

Screenshot taken from a modified version of the MUXControlsTestApp to demonstrate the behavior:

Version Info

NuGet package version:

Microsoft.UI.Xaml 2.7.0-prerelease.210827001
Microsoft.UI.Xaml 2.6.2

Windows app type:

UWP
Win32

Yes

Windows version
Saw the problem?

Insider Build (xxxxx)

May 2021 Update (19043)
Yes

October 2020 Update (19042)

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

TopNavTestApp.zip

@ojhad does this ring any bells?


Fix #2027: Call genBCode.bTypes.initializeCoreBTypes().

This requires extensive compatibility magic due to the rather peculiar history of the "path" towards that method. See the comments in the code for the details.

Review by @lrytz, please.
Note: I have not been able to provoke the bug with the latest 2.12.x branch locally, so this is almost a blind fix. It SHOULD NOT BE MERGED before we get some assurance. Maybe run a community build with this fix?

Now tested it locally with:
resolvers += "pr" at "https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots/"
++2.12.0-5cb3d4e-SNAPSHOT

It indeed fixes the problem :)

great!

LGTM

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2435/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3158/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2434/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3157/
Test FAILed.

Had to // scalastyle:ignore 2 lines of code.

Here's also a nightly: https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3161/
because this PR is very sensitive to the minor version of Scala.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2437/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3161/
Test PASSed.

Nightly passed too.


nps init should ask if you want to override an existing package-scripts.js

First of all thanks for creating this great utility. It makes my work a lot easier :)

p-s version: 3.0.3
node version: v7.2.0
npm version: 3.10.10

Scripts file (or at least the relevant bits):
# Any customized script

The command executed:
$ nps init

The output:
Your scripts have been saved at /private/tmp/p-s-is-awesome/package-scripts.js
Check out your scripts in there. Go ahead and update them and add descriptions to the ones that need it
Your package.json scripts have also been updated. Run `npm start help` for help
You may also want to install the package globally and installing autocomplete script. You can do so by running
  npm install --global p-s
  nps completion <optionally-your-bash-profile-file>
The bash profile file defaults to ~/.bash_profile for bash and ~/.zshrc for zsh

Problem description:
When there is an existing package-scripts.js in the project the command nps init will override it with the defaults.
I'm not sure if this is by design but if so I think it makes sense to have a confirmation that asks the user for a confirmation to override it.
Suggested solution:
I think there are generally two solutions to consider:

Ask for confirmation to override the existing file.
Skip creating the file when it exists, and inform the user to remove the existing file.

This is great. I like the Ask for confirmation to override the existing file. option. Potentially, we could also merge the existing file with the new... Could be 3 options.
Feel free to makeapullrequest.com :)

Thanks for your reply @kentcdodds . I'm well aware how to make a PR, but thanks for the link!
 If you like feel free to assign this issue to my name.

Haha, yeah, I know you can make a PR. I leave it there in case someone else comes across this issue and wants to implement it. Also, I have it on autocomplete ;-)


MIOPEN integration type2

This is a prototype for updating MIOPEN APIs in cudnn.pyx  and not having miopen.pyx

sorry wrong branch


Move e_os.h to include/internal

Including e_os.h with a path from a header file doesn't work well on
certain exotic platform.  It simply fails to build.
Since we don't seem to be able to stop ourselves, the better move is
to move e_os.h to an include directory that's part of the inclusion
path given to the compiler.

This pull request is ready to merge

Merged
d5f9166bacfb3757dfd6117310ad54ab749b11f9 Move e_os.h to include/internal

shouldn't providers/fips.module.sources be updated?

shouldn't providers/fips.module.sources be updated?

It will happen before the release.

Actually, it happens as part of the release process.  Exactly here:
https://github.com/openssl/openssl/blob/0fdb31669f88cbf5d63ba16d82d95c6c84575dc0/dev/release.sh#L331


Error when running "react-scripts start"

Bug Description
When running npm run start, the following error occurs:
appTsConfig.compilerOptions[option] = value;
                                          ^

TypeError: Cannot assign to read only property 'jsx' of object '#<Object>'
    at verifyTypeScriptSetup (/Users/jamespang/Desktop/Projects/Website-1/node_modules/react-scripts/scripts/utils/verifyTypeScriptSetup.js:239:43)
    at Object.<anonymous> (/Users/jamespang/Desktop/Projects/Website-1/node_modules/react-scripts/scripts/start.js:31:1)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
    at internal/main/run_main_module.js:18:47

Steps to Reproduce
Steps to reproduce the behavior:

Run npm run start
View the error

Expected behavior
No error and able to launch localhost.
Actual behavior
Error occurred
Screenshots/Recordings

OS and Browser

OS: MacOS, Chrome

Additional context
Note that this will occur if new contributors clone our project and run npm install. Or existing contributors re-install npm packages
Seems like a recent issue with the recent create react app: https://github.com/facebook/create-react-app/issues/10112
Workaround: https://github.com/facebook/create-react-app/issues/9868#issuecomment-723576740
Account Number
Acc No: c54c04774efaae20746fd3f29cdd619fea512e119bc1082b863572b2e8844104

@jamessspanggg I am gonna close this. While reviewing a PR yesterday, I updated react-scripts to 4.0.1.


[swift-4.1-branch] utils: remove reference to swiftImageInspectionStatic

This was removed with the metadata registration restructuring for ELF.
There is no equivalent for this.  The metadata registration occurs via
the swiftrt.o object now in the same manner across all build types.
This is a cherry-pick from https://github.com/apple/swift/pull/14772
rdar://problem/37710244

@swift-ci please test

@bob-wilson thanks for the cherry-pick!


[Circle-OpSelector] Introduction to GUI tool for Circle-OpSelector

This issue was originally posted here, but it was considered more appropriate to be in the ONE-vscode Issues. The original issue is closed.
Hi! This is team Cosmos developing Circle-OpSelector
This Issue introduces the GUI tool for Circle-OpSelector.
why
Circle-OpSelector is a tool to slice a circle model for convenience in debugging. An user can slice a circle model by typing code in CLI.
We thought that if this could be done by GUI, that is, if the slicing can be done in a graphical environment, the convenience would increase. That is why we are trying to develop a GUI tool for Circle-OpSelector.
goal
The main purpose of this tool is to enable Circle-OpSelector features using mouse cursor. Slicing the graph should be done by just a couple of mouse clicks.
The picture below is the blueprint of the usage of the tool. Visualization is done using inception_v3 file and Netron .

By selecting several nodes with the cursor, the user would be able to create a subgraph(a new circle file).
how
I'm using Vue to create this application. Vue is a JS framework for creating web pages, web applications, etc. The only reason why I chose this framework is because I am used to using Vue,  so I can't guarantee that this is the best option.
Todo List

[ ] create flatbuffers.js
[ ] create a Vue project
[ ] make the application read Circle file input(using flatbuffers.js)
[ ] visualize the graph
[ ] enable selecting nodes by click event
[ ] create a new subgraph using the selected nodes.

For creating a new subgraph, there are 2 options I'm considering.

Activate the developed Circle-OpSelector via the application.
Develop the Circle-OpSelector in Javascript.

Currently I'm considering the first option and looking for a way to enable it.
ps. I wanted to make sure I know all the codes in the visualization app, so I know where to apply the Circle-OpSelectorcode. This is the reason why I'm developing this tool from scratch and not using the codes in Netron.

This feature will be implemented in addition to the feature we visualized(#66).

@CODe1995
Below is the blueprint of the code I'm trying to add to the visualization tool.
Tutorial for building compiler can be found here.
// module to enable a node app to execute commands in shell
import { exec } from 'child_process'

// path to the circle-opselector(building Compiler is required)
const circleOpSelector = "ONE/build/compiler/circle-opselector/circle-opselector"

// selected via click event in the app
const selectedNodes = [1, 2]

// path to the input circle file
const inputCircle = "./input.circle"

// path where the output circle file would be created
const outputCircle = "./output.circle"

// the circle-opselector command
const command = `${circleOpSelector} --by_id "${selectedNodes}"  ${inputCircle} ${outputCircle}`

// execute the command
exec(command, function (error, stdout, stderr) {
    // print the result in console(the command is already executed)
    console.log(stdout);
    console.log(stderr);
    if (error !== null) {
        console.log(`exec error: ${error}`);
    }
})

Select by Dragging

@glistening pointed out that selecting nodes should be done via dragging(click and move), for better UX.
In order to make the nodes be selected via dragging, I wrote some codes to enable this feature.
The basic logic of this is to make a html object(a rectangle) while dragging, and selecting the nodes(pushing the selected nodes in a array) that are included in the rectangle.
Below are the codes.

index.html

<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./index.css">

        <button onclick="deselectAllNodes();">
            deselect all nodes
        </button>

            node

index.css
/* index.css */
.canvas {
    height: 1000px;
}

.select_box {
    border: 1px solid blue;
    position: absolute;
    background-color: blue;
    opacity: 50%;
}

.node {
    position: absolute;
    top: 95px;
    left: 96px;
    width: 77px;
    height: 88px;
    background-color: grey;
}

.selected_node {
    border: 3px solid black;
}

select_test.js
// select_test.js
let selectedNodes = []
function drawSelectBox(canvas) {
    let mouse = {
        x: 0,
        y: 0,
        startX: 0,
        startY: 0
    };
    let element = null;

    canvas.onmousedown = function (e) {
        mouse.startX = mouse.x;
        mouse.startY = mouse.y;
        element = document.createElement('div');
        element.className = 'select_box'
        element.style.left = mouse.x + 'px';
        element.style.top = mouse.y + 'px';
        canvas.appendChild(element)
        canvas.style.cursor = "crosshair";
    }

    canvas.onmousemove = function (e) {
        mouse.x = e.clientX + document.body.scrollLeft;
        mouse.y = e.clientY + document.body.scrollTop;
        if (element !== null) {
            element.style.width = Math.abs(mouse.x - mouse.startX) + 'px';
            element.style.height = Math.abs(mouse.y - mouse.startY) + 'px';
            element.style.left = (mouse.x - mouse.startX < 0) ? mouse.x + 'px' : mouse.startX + 'px';
            element.style.top = (mouse.y - mouse.startY < 0) ? mouse.y + 'px' : mouse.startY + 'px';
        }
    }

    canvas.onmouseup = function (e) {
        const htmlCollection = document.getElementsByClassName('node')
        const nodes = Array.from(htmlCollection)
        const top = getMinVal(mouse.startY, mouse.y)
        const bottom = getMaxVal(mouse.startY, mouse.y)
        const left = getMinVal(mouse.startX, mouse.x)
        const right = getMaxVal(mouse.startX, mouse.x)

        nodes.forEach((node) => {
            const x = node.offsetLeft
            const y = node.offsetTop
            const w = node.offsetWidth
            const h = node.offsetHeight
            if (x >= left && y >= top && (x + w) <= right && (h + y) <= bottom) {
                selectedNodes.push(node)
                node.classList.add('selected_node')
            }
        })
        canvas.removeChild(element)
        element = null;
        canvas.style.cursor = "default";
    }
}

function getMaxVal(a, b) {
    if (a >= b) {
        return a
    } else {
        return b
    }
}

function getMinVal(a, b) {
    if (a <= b) {
        return a
    } else {
        return b
    }
}

function deselectAllNodes () {
    selectedNodes.forEach((node) => {
        node.classList.remove('selected_node')
    })
    selectedNodes = []
}

@kevin622 Good. I think it is much better just providing selection of a node. At first, I thought there may be a standard  for handling selection. When I searched, I've found "selection API" like https://developer.mozilla.org/en-US/docs/Web/API/Selection. But it says it is experimental and seems to handle text selection only. Anyway, at a glance, your code seems okay.

I made sure that the logic above works on multiple nodes as well.

There are some minor changes in the codes.

index.html

<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./index.css">

        <button onclick="deselectAllNodes();">
            deselect all nodes
        </button>

            node

            node

            node

            node

index.css
/* index.css */
.canvas {
    height: 1000px;
}

.select_box {
    border: 1px solid blue;
    position: absolute;
    background-color: blue;
    opacity: 50%;
}

.node {
    position: absolute;
    background-color: grey;
}

.node1 {
    top: 95px;
    left: 96px;
    width: 77px;
    height: 88px;
}

.node2 {
    top: 200px;
    left: 96px;
    width: 77px;
    height: 88px;
}

.node3 {
    top: 150px;
    left: 200px;
    width: 77px;
    height: 88px;
}

.node4 {
    top: 400px;
    left: 100px;
    width: 200px;
    height: 200px;
}

.selected_node {
    border: 3px solid black;
}

select_test.js
// select_test.js
let selectedNodes = []
function drawSelectBox(canvas) {
    let mouse = {
        x: 0,
        y: 0,
        startX: 0,
        startY: 0
    };
    let element = null;

    canvas.onmousedown = function (e) {
        mouse.startX = mouse.x;
        mouse.startY = mouse.y;
        element = document.createElement('div');
        element.className = 'select_box'
        element.style.left = mouse.x + 'px';
        element.style.top = mouse.y + 'px';
        canvas.appendChild(element)
        canvas.style.cursor = "crosshair";
    }

    canvas.onmousemove = function (e) {
        mouse.x = e.clientX + window.scrollX;
        mouse.y = e.clientY + window.scrollY;
        if (element !== null) {
            element.style.width = Math.abs(mouse.x - mouse.startX) + 'px';
            element.style.height = Math.abs(mouse.y - mouse.startY) + 'px';
            element.style.left = (mouse.x - mouse.startX < 0) ? mouse.x + 'px' : mouse.startX + 'px';
            element.style.top = (mouse.y - mouse.startY < 0) ? mouse.y + 'px' : mouse.startY + 'px';
        }
    }

    canvas.onmouseup = function (e) {
        const htmlCollection = document.getElementsByClassName('node')
        const nodes = Array.from(htmlCollection)
        const top = getMinVal(mouse.startY, mouse.y)
        const bottom = getMaxVal(mouse.startY, mouse.y)
        const left = getMinVal(mouse.startX, mouse.x)
        const right = getMaxVal(mouse.startX, mouse.x)

        nodes.forEach((node) => {
            const x = node.offsetLeft
            const y = node.offsetTop
            const w = node.offsetWidth
            const h = node.offsetHeight
            if (x >= left && y >= top && (x + w) <= right && (h + y) <= bottom) {
                if(!selectedNodes.includes(node)) {
                    selectedNodes.push(node)
                    node.classList.add('selected_node')
                }
            }
        })
        canvas.removeChild(element)
        element = null;
        canvas.style.cursor = "default";
    }
}

function getMaxVal(a, b) {
    if (a >= b) {
        return a
    } else {
        return b
    }
}

function getMinVal(a, b) {
    if (a <= b) {
        return a
    } else {
        return b
    }
}

function deselectAllNodes () {
    selectedNodes.forEach((node) => {
        node.classList.remove('selected_node')
    })
    selectedNodes = []
}

@kevin622

Is it possible to run arbitrary command using exec in VSCode Extension? I guess it is permitted for only privileged executables. I don't know much about VSCode extension, but I believe that there are some limitation for security.

You are going to use circle_opselector CLI (native executables), and circle_opselector only works on Linux. Thus, at first stage, it will work on Linux only. Is it right?

@kevin622

Is it possible to run arbitrary command using exec in VSCode Extension? I guess it is permitted for only privileged executables. I don't know much about VSCode extension, but I believe that there are some limitation for security.

I'll check this ASAP.

You are going to use circle_opselector CLI (native executables), and circle_opselector only works on Linux. Thus, at first stage, it will work on Linux only. Is it right?

This is true. It would only work if circle-opselector is executable.

Closing as not active. Free free to reopen if needed.


Updating Program.cs examples to "#app"

Hello,
I noticed in latest Blazor WebAssembly sample code, the Program.cs now uses ("#app") rather than ("app"), so thought I would update to make consistent 😊
Thanks,
Carole

This wouldn't surprise me. I think I did all of my testing with new 5.0 apps, and I didn't :ear: about this one from engineering.
I'll get back to you @crgrieve in a bit. We might need to version the changes before we can take action.

Confirmed @crgrieve ... This is a 5.0 change, but I'll need to version it in the sample app and in the sample code. It requires the use of versioning tags in the topics, and I might try to change some of the examples/samples to avoid showing the line in order to avoid having to version the code. I'm sorry we won't be able to accept this given the extra work required, but thanks for calling it out.
I'll take care of this tomorrow morning on https://github.com/dotnet/AspNetCore.Docs/issues/20475.

No worries, thanks @guardrex. Glad my understanding was correct and hopefully a help 😊
Well done on the launch of 5.0 🎉
Thanks,
Carole

For sure ... I only knew about it briefly for the new Prerendering and Integration topic ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/components/prerendering-and-integration?view=aspnetcore-5.0&pivots=webassembly#configuration
... until you showed it here. I think all of my test apps were generated new, and that # is something that my :eye: didn't catch. Thanks again for sending this in.


Point assignments also have map value

During implementation of dataclass for assignments, the 'map value' was forgotten to be assigned for points. Fixes
https://github.com/FZJ-INM1-BDA/siibra-python/issues/338

Codecov Report

Merging #378 (234ad42) into main (b5b3a7e) will decrease coverage by 0.01%.
The diff coverage is 31.25%.

: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.
@@            Coverage Diff             @@
##             main     #378      +/-   ##
==========================================
- Coverage   36.83%   36.82%   -0.01%
==========================================
  Files          61       61
  Lines        5397     5412      +15
==========================================
+ Hits         1988     1993       +5
- Misses       3409     3419      +10

Impacted Files
Coverage Δ

siibra/volumes/parcellationmap.py
37.62% <ø> (ø)

siibra/commons.py
40.00% <23.07%> (-0.50%)
:arrow_down:

siibra/__init__.py
66.66% <66.66%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

can you add some e2e so regression doesn't occur in the future?


[Bug]: The commit mode setting in personal settings is not taking effect for the Oracle database.

ODC version
4.2.4
OB version
NULL
What happened?
When I set the commit mode to manual for the Oracle database, the transaction commits are still occurring automatically.

What did you expect to happen?
When I configure the Oracle mode to manual commit, the transactions are committed manually.
How can we reproduce it (as minimally and precisely as possible)?
open an oracle database，then djusting commit mode
Anything else we need to know?
No response
Cloud
No response

pass


Reverse direction?

I am using react-lazyload within an overflow container for chat messages (newest messages at the very bottom). Is it possible to reverse the direction, so start at the very bottom, scroll upwards and lazy load those items?

It's possible, try set offsets props as an Array, and first element of that array represents the top end offset, the second represents the bottom end offset, pass a negative value as the second element might do want you want.
P.S. There is another library called react-lazy-load does the same job as react-lazyload, be aware of which one you are using 😉

Thank you, I totally overlooked the ability to set offset as an array in the docs. It works perfectly now with just setting scrollTop of the container to its height on initial mount.
P.S.: Corrected my little typo 😉

Glad it works, cheers!

So, the main example will be:
const App = () => {   return (
       <LazyLoad height={1000}>          /*                                   Lazy loading images is supported out of box,                                   no extra config needed, setheightfor better                                   experience                                  */       </LazyLoad>       <LazyLoad height={200} once offset={-100} >                                         /* Once this component is loaded, LazyLoad will                                  not care about it anymore, set this totrue                                  if you're concerned about improving performance */         <MyComponent />       </LazyLoad>       <LazyLoad height={200} offset={-100}>                               /* This component will be loaded when it's top                                  edge is 100px from viewport.

It depends on your needs, just pull the demo and fiddle with it 😉

So, please, tell me, where is demo with reverse direction?

@Afelua Hmm, you can clone git@github.com:jasonslyvia/react-lazyload.git and do a npm install, run npm run demo:watch, then open your browser and type <IP_ADDRESS>:8721, you will see the demo up and running.
Then try change the code in examples/, the demo will be recompiled on the fly, until you find out the result.

But I have not solved this problem, do you have a specific solution


Content-Type duplicate in Mocktail

I found that current version creates content type line and also copy content type parameter from request.
GET
//getFile.php\?filename=.*$
200
application/zip;base64
Content-Type: application/zip

This produce problem in OHHTTPStubs because second Content-Type parameter overrides first one and ;base64 suffix does not work. I think you should remove second Content-Type parameter.

@ivan-ushakov sorry that I may not be able to handle any issue for this repo in the near future, in the process of archiving/retiring the project. Please find other tools that may work for similar purpose or feel free to find a solution and share with community if possible.

@JinlianWang So you are going to close this project?

@JinlianWang In this section File format I see that there is no special line for content type. So starting from line 4 there must be only content headers.

@ivan-ushakov can you find a fix and make a pull request?


Missing CHANGELOG?

I am upgrading the version to the latest and wondering if there are any CHANGELOG file or any similar document listing the breaking changes/features.

nope, to my knowledge there is none. I think looking at the README.md files at the respective releases is the best way to find out what it is you want to know https://github.com/rvagg/through2/releases

From memory, through2 hasn't really changed much over time, it's readable-stream that's changed, so depending on your versions you may be switching from streams2 to streams3. The differences are mostly transparent, at least they are intended to be.

@yoshuawuyts @rvagg -Thx.


promise chaining pecularity

#Bad
API.login(user, pass).then(fn(r)-> Console.log(r) end)

Uncaught TypeError: Cannot read property '__load' of undefined

#Good
promise = API.login(user, pass)
promise.then(fn(r)-> Console.log(r) end)

This is the case where API.login returns a promise.

I haven't been able to reproduce this error so far. Is there any other information you could give?

I cant reproduce this on latest master


'duckdb' added to dialect options

is this change in the package.json file sufficient to fix #90  - or is there anything else to add?

I believe this should be sufficient. Thanks for the PR!


HDDS-10054. Reduce DataNode token verification heap allocation cost.

What changes were proposed in this pull request?
Remove unnecessary heap allocation associated with block token verification in DataNode.
Please describe your PR in detail:
Rewrite part of token verification code to use the underlying byte array directly. Avoid certain input/output stream objects that internally allocates sizable heap (4KB) each.
(I wanted to get rid of or optimize Token.decodeFromUrlString too, because BaseNCodec.ensureBufferSize allocates a 8192 byte buffer, which is overkill for this use case. This is another 1.x% overhead but I haven't find a way to remove it)
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10054
How was this patch tested?
Ran with freon hsync workload and verified the change does remove heap allocation using profiler.

@jojochuang please let me know if you are OK with me updating the PR with the minor refactoring I suggested


[Typo] Fix broken link.

Addresses #1076.

Docs Build status updates of commit 047a39b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-authentication.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Use POSIX syntax in bootstrap script

This change addresses #7 #28 #30. I believe many Windows users are using Bash on Ubuntu for Windows or a POSIX-compliant shell to run the bootstrap script. The function keyword is not defined on POSIX. This change improves portability and should not break the bash shell on OSX. I am able to build and run the Kickstarter app successfully on Windows.
http://unix.stackexchange.com/questions/73750/difference-between-function-foo-and-foo

thank you for this change, and for providing the reference


Reverted some rubocop-related changes in app/classes/ip_stats.rb unti…

…l we can figure out why they cause the cronjob to fail every minute.

Coverage remained the same at 93.031% when pulling a1c479da0ec3a05bc3b012305d914fb79b042e73 on quick-fix into 2a92e2de4e0ee6b8ae0cc3696f57d9aa9d98fa5d on master.


Rework OIHID to actually toggle powers

The off is fine, but should offer a list of powers to toggle back on so any powers with RAR can be triggered.

OIHID powers now toggle off.  State of these powers is tracked.  When re-entering heroic ID, previously active OIHID powers will be toggled back on.


Less complains that flag.png is missing

I copied the flags.png file from the examples/src folder to the /less folder which solved things. Is this what it should be by default? I don't use Less so unsure.

also, related is that the relative path for the image gets compiled to background: url([object Object]). Apparently a known problem within Less. Changing that to an absolute path fixes things.

but how to know the absolute path? best would injecting the path at runtime through a prop and have a default value for the prop.
Can then set the background using DOM methods in componentDidMount. What do you think?

which compiler compiles the url string to [object object]? seems to work ok with lessify transform for browserify which we are using to compile example.less to example.css

Yeah, I like turning the path into a prop and taking it out of Less.
I'm using Webpack and its less-loader. Underneath it's using v. 2.5.1 of Less which is the latest. Not sure why it's happening.

have pushed the setting of background-image to flag style inside the component using prop - fileImagePath.
I wish i could remove the whole less and apply inline styles using javascript objects only.


Update hooks to stop using asset id

Description

update @nft/api-graphql to latest version
update hooks to use chainId, collectionAddress and tokenId instead of assetId. This are a breaking changes.
update example app. Replace the envs NEXT_PUBLIC_ASSET_ID and NEXT_PUBLIC_CURRENCY_ID by directly the value
add missing graphql types to codegen

Still in draft until I (or someone else) have time to test it and update it in the starter-kit
Checklist

[x] Update related changelogs

done in https://github.com/liteflow-labs/liteflow-js/pull/158