Improved the time complexity of TensoredFilter.apply() into O(n * 2^n)

Summary
This PR improves the time complexity of qiskit.ignis.mitigation.TensoredFilter.apply() from O(n * 4^n) to O(n * 2^n).
Details and comments
The apply() method of TensoredFilter class in Ignis includes two options of implementation: "pseudo_inverse" and "least_squares".
Currently, both options cost O(n * 4^n) time to the qubit size n, because the two nested for loops with 2^n iterations were used in the multiplication of calibration matrices (or the pseudo-inverse of them) to the probability vector.
I fixed the time complexity of this part into O(n * 2^n), keeping the outcome of this part exactly the same as the previous code.
For example, this improvement allows us to implement the tensored mitigation of the 6 qubit system with the "least_squares" method in a few seconds, while the previous code costs almost 1 minute (in my environment).
Tests to cover my changes
The brief benchmarking tests using GHZ state are attached to this PR.
We can see the improvement in the calculation time and we can also see the fixed code returns the almost same result for the mitigation counts. (I'm sorry that I didn't use the same random seed in the following experiments.)

tensored_filter_fixed_least_squares.pdf tests the proposed code for "least square" method

tensored_filter_original_least_squares.pdf tests the previous code for "least square" method

tensored_filter_fixed_pseudo_inverse.pdf tests the proposed code for "pseudo inverse" method

tensored_filter_original_pseudo_inverse.pdf tests the previous code for "pseudo inverse" method

Since this PR is a modification of the internal behavior of the TensoredFilter.apply() function, I did not change documents.
Users can still use this function in the same way as before.
Limitations
Although the efficiency is slightly improved, the time complexity is still in the exponential scale to the qubit size.
One of the solutions to the exponential resource requirement can be found in https://arxiv.org/abs/2101.08946 by Mooney et al. which cuts off the elements with neglectable small values in the probability vector.
Implementing their approach may require changing whole parts of the TensoredFilter.apply() function since this function essentially creating a 2^n length probability vector.
Thank you very much for paying attention to this PR!
Please point out any mistakes in this PR.

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

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

Thanks @BOBO1997 !    Can you please check why a test is failing: https://github.com/Qiskit/qiskit-ignis/pull/551/checks?check_run_id=1774987466.   You can run tests locally in your environment by python -m unittest.

Thanks @BOBO1997 !    Can you please check why a test is failing: https://github.com/Qiskit/qiskit-ignis/pull/551/checks?check_run_id=1774987466.   You can run tests locally in your environment by python -m unittest.

Dear Dr. Ben-Haim, thank you so much for your advice!
I found my code has not met all the test cases, especially in the case of using partial complete matrices such as mit_pattern = [[2], [4,1]].
I am now fixing this problem.
Through further investigation, I also found that the specific position of each qubit that calibration matrices cover was ignored in the process of TensoredFilter.apply().
This caused the following problem:
If mit_pattern is [[1, 3], [0], [2, 4]] and the noisy qubit is qubit 0, then the TensoredFilter.apply() would mitigate the error on qubit 1 using the calibration matrix of qubit 0, which seems to be unexpected behavior.
This kind of bug cannot be detected by current unittest where the same errors are used for each qubit.
I think I can fix this part using "mit_pattern" in the TensoredFilter.apply() function.
In this sense, several variables and functions would no longer be needed in TensoredFilter.

self._qubit_list_sizes
self._indices_list
self.substate_labels_list()

If these bugs have already discussed before, then please don't worry about my comments and I'm sorry for repeating the same discussion.
WIP
So far, another bug occurred by using mit_pattern in TensoredFilter.apply().
To fix the current bug, I guess I have to use the information of QuantumRegister-ClassicalRegister mapping in the measurement process.
The specification of TensoredMeasFitter would be slightly changed (←adding a new variable representing such mapping).
I would like to add a new commit after fixing whole bugs in my code.
TODO
The remaining tasks are listed below, in order to solve whole errors.

add a new variable to TensoredMeasFitter to fix the current bug
add test case for different readout errors in different qubits
use integers to represent quantum states (enhancement)

Dear Dr. Ben-Haim, thank you so much for your advice!
I found my code has not met all the test cases, especially in the case of using partial complete matrices such as mit_pattern = [[2], [4,1]].
I am now fixing this problem.
Through further investigation, I also found that the specific position of each qubit that calibration matrices cover was ignored in the process of TensoredFilter.apply().
This caused the following problem:
If mit_pattern is [[1, 3], [0], [2, 4]] and the noisy qubit is qubit 0, then the TensoredFilter.apply() would mitigate the error on qubit 1 using the calibration matrix of qubit 0, which seems to be unexpected behavior.
This kind of bug cannot be detected by current unittest where the same errors are used for each qubit.
I think I can fix this part using "mit_pattern" in the TensoredFilter.apply() function.
In this sense, several variables and functions would no longer be needed in TensoredFilter.

self._qubit_list_sizes
self._indices_list
self.substate_labels_list()

If these bugs have already discussed before, then please don't worry about my comments and I'm sorry for repeating the same discussion.
WIP
So far, another bug occurred by using mit_pattern in TensoredFilter.apply().
To fix the current bug, I guess I have to use the information of QuantumRegister-ClassicalRegister mapping in the measurement process.
The specification of TensoredMeasFitter would be slightly changed (←adding a new variable representing such mapping).
I would like to add a new commit after fixing whole bugs in my code.
TODO
The remaining tasks are listed below, in order to solve whole errors.

add a new variable to TensoredMeasFitter to fix the current bug
add test case for different readout errors in different qubits
use integers to represent quantum states (enhancement)

@mtreinish The CI items are "expected" - what does it mean, and what's preventing them from becoming "successful" ?

@mtreinish The CI items are "expected" - what does it mean, and what's preventing them from becoming "successful" ?

Expected is just the status for jobs that are required but have not started running yet. It looks like there was a github actions outage this morning: https://www.githubstatus.com/incidents/tf9v5jjmq2lg which probably preventedtthe jobs from being triggered.

Expected is just the status for jobs that are required but have not started running yet. It looks like there was a github actions outage this morning: https://www.githubstatus.com/incidents/tf9v5jjmq2lg which probably preventedtthe jobs from being triggered.

Is there a way to retrigger them, other than pushing an empty commit?

Is there a way to retrigger them, other than pushing an empty commit?

@yaelbh @mtreinish  Thank you for the information about CI processing, the CI processing seems to have recovered now.
Regarding the current fails in several tests, all of them show the assertion error in
L.483 of test_meas.py where they compare the following two counts.
output_results_pseudo_inverse (tested counts)
{'000':<PHONE_NUMBER>8743315,
'001': 8.071748430570736,
'010': 4.919896570839651,
'011': -9.98085488627964,
'100': 17.788244925765085,
'101': -18.267077974735734,
'110': -6.777514012666714,
'111':<PHONE_NUMBER>590731}
saved_info['results_pseudo_inverse'] (expected counts)
{'000':<PHONE_NUMBER>3808,
'001': 1.1855217632343553,
'010': 6.856561953208232,
'011': -13.925536339030689,
'100': 21.080379879311838,
'101': -19.929567717733956,
'110': 2.4129313160877572,
'111':<PHONE_NUMBER>068418}
The tested counts is mitigated by TensoredMeasFitter with substate_labels_list.
Since the test cases examined the counts of GHZ state, the tested counts seems to be a correct distribution while it did not exactly match the expected one.
I would like to clarify that:

Is it necessary for the tested counts to exactly correspond to the expected counts which is the mitigated counts using the  TensoredMeasFitter without substate_labels_list?

@yaelbh @mtreinish  Thank you for the information about CI processing, the CI processing seems to have recovered now.
Regarding the current fails in several tests, all of them show the assertion error in
L.483 of test_meas.py where they compare the following two counts.
output_results_pseudo_inverse (tested counts)
{'000':<PHONE_NUMBER>8743315,
'001': 8.071748430570736,
'010': 4.919896570839651,
'011': -9.98085488627964,
'100': 17.788244925765085,
'101': -18.267077974735734,
'110': -6.777514012666714,
'111':<PHONE_NUMBER>590731}
saved_info['results_pseudo_inverse'] (expected counts)
{'000':<PHONE_NUMBER>3808,
'001': 1.1855217632343553,
'010': 6.856561953208232,
'011': -13.925536339030689,
'100': 21.080379879311838,
'101': -19.929567717733956,
'110': 2.4129313160877572,
'111':<PHONE_NUMBER>068418}
The tested counts is mitigated by TensoredMeasFitter with substate_labels_list.
Since the test cases examined the counts of GHZ state, the tested counts seems to be a correct distribution while it did not exactly match the expected one.
I would like to clarify that:

Is it necessary for the tested counts to exactly correspond to the expected counts which is the mitigated counts using the  TensoredMeasFitter without substate_labels_list?

I don't see a reason for this to be necessary (by the way thanks for the nice work you're doing here 😃 )

I don't see a reason for this to be necessary (by the way thanks for the nice work you're doing here 😃 )

Thank you for your encouraging comment!
I found the previous fail test cases are from my misunderstanding of some variable in TensoredFilter.
The latest commit passes these tests.
WIP
There are still some fail cases.

the dependency conflict (←packages such as cvxpy could not be installed. Maybe we should modify tox.ini ??)
docs build error (←mainly related to the deprecation of np.int)
CellTimeoutError in tutorials/noise/5_quantum_volume.ipynb

For future tasks, I would fix these failings as much as possible.
Since I only modified the code related to the algorithm part for error mitigation, these failings are totally unexpected to me.
If these are the common cases, I would be grateful if you could share some tips.

Thank you for your encouraging comment!
I found the previous fail test cases are from my misunderstanding of some variable in TensoredFilter.
The latest commit passes these tests.
WIP
There are still some fail cases.

the dependency conflict (←packages such as cvxpy could not be installed. Maybe we should modify tox.ini ??)
docs build error (←mainly related to the deprecation of np.int)
CellTimeoutError in tutorials/noise/5_quantum_volume.ipynb

For future tasks, I would fix these failings as much as possible.
Since I only modified the code related to the algorithm part for error mitigation, these failings are totally unexpected to me.
If these are the common cases, I would be grateful if you could share some tips.

Indeed, this happened also to me yesterday, I received a mail stating that my master branch in Ignis is failing the CI tests. @mtreinish will you have time to help here?

I think that this PR in Terra should fix some of the problems:
https://github.com/Qiskit/qiskit-terra/pull/5758

@BOBO1997 No action item from you right now. Let's wait till the CI stabilizes (master versions of Aer and Ignis are not passing currently, probably due to Terra). Then, when we have green CI in this pull request, we'll be able to finish reviewing it.

Thank you for your support! Then I'm waiting for the all green CI state.

Although, admittedly, the original code is not well-documented. Could you please document:

The general idea of how the calculation is done (for example, a mathematical formula and the steps to calculate it, along with pointers to where each step is done in the code, and how parts of the formula are expressed as variables in the code).
Explanation of what most lines do.
A dry run of a small and simple example.

A couple of general comments about the topic:

Regarding  https://arxiv.org/abs/2101.08946: a suggestion for performance improvement of tensored mitigation is given towards the bottom of the first column of Page 4 (right before "Parity Verification"). This seems to be a good heuristic, and indeed, the authors claim that it works well for them, both in run time and in accuracy. However we should still bare in mind that (at least as far as I see) at least the first step in the heuristic (application of the first inverse calibration matrix) still seems exponential; and, more importantly, there are no guarantees about the accuracy of the approximation that's done in the heuristic.
You may be interested in the discussion in #547.

Okay, I added some words to the docs for TensoredFilter.apply().
Are they specific enough, or do I have to explain in more detail?
Errors in Tests / docs
After I added documents to TensoredFilter.apply() and pushed the changes to the remote, the tests for docs failed.
It seems that the build of documents fails due to some errors (directly, InvocationError of tox command).
I also checked the previous commits still fails in my environment (but they passed all the tests in the remote environment).
The visible errors in the remote environment say that the files in '/home/runner/work/qiskit-ignis/qiskit-ignis/.tox/docs/lib/python3.8/site-packages/qiskit/quantum_info/' still have the error by using "np.int".
I'm not sure where to change...
Could you help me with the following error?

ERROR: InvocationError for command /home/runner/work/qiskit-ignis/qiskit-ignis/.tox/docs/bin/sphinx-build -b html -W docs/ docs/_build/html (exited with code 2)
___________________________________ summary ____________________________________
ERROR:   docs: commands failed
Error: Process completed with exit code 1.

And thank you for noticing me the issue #547. Actually, I am working together with Dr. Raymond and the motivation of this pull request is to somehow conduct the error mitigation in a bigger qubit size results than before (ideally ~50 qubits and more, but it is not yet possible).
For the approach in Mooney et al., they cut off the small elements of probability vector in every step of applying the inverse matrix to i-th measured bit.
In this sense, I think their process can scale in O(n * shots) by choosing a correct threshold.
However, as you pointed out, their heuristic method does not have theoretical guarantees and it seems to work correctly only for the measurements of quantum states with a small number of superposition such as GHZ states...
For this point, it is interesting to think about more efficient approaches with some theoretical guarantees.
For other approaches, I've found that we might try the methods by Bravyi et al., which are already prepared by Mitiq.

You're right, thank you for your comments!
I fixed this part in the documents and made new commits.
I guess these commits will complete the main task for this pull request.


provision editing : Region

For provision wizard, we did not serialize region in publish profile.
User need to select it every time when  user wants to add more resources to existing profile.
We'd better remember what region has been chosen if user has already done it. This should include luis region as well.

There is already a place in the settings for the luis region.

Addressed in https://github.com/microsoft/BotFramework-Composer/pull/5741


icehello example may happen bug when system time rollback

Required information
Operating system:
E.g. Ubuntu 20.04.3 LTS
Compiler version:
E.g. gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Observed result or behaviour:
iox-cpp-publisher-helloworld sent value: 8
iox-cpp-publisher-helloworld sent value: 9
iox-cpp-publisher-helloworld sent value: 10
iox-cpp-publisher-helloworld sent value: 11
iox-cpp-publisher-helloworld sent value: 12
iox-cpp-publisher-helloworld sent value: 13
/home/sxy/ros2_galactic/src/eclipse-iceoryx/iceoryx/iceoryx_utils/source/posix_wrapper/mutex.cpp:92 { bool iox::posix::mutex::lock() }  :::  [ 22 ]  Success
2022-03-16 15:58:22.422 [ Error ]: ICEORYX error! POPO__CHUNK_LOCKING_ERROR
iox-cpp-publisher-helloworld: /home/sxy/ros2_galactic/src/eclipse-iceoryx/iceoryx/iceoryx_utils/source/error_handling/error_handling.cpp:56: static void iox::ErrorHandler::ReactOnErrorLevel(iox::ErrorLevel, const char*): Assertion `false' failed.
Aborted

Expected result or behaviour:
When system time rollback happened, all  as usual.
iox-cpp-publisher-helloworld sent value: 4
iox-cpp-publisher-helloworld sent value: 5
iox-cpp-publisher-helloworld sent value: 6
iox-cpp-publisher-helloworld sent value: 7
iox-cpp-publisher-helloworld sent value: 8
iox-cpp-publisher-helloworld sent value: 9
iox-cpp-publisher-helloworld sent value: 10
iox-cpp-publisher-helloworld sent value: 11
iox-cpp-publisher-helloworld sent value: 12
iox-cpp-publisher-helloworld sent value: 13
iox-cpp-publisher-helloworld sent value: 14
iox-cpp-publisher-helloworld sent value: 15
iox-cpp-publisher-helloworld sent value: 16
iox-cpp-publisher-helloworld sent value: 17
^C2022-03-16 18:28:50.752 [Verbose]: RouDi cleaned up resources of iox-cpp-publisher-helloworld. Shutting down gracefully.

Conditions where it occurred / Performed steps:
1. iox-toudi
2. ./iox-cpp-subscriber-helloworld
3. iox-cpp-publisher-helloworld
4. timedatectl set-ntp false
5. timedatectl set-time 15:58:30 (and maybe need "timedatectl set-time 15:58:20"), to make system time rollback

We used iceoryx in TDA4, but in TDA4 sometimes happend system time rollback in few days, and then ice will throw exception. So I try it in x86 Linux, and it also happened, need help.

Thanks for the analysis, that's enough. I haven't delved into iceoryx at the moment, I just want to know why it crashes in this case now. and then I'll try to look into iceoryx.

I fixed this bug by modified "iceoryx_posh_types.hpp : 254"
from using BaseClock_t = std::chrono::steady_clock; to using BaseClock_t = std::chrono::system_clock;
Will it affect other modules?

@1su I don't think this is a viable solution. The system clock has the issue that it can be changed by the user while the steady clock should only monotonically increase

But using this approach does solve the problem

@1su1 it may solve your specific problem but creates another one. The steady clock is not supposed to change and therefore that one is used. I'm not even sure why this problem happens on your side since you wrote that there is a system time rollback. Is this correct or is there be steady clock reset?
A proper fix for this would be to refactor the liveliness detection to not rely on any timestamps (#1361) since this also makes debugging harder. A quick fix for you would be to disable the monitoring and start RouDi with -m off. Is this a viable workaround until we have a proper fix?

@1su1 @elBoberido The system time rollback will cause m_keepAliveTask to work abnormally, because the underlying part of m_keepAliveTask uses sem_timedwait to delay sending keeplive packets.I have now changed to using std::this_thread::sleep_for to delay sending the keeplive package while adapting to thread exit logic. The test results are normal.

inline void PeriodicTask::run() noexcept
{
do
{
IOX_DISCARD_RESULT(m_callable());
std::this_thread::sleep_for(std::chrono::milliseconds(m_interval.toMilliseconds()));
} while (!m_stop_flag)
}
m_stop_flag is adapting to thread exit logic

@elfenpiff I've met the same issue, when time rollback on version 2.0.3. I guess this issue may be related to the different clocks used by roudi & helloworld apps. Roudi use steady_clock when checking keepAlive signal, while helloworld apps use PeriodicTask to send keepAlive signal which use TimeSpecReference::Epoch.
I suggest that PeriodicTask/Semaphore shall use TimeSpecReference::Monotonic instead.

@wjswjq  This is sadly not so easily possible since the posix semaphore does not support monotonic clocks in sem_timedwait(), see: https://pubs.opengroup.org/onlinepubs/9699919799/functions/sem_timedwait.html
I think we have to use here sem_clockwait (gnu libc extension) and sem_timedwait_monotonic (qnx) but this will not play well with all the other platforms :/ ... I will try to think of something.

So what is the final conclusion?


pull request for e2e test at 12/09/2016 06:26:03

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


Gift package armor items broken, doesn't have correct items

General information:
Project issue is for: 3.8.0 (latest zip)
Expected result: Armor items spawn with the correct default data
Actual result: Incomplete armor that bugs out with red backgrounds (assuming this is a holdover for guns that dont work)
How to reproduce:

Create a new profile
Message SPT with a code with armor, provided code is ARMORPLATES oh the irony...
Issue presents itself

Screenshots:

Attachments

jpSi4M.png (308 KiB)

Originally written by czbe

Fixed with: https://dev.sp-tarkov.com/SPT-AKI/Server/commit/2f0513edff59a8cadaf9dad09e7b114424ebfde1

Originally written by chomp

Works perfectly, if this is the expected result.
ANA M1
Global Armor's Steel ballistic plate: 656fa0fb498d1b7e3e071d9c 2x (Front + Back)
AVS
SPRTN Omega Ballistic plate: 656f9fa0498d1b7e3e071d98 2x (Front + Back)

Attachments

Screenshot_20240207_133526.png (246 KiB)
Screenshot_20240207_134104.png (228 KiB)
Screenshot_20240207_134044.png (254 KiB)

Originally written by Deadly


bot always offline

the bot is always offline and never responds to commands or mentions of vore. i'm not sure if this is a coding error or user error

I took the bot offline about 9 months ago after some hosting issues that I didn't really want to fix, so not quite a code issue or a user issue.
As an alternative, everyone is more than welcome to use the code I have here to run their own instance of the bot (you would have to set up a bot user on discord and host it yourself though)

Ah, I see. Thanks for letting us know! I had figured I may possibly have to look into hosting, though have never done so before. If I wanted to host my own instance, would there be anything I would need to add to the code to do so?

You'll need to add your bot's api key to the bottom of bot.py, where it says "----YOURKEYHERE----". As per usual, don't store said key in a publicly accessible place (The reason I initially took the bot down was I accidentally put the old key on this github, and decided to leave it down instead of setting up a better hosting situation).
If you don't particularly want to host your own, I imagine I can get a heroku instance running the bot (it should properly support as many servers as you toss it on, so it's not like every server needs its own) properly by end of day tomorrow, if not tonight, and either way I'm more than happy to continue to do development on the bot if there's interest in specific features/fixes.
Best of luck!

It lives.

the bot is offline again, is it down for updates?

 I'll have to look into what happened there.

shit haha, it detected vore once, set the text twice and then stopped sending text. could it be something on my end

Not your end. Looks like I accidentally set up multiple instances of the bot running. I'll restart it in a moment.
It's intentional that the bot only sends a message once every half hour to prevent spam. There are plans for a per-server customized cooldown, and given how many times I've been asked about this it might be time I implement it.

thank you!!


Revert from files back to Explorer.exe as default file browser

What's the Problem?
Files has broken the file association and just doesn't work, this should be in Alpha at the most and not a full release there are just too many bugs to make it usable.
Please release a method to reset the file association back to explorer.exe as it's a full rebuild otherwise which is really annoying.
Please make the uninstaller reset the file associations back to explorer.exe!!!
Solution/Idea
Please read above ^^
Alternatives
make this an Alpha release!
Priorities

Capability
Priority

This proposal will allow developers to accomplish W
Must

This proposal will allow end users to accomplish X
Should

This proposal will allow developers to accomplish Y
Could

This proposal will allow end users to accomplish Z
Won't

Files Version
No response
Windows Version
Windows 10 21H2
Comments
No response

This work fine in <IP_ADDRESS>. you can use the unsetasdefault.reg file in this.
https://raw.githubusercontent.com/files-community/files-community.github.io/main/data/SetFilesAsDefault.zip

I managed to revert it back myself by diving into the registry classes

HI - Could you let me know what to do to reset registry? I have had real trouble wiht this. Runing two machines on W11. Tried File sin both (perhaps foolish to do that) but when I reset the 'replace file explorer' setting I lost File Explorer completely. Has taken hours and still not right. Found reg setting for W10 but these seem incomplete.
E.g. Fie explorer now opens on one PC but can't get multiple windows; on the other machine I can open File Explorer but only if I keep Files installed (uninstall it and File Explorer disappears!). Weird - errors seem different for the same OS?
Badly need help here!
I know there is a warning on the website about this, and fair enough ... but hey! This is actually pretty fatal. At least some advice about how to reset if it goes wrong would be helpful rather than a handwash warning. After all, Files must change the registry in one direction so providing info about how to reverse that if you get stuffed would be nice (with all the usual risk warnings).
Thanks for any advice. (PS in case you ask - no, machines are new so haven't set up Restore points. My bad! Lesson learned!)

Make sure Files is updated then turn off the toggle in Files settings > Advanced > Set as default
If that doesn't work run this file. UnsetFilesAsDefault.zip
If they both don't work then there is something wrong with your Windows install and you would probably have to reinstall Windows

Thanks for the update Josh65. Will try that in mo' after a system scan
finishes ....
Very frustrating issue.
As you say - if your file doesn't work a windows re-install is next ...
ho-hum - bang goes my daily target!
David Longman
On Mon, 13 Nov 2023 at 11:00, Josh65-2201 @.***> wrote:

Make sure Files is updated then turn off the toggle in Files settings >
Advanced > Set as default
If that doesn't work run this file. UnsetFilesAsDefault.zip
https://github.com/files-community/Files/files/13334069/UnsetFilesAsDefault.zip
If they both don't work then there is something wrong with your Windows
install and you would probably have to reinstall Windows
—
Reply to this email directly, view it on GitHub
https://github.com/files-community/Files/issues/7599#issuecomment-1807938321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIATWFEQCBXBRCZPY4KDG7TYEH4U7AVCNFSM5L3TL3I2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBQG44TGOBTGIYQ
.
You are receiving this because you commented.Message ID:
@.***>

OK - brilliant! Thanks. Scannnow finished and declated some repairs but made no obvious difference.
However, your reg file cured the problem at a stroke. (Well, not all  - some file associations had been knocked out along with startup apps ... but those I can fix!)
All power to you!
Thank you.
An afterthought to developer community - Josh's regedit reset file might be listed on website under a troubleshooting section? I don't think I am the only one who has hit this snag.


Detect early completion in BfgsBMinimizer

Resolves #658

Closing and re-opening because I don't trust the Travis failure

Thanks!


Additional helpfile copyediting to clarify technical issues.

Continuation of PR #4346 - Some information was missing when that PR was accepted early.

@sptramer,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@tjprescott - Since this PR will address your concerns brought up in #4346, please perform review. I will assign you when the CI completes. Thanks!

@tjprescott - Please review and sign off. The changes here are to address your requests from #4346, which were not completed before the merge.

Thanks @sptramer!


Rollback django-stubs to 1.5.0 for pycharm projects

Description
The problem I'm having is with Pycharm failing to provide predictive text when using the ORM filter function.
I have multiple projects that were generated a few weeks apart and they have different versions of this library [django-stubs].
My older project using django-stubs 1.5.0 is working fine.
My newer project using django-stubs 1.7.0 does not provide predictions
What are you proposing? How should it be implemented?
If Pycharm is selected during scaffolding, use django-stubs 1.5.0 until the problem has been solved.
Rationale
Why should this feature be implemented?
Pycharm's predictive text is a huge time saver and new users that don't know of it's existence have no idea what they're missing!
Thanks. You all are awesome!

Yes, I rolled it back on my project but I wanted to share this incase someone else was having an issue.

It must be something else... I tested it on my new project and it's still having problems. My older project still worked after updating to those version. I appreciate the suggestions. It's probably just my project collecting dust.


chore: Add adc_common_group to blueprints used in ADC

Currently only q2w use is added for adc_common_group

This has been applied


UG DG Fixes

Codecov Report

Merging #235 (eceb797) into master (7a57a63) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #235   +/-   ##
=========================================
  Coverage     64.98%   64.98%
  Complexity      717      717
=========================================
  Files            94       94
  Lines          2590     2590
  Branches        348      348
=========================================
  Hits           1683     1683
  Misses          818      818
  Partials         89       89

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/LogCommand.java
96.00% <ø> (ø)

Continue to review full report at Codecov.

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


WIP oauthclient/accounts: permanent login support

Sets session.permanent when then user marks 'remember me'.

Allows configuration of oauth login to set if session should
be permanent.

Signed-off-by: Javier Martin Montull<EMAIL_ADDRESS>

Comments addressed and rebased, please have a look @jirikuncar @lnielsen

@jmartinm looks good to me. :shipit:


QGIS mistakenly depicting the Crimean peninsula in the app

QGIS app for some reason depicts and defines Crimea and the entire peninsula as part of Russia although the UN, OSCE, EU and many other international organizations have not recognized the occupation of Crimea by Russia. Hence, according to the international law in the app Crimea should be depicted as part of Ukraine.

@olekrd7 can you detail which dataset you are referring to, please?

@olekrd7 can you detail which dataset you are referring to, please?

Yes, this is the most recent large scale countries (version 4.1.0) from natural earth data, so I assume I should inform its creators?
https://www.naturalearthdata.com/downloads/10m-cultural-vectors/

Yes, this is the most recent large scale countries (version 4.1.0) from natural earth data, so I assume I should inform its creators?
https://www.naturalearthdata.com/downloads/10m-cultural-vectors/

Sorry, I fail to see where QGIS is in the play, here. Does QGIS provide that data somewhere?
And yes, better keep in touch with data creators. But maybe read the disclaimer at https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-countries/

Sorry, I fail to see where QGIS is in the play, here. Does QGIS provide that data somewhere?
And yes, better keep in touch with data creators. But maybe read the disclaimer at https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-countries/

So @olekrd7 should we close this one? Afaict, this is a dataset "issue" and the information of what is shown is provided in their metadata. And in all cases it doesn't seem to be a QGIS website issue.

Yes, this case more relates to naturalearthdata error, not to qgis itself.


Set sidebar to preferred/compact width using a workbench lookup

I find it quite distracting when I open the sidebar and its using an obnoxious amount of horizontal space. It often pulls me out of my flow and I have to resize it to optimise screen real-estate.
I noticed that something like this can be done by double-clicking on the sidebar edge. Could this same action possibly be added to the workbench as a lookup? At least that way I wouldn't have to use switch to the mouse / trackpad.

I just found View: Increase current view size
While this doesn't necessarily get me where I want in one go, it seems designed for this purpose. I'll close this.


AuditMixin Question. Edges in mixin not working.

i have following audit mixin
type AuditMixin struct {
	mixin.Schema
}

// Fields of the AuditMixin.
func (AuditMixin) Fields() []ent.Field {
	return []ent.Field{
		field.Int64("id").Positive().Unique().StructTag(`json:"id"`).Immutable(),
		field.Time("created_at").
			Immutable().
			Default(time.Now),
		field.Int64("created_by").
			Optional(),
		field.Time("updated_at").
			Default(time.Now).
			UpdateDefault(time.Now),
		field.Int64("updated_by").
			Optional(),
		field.Time("deleted_at").
			Optional(),
		field.Int64("deleted_by").
			Optional(),
	}
}

func (AuditMixin) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("creater", User.Type).Field("created_by"),
	}
}

in another schema i a the audit mixin.
func (Lead) Mixin() []ent.Mixin {
	return []ent.Mixin{
		AuditMixin{},
	}
}

that gives problem while generation
$ go generate ./ent
entc/gen: set "Lead" foreign-keys: edge "creater" has a field "created_by" but it is not holding a foreign key
exit status 1
ent/generate.go:3: running "go": exit status 1

I will have simillar created_by, deleted_by and updated_by foreign_keys from other structs.
questions:
How should this mixin be structured ?
how to let timestamps to be filled in by database.?

I think creator (creater in your example schema) should be a Unique edge.
edge.To("creator", User.Type).
	Unique().
	Field("creator_id")

Please let me know if it does solve your problem and we can close this issue. Thanks 🙏

an user should be able to create multiple leads.

@a8m your suggestion worked.  Thank you . I would need to scan documents for understanding this more. Closing it now

reopening for the unique issues
Given following mixin fields and edges
// AuditMixin implements the ent.Mixin for sharing
// audit-log capabilities with package schemas.
type AuditMixin struct {
	mixin.Schema
}

// Fields of the AuditMixin.
func (AuditMixin) Fields() []ent.Field {
	return []ent.Field{
		field.Int64("id").
			Positive().
			Unique().
			StructTag(`json:"id"`).
			Immutable(),

		field.Time("created_at").
			Immutable().
			Default(time.Now),

		field.Int64("created_by"),

		field.Time("updated_at").
			Default(time.Now).
			UpdateDefault(time.Now),

		field.Int64("updated_by").
			Optional(),

		field.Time("deleted_at").
			Optional(),

		field.Int64("deleted_by").
			Optional(),
	}
}

func (AuditMixin) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("creator", User.Type).
			Unique().
			Required().
			Field("created_by"),
		edge.To("updater", User.Type).
			Unique().
			Field("updated_by"),
		edge.To("deleter", User.Type).
			Unique().
			Field("deleted_by"),
	}
}

following ddl is issued.
BEGIN;
CREATE TABLE IF NOT EXISTS "users"("id" bigint GENERATED BY DEFAULT AS IDENTITY NOT NULL, "created_at" timestamp with time zone NOT NULL, "updated_at" timestamp with time zone NOT NULL, "deleted_at" timestamp with time zone NULL, "name" varchar NOT NULL DEFAULT 'unknown', "user_name" varchar UNIQUE NOT NULL, "password_hash" varchar NOT NULL, "active" boolean NOT NULL DEFAULT true, "created_by" bigint UNIQUE NULL, "updated_by" bigint UNIQUE NULL, "deleted_by" bigint UNIQUE NULL, PRIMARY KEY("id"));
ALTER TABLE "users" ADD CONSTRAINT "users_users_creator" FOREIGN KEY("created_by") REFERENCES "users"("id") ON DELETE SET NULL, ADD CONSTRAINT "users_users_updater" FOREIGN KEY("updated_by") REFERENCES "users"("id") ON DELETE SET NULL, ADD CONSTRAINT "users_users_deleter" FOREIGN KEY("deleted_by") REFERENCES "users"("id") ON DELETE SET NULL;
COMMIT;

notice the fk fields created_by , updated_by  & deleted_by are marked as 'UNIQUE' which should not be the case.
if we remove Unique() on edge.To go generate complains
: edge "creator" has a field "created_by" but it is not holding a foreign key
exit status 1
ent/generate.go:3: running "go": exit status 1

well it boils down to adding a field to edge.  without a field ent generates additional table
func (User) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("creater", User.Type).Required(),
	}
}
BEGIN;
CREATE TABLE IF NOT EXISTS "users"("id" bigint GENERATED BY DEFAULT AS IDENTITY NOT NULL, "name" varchar NOT NULL DEFAULT 'unknown', "user_name" varchar UNIQUE NOT NULL, "password_hash" varchar NOT NULL, "created_at" timestamp with time zone NOT NULL, "updated_at" timestamp with time zone NOT NULL, "deleted_at" timestamp with time zone NULL, PRIMARY KEY("id"));
CREATE TABLE IF NOT EXISTS "user_creater"("user_id" bigint NOT NULL, "creater_id" bigint NOT NULL, PRIMARY KEY("user_id", "creater_id"));
ALTER TABLE "user_creater" ADD CONSTRAINT "user_creater_user_id" FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE, ADD CONSTRAINT "user_creater_creater_id" FOREIGN KEY("creater_id") REFERENCES "users"("id") ON DELETE CASCADE;
COMMIT;

with Field and without Unique() on edge ent errors out
func (User) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("creater", User.Type).Field("creater_id").Required(),
	}
}
$ go generate ./ent
entc/gen: set "User" foreign-keys: edge "creater" has a field "creater_id" but it is not holding a foreign key

with Field and Unique() edge ent generates wrong DDL
func (User) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("creater", User.Type).Unique().Field("creater_id").Required(),
	}
}
BEGIN;
CREATE TABLE IF NOT EXISTS "users"("id" bigint GENERATED BY DEFAULT AS IDENTITY NOT NULL, "name" varchar NOT NULL DEFAULT 'unknown', "user_name" varchar UNIQUE NOT NULL, "password_hash" varchar NOT NULL, "created_at" timestamp with time zone NOT NULL, "updated_at" timestamp with time zone NOT NULL, "deleted_at" timestamp with time zone NULL, "creater_id" bigint UNIQUE NULL, PRIMARY KEY("id"));
ALTER TABLE "users" ADD CONSTRAINT "users_users_creater" FOREIGN KEY("creater_id") REFERENCES "users"("id") ON DELETE SET NULL;
COMMIT;

problem in DDL
"creater_id" bigint UNIQUE NULL,

Hey @msonawane and thanks for reopening this. Can you verify please that the UNIQUE clause is added only to the User schema? I'm pretty sure the codegen classifies it as O2O edge.


listBlobs should only list committed blobs

Fixes https://github.com/Azure/Azurite/issues/463
Currently, listBlobs will return all blobs, including staged / uncommitted blobs.  This is a discrepancy from real Azure storage, where only committed blobs are returned unless you explicitly request them using the includes: uncommittedblobs option.

@XiaoningLiu quick turnaround! How do we know when this is available in docker hub?

We planned a release before next week.


E2E Test - Test custom update plan with triggers

How does this differ from #406, @gerred ? I'm going to close this for now in favor of #406 but feel free to reopen 😉


[gfx908] test_dropout failed without info

test_dropout failed without 'FAILED' trigger word .
Disabled by default in develop.
[2021-07-28T15:47:56.349Z]  7/78 Test #17: test_dropout ...............................***Failed  2756.43 sec
Possible reason:
[2021-07-28T15:47:56.355Z] Config requires<PHONE_NUMBER>72 Bytes to write all necessary tensors to GPU. GPU has<PHONE_NUMBER>2 Bytes of memory
some test requires<PHONE_NUMBER>72 bytes / 1024 /1024 /1024 => 144Gb ... That seems like kind of a lot
Failed CI build:
http://micimaster.amd.com/blue/rest/organizations/jenkins/pipelines/MLLibs/pipelines/MIOpen/branches/tests_for_908/runs/6/nodes/1505/steps/1603/log/?start=0

test_dropout failed on gfx908 as early as I know (April 3rd) and marked as "Same issue as observed in baseline". @atamazov  do you recall how long has it been like this? :)
@ce1adon from SWDEV-200503's description, could you please check if it is a reoccurrence of the same issue?

Will need a gfx908 to debug
If the error is due to usage of memory, we shall add a check to skip those large tests.
BTW, I never see memory error before, it could be another compiler issue.

@junliume This is something the CQE is observing for a long time. They are considering this as a "known problem", which means that they do not care if dropout fails. If we disable dropout test, then dropout is vulnerable for future, possibly more important bugs, because neither our CI nor CQE will catch them.
Therefore I think this must be resolved and test re-enabled ASAP.

In other words: W/A disables some test. The missing test is a bug in tests. That is why I set the bug label.

Well, maybe blocker is overkill))

do you recall how long has it been like this? :)

No, it passed me by...


Multiple snippet transforms

There has been this request once before but I do not believe the solution applies.
I'd love to transform helloWorld to HELLO_WORLD.
I have a couple of different snippet transforms:
helloWorld
${1/(^\w)/${1:/upcase}/} // upcase first letter (HelloWorld)
${1/(^\w)/${1:/downcase}/} // downcase first letter (helloWorld)
${1/([A-Z])/_${1:/downcase}/g} // snake -> underscore (hello_world)
${1/(.*)/${1:/upcase}/} // all caps (HELLOWORLD)

Here I'd want to use both the last two. ${${1/([A-Z])/_${1:/downcase}/g}/(.*)/${1:/upcase}/} But this is not currently supported.

This works, unless I am missing exactly how you are using it:
  "body": "${1/(.*)([A-Z].*)/${1:/upcase}_${2:/upcase}/}",

The idea being to split your text helloWorld into 2 capture groups.  Upcase them both and separate with an underscrore.

Thanks @ArturoDent


Correction Required

Legacy CE: For a SQL Server database set at compatibility level 120 and above, the CE version 70 can be can be activated by using the at the database level by using the ALTER DATABASE SCOPED CONFIGURATION.

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

ID: 17d712c8-87f2-7203-6dd9-5f23a60cdfc2
Version Independent ID: 536de496-f292-b661-7da7-350d59ec331f
Content: Cardinality Estimation (SQL Server) - SQL Server
Content Source: docs/relational-databases/performance/cardinality-estimation-sql-server.md
Product: sql
Technology: performance
GitHub Login: @julieMSFT
Microsoft Alias: jrasnick

@rohith-um Hello and thank you for contacting Microsoft. The sentence in question should read "Legacy CE: For a SQL Server database set at compatibility level 120 and above, the CE version 70 can be can be activated at the database level by using the ALTER DATABASE SCOPED CONFIGURATION. I have updated the article and it should be visible sometime next week. I will proceed with closing this issue. The @notification mechanism continues to work even after an item is closed, in case further communication is needed. We hope to hear from you again.

#https://github.com/MicrosoftDocs/sql-docs-pr/pull/17081

#please-close


Add the bash and zsh options to the istioctl collateral command flag.

As discussed here: https://github.com/istio/istio/issues/12607#issuecomment-490523390, we have identified a UX improvement that would provide Istio users the ability to download the istioctl binary separate from the Istio project itself, while also including the bash and zsh auto-completion files:
Provide the istioctl collateral command flag with two new options: istioctl collateral bash and istioctl collateral zsh. Each of these options would generate a tab completion file sent to the console output, allowing users the ability to easily source the tab completion files as part of their shell profile, i.e. istioctl collateral bash > istioctl.bash or source < istioctl collateral bash.
What we currently have is the alternative, with the tab completion files stored in the tools folder. However, providing the istioctl binary as a separate download would not include the tab completion files today.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[X] User Experience
We spoke with @linsun about this, and she has indicated that this would be the preferred approach.

/cc @ericvn, @esnible

can we have istioctl standalone download avail first and add tab completion when it is ready to be added?  Not everyone uses tab completion.

@linsun yes, I think we can do that. I re-submit my original PR to add the istioctl download script, and we can add in the tab completion feature later.

I would vote to have the command be istioctl completion bash and istioctl completion zsh as the collateral noun is hidden.

istioctl collateral --zsh is working now, verified with latest built


'avformat.h' file not found

Could you please help me for avformat.h file?

cd SGPlayer
run ./build.sh iOS build

Trying to implement in Apple TvOS, Facing same issue

I have same question, have answer ?


Adding viewmodel for messages

Messages can now be imported from a dataset, and I've added some scaffolding functionality for the code selectors.
Demo: https://www.cl.cam.ac.uk/~mcm79/codav2_demos/viewmodel-pr/
I'm planning to add tests for the UI, but wanted to send this first for feedback. I'll add the tests in the next PR.

Thanks! merging now


Propagate visibility keyword to the generated trait

Pretend previously generated traits with the (default)
private visibility even if the trait was declared as public.

Codecov Report

Merging #19 (71979bc) into main (f4d0456) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   94.38%   94.38%
=======================================
  Files           7        7
  Lines         178      178
=======================================
  Hits          168      168
  Misses         10       10

Impacted Files
Coverage Δ

pretend/src/lib.rs
85.71% <0.00%> (ø)

Continue to review full report at Codecov.

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


Cleanup tamc.h

What changes does this PR introduce?
cleanup
What is the current behaviour?
lots of unused parameters, nthreads_chkpt is used but always one, see #608
What is the new behaviour
short files without unused parameters, closes #608
Does this PR introduce a breaking change?
No, no-one should be affected.
Other information:
Draft PR because we need to agree on the final form of tamc.h before we can update the order(18) tamc.h in the verification experiments
Suggested addition to tag-index

pkg/autodiff/tamc.h: cleanup, remove unused parameters and nthreads_chkpkt as it is (and should be) always one.

@mjlosch your latest version of tamc.h looks good (I made a very minor adjustement). A little detail: I would  not mind if you were adding a line below "started" and "changed", with "cleaned-up" and your name; but will leave it to you to decide.
For the remaining, you could fix/simplify cg2d_nsa.F and if we decide to further simplify the ikey setting (as proposed my addition to issue #608) this will give us a chance to review all the places where nTx*nTy shows up in for the ikey calculation.

I don't like these explicit attributions, as they show up in the git/cvs history anyway (did I mention that I love "git blame"), but if you think that is useful to see in the file whom to ask, if there are questions, then let's do it.
I'll fix cg2d_nsa.F

I have another suggestion for the checkpointing block in tamc.h. To make is shorter:
      INTEGER    nchklev_1
      PARAMETER( nchklev_1      =  5 )
C     Without ALLOW_TAMC_CHECKPOINTING, nchklev_1 needs to be at least
C     equal to nTimeSteps. This (arbitrary) setting would accomodate a
C     short run (e.g., 10.d with deltaT=10.mn)
C     PARAMETER( nchklev_1      =  1500 )

#ifdef ALLOW_TAMC_CHECKPOINTING

      INTEGER    nchklev_2
      PARAMETER( nchklev_2      =    2 )
C     PARAMETER( nchklev_2      =  150 )
      INTEGER    nchklev_3
      PARAMETER( nchklev_3      =    3 )
C     PARAMETER( nchklev_3      =  150 )

C--   Note always check for the correct sizes of the common blocks!

#endif /* ALLOW_TAMC_CHECKPOINTING */

Note: do we ever test the non-checkpointing code?

@mjlosch regarding your latest suggested changes to tamc.h: I prefer to keep it as before,
with a different value for nchklev_1 (not commented out) when ALLOW_TAMC_CHECKPOINTING is undef.

@jm-c I modified hs94.1x64x5 to test without checkpointing.

After changing the computation of the keys, I have one more suggestion which could make it potentially easier to find keys and reduces the number of lines dedicated to TAF directives: I could (and tried this already) rename many locally defined keys (idynkey, lockey, igadkey, itdkey, iicekey, ticekey, etc.) to just ikey. To me it does not make too much sense to have different names, especially since some name may have a meaning (i.e. the td in itdkey probably means "thermodynamics"), but are not always used in context (ie. itdkey is defined and used in bling, igadkey is used in some seaice routines, etc.). The shorter ikey has the advantage, that many store directives can be reduced to one line, making the code less cluttered by TAF-related lines. Since I have touched most of the relevant files anyway, we could do this here.
@jm-c what do you think? I can alway push this (a single commit) and we revert it if we decide to not like it.

@mjlosch regarding latest suggestion: I think it's good to keep ikey_dynamics unchanged and also nice to distinguish when a key is tile independent or function of tile indices, especially when both type are found in the same routine. And what about if it's function of ptracers number ?

I was not going to change ikey_dynamics, but I would like to change the names of most local keys, which are mostly of the type ikey = bi + (bj - 1)*nSx + (ikey_dynamics - 1)*nSx*nSy, but sometimes they are called igadkey or iicekey or igmkey or ikppkey, which makes little sense to me. For the cases when there are more than one key in a routine, there are usually good solutions, e.g. ikey and `kkey = k + (kkey-1)*Nr, etc.
Maybe it's easier to discuss and show, if I do this is a separate (draft) PR, once this one is merged. After all, it will be just a cosmetic change.

@mjlosch I double checked and the improved tamc.h looks good.

@mjlosch I've checked the tamc.h and made 2 (minor) adjustments, but they all look good.
@mmazloff I also removed 3 lines of comments in global_oce_biogeo_bling/code_ad/tamc.h that I did not find very useful:

30 C run  87630 time steps
31 C 16 usually runs OK
32 C

This is my last commit so we could revert this if you prefer to keep these comments

I am fine with removing the obscure comment. LGTM, let's merge this.

@mjlosch I made a minor adjustment but all looks good. Once you agree I think we could merge this PR.

@jm-c the latest changes are good for now. We will have to change gmredi_slope_limit.F to fix the key computations (or get rid of them entirely, see options in #668), and then we can decide what to do with the remaining store directives that are commented out (cnostore).


fix [Techdoc]btoa encoding

Hey, I just made a Pull Request!

Related issue: https://github.com/backstage/backstage/issues/11015

btoa is known to not support extended characters https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/btoa

SVG files could contain utf8 characters.

MDN recommends a solution to escape the string before encoding it

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

hi @backstage/techdocs-core would you be able to review the pr please?

hi @backstage/reviewers @backstage/techdocs-core , would you be able to review the pr please?

Thanks!
Gonna merge this in; noting for future code spelunkers that unescape is technically deprecated (though very widely still supported). If folks run into problems, we can fix it then!


Dedupe error messages containing variable information

Work Item
Describe the outcome you expect
Assert/Error messages should be "static" for a particular code point, so that we can properly aggregate errors to recognize top errors.  As it is, we have many many cases where error messages contain variable info, whether from our own system or a dependency, which dilutes error counts and can hide top errors.
Approach
Query our Microsoft internal data to look at distinct values of Data_error and find patterns where a variable is included - or variable value like some server correlation id - and refactor the error to have a static error message with the interesting data put in a property.
Open questions
How to handle error messages like this from dependencies?  Related to #4908
Additional context

Acceptance criteria
Total distinct count of errors should be MUCH lower than it is in our Microsoft-internal telemetry.  Exact "done criteria" TBD, but any progress here will be great.
Example error messages (substrings)

lastSequenceNumber changed
offset is outside of index space
Proposed parent summary
Received an error from IPC
ShellService::requestMessage::TimedOut
Token expired
Failed to acquire OneDrive token

It turns out that the example errors above that caused a lot of duplication issues went away with shortcodes (https://github.com/microsoft/FluidFramework/pull/5619).
However, digging into the long tail of errors there are still cases of duplication or empty errors that can be fixed, so I will use this issue to log some of those cases.

Some errors are duplicated because they have a secondary message attached, though they boil down to the same event. Examples:

"Error 403" vs "Error 403 (Forbidden)"
"Error 404" vs "Error 404 (Not Found)"

In some of these cases, we have two occurrences because of the fact that we join the "performance" and "error" event tables in Kusto to track errors. These should be dealt with via better queries.
Examples to fix by hand:
*

I've written a tool that boils our 30k+ unique error messages down to about 100 canonical forms (e.g. prefix, or fuzzy match pattern string).  The top-hitter was from us logging the message field off the socket.io response object in case of an error.  I just fixed that in PR https://github.com/microsoft/FluidFramework/pull/6557

There's a design proposal  (sorry for the Msft-internal link... reach out if you don't have access) I'm socializing around a new concept of "error codes" which are constant strings tagging each point where we handle or wrap an error, kept separate from the original error message.  And in cases where we originate an error (e.g. asserts or anywhere else we new up an error object not to wrap another), we will be sure to use error code, and likewise have a simple/static error message. So this clean up is related to converting to that scheme, if the design is approved by the team.

@vladsud once I get a bit more consensus on the direction in #6676 I'll remove the design-required label here.

Now that IFluidErrorBase is in, with fluidErrorCode, we can start this work in earnest.  I'm about to head offline for 2 months for paternity leave, but before I go I hope to land with a concrete plan for this issue.
Will be something like identifying the couple areas that are a priority to reinstrument, and not tracking the long tail but rather depending on training the team to fix them up as needed/convenient

Moving this to "Next" milestone.  For August, let's just focus on #6754 (Updating our own instrumentation) which will cover many of these cases. Then we can see where the noise is and what area to look at next.  Also, if specific cases emerge from live site issues from the Office Fluid team then we can take those on a case-by-case basis.


[Windows] RuntimeError: Distributed package doesn't have NCCL built in

Hey, I am having an issue when I run trainer.fit with the accelerator I get the following error:
2021-03-08 13:45:49,085 INFO services.py:1172 -- View the Ray dashboard at http://<IP_ADDRESS>:8265
GPU available: True, used: True
TPU available: None, using: 0 TPU cores
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Using native 16bit precision.
Global seed set to 1234
initializing ddp: GLOBAL_RANK: 0, MEMBER: 1/1
Traceback (most recent call last):
  File "train.py", line 26, in cli_main
    train(None, cfg)
  File "train.py", line 102, in train
    trainer.fit(model, datamodule=dm)
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 510, in fit
    results = self.accelerator_backend.train()
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\ray_lightning\ray_ddp.py", line 184, in train
    results = process_results(futures, queue)
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\ray_lightning\util.py", line 103, in process_results
    ray.get(ready)
  File "C:\Users\Mohammed\AppData\Roaming\Python\Python38\site-packages\ray\_private\client_mode_hook.py", line 47, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\Mohammed\AppData\Roaming\Python\Python38\site-packages\ray\worker.py", line 1456, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(RuntimeError): ray::RayExecutor.execute() (pid=27620, ip=<IP_ADDRESS>)
  File "python\ray\_raylet.pyx", line 480, in ray._raylet.execute_task
  File "python\ray\_raylet.pyx", line 432, in ray._raylet.execute_task.function_executor
  File "C:\Users\Mohammed\AppData\Roaming\Python\Python38\site-packages\ray\function_manager.py", line 556, in actor_method_executor
    return method(__ray_actor, *args, **kwargs)
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\ray_lightning\ray_ddp.py", line 31, in execute
    return fn(*args, **kwargs)
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\ray_lightning\ray_ddp.py", line 218, in train_remote
    super(RayAccelerator, self).ddp_train(
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\pytorch_lightning\accelerators\ddp_spawn_accelerator.py", line 127, in ddp_train
    self.init_ddp_connection(
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\ray_lightning\ray_ddp.py", line 232, in init_ddp_connection
    torch.distributed.init_process_group(
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\torch\distributed\distributed_c10d.py", line 503, in init_process_group
    _update_default_pg(_new_process_group_helper(
  File "C:\Users\Mohammed\AppData\Local\conda\conda\envs\htts\lib\site-packages\torch\distributed\distributed_c10d.py", line 597, in _new_process_group_helper
    raise RuntimeError("Distributed package doesn't have NCCL "
RuntimeError: Distributed package doesn't have NCCL built in

@MohammedAljahdali Pytorch on Windows does not support the NCCL backend. Can you use the gloo backend instead.

You can find more information here and here

Hi, @MohammedAljahdali, I met the same problem when I use vscode as my IDE, and I have sovle this.
add the follow code in launch.json:
"env": {"PL_TORCH_DISTRIBUTED_BACKEND":"gloo"},
Windows must use gloo method.....
Weird problem.

Hi, @MohammedAljahdali, I met the same problem when I use vscode as my IDE, and I have sovle this. add the follow code in launch.json: "env": {"PL_TORCH_DISTRIBUTED_BACKEND":"gloo"}, Windows must use gloo method..... Weird problem.

Right. So mainly if a person encounters such runtime error, there is a backend=nccl in a piece of code somewhere where they should change it to backend=gloo to run on Windows.

邮件已收到啦，感谢来信！

@shahnazari if you just set the environment variable PL_TORCH_DISTRIBUTED_BACKEND=gloo, then your script would use the gloo backend and not nccl. There shouldn't be any changes needed to the code! Let me know if this works!

@shahnazari if you just set the environment variable PL_TORCH_DISTRIBUTED_BACKEND=gloo, then your script would use the gloo backend and not nccl. There shouldn't be any changes needed to the code! Let me know if this works!

Saved my day 👍

邮件已收到啦，感谢来信！

You can also write in the main python script
import os
os.environ["PL_TORCH_DISTRIBUTED_BACKEND"] = "gloo"

I'm using accelerate, and the solution of adding the environment variable PL_TORCH_DISTRIBUTED_BACKEND=gloo didn't work for me on Windows. Any other suggestion available?

邮件已收到啦，感谢来信！

You can also write in the main python script
import os
os.environ["PL_TORCH_DISTRIBUTED_BACKEND"] = "gloo"

Saved my day <3

I am having this problem and none of the suggested solutions worked
dist_util.setup_dist()---> RuntimeError: Distributed package doesn't have NCCL built in

邮件已收到啦，感谢来信！

I was using Ray to train a PyTorch-built CNN-LSTM model using the GPU on my laptop, which has Windows 10 installed. I met the same issue that NCLL is not supported on Windows, but the above ways did not seem to work for me or I might have done them the wrong way.
However, I still resolved the issue using the following code in which the 'torch_config' parameter was the key thing I added to my original code:
scaling_config = ScalingConfig(num_workers=1, use_gpu=True)
torch_config = TorchConfig(backend="gloo")
trainer = TorchTrainer(
train_loop_per_worker=train_loop_per_worker,
torch_config=torch_config,
scaling_config=scaling_config,
datasets={"train": train_dataset}
)
I hope this helps anyone meeting the same issue on Windows OS.

邮件已收到啦，感谢来信！


[blazor] url enconding sometimes not working with UriHelper.NavigateTo

Create blazor page(just replace counter page from basic vs blazor template):

@page "/counter"
@page "/counter/{search}"
@inject IUriHelper UriHelper

This search has problems with encoding:

<input type="search"
       value="@Search"
       placeholder="enter here: `тест`"
       oninput="@(e=> UriHelper.NavigateTo($"/counter/{e.Value.ToString()}") )" />

    <input type="search"
           value="@Search"
           placeholder="enter here: `тест`"
       oninput="@(e=> UriHelper.NavigateTo(e.Value.ToString()) )" />

Search: @Search

@functions {
    [Parameter]
    public string Search { get; set; } = string.Empty;
}

Write any not latin text, for ex. тест in the second input field,
page will be navigated to the /тест (in the browser url)
and in the input
you'll see 'тест'
Write any not latin text, for ex. тест in the first input field,
page will be navigated to the /counter/тест (in_ the browser url)
and in the input
you'll see %D1%82%D0%B5%D1%81%D1%82 instead of тест

To solve this issue, needed, somewhere for ex. in basic method of blazor component OnParametersSet
call decode method for all params, like:
 protected override void OnParametersSet() {
        base.OnParametersSet();
        // do the same for all params
        Search = System.Net.WebUtility.UrlDecode(Search);
    }

Let's investigate this for couple of hours and understand what's going on here. If it turns out to be a feature we don't have, we'll move this to 3.1.

Sorry, I've been unable to reproduce this. It's like that this was fixed implicitly as part of some other changes we made since this was first reported. With the current code in master (which will ship in preview 8), I was able to type non-Latin characters in Chrome, Firefox, and Edge. They appeared correctly in the URL too:

If you're still able to reproduce this with 3.0.0-preview7 or later, please let us know!

I guess this was the fix which is in preview7: https://github.com/aspnet/AspNetCore/pull/8759


ERIP - Remove saved to drafts toast notification

AC

[ ] Remove this notification

@ayushdamani It is ready to review on TEST environment.

Tested and can verify that the toast is removed!
Thanks Bhumin!

dont see the notification


Add Full resync option

This adds an option through the UI and the staff API to allow a full resync. The way the sync works today, it will not rescan your entire installation if for example you add or removed repositories while the sync is in progress. This works fine if you add or remove a repository from the installation after the sync is complete, but a few users have realized they installed very large repositories and then removed them while the sync was in progress. This left the repoSyncState in a state where it is trying to sync repositories that it can no longer access. If this happens, the user needs a way to restart the sync from the beginning so we can clear out the state of any repositories that the sync can no longer access.

This also changes the API call to repoSyncState to require you to pass the jiraHost parameter. Before it was just finding the first subscription for a given github installation, but this is not always the subscription since you could have multiple jira instances wired up to one Org on GitHub.
cc @izuzak

Thanks so much for adding this, @tcbyrd ❤
Should we also update the public troubleshooting documentation to mention when this should be used? I'm thinking this section:
https://github.com/integrations/jira/blob/master/SUPPORT.md#sync-status-not-reaching-complete
which currently says:

If after another 5 hours your status is still not COMPLETE, try selecting just the repositories that Jira needs access to:

Open the GitHub Apps settings in GitHub.
Click Configure on Jira.
In Repository access, select only the repositories that Jira needs access to
Click Save

This will automatically start a new sync.

Good call @izuzak! I updated the docs in 101261d to reflect how I'm thinking about when to need a re-sync.

Added a second modal to give some information about what Sync Status means:

🚢

Sorry that I didn't review this PR 🙏
Great work 👍


pallet-staking: tracka total unstaking amount

Essentially, track sum { ledger.unlocking.map(|u| u.value).sum() }.
I imagine we can use it to:

future fancier unstaking process.
implement things like preventing all of the DOTs to be unstaked at once etc.

Perhaps it is a good practice to implement this using StakingInterface in a new pallet-unstaking-tracker. But I am not sure yet.
Either way, the logic for this is near-trivial. The hard part is a migration that sets the initial value.

Thinking about this, do you want to do this in a separate pallet or within the tracker?
It could also fit into EventListener paradigm, but I gotta check the code first.

About freezing the calls of a pallet, the system::BaseCallFilter might be an easier way, compared to just adding a manual if to dispatch functions.


Issue with rosdep definition of gazebo

Describe the bug
Hello, I tried to install the Create Simulator by following the installation instructions step by step with a fresh Ubuntu 22.04 LTS Jammy and ROS Humble. When building the create3_ws, I encounter the following error after running “rosdep install --from-path src -yi”:
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
irobot_create_gz_bringup: Cannot locate rosdep definition for [gz_ros2_control]
irobot_create_toolbox: Cannot locate rosdep definition for [gz_math_vendor]
irobot_create_gz_plugins: Cannot locate rosdep definition for [gz_gui_vendor]
As a result, the next step “colcon build --symlink-install” also fails. This results in the following output:
Starting >>> irobot_create_gz_plugins
--- stderr: irobot_create_gz_plugins
CMake Error at CMakeLists.txt:14 (find_package):
By not providing "Findgz_gui_vendor.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"gz_gui_vendor", but CMake did not find one.
Could not find a package configuration file provided by "gz_gui_vendor"
with any of the following names:
   gz_gui_vendorConfig.cmake
   gz_gui_vendor-config.cmake

Add the installation prefix of "gz_gui_vendor" to CMAKE_PREFIX_PATH or set
"gz_gui_vendor_DIR" to a directory containing one of the above files. If
"gz_gui_vendor" provides a separate development package or SDK, be sure it
has been installed.
Failed <<< irobot_create_gz_plugins [1.04s, exited with code 1]
What is the reason for this and how can I fix the problems with gz_ros2_control or gz_math_vendor and gt_gui_vendor? Please excuse the question, I am still relatively inexperienced with ROS. Many greetings and thank you!
To Reproduce
Follow the installation instructions step by step.
Expected behavior
Successful addition of dependencies and subsequent successful building of the workspace.
Additional context
Add any other context about the problem here.

To install the create 3 simulator you should use:
sudo apt-get install ros-humble-irobot-create-gazebo

or
sudo apt-get install ros-humble-irobot-create-ignition

depending on which version of the simulator you want to use.

Hey alsora, I noticed that the command you suggested, “sudo apt search ros-humble-irobot-create-gazebo”, still requires the ls extensions “-sim”, “-bringup” or “-dbgsym”. Installing these packages with “sudo apt-get install” will then work. The package readme file may need to be updated because the prompts now seem to vary slightly (e.g. gazebo is now spelled out instead of gz), but the simulation seems to work. Thanks for your help!

I noticed that if I do this (i.e. add a glob):
sudo apt-get install ros-humble-irobot-create-gazebo*
apt attempts to install four packages, but fails because of a conflict with gz_tools:
$sudo apt-get install ros-humble-irobot-create-gazebo*
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'ros-humble-irobot-create-gazebo-sim' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-plugins-dbgsym' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-plugins' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-bringup' for glob 'ros-humble-irobot-create-gazebo*'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gz-tools2 : Conflicts: gazebo (>= 11.0.0) but 11.10.2+dfsg-1 is to be installed
             Conflicts: gazebo (<= 11.14.0) but 11.10.2+dfsg-1 is to be installed
             Conflicts: gazebo:arm64 (<= 11.14.0)
             Conflicts: gazebo:arm64 (>= 11.0.0)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

I think the real issue here is that the jazzy branch has a typo in the README: it calls-out ROS humble as a dependency. If I follow the instructions using Ubuntu 24.04 noble + ROS 2 jazzy + Gazebo harmonic, this repo builds as expected.
P.S. After building, there's an issue launching the simulation, but that's a different problem having to do with ros_control. Workaround is to start the simulation one part at a time, sim.launch.py, start the simulation by hitting the run button in Gazebo, create3_spawn.launch.py, then create3_gz_nodes.launch.py.


attempt to perform arithmetic (add) on nil and number

I got the following error when using the bytecode below:
fiu.lua:459: attempt to perform arithmetic (add) on nil and number
stacktrace:
fiu.lua:459 function readProto
fiu.lua:506 function luau_deserialize
fiu.lua:533 function luau_load
fiu.lua:1281

bytecode.tar.gz

Can you provide how you produced this?

Luau Source Code (if possible).
Compiler Luau Version.
Compiler Settings you used.
What Compiler was used (LuauInLuau or Luau).

Luau version: git commit 9649e5e446e02e5383c11e16b300ab4b426242a1
Compile options:
Luau::Allocator allocator;
Luau::AstNameTable names(allocator);
Luau::ParseResult result = Luau::Parser::parse(string, size, names, allocator);

std::string error_combined;
if (!result.errors.empty())
    throw Luau::ParseErrors(result.errors);
Luau::CompileOptions copts;
copts.optimizationLevel = 2;
copts.debugLevel = 1;

copts.vectorLib = nullptr;
copts.vectorCtor = nullptr;
copts.vectorType = nullptr;
Luau::BytecodeBuilder bcb;
Luau::compileOrThrow(bcb, result, names, copts);
const auto& bytecode = bcb.getBytecode();

Source isn't available, but this can be reproduced with most large scripts.

Changing Fiu's code to this seem to mitigate the problem:

Changing Fiu's code to this seem to mitigate the problem:

@green-real

Changing Fiu's code to this seem to mitigate the problem:

@green-real

I am having the same issue, with the exact same error. I am trying to make a simulation of a Roblox Exploit Executor inside a Roblox game, scripts like the UNC test runs properly, but the error occurs on big scripts such as this:
Dex Explorer.txt
Changing line 486 to what the user above has changed it to, did not fix the issue.
Compiler used: LuauCeption
Compiler Luau Version: 0.624

This issue seems to occur on pretty much every big scripts, such as Infinite Yield.

Try this instead
table_insert(instructionlineinfo, (abslineinfo[bit32_rshift(i, linegaplog2) + 1] or 0) + (lineinfo[i] or 0))

This should eliminate the error as we investigate the problem.

Try this instead
table_insert(instructionlineinfo, (abslineinfo[bit32_rshift(i, linegaplog2) + 1] or 0) + (lineinfo[i] or 0))

This should eliminate the error as we investigate the problem.

That fixed the issue, thank you!


[BEAM-9812] Fixing bug causing pipelines requiring temp tables to not work

The issue occurs here: https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/gcp/bigquery_file_loads.py#L333-L346
In line 343, the tableId for the job destination is replaced. Because parse_table_reference does not create a new object, the original object is overwritten, and thus copy jobs are issued from temp_table to temp_table instead of being issued from temp_table to final_table.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Python 3.6 PostCommit

running 3.6 PC: https://builds.apache.org/job/beam_PostCommit_Python36_PR/62/


Generation bugfix + refacturing

Started with fixing the batch size bug in the first commit and ended up with the refacturing of text generation.
main changes:

Fix batching bug in inference
Functions now pass through generation parameters.
removal of dead code
Getting interactive mode to run

I kept the generation config in NeoXArgs in order to pass from deepy to text_gen_gpt2.py.

thanks for the review @sdtblck

rename max_tokens to maximum tokens -> done
defaults to old values -> done
rephrase neox_args docstring -> done
use tokenizer.eod instead of tokenizer.eod_id -> done
I changed it to make transparent that the token id (int) not the token (string) is used. This is how huggingface implements it, which lead to my confusion. Looking at the not implemented property in the abstract class, this makes sense though.
user script setting -> done
reformat long code lines in text generation utils -> done
fix recompute -> done
The logic is the same (apart from the now fixed error of forgetting to reset layer_past for recompute). There is one change: recompute now only forwards all tokens up to the position in question. It used to be all tokens (padded to full seq_length). This compute is not necessary / later tokens are never used.

I wanted to remove duplicate lines (forward_model, logic for recompute and first iteration the same, get rid of counter variable only used here but spread through the function). I find the version now easier to understand. Could be the bias of having it written though.

done logic to a separate function -> still thinking about it, let's discuss it


README: fix prost-build documentation link

👍

Hi @matiasinsaurralde, the link is correct, but the docs build failed for 0.4.0.  #114 should fix that.


Native Routing, BGP Control Plane v2 and Gateway API: Unable to access IPv6 enabled HTTP route

Is there an existing issue for this?

[X] I have searched the existing issues

Version
higher than v1.16.0 and lower than v1.17.0
What happened?
I was testing Gateway API on a Talos based cluster, when I noticed that the v4 endpoint does respond, but v6 doesn't and instead returns network is unreacheable (which suggest that the traffic gets to Cilium which Hubble also shows).
How can we reproduce the issue?

Install Talos v1.8.0.alpha.1 (yes I know using an alpha might not be the best idea)
Install Cilium v1.16.0 with BGP Control Plane v2, Native Routing with Gateway API enabled
Setup gateway with IPv6 and IPv4 LB IP
Create an http route for said gateway
Try to access said http route via v6

Cilium Version
cilium-cli: v0.16.13 compiled with go1.22.5 on darwin/arm64
cilium image (default): v1.15.6
cilium image (stable): v1.16.0
cilium image (running): unknown. Unable to obtain cilium version. Reason: release: not found
Kernel Version
6.9.9-skylab-talos (Configs are at: https://github.com/skyssolutions/talos-kernel/tree/main/artifacts/kernel/build)
Kubernetes Version
Client Version: v1.30.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.2
Regression
No response
Sysdump
cilium-sysdump-20240805-141255.zip
Relevant log output
curl -v -6 https://argocd.kubelab.fi/
* Host argocd.kubelab.fi:443 was resolved.
* IPv6: 2001:14ba:7429:a400::10d:1bb
* IPv4: (none)
*   Trying [2001:14ba:7429:a400::10d:1bb]:443...
* connect to 2001:14ba:7429:a400::10d:1bb port 443 from 2001:14ba:7429:a400:a896:64d5:368:4291 port 53784 failed: Network is unreachable
* Failed to connect to argocd.kubelab.fi port 443 after 5503 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to argocd.kubelab.fi port 443 after 5503 ms: Couldn't connect to server

Anything else?
Using ArgoCD so that's why it reports incorrectly in cilium version.
Cilium's helm values are at: https://github.com/samip5/k8s-dev-cluster/blob/847d5303c2500da1b1530b604a0e94e9ea8825ca/kubernetes/infra/core/cilium/values.yaml
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm trying to setup a similar config, but can't see how to create a dual stack LB service.
It looks like the generated LoadBalancer Service will always have:
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack

Couldn't it be the reason it fails for you ?

That's interesting as it indeed has those, but still also loadbalancer.status shows both.
apiVersion: v1
kind: Service
metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: ingress.kubelab.fi
    io.cilium/lb-ipam-ips: <IP_ADDRESS>,2001:14ba:7429:a400::10d:1bb
  creationTimestamp: "2024-08-04T05:25:16Z"
  labels:
    io.cilium.gateway/owning-gateway: kubelab
  name: cilium-gateway-kubelab
  namespace: gateway
  ownerReferences:
  - apiVersion: gateway.networking.k8s.io/v1
    controller: true
    kind: Gateway
    name: kubelab
    uid: 91254ca4-7763-4341-983b-9a5671c75138
  resourceVersion: "757369"
  uid: 3f4aa334-46f5-406d-a9eb-860345976e1a
spec:
  allocateLoadBalancerNodePorts: true
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: port-443
    nodePort: 32058
    port: 443
    protocol: TCP
    targetPort: 443
  - name: port-80
    nodePort: 31576
    port: 80
    protocol: TCP
    targetPort: 80
  sessionAffinity: None
  type: LoadBalancer
status:
  conditions:
  - lastTransitionTime: "2024-08-04T05:25:16Z"
    message: ""
    reason: satisfied
    status: "True"
    type: cilium.io/IPAMRequestSatisfied
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>
      ipMode: VIP
    - ip: 2001:14ba:7429:a400::10d:1bb
      ipMode: VIP

I just did a quick test, and create a LB Service replicating this configuration (2 IPs requested in annotations, but SingleStack family policy), and I have the same behavior than the one you encounter:
works on IPv4, and returns Couldn't connect to server on IPv6.
I guess cilium is honoring the ipFamilyPolicy while routing packages, but ignores it for LB IPAM purposes.

Now that #34075 has a solution merged, let's talk about this one.
Seems like we need the Loadbalancer Service generation to be able to add the correct ipFamilly settings to the generated Service.
@Jean-Daniel, @samip5 do you have any thoughts about how you would like to ask for this? Should it be a global feature (that's the easiest), or would you want to be able to have different settings on a per-Gateway basis (that's much more difficult).

Now that #34075 has a solution merged, let's talk about this one.
Seems like we need the Loadbalancer Service generation to be able to add the correct ipFamilly settings to the generated Service.
@Jean-Daniel, @samip5 do you have any thoughts about how you would like to ask for this? Should it be a global feature (that's the easiest), or would you want to be able to have different settings on a per-Gateway basis (that's much more difficult).

I think it would be better to have a global one.

It would be consistent with gateway-api-service-externaltrafficpolicy, and may be enough for many use-cases (at least it would be enough for me).
If there is the need for a per-gateway value for these settings, it is always possible to introduce later something like a CiliumGatewayConfig CRD that would be reference in the gateway.spec.infrastructure field, to override the default gateway configuration or support envoy features not exposed by the Gateway API.

Thanks for that. I'll add this to our backlog and see what we can do.

Still relevant


nixos/qemu-vm: allow overriding networkingOptions

Description of changes
This makes it possible to completely override the networkingOptions (eg. to use a different network backend than user), which hasn't been possible since b8bfc81d5b2d88b734a311f712fc0ba2b267f9e0.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

which hasn't been possible since https://github.com/NixOS/nixpkgs/commit/b8bfc81d5b2d88b734a311f712fc0ba2b267f9e0.

Well, I did change the behavior but it's not impossible: you just have to use lib.mkForce.
In fact, I think it's better this way: changing networkingOptions easily brings unintended consequences and mandating a lib.mkForce make you think twice.

Are there other benefits to this hard-coding than facilitating forwardPorts?

  If you override this option, be advised to keep
  ''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the example)
  to keep the default runtime behaviour.

I personally oppose this change, but it's as relevant now as it was at the beginning.
I don't know if I should take the authory to just close PRs I don't like.

I personally oppose this change, but it's as relevant now as it was at the beginning.

Noted.

I don't know if I should take the authory to just close PRs I don't like.

I don't think we do this.

@rnhmjoj would you be more open to a documentation PR, that:

mentions that the user backend is hard-coded
explains how to override it with lib.mkForce

I was just about to say that, while I don't have strong opinions either way, the documentation definitely needs to be updated to a minima mention that the default is not [], and perhaps that it needs mkForce to be changed (as opposed to extended).

@rnhmjoj would you be more open to a documentation PR [...]

Yes, of course. This module has historically had poor documentation because it was not included in the manual by default and remained kind of obscure. It's also not enable by default, which makes it worse.


Notebook example page

Fixes #176

This looks super cool. I might be missing it, but should we have a "how to contribute" section somewhere on examples landing page that guides people to how we'd like bug reports and new examples contributed?

This looks super cool. I might be missing it, but should we have a "how to contribute" section somewhere on examples landing page that guides people to how we'd like bug reports and new examples contributed?

Yeah, I think we could add a note at the bottom saying something like: "If you would like to contribute or if you have spotted a bug, please create a PR or submit an issue to the main examples repo"

Thanks @nickerso, have added a line to the page and merging in now.


Support for CSPR token transfer

I've added a design ticket for this https://make-software.atlassian.net/browse/DESIGN-12


[REQUEST] ipmicfg support

The problem you currently have with this project
It'd be neat if I could issue custom ipmicfg commands via this project.
Describe the solution you'd like
ipmicfg -u user -p pass chassis power on for example

I think the easiest solution is to change the entrypoint in docker-compose. Installing all packages someone might need would make the image unnecessarily large.
I haven't found the correct alpine package for ipmicfg, but if there is one, you can install it like so:
version: "3"
services:
  upsnap:
    image: ghcr.io/seriousm4x/upsnap:3
    network_mode: host
    restart: unless-stopped
    volumes:
      - ./data:/app/pb_data
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
      interval: 1m
      timeout: 10s
      retries: 3
    entrypoint: /bin/sh -c "apk update && apk add --no-cache ipmitool && rm -rf /var/cache/apk/* && ./upsnap serve --http <IP_ADDRESS>:8090"

I will add this to the docker-compose.yml as an example.


Fixes the QGradient range error when starting the qt wallet.

The definition of the gradient was wrong. Changed it so that is valid and has nearly the same color.

Works perfectly on my end.


[Bug] Too many points on a mixed chart of scatter and line would cause canvas not to be cleared correctly

Version
5.4.3
Link to Minimal Reproduction
https://codesandbox.io/p/sandbox/large-scale-candlestick-forked-mtvc4k?file=%2Findex.js%3A135%2C19
Steps to Reproduce

Add a line series and a scatter series on one chart
scroll to zoom in and zoom out
The line would not be cleared properly on the canvas

Current Behavior

It seems like only the lines would be left on the canvas when zooming in and zoom out.
If I change one of the two specific types to another type, e.g., change 'line' to 'candlestick', the problem would not occur.
Expected Behavior
Lines and scatters be rendered properly together
Environment
- OS: macOS 12.7.2 (Apple M2)
- Browser: Version 120.0.6099.234 (Official Build) (arm64)
- Framework: React

Any additional comments?
No response

missing Minimal Reproduction - Sandbox not found

missing Minimal Reproduction - Sandbox not found

https://codesandbox.io/p/sandbox/large-scale-candlestick-forked-mtvc4k?file=%2Findex.js%3A118%2C5
what about this? Just changed its permission to public

adding large: true to all three series seems to work ok - Demo Code
📌 please close issue if problem solved.

It works on this minimal reproduction demo, but not on my own code 😭
Still trying to figure out if there are any other factors affecting the behaviour, such as type="time" or the series of my xAxis data not having fixed time intervals
If possible, keep the issue open and I'll update it whenever I have some progress. Thanks.

It seems that the demo works even without large: true with @helgasoft 's link. @bbeas Please make sure you are using the latest version. You'd better use ECharts's official link to create the demo. If the problem exists, you need to minify the code and remove all unncessary code to help find what caused this problem.

It seems that the demo works even without large: true with @helgasoft 's link. @bbeas Please make sure you are using the latest version. You'd better use ECharts's official link to create the demo. If the problem exists, you need to minify the code and remove all unncessary code to help find what caused this problem.

The problem could simply occur if I comment the large: true in @helgasoft 's demo code on my laptop (Macbook Pro M2 2022 with 16GB memory). It happens with both ECharts v5.4.3 and v5.5.0-rc.1. Do you have any ideas about this?

Fixed the problem by changing type: scatter to type: line and set lineStyle: {width: 0} to hide the line.
This could just achieve the expected behaviour without the problem above when zooming in and out.

Hmmm.
It's possible that problem comes from the
  tooltip: {
    trigger: 'axis'
  },

If you change trigger type to the 'item', behavior will be normal.  But it's not solve issue....... 🤔


.NET assemblies to the project references

Hi
Could you please clarify where exactly the refences are to be found?
In section are mentioned tow .NET assemblies:

Microsoft.VisualStudio.Modeling.Sdk.Integration.11.0.dll
Microsoft.VisualStudio.Modeling.Sdk.Integration.Shell.11.0.dll

I'm using VS2022 17.0 and i could not find this .NET assemblies in the nuget either.
Kind regards

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

ID: 2d35830e-6592-cee0-4025-59c1167c61f3
Version Independent ID: 37f34ecc-9d1a-bf43-905f-082b57ec9f68
Content: Integrating Models by using Modelbus - Visual Studio (Windows)
Content Source: docs/modeling/integrating-models-by-using-visual-studio-modelbus.md
Product: visual-studio-windows
Technology: vs-ide-modeling
GitHub Login: @mgoertz-msft
Microsoft Alias: mgoertz

@mdc17 -- thank you for your feedback.  Please consider these resources:

Visual Studio on Microsoft Q&A
Visual Studio MSDN Forum
Stack Overflow
Reddit

@mgoertz-msft -- please look into this issue.

@mdc17, @WilliamAntonRohm In Visual Studio 2022 these assemblies are just called:

Microsoft.VisualStudio.Modeling.Sdk.Integration.dll
Microsoft.VisualStudio.Modeling.Sdk.Integration.Shell.dll

It looks like we don't actually have NuGet packages for those, but they are in the Common7\IDE\PublicAssemblies folder of your VS 2022 installation.


PNG logos disguised as vector logos

This is an open source project for downloading free, high quality vector logos of Ethiopian companies.

For example the CBE logo is actually a PNG logo in the SVG:
https://github.com/Chapa-Et/ethiopianlogos/blame/main/logos/commercial_bank_of_ethiopia/commercial_bank_of_ethiopia.svg
Should we maybe delete such SVGs and fall back to the PNG instead until a vector logo is available?
Actually it's the case for most of the logos here.
The only actual vector logos I found are:

bandira_addis_map_entertainment/bandira_addis_map_entertainment.svg
chapa/chapa.svg
dangote/dangote.svg
zemen_bank/zemen_bank.svg

The problem is, that when reusing the logos, it's not clear which one is the primary / higher quality.
Another solution would be to put a hint in the logos.json to specify which one is the primary version and which one is the converted one.

We were hoping the companies could fix their logos. But putting a hint in the logos.json makes sense, either.


feat(pixels): add my new pixel

Checklist

[ ] I ran npm test locally and it passed without errors.

[ ] I only edited the _data/pixels.json file.

[ ] I entered the username in the pixels.json that I'm also using to create this pull request.
[ ] I acknowledge that all my contributions will be made under the project's license.

JaviPantoja feat(pixels): add my new pixel


Define Distance type for distance and radius values

What was wrong?
Throughout the code, we use u64::MAX as the default radius. This value covers a small fraction of the DHT key space. The default radius should be the entire key space, which is U256::MAX.
How was it fixed?

Define new Distance type as a wrapper type around U256.
Define associated constant Distance::MAX as U256::MAX.
Use Distance::MAX in place of u64::MAX.

To-Do

[x] Add entry to the release notes (may forgo for trivial changes)
[ ] Clean up commit history

@carver this sort of goes in the opposite direction of your prior comment and replaces the u64 in PortalStorage with the wrapped U256 representation. AFAIK we are not doing any in-database computations at this time. If needed, we can add a method to Distance that returns the highest 64 bits as a u64.

@carver just to clarify, you are okay with no method for u64 representation for now? Even if we added it here, it would be dead code.

@carver just to clarify, you are okay with no method for u64 representation for now? Even if we added it here, it would be dead code.

Yeah, agreed


_carousel.scss misses vendor prefixes for translate3d and transform

in _carousel.scss Line #30, Line #36, Line #41, Line #47 doesn't use vendor prefixes mixins. Because of that carousel's slide effect is broken on Safari (Safari still needs prefixes for translate3d). However, the compiled version  frpm CDN (https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.css) has all prefixes in place.
P.S. Vendor prefixes may be missed not only in _carousel.scss, I haven't check other files.

This is a known issue and has already been fixed in the next branch. Please use autoprefixer meanwhile, it's best to do so anyway. See #771 for more information.


Implement the weather API, enter the location, and get the correspond…

Implement the weather API, enter the location, and get the corresponding weather data. Next step: Combine the needs to display more abundant weather data

@Erio-Harrison