Repo cleanup + Upgrade testing CI env to Python v3.10

There's a test failing for v3.6, which prompted me to add v3.10 for Github Actions CI. But adding another one would cause even longer delays on PRs as 3 more set of tests will be run. So I think we can remove v3.6 and instead have v3.10.

New CI workflow:

For all push commits on any branch except master, bioscrape will be installed and pytest will be run by the Github action called test_package.  This action runs only on ubuntu-latest and with Python v3.10 to keep the development workflow fast.
For all push commits directly to master (rare) and any pull requests to master, a detailed action called "deploy_package" will be run. This action installs bioscrape and runs pytest on all three OS and on three different Python versions to ensure backward compatibility.

Since this PR has a new commit and it is a pull request to master, both actions are running and both have passed. So I feel that this PR is ready for review @WilliamIX . We need to merge this branch to master to make sure that this new actions workflow works for other PRs.

3.6 and 3.7 don't seem to have run. Is this expected?

Because checks don't pass - we might need to merge this into dev before master?

do you see an option to merge the PR? It is blocked for me because 3.6 tests don't pass.

The problem is that the CI file needs to be in master to make sure the tests run. Even if we merge this to dev, and then when merging dev to master, we might see this problem again.


Devicetree API - Getting GPIO details from pin

Is your enhancement proposal related to a problem? Please describe.
I'm hoping there could be documentation (or an implementation if required) to allow extraction of GPIO details from a pin defined in the device tree.
Devices such as uart declare pins using a number such as <34>. In the case of the nrf52840, this translates to P1.02. I'm hoping there is a device tree API that can extract the GPIO-device (GPIO_1) and GPIO-pin (2) from the pin in the device tree. I've looked at https://docs.zephyrproject.org/latest/reference/devicetree/api.html#gpio and cannot find any macros to extact this.
Describe the solution you'd like
Simply documentation on how to do this, as there must be code already implemented as this must be what the UART and SPI drivers already do.
Describe alternatives you've considered
I've considered writing my own conversion functions, but this would not be portable as not all devices have say 32pins per port (for nordic devices, Pa.b translates to pin a*32 + b).
Additional context
For background, I'm aiming to implement an SDI-12 driver that uses UART for most communication however one of the requirements of SDI-12 is to have 'breaks' that hold the line in a logic low state (SDI-12 is active low and idles high) for a specific period of time, I'll need to use the GPIO to directly control the pin during this period before switching back to uart control. My alternative is to bit bang the whole driver, but using a hardware uart will be less process intensive.

+1
Such kind of matching that P1 has 32 pins offset from P0 ("Pa.b translates to pin a*32 + b") is not obvious. One day I struggled with the same question, and Nordic support also said "It is a bit confusing with arduino pin number given here in nRF52 dk dts file."


Example 5

Bonjour Julien,
I like example 5, just the way it looks on your home page, with the counter and the button together. i.e without having to hover over the counter to see the buttons. I tried to play with it a little bit but I can't get it to work.
Can you help?
Merci !
Benoit

Salut Benoit!
If I understand what you need (counter + buttons), try this with your CSS :
http://jsfiddle.net/JulienH/Dh4zc/
De rien :)

Argh... la honte :/
I found the problem, I was using an older version of jquery, and somehow under that version, the buttons just don't load until you click on the counter.
Thanks for that great script Julien :)

Super! I use "on" function, that's why jQuery 1.7 is needed :)


chore(rl): standarize redis configuration

Summary
Rate Limiting right now has new config structure that reuses common redis connection configuration.
Many plugins differ in the way Redis is configured. The goal of this PR is to introduce a standard Redis config schema that could be shared across plugins.
Other PRs
This is the second in the chains of PRs that standardize Redis configuration.

ACME: https://github.com/Kong/kong/pull/12300
RateLimiting: (this PR)
Response-RateLimiting: https://github.com/Kong/kong/pull/12302

Checklist

[x] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[x] N/A (docs automatically generated from plugin schema description) ~There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE~

Issue reference
KAG-3388

@nowNick I merged the other two PRs, but now we have conflicts in this one. Can you check, please?


Does bottled water work with PostgreSQL version 9.6?

Does bottled water work with PostgreSQL version 9.6?

It should work without issue, although it will probably require some minor build changes (possibly due to changes in Postgres development headers, definitely because the extension will need to be built against the correct version of Postgres and installed in a directory named after the Postgres version).
Before Postgres 9.6 was released, I tried this on a branch against the 9.6 beta and it appeared to work (passed the tests): https://github.com/confluentinc/bottledwater-pg/compare/master...samstokes:hack.postgres-96


apply lpmm.optim.AdamW to transformers trainer for multiple gpus training -> error

Hi, thank you for the interesting idea and very helpful implementation! Actually, I tried to apply lpmm.optim.AdamW to transformers trainer for multiple gpus training but got an error below.
lib/python3.10/site-packages/accelerate/utils/operations.py", line 167, in send_to_device
return tensor.to(device, non_blocking=non_blocking)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
Doesn't your current code support the multiple gpus training? Thanks!

Also, it seems like your code does not support torch.bfloat16?

Hi, thank you for your question. Among the reported experiments in our paper, including image classification, machine translation, GPT-2 fine-tuning, and LLaMA fine-tuning, all were conducted in multi-GPU settings. Therefore, the error may depend on various complex factors, such as the version of transformers, the type of GPU, the pretrained model used, and so on.
Regarding torch.bfloat16: our 4-bit optimizers are compatible with torch.cuda.amp, where forward and backward computations are carried out in 16-bit, while optimizer states are stored in 4-bit. In this case, the 32-bit weights still need to be stored, and the optimizer state update are performed in 32-bit. This also applies to LLaMA fine-tuning. In general, our 4-bit optimizers do not change parameter dtype, thus not affect the forward and backward computations. The optimizer state update may be performed in 32-bit but this step is cheap. And finally, the optimizer states are stored in 4-bit.

I see. Thank you for your kind and detailed explanation!
I have one more quick question! Currently, the default setting of the second moment quantization (_C.QUANT.SQM) is 'group' for normalization and 'power-1' for mapping. But, in your paper, you used 'rank1' for normalization and 'linear' for mapping. Do I need to change this default setting?

You could pass the qconfig argument that defines quantization setting to 4-bit optimizers. To use 'rank1' normalization and 'linear' (equivalent to 'power1') mapping for second moment, you could follow this:
optimizer = lpmm.optim.AdamW(
    parameters,
    qconfig="path/to/lpmm/configs/default.yml",
)

If the qconfig argument is set to None, the optimizer will use the setting defined in config.py, just as you mentioned. Also, you could use different provided qconfig files to modify the quantization setting.

Gotcha! Thank you for the explanation. It was very helpful!


FR: Turn Buttons into Labels to avoid border issue

If we are using Buttons as an Image, then we should use Label
from tkinter import Label

# img

btn = Label(
    image=img
)
btn.bind('<Button-1>', lambda _: print('Button was pressed'))

Can you create a pull request ? We can test how it works and then merge it.

I used it in https://github.com/omar2205/imgs-lottie and it works as expected.


Checkbox / Radio with Javascript

Hi all, thanks for your help.
How to create a radio group, as in the link below.
http://getbootstrap.com/javascript/#buttons-checkbox-radio.
I'm on CakePHP 2.x and I do not know how?
And thank you for your plugin.

Hi,
If you are using CakePHP 2.x, please post this issue in the corresponding repository: https://github.com/Holt59/cakephp-bootstrap3-helpers
Thanks,


Add composer.lock to git

composer.lock should be in VCS.
php composer.phar install will be faster

Please read previous discussions about that.

@Ocramius is prior discussion stale now? @weierophinney and @ezimuel decided to ship composer.lock and not ship compooser.phar in the Apgility skeleton. They also suggested same should apply to this skeleton. See https://github.com/zfcampus/zf-apigility-skeleton/pull/92#issuecomment-110063604

Implemented as part of #286


Avoid printing errors in test

This patch prevents us from logging errors when testing (assumes NODE_ENV is set to "test" when testing).
Closes #329.

@stephenmathieson I believe the kind of tests that trigger this path shouldn't exist, see my experience: https://github.com/zeit/micro/issues/305#issuecomment-345795261

I disagree, and have a business requirement that all codepaths that are "exposed to the internet" are tested.

Yeah, it's just one log per test/request, but it's annoying when you've got several tests hitting the unhappy path(s).

It should only be one test for the same path (the unhandled one where micro returns an error by default), right?

Yes, but there are several paths in the function that will result in an error. Modified source follows:
const assert = require('http-assert')

const app = micro(async (req, res) => {
  // We only care about POST requests.
  assert(req.method === 'POST', 405)

  // Ensure request is valid.
  const event = await json(req)
  assert(isValidWebhookRequest(event), 400)

  // Do other things.
  // ...

  // Finally, do the thing we care about.
  const meta = await do_business_logic({
    // ...
  })

  // Return the created metadata to the caller.
  // This may be useful later on. ¯\_(ツ)_/¯
  return meta
})

You can put a try catch around the functions that may throw like this.

Yeah, I could, but I'd rather not since Micro does it for me and just about every other framework handles these errors without printing to stdout.

Hmm I get that, I'm not fan of the logging either. On the other hand as I said before I think these paths shouldn't be tested since as you said the framework handles it.
Btw. check out my PR on this matter, one of the core contributors replied there: https://github.com/zeit/micro/pull/315

I'm not testing that the framework handles the error, but instead, that my app raises the error.

This will be solved by #369, as there is no longer a "createError" handler in that scenario.


Add CommandKit::Printing::Tables

Add a CommandKit::Printing::Tables module:

Must support printing Arrays of Arrays (rows of columns).
Must calculate maximum length of each cell and left-pad cells.
May allow adding separator lines.
May allow printing a header row.

May allow adding header separator lines.

May allow printing a border around the table.

Duplicate of #64.


[3.4] fix issue #7777

Please note that for legal reasons we require you to sign the
Contributor Agreement
before we can accept your pull requests.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/2549/


Change default tutorial page on website

Switch the default for tutorial on the website for v4 to v5.
Also add a link to the migration guide on that page.
@hodgestar I expected to have to change the index references in more places, did I forget something?

I don't think you missed anywhere. The indexes are autogenerated, so it's mostly just fixing that one script.


Create a Hugging Face Spaces demo for Grobid

https://huggingface.co/spaces allows you to host machine learning demos for free. Hugging FaceSpaces has Docker support, so creating a hosted demo version of Grobid is possible. I think this would be a nice way for people to try out Grobid quickly with no local setup required.
I've quickly created a POC for this here: https://huggingface.co/spaces/davanstrien/grobid. You can also see the non-embded version here: https://davanstrien-grobid.hf.space/
Happy to help with creating this if it's of interest.
cc @libcce

At the moment you can't configure the run command, but it should be possible to do this by updating the Dockerfile. The one I created (https://huggingface.co/spaces/davanstrien/grobid/blob/main/Dockerfile) basically just uses the existing Grobid image and sets some permissions.
You could update the Dockerfile I created and include the config files in the Spaces repo i.e. in https://huggingface.co/spaces/davanstrien/grobid/tree/main and copy it in the image with COPY --chown=user <some-file-in-repo> <dest-in-image>.
It's also possible to get a community grant for GPU spaces see: https://huggingface.co/docs/hub/spaces-gpus#using-gpu-spaces which might be helpful for making the demo a bit more performant.

Thank you very much @davanstrien for the issue and the POC !
It can be a really great to solution to host a demo with the Deep Learning models and GPU, because the current public demo and the play-with-docker solution only use CRF models, which are clearly not as good as the DL models. The public demo hosted on a Linode CPU server cost me a $1000 per year from my pocket actually (don't tell my wife).
In the POC, there are currently 2 issues:

the embedded web demo/console is not working (it will return error 405), because the web console is a bit too dumb to work with this modified url, but it is easy to fix (the non-embedded version works)
the selected docker image normally uses Deep Learning models for bibliographical reference parsing and affiliation parsing, however both are not working, I suppose because the POC is running on CPU only and likely without enough memory to load the DL models in CPU RAM. So without GPU I suppose it's not a solution when using DL models.

I will explore the GPU community grant possibility, which should solve the second problem. As an alternative, the first GPU space cost is anyway 2 times cheaper than my current Linode CPU-only solution.
So in any cases, even with CPU, it can be a nice replacement for the current demo.

I've managed to deploy grobid-quantities and grobid-superconductors.
The embedded version suffers the same issue but the normal URL works very well! :-)

@lfoppiano did you manage to get DL models working with the CPU-only environment ?

* the embedded web demo/console is not working (it will return error 405), because the web console is a bit too dumb to work with this modified url, but it is easy to fix (the non-embedded version works)

This is an issue people have run into, good to hear the non-embedded version works :)

* the selected docker image normally uses Deep Learning models for bibliographical reference parsing and affiliation parsing, however both are not working, I suppose because the POC is running on CPU only and likely without enough memory to load the DL models in CPU RAM. So without GPU I suppose it's not a solution when using DL models.

You could also try with an upgrade CPU (this also comes with more memory 32GB rather than 16) full breakdown of spaces hardware here: https://huggingface.co/docs/hub/spaces-overview#hardware-resources. The container logs may also give you an idea if it's a memory issue. IIRC I also ran into some memory issues with the POC for some of the tasks.

I will explore the GPU community grant possibility, which should solve the second problem. As an alternative, the first GPU space cost is anyway 2 times cheaper than my current Linode CPU-only solution.
So in any cases, even with CPU, it can be a nice replacement for the current demo.
🤗

I set up a demo CRF-only with a fix for the embedded web demo/console and it works really well :)
https://huggingface.co/spaces/kermitt2/grobid-crf
Thank you again @davanstrien for the super suggestion and the POC, it is really easy.
I was too fast about cost, the cost of a GPU for a space at huggingFace is five times more than what I spend currently for the Grobid demo CPU server. So I'll try the community grant for GPU spaces.
@lfoppiano The fix for the web client is very simple, line 27-30:
https://github.com/kermitt2/grobid/blob/master/grobid-service/src/main/resources/web/grobid/grobid.js#L27
It removes the url parameters after the ?, which was causing the problem to get the correct end point for the service.

Regarding the second problem with the Deep Learning models not working, it was not related to the memory but to some access right paths to be added in the Dockerfile. This is now working well here:
https://huggingface.co/spaces/kermitt2/grobid
This is based on a docker image using 3 deep learning models (for parsing article header, affiliation/address and bibliographical references - the rest is still CRF). The runtime with CPU only is actually not that bad at all. 5s server runtime for a pretty long articles instead of 3s with CRF only.
@davanstrien really nice build container log console, really good work by HuggingFace I must say.

@lfoppiano did you manage to get DL models working with the CPU-only environment ?

I did not try. I deployed the CRF-only versions and applied for the GPU for grobid-superconductors.

@lfoppiano The fix for the web client is very simple, line 27-30:
https://github.com/kermitt2/grobid/blob/master/grobid-service/src/main/resources/web/grobid/grobid.js#L27
It removes the url parameters after the ?, which was causing the problem to get the correct end point for the service.

thanks! :-) I will gladly cherry-pick it :-)

Regarding the second problem with the Deep Learning models not working, it was not related to the memory but to some access right paths to be added in the Dockerfile. This is now working well here:
huggingface.co/spaces/kermitt2/grobid
This is based on a docker image using 3 deep learning models (for parsing article header, affiliation/address and bibliographical references - the rest is still CRF). The runtime with CPU only is actually not that bad at all. 5s server runtime for a pretty long articles instead of 3s with CRF only.
@davanstrien very nice build container log console, really good work by HuggingFace I must say.

That's great to hear! Very happy that this is working well :) Do feel free to request a community grant for the GPUs if that becomes useful at some point.

That's great to hear! Very happy that this is working well :) Do feel free to request a community grant for the GPUs if that becomes useful at some point.

I've tried like one month ago but I got no answers. I did it here: https://huggingface.co/spaces/lfoppiano/grobid-superconductors/discussions/1#63eec0fabe5d5900b851c513 is it correct?

Hi - I came across this issue while trying to debug why I wasn't seeing any results in the HF space. I dropped a comment on the HF space, but I was wondering if that is still working as expected.
Thanks for your help!

@gjreda how many pages was the PDF?

@lfoppiano followed up with me on the HF space and I think that clarifies my issue

😄  👍

That's great to hear! Very happy that this is working well :) Do feel free to request a community grant for the GPUs if that becomes useful at some point.

I've tried like one month ago but I got no answers. I did it here: huggingface.co/spaces/lfoppiano/grobid-superconductors/discussions/1#63eec0fabe5d5900b851c513 is it correct?

Sorry, I somehow missed this. Let me see if it's possible to get a grant for a period of time.


Picker does not have an addValue method

On the "Picker" page of the documentation, there is also addValue in the method list:
https://github.com/framework7io/framework7-website/blob/2f3a2d71f8e7898dca2c7d9b669e86c53a87afd1/src/pug/docs/picker.pug#L347-L349
But this method doesn't exist in
https://github.com/framework7io/framework7/blob/master/src/core/components/picker/picker-class.js

Thanks!


Fixes checkpoint download, changeset apply logging

Fixes for issues mentioned in comments of this PR #5930. Updates the download checkpoint message and changes the timing for changeset application to be for each individual changeset.

Missing rush change.
Use an empty change comment


Use GitHub StyleCop repo

CodePlex is shutting down. The StyleCop project was moved to a GitHub repo. This PR updates any reference for CodePlex and simply the instructions by using submodules instead of cloning manually the repo.

Awesome! Thanks a lot @pleonex!


Initialise Toggle Attribute module after Accordions have been initialised

What
It would appear the tracking on the accordion links broke yesterday (27 May) - with accordionOpen, now reading as accordionClosed.
We should investigate what caused the problem, and either fix it if we can or prod whoever needs to fix it.
https://trello.com/c/qThuLppG/315-investigate-why-the-accordion-track-broke-and-fix-it-if-we-can

We will have an incident review to understand why this happened.


Add support for using different emoji icon sets like EmojiOne and Twemoji

Just a question. Is it possible change the default emoj from noto-fonts to something else? Or even add custom emoj to Zulip?
If not, this would be a great feature

Custom emoji are supported but there isn't a UI for setting them.
See ./manage.py realm_emoji for how to add them.
It's certainly possible to support different emoji sets, however, there aren't a lot of good emoji choices with a good license.

(If you're aware of a better emoji set, feel free to comment on it)

I would be interested in Emoji One https://github.com/Ranks/emojione. I'll look at changing to this.

I would actually want to change the entire emoji set in Zulip to EmojiOne. It supports ASCI and UNICODE characters and translates them too. Such as :) and :D
How would I change the entire emoji set?

Currently, we generate the emoji set that lives in the source tree at static/third/gemoji/ using  tools/emoji_dump/build_emoji.  To change the entire emoji set, you'd need to change that tooling to download/generate the emoji PNG files for the new emoji set into the same file hierarchy, and then also change the list of valid emoji names in static/js/emoji.js.
I haven't looked into emojione so the process may be a bit different, but that's how things work today.

@wdaher have you looked at EmojiOne at all?

I would be happy to have someone move Zulip to EmojiOne or to twemoji — in my opinion, they're both better icon sets than Google's, which is a bit annoying.
If I, Waseem, were to do this, I'd probably do it in two steps:

just update the images without actually changing any of the functionality, and maybe that's enough
from there, I'd evaluate what advantages emoji-one or twemoji JS would give us over what the status quo is today (taking into account that we're expecting a certain wire format for emoji and that they also need to work properly in the Android & iOS apps)

@phillip-white-sociomantic re :) turning into an emoji specifically, we intentionally chose not to do that since it's a little annoying for developers I think, but it does look like that's increasingly the convention these days so I could be convinced...

@wdaher Yes, i have seen the same. With mattermost, letschat and rocket.chat. The The characters where not first supported because they wanted to make it more dev friendly. However these services, and gitter now support this. Probably because they use the same flavored markdown as github, which removed the possibility to confuse the :) characters.

I would also put down my +1 for EmojiOne. It's more widely used, and i also like the icon set better. I'm sure others will too.

If someone wants to take a crack at this, I'd encourage them to do this in two steps:

Step 1 where they just replace the underlying image files so that no code needs to be changed, but the new emoji start to be used
(Optional) Step 2: evaluate whether there's any advantage in using the javascript library that comes in the emoji set

@timabbott I would like to work on this issue. Since there has been no work done since its proposal i would assume that no one has claimed this and would like to work on switching the emoji set to EmojiOne. And i went through their collection, as mentioned by others it has a good collection of emoji's and along with this i would like to work on other issue linked to this - regarding improvement in usability #1956.

@zulipbot claim

I think our current thinking is we should support multiple emoji sets, rather than just doing a switch.  I think @HarshitOnGitHub may have been doing work on our emoji data to provide support for categories in a way that would also help for supporting multiple emoji sets...

@timabbott  Sorry i couldn't do much from the past one and a half week. My Laptop couldn't handle multiple applications running simultaneously and was crashing very frequently. So, I barely could do anything. Now i have a new laptop and fully ready to continue. I have actually started working making the performance of the emoji picker. And your idea of supporting multiple emoji sets seems to good. But wouldn't that affect the uniformity or the design of the emoji sets. And I too feel there is a need of better way to handle the emoji date because the present one is not good and it seems like the code is doing too much of redundant work. And yeah I m aware @HarshitOnGitHub  has been working on emoji data.  And you had advised us to discuss and split the work so that we would end up working on the same thing.
PS: I m back. And I m exited.

Yep, you should check in with @HarshitOnGitHub ; I think he has the category data working already.

Okay.

Now that the sprite's PR is almost ready, doing this will be a matter of just switching the sprite sheets dynamically. The main problem here will be how to deal with old messages?
@timabbott @rishig Thoughts?

Cool, I am really excited about this!! :)

@zulipbot unclaim

@HarshitOnGitHub Since, you have already started, it right for you to claim and finish it.

Thanks @tejaskasetty!
@zulipbot claim

@timabbott Should we close this since we have already merged the related PR, only UI has been disabled for now?

I think we need to leave this open until we enable the feature.  I hope we can do that soon.

@timabbott Any update on reaction migration or emoji web PR, since without those two this one can't move forward.

In the latest version of Zulip, is it possible to change the emoji set from Google to Apple? I was able to do it by hacking the index.html to use apple_sprite instead of google_sprite along with some other changes, but this obviously isn't an ideal solution.
There also seems to be a DB entry for emojiset in the zerver_userprofile table that is defaulted to google. Changing this to apple seems to have no effect. Is this supposed to or eventually going to allow users to set their own emojiset from the display settings?
Appreciate any help you provide on this! Just starting to play around with Zulip.

Is this supposed to or eventually going to allow users to set their own emojiset from the display settings?

It doesn't yet, but that's the plan! + @HarshitOnGitHub who might have more up to date information.

In the latest version of Zulip, is it possible to change the emoji set from Google to Apple?

No not right now, but we have plans to support this feature soon. It is a work in progress, PR related to changing the emojiset was merged but the UI for changing emojiset was disabled because some more work is yet to be done/merged. We plan to support four emojisets initially: Google, Apple, twitter and emojione.

There also seems to be a DB entry for emojiset in the zerver_userprofile table that is defaulted to google. Changing this to apple seems to have no effect. Is this supposed to or eventually going to allow users to set their own emojiset from the display settings?

Yeah that's the plan. This field will be used for determining which sprite sheet is to be served to the user. The UI related to this change is currently disabled, once it gets enabled you will get a drop down menu in the display settings for choosing your preferred emojiset.

I was able to do it by hacking the index.html to use apple_sprite instead of google_sprite along with some other changes, but this obviously isn't an ideal solution.

Doing this changes the sprite sheet being served to you. Later on this will be changed to be controlled by emojiset field in UserProfile model. Since we currently use sprite sheets only in the emoji picker so, as you may have noticed, doing this will not affect emojis in message and typeahead. There is an open PR(#3923) to switch emojis in the messages and typeaheads to use sprite sheets which is expected to be merged soon. Once it gets merged we will enable this feature.


Integration testing QA findings

in json product file, I used the market ID "deutschland". I did not get an error message, but the market ID was not recognized. I had expected to get an error message because only the 2 digit country codes should be allowed and accepted. Best to get an error message like: Market ID not recognized.
in json product file, I tried to use an unknown value for a flag (to simulate what can happen in an interface): field "flagDisplayEPI_BatchExpired" I added not TRUE or FALS, I entered BUH. I got an error message on the screen, but I had expected an error to see in the log file.
on the initial Product screen in DSU, I recommend to see also Name of Medicinal Product. To save space, you could remove the AE Report Enabled and AC Check Enabled.
when sending json files via postman, the result was not shown immediately on the screen. In the log, I have found my test files, but not immediately on the product screen (buffer issue)
on the "import log screen", its helpful to also show the sending message ID.
Thanks for taking care of the first findings.
when I remove in json the field:"internalMaterialCode" : "", I get the response: "responseCounter":1,"responseType":1,"responseDescription":"Invalid message format","errorData":"internalMaterialCode - Required field","errorDataField":"internalMaterialCode". Internal material code is not mandatory, so even no error message is ok

Hi @steinso2,
All 6 point are fixed and will be included in next release with following observations:

at point 2  I can see following message in "/mappingEngine/epi/logs

[{"messageTypeVersion":0.2,"messageId":"9871587912959","messageDateTime":"2022-02-04T10:32:24.054Z","response":[{"responseCounter":1,"responseType":1,"responseDescription":"Invalid message format","errorData":"flagEnableAdverseEventReporting - Wrong type. Found string , expected boolean","errorDataField":"flagEnableAdverseEventReporting"}],"receiverId":"NOVARTIS_P75_010","senderId":"ePI_DSU_NOVARTIS","messageType":"ProductResponse","requestMessageType":"Product","requestMessageTypeVersion":0.1,"requestMessageId":"121212121212","requestMessageDateTime":"2021-04-27T10:12:12CET"}]

on failed messages in ui

for point4 we have an other ticket(#518) and will be solved with that ticket.


Add method to flag a cell

I searched the source but didn't find any way to flag a cell. Please fix it.

You can flag a cell by setting its isFlag value to true. You can see all the cell properties here

Can you give me an example?
I don't understand how can I do that. Do I have to get all cells and iterate over them?

If you want to flag a cell (lets take the one you have given, [3,4]), you can do either
minefield[3][4].isFlag = true or minefield.cellAt([3,4]).isFlag = true.
If i understood correctly, you might want to flag a group of them. In that case just do a loop. You might want to give me more information on that so i can help you


Epool Reward Tokens

Ref
https://medium.com/@etherninja/how-to-claim-etc-from-epools-tokens-in-mist-ethereum-classic-edaadb605866

Going to pull and resubmit correctly

No worries - as a note (not related to this PR), you don't need to include any of the compiled files in the PR. It's easier to tell what is changed and discuss it. So like, you can not include any of the files in /dist and /chrome-extension.


ClientDisconnectedHandler  event occurs

i used some managed clients connecting to the mqttnet server.
sometimes the server will encount ClientDisconnected event with  DisconnectType of notClean
all the clients use the same user/pwd but complete different clientids.
what doest it mean?  thanks.
app.UseMqttServer(server =>
{
server.ClientConnectedHandler = new MqttServerClientConnectedHandlerDelegate(e =>
{
System.Console.WriteLine("ClientId[" + e.ClientId + "] connected event fired.");
});
server.ClientDisconnectedHandler = new MqttServerClientDisconnectedHandlerDelegate(e =>
{
System.Console.WriteLine("ClientId[" + e.ClientId + "] disconnected event fired, Reason=" + e.DisconnectType.ToString());
});
.....

my client code is as follows:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Timers;
using System.Threading.Tasks;
using System.Configuration;
using MQTTnet;
using MQTTnet.Client.Connecting;
using MQTTnet.Client.Disconnecting;
using MQTTnet.Client.Options;
using MQTTnet.Client.Receiving;
using MQTTnet.Extensions.ManagedClient;
using MQTTnet.Formatter;
using MQTTnet.Protocol;
using MQTTnet.Server;
namespace MQTTClientTest
{
class MultiClients
{
private List managedMqttClients = new List();
private Timer _timer = new Timer();
    string serverIP = ConfigurationManager.AppSettings["MQTTServer.Addr"];
    string serverPort = ConfigurationManager.AppSettings["MQTTServer.Port"];
    string serverUserId = ConfigurationManager.AppSettings["MQTTServer.UserId"];
    string serverPasswd = ConfigurationManager.AppSettings["MQTTServer.Passwd"];
    string serverTopic = ConfigurationManager.AppSettings["MQTTServer.Topic"];

    // start multiple clients
    public async void start(int clientsCount)
    {
        await Task.Factory.StartNew(async () =>
        {
            for (int i = 0; i < clientsCount; i++)
            {
                string clientId = Guid.NewGuid().ToString();
                var options = new ManagedMqttClientOptionsBuilder()
                 .WithAutoReconnectDelay(TimeSpan.FromSeconds(5))
                 .WithClientOptions(new MqttClientOptionsBuilder()
                     .WithClientId(clientId)
                     .WithCleanSession(true)
                     .WithTcpServer(serverIP, Convert.ToInt32(serverPort))
                     .WithCredentials(serverUserId, serverPasswd)
                     .Build()
                 )
                 .Build();

                var c = new MqttFactory().CreateManagedMqttClient();
                c.ConnectedHandler = new MqttClientConnectedHandlerDelegate(arg =>
                {
                    System.Console.WriteLine("Client Connected");
                });
                c.DisconnectedHandler = new MqttClientDisconnectedHandlerDelegate(arg =>
                {
                   System.Console.WriteLine("Client disconnected, ClientWasConnected=" + arg.ClientWasConnected.ToString());
                });
                c.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(arg =>
                {
                    string payload = System.Text.Encoding.UTF8.GetString(arg.ApplicationMessage.Payload);
                    System.Console.WriteLine("Message received, topic [" + arg.ApplicationMessage.Topic + "], payload [" + payload + "], connectedCount=" + _connectedCount.ToString());
                });

                await c.SubscribeAsync(serverTopic, MqttQualityOfServiceLevel.AtLeastOnce);
                await c.StartAsync(options);

               managedMqttClients.Add(c);

                System.Threading.Thread.Sleep(200);
            }
        });

       /* _timer.Interval = 30000;
        _timer.Elapsed += new ElapsedEventHandler(timer_elapsed);
        _timer.Enabled = false;*/
    }//start

    public async void stop()
    {
        foreach(IManagedMqttClient c in managedMqttClients)
        {
            if (c.IsStarted)
            {
                await c.StopAsync();
            }
        }
    }//stop

    private void timer_elapsed(object sender, ElapsedEventArgs e)
    {
        if (managedMqttClients.Count < 1)
            return;

        string strPayload = DateTime.Now.ToString();
        //IManagedMqttClient c = managedMqttClients[0];
        //c.PublishAsync(serverTopic, strPayload);
    }
}

}

it works well with clientsCountless than 50.
if  clientsCount is bigger than 100, lots of  ClientDisconnectedHandler -event  occurs in the server side.
what's the possible problem, thanks !

the server side 's Program.cs:
public class Program
{
public static void Main(string[] args)
{
#if DEBUG
CreateHostBuilder(args).Build().Run();
#else
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
var host = WebHost.CreateDefaultBuilder(args).UseContentRoot(pathToContentRoot).UseStartup().UseKestrel(
o =>
{
o.ListenAnyIP(Config.WsPort);
o.ListenAnyIP(Config.TcpPort, t => t.UseMqtt());
}
            ).Build();
        host.RunAsService();

#endif
}
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
                            .ConfigureWebHostDefaults(webBuilder =>
                            {
                                webBuilder.UseStartup<Startup>().UseKestrel(o =>
                                {
                                    o.ListenAnyIP(Config.WsPort);
                                    o.ListenAnyIP(Config.TcpPort, t => t.UseMqtt());
                                });
                            });
}

startup.cs:
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        Config.UserName = Configuration["MqttOption:UserName"];
        Config.Pwd = Configuration["MqttOption:Password"];

        services.AddControllers();
        services.AddHostedMqttServer(b => b.WithDefaultEndpointPort(Config.TcpPort)
        .WithConnectionBacklog(512)
        .WithConnectionValidator(context =>
        {
            if (Config.UserName != null && Config.Pwd != null)
            {
                if (context.Username != Config.UserName || context.Password != Config.Pwd)
                {
                    context.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
                    return;
                }
            }
            context.ReasonCode = MqttConnectReasonCode.Success;
        })
        );

        services.AddMqttConnectionHandler();

        services.AddMqttWebSocketServerAdapter();

        services.AddMqttTcpServerAdapter();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();
        app.UseMqttEndpoint("/mqtt");
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
        app.UseMqttServer(server =>
        {
            server.ClientConnectedHandler = new MqttServerClientConnectedHandlerDelegate(e =>
            {
                System.Console.WriteLine("ClientId[" + e.ClientId + "] connected event fired.");
            });
            server.ClientDisconnectedHandler = new MqttServerClientDisconnectedHandlerDelegate(e =>
            {
                System.Console.WriteLine("ClientId[" + e.ClientId + "] disconnected event fired, Reason=" + e.DisconnectType.ToString());
            });
            server.ClientSubscribedTopicHandler = new MqttServerClientSubscribedHandlerDelegate(e =>
            {
                System.Console.WriteLine("ClientId[" + e.ClientId + "] subscribe topic[ " + e.TopicFilter.Topic + "] event fired.");
            });
            server.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(e =>
            {
                System.Console.WriteLine("ClientId[" + e.ClientId + "] message topic[ " + e.ApplicationMessage.Topic + "] event fired.");
            });

            MqttHelper.Server = server;
        });
    }

the same situation happens when i changed the server program to mqttnet.server instead of mqttnet.net.core.

I can see the same effect when creating many ManagedMqttClients (20+). I am using a mosquitto broker and a simple console application to create multiple ManagedMqttClients. The broker's log shows all clients to connect successfully at first but then starts to loose connections.
It looks to me like the connection handling on the ManagedMqttClient side is not optimized for handling multiple clients in the same process. Also the keep alive mechanism gets delayed to a point where connections are lost due to not sending keep alives in time.
@chkr1011 do you have an explanation for this effect? Should I try to create a repro repo?

I suggest the bug label here

@smuellener   thanks. so it's not the server problem, but the ManagedMqttClient ?

@smuellener  @chkr1011
i tried CreateMqttClient instead of managedClient.
it works well with more than 100 clients.

I assume this issue solved. Using lots of managed clients in a single application is not supported. The overhead of the managed client is to high. For such scenarios I suggest to use the regular client (which solved the issue).

I assume this issue solved. Using lots of managed clients in a single application is not supported. The overhead of the managed client is to high. For such scenarios I suggest to use the regular client (which solved the issue).

Question: What do you mean by „lots of“? What about two managed clients from within the same process? Thanks

Two should not be a problem depending on how much messages they produce. But 10, 50, 100 or event more may not work properly. Also please retest with version 4.0 and let me know if the stability is still an issue when using more managed clients in the same process.

Two should not be a problem depending on how much messages they produce. But 10, 50, 100 or event more may not work properly. Also please retest with version 4.0 and let me know if the stability is still an issue when using more managed clients in the same process.

I am using version 4.0, and have the same issue when the keepalive period from the client is 50+ seconds, CommunicationTimeout remains 100 seconds, I have not changed it


[Feature]: Convert objectives to constraints

Feature Description
Background
There should be utilities that turn any objective into some appropriate constraint. The constraint should take in an objective and a value as arguments, and the output should be a constraint satisfying the desired condition.
For example,
function ObjectiveEqualityConstraint(objective::Objective, value::Float64)
     objective - value = 0
end

function ObjectiveInequalityConstraint(objective::Objective, value::Float64)
     objective - value > 0
end

This functionality has already been implemented in FinalUnitaryFidelityConstraint, which follows the format of UnitaryInfidelityObjective; the point of this issue is to generalize and abstract this concept.
Suggested checklist

[ ] Pick a specific objective (e.g. UnitaryInfidelityObjective objective). Write a routine that creates a constraint from this objective. Compare to the existing constraint (e.g. FinalUnitaryFidelityConstraint).

Importance
1 (lowest)
What does this feature affect?

[ ] quantum system construction
[X] problem setup
[ ] problem solution
[ ] problem performance
[ ] solution analysis
[ ] plotting
[ ] documentation
[ ] tests
[ ] other (please specify below)

Other information
No response

This would allow for a much simpler implementation of the constraint class of problem templates like minimum time and robustness. Those problems could extract the existing fidelity objective from the problem params, which by default already "pops" from this list. Then, the constraint could be constructed from this objective using the existing gradients. Nothing new would have to be written.


This second way works, the original didn't

/.auth/login/twitter/callback. For example, https://contoso.azurewebsites.net/.auth/login/twitter/callback.
>>>>>
/signin-twitter. For example, https://contoso.azurewebsites.net/signin-twitter

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 34a857a8-ee6c-509b-75aa-f13147a4412b
Version Independent ID: a94230d1-5c21-673c-3d92-b6fbd8c1dc2c
Content: Configure Twitter authentication - Azure App Service
Content Source: articles/app-service/configure-authentication-provider-twitter.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@Ricardoaraujo00 : Can you please elaborate the ask here please ?

Sorry for over simplified that comment. I'm saying that the call back address that we are supposed to fill in the twitter developer console isn't that stated in the docs on step 3, but how i show in the last line of my comment.

Hi @Ricardoaraujo00 Upon further review, we feel your feedback would be best received by the doc author to determine if an update to the current doc is necessary

@Ricardoaraujo00 I suspect the /signin-twitter path doesn't come from App Service but your chosen web framework in your code. Would that be accurate?
@mattchenderson Is there any other reason why it would work like this?

@Grace-MacJones-MSFT  sorry, i'm not sure if you need me to provide any further information on this.
@cephalin i'm bit rookie in here, but yes, i think that path comes from the app service. That path is what i put in the twitter developer console. It's the path to which the twitter login platform redirects me after login on their portal. Only with that return path i'm able to have the application working. This application is a tutorial i followed in this repo: https://github.com/dotnet-presentations/blazor-workshop/
I have it online on azure free tier, if you want to check it out working: https://rfapizzablazor.azurewebsites.net


Fix missing timezone parameter in timestamp translation

The timezone parameter of TimestampTZ is missing here.

Cancelled per the discussion in https://github.com/substrait-io/substrait/issues/190 .


Connect button instead of vote button - If wallet is not connected

Now that I think about it, I will try refactoring this with a composable. I think it's the cleaner solution as we don't need to add any extra thing to the app module.

@ChaituVR sorry for pushing to your branch. What do you think?

@samuveth Hey no no np :) This is great

Can you make the label of the button to always be "Vote"? Also we should not see the button loading when auth is loading.

Also the button should be disabled if no open was chosen yet


Update doc_quickstart.rst

Here is the same issue as in #411 . Renaming title and commit should help. E.x. title: docs: Update doc_quickstart (#398)


WIP: Use caching in Github Actions and Azure Pipelines

This PR follows https://github.com/mne-tools/mne-python/issues/8685#issuecomment-753985292 and attempts to solve the recent failures related to testing data download.
ToDo:

[x] Use $HOME for path variable
[x] Use caching for Azure too

Among the first batch of runners, no one detected the cache:
Run actions/cache@v2
Cache not found for input keys: macOS-dataset

and
Run actions/cache@v2
Cache not found for input keys: Linux-dataset

Failing skips the Post Cache dataset step.
I'll push an empty commit to confirm that they at least restore the cache successfully.

Among the first batch of runners, no one detected the cache:
Run actions/cache@v2
Cache not found for input keys: macOS-dataset

and
Run actions/cache@v2
Cache not found for input keys: Linux-dataset

Failing skips the Post Cache dataset step.
I'll push an empty commit to confirm that they at least restore the cache successfully.

compat_old was the first to finish Post Cache dataset with:
Post job cleanup.
/bin/tar --posix --use-compress-program zstd -T0 -cf cache.tzst -P -C /home/runner/work/mne-python/mne-python --files-from manifest.txt
Cache saved successfully

compat_old was the first to finish Post Cache dataset with:
Post job cleanup.
/bin/tar --posix --use-compress-program zstd -T0 -cf cache.tzst -P -C /home/runner/work/mne-python/mne-python --files-from manifest.txt
Cache saved successfully

I see no problem at restoration :ok_hand: :
Run actions/cache@v2
Received 79691776 of<PHONE_NUMBER> (7.6%), 75.9 MBs/sec
Received 209715200 of<PHONE_NUMBER> (19.9%), 99.9 MBs/sec
Received 360710144 of<PHONE_NUMBER> (34.2%), 114.6 MBs/sec
Received 486539264 of<PHONE_NUMBER> (46.2%), 115.9 MBs/sec
Received 629145600 of<PHONE_NUMBER> (59.7%), 119.9 MBs/sec
Received 750780416 of<PHONE_NUMBER> (71.3%), 119.2 MBs/sec
Received 864026624 of<PHONE_NUMBER> (82.0%), 117.6 MBs/sec
Received 981467136 of<PHONE_NUMBER> (93.2%), 116.9 MBs/sec
Received<PHONE_NUMBER> of<PHONE_NUMBER> (100.0%), 72.2 MBs/sec
Cache Size: ~1005 MB<PHONE_NUMBER> B)
/bin/tar --use-compress-program zstd -d -xf /home/runner/work/_temp/6a73b959-0e9e-4b55-b734-c336d86abe67/cache.tzst -P -C /home/runner/work/mne-python/mne-python
Cache restored from key: Linux-dataset

I see no problem at restoration :ok_hand: :
Run actions/cache@v2
Received 79691776 of<PHONE_NUMBER> (7.6%), 75.9 MBs/sec
Received 209715200 of<PHONE_NUMBER> (19.9%), 99.9 MBs/sec
Received 360710144 of<PHONE_NUMBER> (34.2%), 114.6 MBs/sec
Received 486539264 of<PHONE_NUMBER> (46.2%), 115.9 MBs/sec
Received 629145600 of<PHONE_NUMBER> (59.7%), 119.9 MBs/sec
Received 750780416 of<PHONE_NUMBER> (71.3%), 119.2 MBs/sec
Received 864026624 of<PHONE_NUMBER> (82.0%), 117.6 MBs/sec
Received 981467136 of<PHONE_NUMBER> (93.2%), 116.9 MBs/sec
Received<PHONE_NUMBER> of<PHONE_NUMBER> (100.0%), 72.2 MBs/sec
Cache Size: ~1005 MB<PHONE_NUMBER> B)
/bin/tar --use-compress-program zstd -d -xf /home/runner/work/_temp/6a73b959-0e9e-4b55-b734-c336d86abe67/cache.tzst -P -C /home/runner/work/mne-python/mne-python
Cache restored from key: Linux-dataset

Do you want to try dealing with testing dataset version.txt number mismatches here, or do you want me to open a quick PR for this?

Do you want to try dealing with testing dataset version.txt number mismatches here, or do you want me to open a quick PR for this?

You'll probably be more efficient than me :sweat_smile: . Go ahead if you have the time.

You'll probably be more efficient than me :sweat_smile: . Go ahead if you have the time.

Will do now, could really use something in my wheelhouse to jump-start things over here...

Will do now, could really use something in my wheelhouse to jump-start things over here...

@GuillaumeFavelier if you want to look into it, we should do the same for Azure
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10834&view=logs&jobId=f8b184f0-8536-5d07-cb2e-df31a09e5d0f&j=f8b184f0-8536-5d07-cb2e-df31a09e5d0f&t=417aa5f0-1d30-5c85-3b8c-27e749125871

@GuillaumeFavelier if you want to look into it, we should do the same for Azure
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10834&view=logs&jobId=f8b184f0-8536-5d07-cb2e-df31a09e5d0f&j=f8b184f0-8536-5d07-cb2e-df31a09e5d0f&t=417aa5f0-1d30-5c85-3b8c-27e749125871

@GuillaumeFavelier you can use something like the following in a one-liner tools/get_testing_version.sh script that could be used with each action:
$ grep -oP "(?<=testing=')[0-9.]*(?=')" mne/datasets/utils.py
0.112

When Dan's #8679 is in progress (probably after my PR then yours) then this line can probably be adjusted fairly easily

@GuillaumeFavelier you can use something like the following in a one-liner tools/get_testing_version.sh script that could be used with each action:
$ grep -oP "(?<=testing=')[0-9.]*(?=')" mne/datasets/utils.py
0.112

When Dan's #8679 is in progress (probably after my PR then yours) then this line can probably be adjusted fairly easily

Testing the new key based on the testing version is a success!
Cache testing data
Run actions/cache@v2
Cache not found for input keys: 0.112

Testing the new key based on the testing version is a success!
Cache testing data
Run actions/cache@v2
Cache not found for input keys: 0.112

The Perl extension is not available on MacOS:
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...]
Error: Process completed with exit code 2.

The Perl extension is not available on MacOS:
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...]
Error: Process completed with exit code 2.

Also, the cache is different depending on the OS:
On MacOS:
Run actions/cache@v2
Cache not found for input keys: 0.112

For the others (on Linux):
Cache restored from key: 0.112

Also, the cache is different depending on the OS:
On MacOS:
Run actions/cache@v2
Cache not found for input keys: 0.112

For the others (on Linux):
Cache restored from key: 0.112

Because there is a . in 0.112 it is interpreted as a file instead of a string by Azure...

Because there is a . in 0.112 it is interpreted as a file instead of a string by Azure...

I don't know what to say :facepalm:
Resolving key:
 - 0-112 [string]
Resolved to: 0-112
ApplicationInsightsTelemetrySender will correlate events with X-TFS-Session a090b4b2-8116-473d-833f-0e69d60908b7
Getting a pipeline cache artifact with one of the following fingerprints:
Fingerprint: `0-112`
There is a cache miss.
ApplicationInsightsTelemetrySender correlated 1 events with X-TFS-Session a090b4b2-8116-473d-833f-0e69d60908b7
Finishing: Cache testing data

I don't know what to say :facepalm:
Resolving key:
 - 0-112 [string]
Resolved to: 0-112
ApplicationInsightsTelemetrySender will correlate events with X-TFS-Session a090b4b2-8116-473d-833f-0e69d60908b7
Getting a pipeline cache artifact with one of the following fingerprints:
Fingerprint: `0-112`
There is a cache miss.
ApplicationInsightsTelemetrySender correlated 1 events with X-TFS-Session a090b4b2-8116-473d-833f-0e69d60908b7
Finishing: Cache testing data

The jobs on Windows detected the key:
Resolving key:
 - 0-112 [string]
Resolved to: 0-112
ApplicationInsightsTelemetrySender will correlate events with X-TFS-Session 77543406-ba53-47b0-a210-8120a5abf696
Getting a pipeline cache artifact with one of the following fingerprints:
Fingerprint: `0-112`
There is a cache hit: `0-112`

And restored the cache correctly
Folders: 103
Files: 738
Size:<PHONE_NUMBER>
Compressed: 452608
Process exit code: 0
Cache restored.

But the data are downloaded anyway because the path is different on Windows.

The jobs on Windows detected the key:
Resolving key:
 - 0-112 [string]
Resolved to: 0-112
ApplicationInsightsTelemetrySender will correlate events with X-TFS-Session 77543406-ba53-47b0-a210-8120a5abf696
Getting a pipeline cache artifact with one of the following fingerprints:
Fingerprint: `0-112`
There is a cache hit: `0-112`

And restored the cache correctly
Folders: 103
Files: 738
Size:<PHONE_NUMBER>
Compressed: 452608
Process exit code: 0
Cache restored.

But the data are downloaded anyway because the path is different on Windows.

Hah! 44 sec to download the data on master-like runs:
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10873&view=logs&j=fa98c7b3-575e-55b6-6946-22dea6f6daf8
And 1m 11 sec to get it from cache:
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10886&view=logs&jobId=8d04c17d-3f6b-5313-febd-debdd8b57f4c&j=8d04c17d-3f6b-5313-febd-debdd8b57f4c&t=76e98127-12cf-5f50-cd68-526e1d36628d
So we actually get a slowdown from this on Azure at least (!) but at least it should be more reliable.

Hah! 44 sec to download the data on master-like runs:
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10873&view=logs&j=fa98c7b3-575e-55b6-6946-22dea6f6daf8
And 1m 11 sec to get it from cache:
https://dev.azure.com/mne-tools/mne-python/_build/results?buildId=10886&view=logs&jobId=8d04c17d-3f6b-5313-febd-debdd8b57f4c&j=8d04c17d-3f6b-5313-febd-debdd8b57f4c&t=76e98127-12cf-5f50-cd68-526e1d36628d
So we actually get a slowdown from this on Azure at least (!) but at least it should be more reliable.

Hm... But for some reason it downloads more no?
Expected size to be downloaded: 1,614.1 MB

Compared to:
Downloading archive mne-testing-data-0.112.tar.gz to C:\Users\VssAdministrator\mne_data
Downloading https://codeload.github.com/mne-tools/mne-testing-data/tar.gz/0.112 (1000.0 MB)

Hm... But for some reason it downloads more no?
Expected size to be downloaded: 1,614.1 MB

Compared to:
Downloading archive mne-testing-data-0.112.tar.gz to C:\Users\VssAdministrator\mne_data
Downloading https://codeload.github.com/mne-tools/mne-testing-data/tar.gz/0.112 (1000.0 MB)

Hm... But for some reason it downloads more no?

That's probably the uncompressed size, vs the download which is compressed.

Hm... But for some reason it downloads more no?

That's probably the uncompressed size, vs the download which is compressed.

Unrelated failure on linux / conda / py3.8

mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-surface-vector] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-surface-None] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-volume-vector] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-volume-None] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-mixed-vector] PASSED [  6%]
Fatal Python error: Segmentation fault

Thread 0x00007fa9133ad700 (most recent call first):
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 306 in wait
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 558 in wait
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/tqdm/_monitor.py", line 59 in run
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007fa953cb6740 (most recent call first):
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pyvistaqt/plotting.py", line 696 in set_icon
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pyvistaqt/plotting.py", line 597 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/_pyvista.py", line 95 in build
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/_pyvista.py", line 199 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/renderer.py", line 38 in _get_renderer
  File "/home/runner/work/mne-python/mne-python/mne/viz/_brain/_brain.py", line 427 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/_3d.py", line 1904 in _plot_stc
  File "/home/runner/work/mne-python/mne-python/mne/viz/_3d.py", line 1824 in plot_source_estimates
  File "<decorator-gen-142>", line 22 in plot_source_estimates
  File "/home/runner/work/mne-python/mne-python/mne/source_estimate.py", line 653 in plot
  File "/home/runner/work/mne-python/mne-python/mne/viz/tests/test_3d.py", line 676 in test_plot_source_estimates
  File "/home/runner/work/mne-python/mne-python/mne/utils/_testing.py", line 251 in dec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/python.py", line 1641 in runtest
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 311 in from_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 323 in _main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/usr/share/miniconda/envs/mne/bin/pytest", line 8 in <module>
./tools/github_actions_test.sh: line 22:  4547 Segmentation fault      (core dumped) pytest -m "${CONDITION}" --tb=short --cov=mne --cov-report xml -vv ${USE_DIRS}
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-mixed-None]
Error: Process completed with exit code 139.

Maybe one last empty commit for testing but everything is ok for me. Is there something missing @larsoner ?

Unrelated failure on linux / conda / py3.8

mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-surface-vector] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-surface-None] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-volume-vector] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-volume-None] PASSED [  6%]
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-mixed-vector] PASSED [  6%]
Fatal Python error: Segmentation fault

Thread 0x00007fa9133ad700 (most recent call first):
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 306 in wait
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 558 in wait
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/tqdm/_monitor.py", line 59 in run
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/usr/share/miniconda/envs/mne/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007fa953cb6740 (most recent call first):
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pyvistaqt/plotting.py", line 696 in set_icon
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pyvistaqt/plotting.py", line 597 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/_pyvista.py", line 95 in build
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/_pyvista.py", line 199 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/backends/renderer.py", line 38 in _get_renderer
  File "/home/runner/work/mne-python/mne-python/mne/viz/_brain/_brain.py", line 427 in __init__
  File "/home/runner/work/mne-python/mne-python/mne/viz/_3d.py", line 1904 in _plot_stc
  File "/home/runner/work/mne-python/mne-python/mne/viz/_3d.py", line 1824 in plot_source_estimates
  File "<decorator-gen-142>", line 22 in plot_source_estimates
  File "/home/runner/work/mne-python/mne-python/mne/source_estimate.py", line 653 in plot
  File "/home/runner/work/mne-python/mne-python/mne/viz/tests/test_3d.py", line 676 in test_plot_source_estimates
  File "/home/runner/work/mne-python/mne-python/mne/utils/_testing.py", line 251 in dec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/python.py", line 1641 in runtest
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 311 in from_call
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 323 in _main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/usr/share/miniconda/envs/mne/lib/python3.8/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/usr/share/miniconda/envs/mne/bin/pytest", line 8 in <module>
./tools/github_actions_test.sh: line 22:  4547 Segmentation fault      (core dumped) pytest -m "${CONDITION}" --tb=short --cov=mne --cov-report xml -vv ${USE_DIRS}
mne/viz/tests/test_3d.py::test_plot_source_estimates[testing_data-testing_data-pyvista-mixed-None]
Error: Process completed with exit code 139.

Maybe one last empty commit for testing but everything is ok for me. Is there something missing @larsoner ?

Maybe one last empty commit for testing but everything is ok for me. Is there something missing @larsoner ?

I don't think we need the empty commit, I'll just restart the segfaulted GitHub actions build, and it looks like everything else should be okay. Will merge once CIs are happy

Maybe one last empty commit for testing but everything is ok for me. Is there something missing @larsoner ?

I don't think we need the empty commit, I'll just restart the segfaulted GitHub actions build, and it looks like everything else should be okay. Will merge once CIs are happy

Thanks @GuillaumeFavelier !

Thanks @GuillaumeFavelier !

Something interesting about caching:

The cache is scoped to the key and branch. The default branch cache is available to other branches.

Reference: https://github.com/actions/cache#cache-scopes

Something interesting about caching:

The cache is scoped to the key and branch. The default branch cache is available to other branches.

Reference: https://github.com/actions/cache#cache-scopes


Move the components to corresponding repositories in ARC organization

The ARC application repository becomes a shell application for web components containing platform specific components (chrome components for Chrome plaform, node for Electron etc).
This task must be finished before Chrome Apps shutdown later this year.

ARC as an application in this repository is not only a shell application for the components.
Inside the application there's only a skeleton code to support interaction between elements and code that support Chrome APIs.


Updates to ShortcutManager

Fixed the bug of Secondary Shortcut items not being updated. Oops

Was this fixed already?

I reverted the previous MainForm commit as it had issues and you missed functionalities that needed to be changed too. You can PR the important parts again with new smaller PR's.


Calculate an antimeridian-adjusted bounding box in tileset metadata

This allows tilesets that cross the antimeridian to have a narrower, more meaningful bounding box with longitudes in the range 0° to 360°. The mbtiles format still requires these tilesets to have a bounds that covers the entire range of -180° to 180°, so the new bounding box is a separate field in the metadata.

Should we only include the antimeridian-adjusted box when the box actually crosses the antemeridian, or in all cases?
The use case I imagined was drawing a vector feature in leaflet or maplibre based on the new field

I guess I was thinking that it is easier for clients if the field is always there than it is if it is sometimes present and sometimes absent.


Twig print should not be an actual taint sink

Before, an issue would have been raised with this code :
$untrusted = $_GET['untrusted'];
twig()->render('index.html.twig', ['untrusted' => $untrusted]); // this does not actually display anything

After, the taint actually goes out of the call, and only the following code would raise the issue  :
$untrusted = $_GET['untrusted'];
echo twig()->render('index.html.twig', ['untrusted' => $untrusted]); // the taint goes to an actual sink

NB : this only concerns the twig template parsing approach; as the second approach uses the cached templates which contains actual echos, they are themselves considered taint sinks and we can not do nothing about it for the moment.

I don't get why php8 psalm is failing, it's not on my own box, and the issue is definitely a false-positive...

Thanks for the PR!

I don't get why php8 psalm is failing, it's not on my own box, and the issue is definitely a false-positive...

As far as I can see all PHP versions are failing


Clarification on VM restarts and deallocation

It would be useful to know whether or not a restart command issued from the portal causes a temporary deallocation.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: be8729fb-9c09-1872-be3f-8a0dc1a93d38
Version Independent ID: 51bba8e0-91a8-38c0-5ec2-9309687985b9
Content: Lifecycle and states of a Windows VM in Azure - Azure Windows Virtual Machines
Content Source: articles/virtual-machines/windows/states-lifecycle.md
Service: virtual-machines-windows
GitHub Login: @shandilvarun
Microsoft Alias: vashan

@haymansfield During restart, underlying host for the VM wont change. So it wont go to the deallocating state

@haymansfield is there any update

If you don't feel it's worth clarifying in the docs, then I'm happy to close.

@shandilvarun please check is we can add this info to the document.  If yes please have a work item for this.

@haymansfield
I will close this out for now. If you need additional help please open a new issue


Microsoft - cannot add a connection in UCP

When I wanna add another account via UCP panel, when you click on "Microsoft" button is not working. Others services are fine.

Cannot replicate again, maybe some outage of their oAuth API?!


[BLIP] BOUNTY: Town of Salem + Mafia | DIDs & VCs games

Town of Salem + Mafia | DIDs & VCs games

Author(s)
List of contributor(s) name(s) and/or git username(s), email(s), e.g.

Description
Suggested value: $2,000 USD
Game example using DID's and VC's to verify the identity (role) of each player without sharing identity.
Baseline implementation would ensure players are acting within the confines of their role, and that their role is the original role given, never changed. For an example in Mafia: Bob is a doctor, Alice is a sheriff. The system will ensure that for the duration of the game, Bob only acts in a way a doctor would be allowed, and Alice would only act in a way a sheriff is allowed.

Additional Resources:
Here's a video from a Baseline Protocol Core Devs call which took place Monday, April 4th: https://youtu.be/YVX-pLJx8D8

Motivation
To create a fully working implementation of baseline that can be used as another example of the power baseline has.

Committing to Work
The proposed BLIP details and amount are not limited to the exact terms listed here, but serve to provide directional guidance. If you are interested in the item, please submit a BLIP Hunt Application to define your approach, scope, and amount.

Grant Work
BLIPs that are related to an approved grant project have their own requirements to be met, based on the type of grant. Be sure to read the appropriate terms and conditions when applying for a grant.

Copyright and related rights waived via CC0-Universal.

Blip


Add required field validation in application form

[] valid social security number
[] valid email address format
[] valid 4 digit DOB year
[] required first name
[] required contact preference
[] required at least one contact field filled out (phone, mail, email)

**should SSN and DOB be required? They need these to pull RAP sheet. If they can't pull the RAP sheet nothing moves forward.
** Should mailing address be required? If no mailing address, they can't send welcome letters with next steps. But, some people might not have a stable mailing address.


Image tensor is NaN on i2v with more than 1 frame and NaN with t2v with 1 or many frames.

I traced the NaN back to def _get_t5_prompt_embeds where prompt_embeds is NaN,
_(I am trying to modify the project to work on Mac MPS.  Python=3.10.13, torch-2.6.0 nightly, torchvision-0.20.0 - I was able to use these versions for comfyui flux on MPS successfully. I also modified the code to move "cuda" tensors to "mps"  with all dtypes set to bfloat16.
..and in def rope(), I did have to change
scale = torch.arange(0, dim, 2, dtype=torch.**float64**, device=pos.device) / dim
to
scale = torch.arange(0, dim, 2, dtype=torch.**bfloat16**, device=pos.device) / dim
i2v with 1 frame does work with this setup)_
Here are the details from def _get_t5_prompt_embeds:
self.tokenizer_3 is called with
prompt = ['A movie trailer featuring the adventures of the 30 year old space man wearing a red wool knitted motorcycle helmet, blue sky, salt desert, cinematic style, shot on 35mm film, vivid colors, hyper quality, Ultra HD, 8K']
and
max_sequence_length = 128
the result is:
**text_inputs** = {'input_ids': tensor([[   71,  1974,  6943,  4767,     8, 12560,    13,     8,   604,   215,
           625,   628,   388,  5119,     3,     9,  1131, 13996, 17989,  1054,
         11718, 18691,     6,  1692,  5796,     6,  3136,  9980,     6, 10276,
          1225,   869,     6,  2538,    30,  3097,   635,   814,     6, 18744,
          2602,     6,  6676,   463,     6,  8618,  3726,     6,   505,   439,
             1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
             0,     0,     0,     0,     0,     0,     0,     0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
         1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0]])}

Then after self.text_encoder_3(), ```
prompt_embeds = tensor([[[nan, nan, nan,  ..., nan, nan, nan],
[nan, nan, nan,  ..., nan, nan, nan],
[nan, nan, nan,  ..., nan, nan, nan],
...,
[nan, nan, nan,  ..., nan, nan, nan],
[nan, nan, nan,  ..., nan, nan, nan],
[nan, nan, nan,  ..., nan, nan, nan]]], device='mps:0',
dtype=torch.bfloat16)

Any idea why **self.text_encoder_3()** would return NaN?

Thanks for trying to generalize our method to multiple frame conditioning. Our model should be able to handle this situation since it generates in an autoregressive manner. However, there is a problem due to the VAE latent space it operates on, since we use MAGVIT-v2 like causal VAE, it looks like:
1st frame, 2nd-9th frame, 10th-17th frame, ...
This means that the model can only be modified for single-frame / 9-frame / 17-frame conditioned video generation.

As for the NaN error, I think it's because we assume the number of frames follows the rules above, so there can be a computational error if you pass an unexpected number of conditioned frames. We may include assertions in future versions of the code to avoid this situation.

Ok- I solved the NaN problem.  For MPS, needed to add an autocast to the text encoder call in pyramid_dit_for_video_gen_pipeline.py
with torch.autocast("mps", dtype=torch.bfloat16):
Now no NaN through to VAE image.

Closed as Apple Silicon has been supported.


Diagonal Swipe Gesture Support?

Does this package supports diagonal gestures?

@umkhan65 There is no feature to get diagonal gestures. It can be a cool feature if someone contribute through PR.


⚠ Turnos 24x7 has degraded performance

In abd2b93, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 4272 ms

Resolved: Turnos 24x7 performance has improved in e7b77c3.


[fix][fn] Fix using the correct admin and broker urls

Motivation
When tls transport is enabled, the standalone cannot be running:
2023-08-15T15:23:26,736+0200 [main] INFO  org.apache.pulsar.functions.worker.WorkerUtils - Create Pulsar Admin to service url http://localhost:8080/: authPlugin = org.apache.pulsar.client.impl.auth.AuthenticationTls, authParams = {"tlsCertFile":"/Users/alex/Desktop/pulsar/apache-pulsar-3.0.0-tls/conf/tls-certs/client.cert.pem","tlsKeyFile":"/Users/alex/Desktop/pulsar/apache-pulsar-3.0.0-tls/conf/tls-certs/client.key-pk8.pem"}, tlsTrustCerts = /Users/alex/Desktop/pulsar/apache-pulsar-3.0.0-tls/conf/tls-certs/ca.cert.pem, allowTlsInsecureConnection = false, enableTlsHostnameVerification = false
2023-08-15T15:23:26,910+0200 [pulsar-web-48-15] WARN  org.apache.pulsar.broker.web.AuthenticationFilter - [<IP_ADDRESS>] Failed to authenticate HTTP request: Authentication required
2023-08-15T15:23:26,918+0200 [pulsar-web-48-15] INFO  org.eclipse.jetty.server.RequestLog - <IP_ADDRESS> - - [15/Aug./2023:15:23:26 +0200] "PUT /admin/v2/persistent/public/functions/assignments HTTP/1.1" 401 0 "-" "Pulsar-Java-v3.0.0" 12

The service URL is incorrect, which should be https://localhost:8081, not http://localhost:8080.
Modifications

Fix check URL condition

Verifying this change

[x] Make sure that the change passes the CI checks.

Added  test.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #21013 (f31ba3c) into master (eefc517) will increase coverage by 36.35%.
Report is 4 commits behind head on master.
The diff coverage is 16.66%.

@@              Coverage Diff              @@
##             master   #21013       +/-   ##
=============================================
+ Coverage     36.75%   73.10%   +36.35%
+ Complexity    12193     3714     -8479
=============================================
  Files          1698     1887      +189
  Lines        130430   140118     +9688
  Branches      14250    15427     +1177
=============================================
+ Hits          47940   102437    +54497
+ Misses        76167    29585    -46582
- Partials       6323     8096     +1773

Flag
Coverage Δ

inttests
23.01% <0.00%> (-1.13%)
:arrow_down:

systests
24.11% <0.00%> (-0.65%)
:arrow_down:

unittests
72.49% <16.66%> (+40.60%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...g/apache/pulsar/functions/worker/WorkerConfig.java
92.85% <ø> (+12.05%)
:arrow_up:

...e/pulsar/functions/worker/PulsarWorkerService.java
67.56% <ø> (+8.28%)
:arrow_up:

...rg/apache/pulsar/functions/worker/WorkerUtils.java
77.38% <0.00%> (+13.88%)
:arrow_up:

...n/java/org/apache/pulsar/broker/PulsarService.java
81.85% <20.00%> (+13.18%)
:arrow_up:

... and 1451 files with indirect coverage changes


how to change theme angular2 sass

I will allow a user to choose a theme, basically a set of SASS color variables with the new colors. How would be the best way of going about changing this when the user selects from a drop down in sass file i have 5 theme files how to implement in angular 2
Its possible?
@import 'mixins';
@import 'colorSchemes/material';
// @import 'colorSchemes/darktheme';
// @import 'colorSchemes/redtheme';
// @import 'colorSchemes/bluetheme';
// @import 'colorSchemes/Greentheme';
@import 'variables';

  Select Theme
  <select class="form-control" id="exampleSelect1">
    <option>material</option>
    <option>darktheme</option>
    <option>redtheme</option>
    <option>bluetheme</option>
    <option>Greentheme</option>
  </select>

I have the same question, I would like to change the themes on the flight

Any solution or update on this as i need to implement same functionality.

Me to.


Add bp detailed summary

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Link to relevant PR: https://github.com/jfrog/jfrog-cli-core/pull/116


Compare Date not working properly

Discussed in https://github.com/simolus3/drift/discussions/1225

Originally posted by Adithya-13 May 26, 2021
Hello!
I have a function that return a list of task-based on a date, here is the code

  Stream<List<TaskWithCategory>> watchAllTaskByDate(DateTime dateTime) {
    final query = (select(tasks)
          ..where((tbl) {
            final date = tbl.deadline;

            return date.year.equals(dateTime.year) &
                date.month.equals(dateTime.month) &
                date.day.equals(dateTime.day);
          })
          ..orderBy(orderTaskByDate())) // order by date
        .join(leftOuterJoinTaskWithCategory()); // join with other table

    return toTaskWithCategory(query);
  }

but the where clause will only return true if the hour of deadline date up to 7 AM if I set the hour of  date below 7 AM like 6 AM, it will return false.
I don't know what happens, thank you all, sorry for my bad English
Proposed solution:
Would it be possible to create a toUTC() on DateTimeColumn creation so that the companion would always turn the date to UTC to handle it? It would be really great if anything like this existed.
This way whenever you wanted a DateTime and your device changed timezone it would just fix itself. The Companion would solve the entry as UTC and the toColumns usage could transform the DateTime to UTC.

In the next drift version, you will be able to do dateTime.modify(DateTimeModifier.utc()) to convert date-time values to UTC. However, note that the year, month and day gettersalready return the values in UTC. You can apply a trick and add the local UTC offset to the date time value. This is essentially doingdateTime.modify(DateTimeModifier.local())` in drift 2. You can backport this to:
extension on Expression<DateTime?> {
  // Returns a date time value where [year], [month], [day] and other getters report values in local time.
  Expression<DateTime?> addLocalOffset() {
    return FunctionCallExpression('unixepoch', [this, Constant('unixepoch'), Constant('localtime')]);
  }
}

Note that there may still be some issues with this approach, especially around time zone shifts when daylight saving time starts or ends.

Actually, I think a much better approach would be to compare UTC values. Instead of doing date.year.equals(dateTime.year) and so on, you could do this:

Find the start and end of the date you're interested in as DateTime instances.
Then use something like date.isBetweenValues(startOfDay, endOfDay) as a filter clause.

For step 1., the start date would just be startOfDay = DateTime(dateTime.year, dateTime.month, dateTime.day). Maybe I'm overlooking something here, but I think the end date can reasonably be endOfDay = DateTime(dateTime.year, dateTime.month, dateTime.day, 23, 59, 59). Doing a comparison in this range should give you all values with a matching date regardless of the time zone.


Mega-list of documentation ideas

This list is never going to be truly complete, but I wanted to publicly document all the things I've been making note of that need to be done.

[ ] Links from error messages to pages that explain them in greater detail. (See how Angular does this)
[ ] Do a better job of explaining that Flow can be installed with npm using flow-bin (ala http://babeljs.io/#babel-transforms)
[ ] Add setup instructions for various tools/frameworks/ides (like http://babeljs.io/docs/setup/)
[ ] Documentation for all CLI commands
[ ] Documentation for "magic" types (we should stop calling them magic)

I'll keep adding to this for awhile...

Small comment on "magic" types: they are magic precisely because they're not very well-designed...they are used carefully in the libs to enable us to express some stuff, but often are not very reliable when used in more general contexts. Some of them have definitely reached graduation age, though.
We could of course document them as is, but need to put disclaimers around their general use.

Should the "graduation" age ones be marked as such somehow? Like $Keys<T> could become Keys<T>?

A lot if not all of these docs have been added in the past 4 years
https://flow.org/en/docs/cli/
https://flow.org/en/docs/install/
https://flow.org/en/docs/types/utilities/#toc-keys
@jamiebuilds I know you've moved on from Flow, but if you feel there's still missing docs, we can reopen or start a new issue.


Ingres ext

Added Ingres Database Adaptor

First version of Ingres Database from Actian
https://www.actian.com/data-management/ingres-sql-rdbms/
https://en.wikipedia.org/wiki/Ingres_(database)

Thanks for the pull request. I'm holding off on merging this in until I can set up some better local testing and validation


New Migration does not keep edit history of issues

Feature Description
Related to #127.
Screenshots
No response

Related to Benjamin_Loison/codeberg/issues/3.