Add a simple PinotFS benchmark driver

This benchmark tests the performance of pinotFS operations.

2020/03/16 22:38:35.399 INFO [PinotFSBenchmarkDriver] [main] PinotFS has been initialized sucessfully. (mode = ALL, pinotFSClass = LocalPinotFS, configFile = /Users/snlee/workspace/pinot/pinot-tools/target/pinot-tools-pkg/config/sample2.conf, baseDirectoryUri = file:///Users/snlee/benchmark/base, localTempDir = /Users/snlee/benchmark/temp, numSegmentsForListFilesTest = 10, dataSizeInMBsForCopyTest = 100)
2020/03/16 22:38:35.409 INFO [PinotFSBenchmarkDriver] [main] ========= List Files in Multiple Directories ==========
2020/03/16 22:38:35.409 INFO [PinotFSBenchmarkDriver] [main] Created file:/Users/snlee/benchmark/base/listTestMultipleFile for list test...
2020/03/16 22:38:35.418 INFO [PinotFSBenchmarkDriver] [main] Took 9 ms to create 1 segments for directory_0
2020/03/16 22:38:35.438 INFO [PinotFSBenchmarkDriver] [main] Took 29 ms to create 10 segments for directory_1
2020/03/16 22:38:35.540 INFO [PinotFSBenchmarkDriver] [main] Took 131 ms to create 100 segments for directory_2
2020/03/16 22:38:36.552 INFO [PinotFSBenchmarkDriver] [main] Took 1143 ms to create 1000 segments for directory_3
2020/03/16 22:38:41.756 INFO [PinotFSBenchmarkDriver] [main] Took 6347 ms to create 10000 segments for directory_4
2020/03/16 22:38:41.822 INFO [PinotFSBenchmarkDriver] [main] 0: took 66 ms to listFiles. directory_0 (1 segments)
2020/03/16 22:38:41.822 INFO [PinotFSBenchmarkDriver] [main] 1: took 0 ms to listFiles. directory_0 (1 segments)
2020/03/16 22:38:41.823 INFO [PinotFSBenchmarkDriver] [main] 2: took 0 ms to listFiles. directory_0 (1 segments)
2020/03/16 22:38:41.823 INFO [PinotFSBenchmarkDriver] [main] 3: took 0 ms to listFiles. directory_0 (1 segments)
2020/03/16 22:38:41.823 INFO [PinotFSBenchmarkDriver] [main] 4: took 0 ms to listFiles. directory_0 (1 segments)
2020/03/16 22:38:41.823 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:41.824 INFO [PinotFSBenchmarkDriver] [main] 0: took 1 ms to listFiles. directory_1 (10 segments)
2020/03/16 22:38:41.825 INFO [PinotFSBenchmarkDriver] [main] 1: took 1 ms to listFiles. directory_1 (10 segments)
2020/03/16 22:38:41.826 INFO [PinotFSBenchmarkDriver] [main] 2: took 1 ms to listFiles. directory_1 (10 segments)
2020/03/16 22:38:41.826 INFO [PinotFSBenchmarkDriver] [main] 3: took 0 ms to listFiles. directory_1 (10 segments)
2020/03/16 22:38:41.827 INFO [PinotFSBenchmarkDriver] [main] 4: took 0 ms to listFiles. directory_1 (10 segments)
2020/03/16 22:38:41.827 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:41.833 INFO [PinotFSBenchmarkDriver] [main] 0: took 6 ms to listFiles. directory_2 (100 segments)
2020/03/16 22:38:41.837 INFO [PinotFSBenchmarkDriver] [main] 1: took 4 ms to listFiles. directory_2 (100 segments)
2020/03/16 22:38:41.843 INFO [PinotFSBenchmarkDriver] [main] 2: took 6 ms to listFiles. directory_2 (100 segments)
2020/03/16 22:38:41.847 INFO [PinotFSBenchmarkDriver] [main] 3: took 4 ms to listFiles. directory_2 (100 segments)
2020/03/16 22:38:41.851 INFO [PinotFSBenchmarkDriver] [main] 4: took 4 ms to listFiles. directory_2 (100 segments)
2020/03/16 22:38:41.851 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:41.872 INFO [PinotFSBenchmarkDriver] [main] 0: took 21 ms to listFiles. directory_3 (1000 segments)
2020/03/16 22:38:41.890 INFO [PinotFSBenchmarkDriver] [main] 1: took 18 ms to listFiles. directory_3 (1000 segments)
2020/03/16 22:38:41.906 INFO [PinotFSBenchmarkDriver] [main] 2: took 16 ms to listFiles. directory_3 (1000 segments)
2020/03/16 22:38:41.925 INFO [PinotFSBenchmarkDriver] [main] 3: took 19 ms to listFiles. directory_3 (1000 segments)
2020/03/16 22:38:41.942 INFO [PinotFSBenchmarkDriver] [main] 4: took 15 ms to listFiles. directory_3 (1000 segments)
2020/03/16 22:38:41.942 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:42.089 INFO [PinotFSBenchmarkDriver] [main] 0: took 147 ms to listFiles. directory_4 (10000 segments)
2020/03/16 22:38:42.191 INFO [PinotFSBenchmarkDriver] [main] 1: took 102 ms to listFiles. directory_4 (10000 segments)
2020/03/16 22:38:42.361 INFO [PinotFSBenchmarkDriver] [main] 2: took 169 ms to listFiles. directory_4 (10000 segments)
2020/03/16 22:38:42.461 INFO [PinotFSBenchmarkDriver] [main] 3: took 99 ms to listFiles. directory_4 (10000 segments)
2020/03/16 22:38:42.566 INFO [PinotFSBenchmarkDriver] [main] 4: took 105 ms to listFiles. directory_4 (10000 segments)
2020/03/16 22:38:42.566 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:42.566 INFO [PinotFSBenchmarkDriver] [main] ========= List Files ==========
2020/03/16 22:38:42.567 INFO [PinotFSBenchmarkDriver] [main] Created file:/Users/snlee/benchmark/base/listTest for list test...
2020/03/16 22:38:42.571 INFO [PinotFSBenchmarkDriver] [main] Took 5 ms to create 10 segments.
2020/03/16 22:38:42.571 INFO [PinotFSBenchmarkDriver] [main] 0: took 0 ms to listFiles.
2020/03/16 22:38:42.572 INFO [PinotFSBenchmarkDriver] [main] 1: took 1 ms to listFiles.
2020/03/16 22:38:42.572 INFO [PinotFSBenchmarkDriver] [main] 2: took 0 ms to listFiles.
2020/03/16 22:38:42.572 INFO [PinotFSBenchmarkDriver] [main] 3: took 0 ms to listFiles.
2020/03/16 22:38:42.573 INFO [PinotFSBenchmarkDriver] [main] 4: took 1 ms to listFiles.
2020/03/16 22:38:42.573 INFO [PinotFSBenchmarkDriver] [main]
========= Uploads and Downloads ==========
2020/03/16 22:38:42.573 INFO [PinotFSBenchmarkDriver] [main] Created file:/Users/snlee/benchmark/base/copyFiles for copy test...
2020/03/16 22:38:42.713 INFO [PinotFSBenchmarkDriver] [main] 0: took 138 ms to copyFromLocal, fileSize: 100 MB.
2020/03/16 22:38:42.850 INFO [PinotFSBenchmarkDriver] [main] 1: took 137 ms to copyFromLocal, fileSize: 100 MB.
2020/03/16 22:38:42.979 INFO [PinotFSBenchmarkDriver] [main] 2: took 129 ms to copyFromLocal, fileSize: 100 MB.
2020/03/16 22:38:43.096 INFO [PinotFSBenchmarkDriver] [main] 3: took 116 ms to copyFromLocal, fileSize: 100 MB.
2020/03/16 22:38:43.206 INFO [PinotFSBenchmarkDriver] [main] 4: took 110 ms to copyFromLocal, fileSize: 100 MB.
2020/03/16 22:38:43.206 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:43.329 INFO [PinotFSBenchmarkDriver] [main] 0: took 123 ms to copyToLocal, fileSize: 100 MB.
2020/03/16 22:38:43.440 INFO [PinotFSBenchmarkDriver] [main] 1: took 110 ms to copyToLocal, fileSize: 100 MB.
2020/03/16 22:38:43.553 INFO [PinotFSBenchmarkDriver] [main] 2: took 112 ms to copyToLocal, fileSize: 100 MB.
2020/03/16 22:38:43.668 INFO [PinotFSBenchmarkDriver] [main] 3: took 115 ms to copyToLocal, fileSize: 100 MB.
2020/03/16 22:38:43.782 INFO [PinotFSBenchmarkDriver] [main] 4: took 114 ms to copyToLocal, fileSize: 100 MB.
2020/03/16 22:38:43.783 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:43.890 INFO [PinotFSBenchmarkDriver] [main] 0: took 107 ms to copy, fileSize: 100 MB.
2020/03/16 22:38:43.993 INFO [PinotFSBenchmarkDriver] [main] 1: took 102 ms to copy, fileSize: 100 MB.
2020/03/16 22:38:44.103 INFO [PinotFSBenchmarkDriver] [main] 2: took 109 ms to copy, fileSize: 100 MB.
2020/03/16 22:38:44.212 INFO [PinotFSBenchmarkDriver] [main] 3: took 108 ms to copy, fileSize: 100 MB.
2020/03/16 22:38:44.320 INFO [PinotFSBenchmarkDriver] [main] 4: took 108 ms to copy, fileSize: 100 MB.
2020/03/16 22:38:44.321 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:44.321 INFO [PinotFSBenchmarkDriver] [main] 0: took 0 ms to rename, fileSize: 100 MB.
2020/03/16 22:38:44.321 INFO [PinotFSBenchmarkDriver] [main] 1: took 0 ms to rename, fileSize: 100 MB.
2020/03/16 22:38:44.322 INFO [PinotFSBenchmarkDriver] [main] 2: took 1 ms to rename, fileSize: 100 MB.
2020/03/16 22:38:44.322 INFO [PinotFSBenchmarkDriver] [main] 3: took 0 ms to rename, fileSize: 100 MB.
2020/03/16 22:38:44.322 INFO [PinotFSBenchmarkDriver] [main] 4: took 0 ms to rename, fileSize: 100 MB.
2020/03/16 22:38:44.322 INFO [PinotFSBenchmarkDriver] [main]
2020/03/16 22:38:44.334 INFO [PinotFSBenchmarkDriver] [main] 0: took 12 ms to delete, fileSize: 100 MB.
2020/03/16 22:38:44.345 INFO [PinotFSBenchmarkDriver] [main] 1: took 10 ms to delete, fileSize: 100 MB.
2020/03/16 22:38:44.358 INFO [PinotFSBenchmarkDriver] [main] 2: took 13 ms to delete, fileSize: 100 MB.
2020/03/16 22:38:44.370 INFO [PinotFSBenchmarkDriver] [main] 3: took 12 ms to delete, fileSize: 100 MB.
2020/03/16 22:38:44.383 INFO [PinotFSBenchmarkDriver] [main] 4: took 12 ms to delete, fileSize: 100 MB.
2020/03/16 22:38:46.620 INFO [PinotFSBenchmarkDriver] [main] Working directories have been cleaned up successfully.

Codecov Report

Merging #5160 into master will decrease coverage by 9.40%.
The diff coverage is n/a.

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


[Feature Request] Allow set default country code for phone auth

Step 3: Describe the problem:
In PhoneNumberUtils.java, the default country code and locale are hardcoded as US.
It does appear that the locale is automatically set based on a user's SIM, but it would be helpful to be able to set a default locale too.

is it possible to remove choose country spinner and set default country code? so users from the specified country can sign up.

@samtstern I believe this was fixed in FirebaseUI v2.4.0.

Nevermind, that was just to prefill the phone number. I'll add this feature to #1083.


Support PyTorch 1.13

🚀 Feature
Start testing 1.13 nightly to be ready for the next PyTorch release.
Motivation
Soon there will be a release of PyTorch 1.13. To be ready for it, I propose to start testing 1.13 nightly against our test suite.
Pitch

Open a PR updating the requirements, CI configuration etc.
Run the test suite.
Start fixing issues and tests

Additional context
Related: #15010

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Lite: enables pure PyTorch users to scale their existing code on any kind of device while retaining full control over their own loops and optimization logic.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning.

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch.

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging PyTorch Lightning, Transformers, and Hydra.

@carmocca @akihironitta if you have any comments or suggestions, please feel free to edit the description directly :)

1.13 will be released in ~3 weeks.


Misleading comment in application.yml

In the default configuration within application.yml, the following comment is located in the "advanced" section: "# Collections.shuffle(RandomManager.getRandom()) should be used instead of Collections.shuffle() "
However, the mentioned method has the following signature and does not accept a RandomGenerator (which RandomManager.getRandom() provides): public static void shuffle(List<?> list, Random rnd)
Instead, the user should be guided to use CollectionUtil.shuffle(List<?> list), which is included in Mork.

Thx for reporting! Will be merged in v0.16.
advanced.block config properties have been removed from the template in recent versions, updated the config to reflect the changes. If an invalid random usage is detected, a link to https://mork-optimization.readthedocs.io/en/latest/quickstart/bestpractices/#customized-random-generator is provided to the user, which should explain what has happened and how to fix it.


Asynchronous sending

Implement sending email asynchronously using threads

Hi...
Any prevision?
:smile:

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
k1nha, @gbombassaro, @fbocolowski, @Bruno-N-Fernandes, @taavs, @clovisdanielss, @ClaudioSiervi, @rubemz, @viniciusestevam, @jardelgoncalves-dev, @gabrielclaudino, @andrey59412678, @deprilula28, @GabrielDuarteMG, @itorisaias, @helenapaixao, @thulio, @hc3, @jacksonpm, @felipebueno

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
hayatocodejp, @furetosan, @AmandaxKatariny, @davidalencar, @michaelfdias, @marcusagm, @felipeprestess, @viliamjr, @brunobarros2093, @mracos, @mayronceccon, @rafasilveira, @Alexandre-Bernardes, @feikname, @deprilula28, @zomervinicius, @knnth, @Gabriellpa, @cristianoaredes, @wesleyegberto


Fix tooltips not opening on mobile

Closes #835
As tooltips on mobile are triggered via a click and we also close tooltips on click, this needs to check if the tooltip is actually open before it gets closed.
This still isn't perfect as if a user wants to open a tooltip again after closing it, they first need to click outside the trigger before it can be opened again. But I also think that's pretty much default behaviour.

This still doesn't work on iOS :/
If it works now on Android browsers, we can still merge it (though I can't test that). But yeah, would be great if it also worked on iOS.

I does work on android. Really no idea why it doesn't on iOS :(


Support parsing at text level

I don't think we want to go parsing arbitrary LaTeX text anytime soon, but I'd like to suggest a new top-level parse function that takes a string with zero or more instances of $...$, $$...$$, \(...\), \[...\], \begin{align}...\end{align}, etc., and returns a string with all those instances parsed and replaced by HTML.  Essentially I want to take out this part of auto-render / add new API to auto-render, enabling it to be used in other settings (e.g. not in browser, or before HTML has been put in an element).  I think this is a common use-case in any forum/post system that wants automatically embeddable LaTeX formatting, and indeed I already wrote one for my own system (which properly handles $\text{$x$}$, for example).  And it could also replace part of autorender.
So if you think it's a good idea, I can put together a PR relatively quickly.  And it seems like a nice way to handle \begin{align}, \begin{eqnalign}, etc. (see #501).
Update in 2021: #3239 requests essentially this for the CLI to process HTML files.

I would say this could start as a piece of contributed code, similar to the auto renderer, and might get moved into the core if we see a strong reason to do so.
One thing I would like to have is a flag (similar to the one for display mode) which states that the outermost mode is essentially vertical mode, and that it does contain exactly one display-style math environment. That would mean extracting the \begin{align*}…\end{align*} would remain the task of some contributed code for now, but once we get the implementation for this in place, we could handle the environment itself inside the core, in a sane way, by setting that flag.
While we are at it, here is one feature I have been considering a number of times: feed some text to a function which extracts all math TeX code, and replaces it by unique alphanumeric placeholder sequences. Allow processing the text with these placeholders using something else, e.g. a wiki syntax renderer of your choice. Once that's done, replace the placeholders with the HTML-rendered versions of the math content. That would mean that if wiki markup and TeX markup are processed at the same time, people could stop worrying about how one interfers with the other. I'm not sure if you consider this a good fit to be integrated with what you have in mind. If not, I may one day write this as my own piece of code.

this feature will be very much helpfull in serverside rendering 👍

I think this is a common use-case in any forum/post system that wants automatically embeddable LaTeX formatting

This is impossible to do correctly without support from the markup language, because you need to avoid certain contexts, such as code blocks, which are markup-specific.
By the way, if you use markdown via kramdown, server-side KaTeX rendering support is built-in (https://github.com/gettalong/kramdown/pull/489).

zzish/react-latex have the function  latexString which parse tex string to katex string. it would nice to have something in the katex library which will help rendering tex string at server side.

i think it's easy to add support in three lines , take a look at
https://github.com/hmzlam/katexWithDelimiters

@hmzlam The code you've linked won't work for Markdown if $$ is inside a code block (```).
It also won't work for HTML (e.g. inside <pre>, <script>, etc)

@glebm , many users want quickly a simple render to string with mixed text, they may add a parser for their own markdown, than render it in katex, we have auto-render.js, so we are not looking for a DOM parser, just very basic text+MATH with basic html tags like  nothing fancy.

Is it still not possible in 2020?

Is it still not possible in 2021?

hmm, seems an old issue and its 2021 now

So I ran into this issue where I wanted to display math equations in tippy.js toolboxes, but that didn't work since - presumably - data attributes are ignored. So I wrote this little ugly beast, that takes care of that, but only can display inline math (i.e. using only one $). Here it is:
$('[data-tippy-content]').each(function (index) {
let content = $(this).data()['tippyContent']
let allInstances = []
  for (let i = 0; i < content.length; i++) {
      let temp = ""
      if (content[i] == "$") {
          i += 1
          while (content[i] != "$") {
              temp += content[i]
              i += 1
          }
          i += 1
          allInstances.push(temp)
      }
  }
  let toReplace = {}
  for (let instance of allInstances) {
      var html = katex.renderToString(instance, {
          throwOnError: false
      });
      toReplace['$' + instance + '$'] = html
  }

  for (var key in toReplace) {
      content = content.replace(key, toReplace[key])
  }

  $(this).attr('data-tippy-content', content)

})`
P.S.: This is my first ever GitHub comment. Don't know why the code-thing looks so weird :(


Starts using configured Consul address.

Connecting to a Consul agent at a private network interface rather than the loopback one allows Decider to run in a container and to talk to a Consul agent outside of the container.

LGTM


Issue with server HMR

The HMR does refresh. But each time the code refreshes, the server code was the same as the initial build instead of new one. I have to go to the command and type 'rs' so that it manually reload the code.
Is there a way to auto reload the server code?

this is a bug we have to really fix this :)
Check #1069 they have the same problem, for now, we move this conversation on that issue so we have everything in one place.
thanks for your bug report


Doesn't work with Android targetSdkVersion 30

A message is displayed that no email application was not found.
The value of result.didOpen is false and Result.canOpen is false.
getMailApps() - result's length is 0.
But the gmail app is installed. And even links like mailto: from browser open in the gmail app.
Tested on Android 10, and Android 11.
flutter doctor result:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.1, on Microsoft Windows [Version 10.0.19042.630], locale ru-RU)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[!] Android Studio (not installed)
[!] VS Code (version 1.51.0)
    X Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (1 available)

Hmm maybe a permissions issue.

Hmm I just tested on both 10 and 11 and it worked on both. Can you try the sample app in the repo and see if it works for you?

Yes indeed. With a newly created flutter application, it works. But not in the application created six months ago.
Maybe the matter is in the MainActivity configuration?

My investigation shows that if in android/app/build.gradle set versions:
        minSdkVersion 21
        targetSdkVersion 30

then the email app is not found.
And if set:
        minSdkVersion 16
        targetSdkVersion 29

then everything works.

targetSdkVersion 30 is probably it with some new permission or something. Thanks for checking.

Yes, you are right. With version 30 - there is a problem. with 29 - no problem.

It's an issue with Android 30's new package visibility privacy requirements:
https://developer.android.com/training/basics/intents/package-visibility

It's an issue with Android 30's new package visibility privacy requirements:
https://developer.android.com/training/basics/intents/package-visibility

I fixed it by adding an intent query to my AndroidManifest.xml:
<queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="mailto" />
    </intent>
</queries>

I fixed it by adding an intent query to my AndroidManifest.xml:
<queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="mailto" />
    </intent>
</queries>

Hmm, is there a way for a library to include that so users of this package don’t need to?

Hmm, is there a way for a library to include that so users of this package don’t need to?

Would love a PR if so. No worries if you don’t have the time.

Would love a PR if so. No worries if you don’t have the time.

Fixed in 0.0.8 and 0.1.0-nullsafety.3.
Thank you @martyfuhry!

Fixed in 0.0.8 and 0.1.0-nullsafety.3.
Thank you @martyfuhry!

No problem, happy to help.

No problem, happy to help.


Publish the most recent model downloader revision

CC @atsyplen

Jenkins please retry a build

Jenkins please retry a build


1.6.0 bug

Every few minutes a warning appears:
(node:1902) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:1902) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
at /usr/lib/node_modules/laravel-echo-server/dist/channels/presence-channel.js:71:31
at Array.filter (<anonymous>)
at /usr/lib/node_modules/laravel-echo-server/dist/channels/presence-channel.js:71:81
(node:1902) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'socketId' of undefined

I am using presence channels.
This is what I found here in 71 line:
PresenceChannel.prototype.leave = function (socket, channel) {
        var _this = this;
        this.getMembers(channel).then(function (members) {
            members = members || [];
            var member = members.find(function (member) { return member.socketId == socket.id; });
---->   members = members.filter(function (m) { return m.socketId != member.socketId; });
            _this.db.set(channel + ':members', members);
            _this.isMember(channel, member).then(function (is_member) {
                if (!is_member) {
                    delete member.socketId;
                    _this.onLeave(channel, member);
                }
            });
        }, function (error) { return log_1.Log.error(error); });
    };

Seems like member is undefined.

There is also another warning:
(node:3009) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 10)
at /usr/lib/node_modules/laravel-echo-server/dist/channels/presence-channel.js:59:27
at PresenceChannel.onJoin (/usr/lib/node_modules/laravel-echo-server/dist/channels/presence-channel.js:85:14)
(node:3009) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'broadcast' of undefined

This is exactly this line:
PresenceChannel.prototype.onJoin = function (socket, channel, member) {
        this.io
            .sockets
            .connected[socket.id]
            .broadcast  <----
            .to(channel)
            .emit('presence:joining', channel, member);
    };

connected[socket.id] is undefined

same here

same here

I'm also experiencing this issue, looks like there is even a pull request with a fix in https://github.com/tlaverdure/laravel-echo-server/pull/535 would be great if that could make it's way into a version


[BUG] Title May Not Be Empty

What happened?

had a crash on our community server - no clue how or why it happened.

What should happen?

not crash

Steps to reproduce

I wouldn't know bc it happened on the community server

Version

[ ] 1.12
[X] 1.16

Platform

[X] Forge
[ ] Spigot

Mod version: dcintegration-forge-2.1.1-1.16.jar
Config file

https://pastebin.com/QR3ALE4L
REMOVE YOUR BOT TOKEN BEFORE UPLOADING!!!

Crash report if available (use https://hastebin.com)

https://pastebin.com/MmXSJF00

Additional info

bottom of log

It has something to do with the boss name, when I disabled the death message (or rather replaced it with plain text) being sent through it didn't crash.

Still happening (with latest version)?


Update the graphic and add bullet point

Also applies to the 1.3 branch and master/1.5. Thanks.

Thank you @lparis


Improve accessible figures with Jupyter docs

This adds some more information on how you can make Jupyter image outputs more accessible with alternative text by embedding them with image and figure directives. It also updates some of the labeling for the jupyter outputs to follow a type:label structure (like img:altair-horsepower instead of just altair-horsepower).
But does alt-text for images work for Jupyter outputs?
However I noticed that alt-text with a notebook image output doesn't seem to work properly. For example, if I do this to embed a matplotlib output:
![My alt text](#img:mpl)

Then the resulting alt text for the image is: <Figure size 640x480 with 1 Axes>. I suspect this is the default alt-text that you get from the notebook output. I would have expected the embed code to over-ride this.
Is this a bug? Or is it expected behavior, and we should recommend that people use {figure} instead of {image} to make notebook outputs accessible for screen readers?

We haven't considered alt-text for Jupyter outputs, as many of these can be interactive, tables, text, or other elements. I think that we could and should special case images and override the alt text in the case of a single image in an output. I don't know what we would do for other cases though? For figures, we are adding semantics of a figure > figcaption.

I am curious if this is related to this @choldgraf or the timing is just a coincidence?!

https://github.com/jupyter/enhancement-proposals/issues/120

@rowanc1 I've updated the PR to:

Only recommend {figure} for now.
Recommend and show a pattern for attaching one image output per cell.

LMK if this looks OK or merge if you like!

Ah yeah that makes sense - so for now we should just recommend wrapping visual outputs in a figure in order to set alt text with the caption. Does that sound right? IMO that is a reasonable first step that gets us most of the way there without adding more complexity.

the figure approach might not be the most ideal for images. figure semantics can be added to quite a few tags not just images, it is more of general catch all for labeling non-image things like qutoes, code blocks or poems. when AT users experience figure > img, the image is assigned the alt text of the figure caption if it does not have one already. this means that the alt text is read twice when AT users read a figure with a figcaption. if the caption is long then this is a labor intensive design choice for AT users who have to experience the alt text twice. the native solution for AT would be img tag with alt text, and the best verification would be to test with or include assistive technology users in these discussions.

Your multiple images point is a good one - is that generally not a recommended practice? And if so not then perhaps we should warn against it in the docs as well. I can see how things could be confused if we did stuff like attach a label to a cell with multiple outputs.

the assistive solution for multiple images or subplots would start with the area which includes alt text in regions of an image. if you're wrapping an entire region of outputs in in a figure then that makes sense. a figcaption with "display with 2 outputs for cell 4 in 9" would make sense, but then again, on AT, there are better solutions with groups roles. it really sounds like your figure directive is talking about a caption for the cell input rather than the output.


Simplifications not applied when running foundry-prove using the booster backend

When running a certain proof with kevm foundry-prove with the --use-booster option, I get a branching condition as follows, where BUF is a large b"..." expression (that I believe corresponds to some contract bytecode):
{ true #Equals #asWord ( #range ( #buf ( 32 , ( maxUInt160 &Int #lookup ( ?STORAGE:Map , 3 ) ) ) +Bytes #buf ( 32 , #lookup ( ?STORAGE2:Map , 0 ) ) +Bytes #buf ( 32 , #lookup ( ?STORAGE3:Map , 0 ) ) +Bytes #buf ( 32 , #lookup ( ?STORAGE4:Map , 0 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.#M\xaeu\xc7\x93\xf6z5\x08\x9c\x9d\x99$^\x1cXG\x0b" +Bytes #buf ( 32 , #lookup ( ?STORAGE0:Map , 4 ) ) +Bytes BUF , 160 , 32 ) ) <=Int maxUInt64 }
However, this expression could be simplified down to #lookup ( ?STORAGE0:Map , 4 ) <=Int maxUInt64 by applying the following two lemmas, which already exist in bytes-simplification.k:
    rule [range-included-in-cHead]:
      #range(B1:Bytes +Bytes _:Bytes, S:Int, W:Int) => #range(B1, S, W)
      requires S +Int W <=Int lengthBytes(B1)
      [simplification]

    rule [range-outside-cHead]:
      #range(B1:Bytes +Bytes B2:Bytes, S:Int, W:Int) => #range(B2, S -Int lengthBytes(B1), W)
      requires lengthBytes(B1) <=Int S
      [simplification]

In fact, if I run the above expression as a runLemma/doneLemma claim, it does simplify as expected. Also, if the same proof is run using the legacy backend instead of the booster, the expression is also simplified. I don't know why the lemmas are not being applied when running the proof with the booster.
I have shared a bug report with @geo2a for a previous version of the proof that was exhibiting the same problem (but with a different expression). In both cases the same two lemmas above are not being applied.

The booster doesn't apply rule that have side-conditions in them. But perhaps it could call the simplify endpoint before passing the term back, to make sure that returned terms are fully simplified?
Or perhaps we can do that from the pyk side?

@lucasmt would it be possible to generate a bug_report for a state just before this branch? we could then start booster with -l Rewrite -l Simplify and get a trace of the attempted rewrite + simplifications. That should hopefully tell us whether the booster even attempts to apply the above rules and if it does, why does it fail...

I got non-appliance of rules when running the legacy backend. So it could be that this is not only related to the booster after all.
In this case, the branching conditions are simplified correctly, but not the cells of the configuration (such as <output>).
A claim for the expected simplification of the cell passes as well.

We now have an experimental branch in Booster that calls the legacy simplifier in case of the branching result. This is roughly equivalent to calling simplify from pyk, but happens withing Booster.
I've tested the execute request mentioned above, and the K cell in the response now looks like:
      <k>
        JUMPI 10880 bool2Word ( maxUInt160 &Int #lookup ( ?STORAGE7:Map , 3 ) ==Int 0 )
        ~> #pc [ JUMPI ]
        ~> #execute
        ~> CONTINUATION:K
      </k>

Unfortunately, overriding kore-rpc-booster with kup seems broken now. Therefore, to use the experimental branch with KEVM, one needs to:

build hs-backend-booster from source of the experimental branch using the build instructions. I can help with the Haskell stuff.
Run proofs with `kevm foundry-prove --kore-rpc-command 'kore-rpc-booster --simplify-after-exec', making sure to use the locally built executable from step one.


2021-03 Redeploy CyHy Environment

Procedure
Pre-Redeployment Checklist

[x] Add the following to the Redeployments tracker
- [ ] [202X-XX](https://github.com/cisagov/cyhy_amis/issues/###)

[x] Determine a date for the redeployment, and set up a calendar invite so all parties are aware of the downtime.

Redeployments
Follow the build and deploy instructions.
Check off each service as it is redeployed to track the overall status. Once all services have been redeployed and functionality confirmed, close this issue and check off the month on the Redeployments tracker.
Status

[x] BOD

[x] Bastion
[x] Docker

[x] CyHy

[x] Bastion
[x] Dashboard
[x] Database
[x] Reporter
[x] Scanners

[x] Portscanners (nmap)
[x] Vulnscanners (Nessus)

Since we're moving to quarterly redeployments, should this redeployment get delayed until March/April?

dashboard redeploy currently impacted by https://github.com/cisagov/ncats-webui/issues/9, which I am trying to resolve.

The dashboard instance has been redeployed and is confirmed to provide dashboard functionality.


🚀 Feature: EntityCatalogGraphCard is unusable when having lot of children

🔖 Feature description
When a parent node has a lot of immediate children, it takes a lot of time to load and is also unusable.
🎤 Context
EntityCatalogGraphCard is unusable when having a lot of immediate children. Adding a way to control the max depth will make it more usable.
✌ Possible Implementation
Adding maxDepth prop for EntityCatalogGraphCard
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

The EntityCatalogGraphCard already has support for maxDepth here.
Is this for vertical or horizontal depth? Possibly related https://github.com/backstage/backstage/issues/18061.

@sennyeya It is for the horizontal depth (breadth of tree ).
Yes the issue is the same as https://github.com/backstage/backstage/issues/18061

Yep gonna close as a duplicate of #18061, let's keep the discussion focused there! 👍


feat: completed the header component

Description
This pull request completes the header component of the web application which follows the new design patterns

Related Issue
#34

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

I made a little adjustment to the homepage test.
please check it out to let me know what you think.
it is 3:30 am over here 😃


remove async from blacklist tracker methods

What was wrong?
When we disconnect from a peer we may want to also blacklist them.  The tracker.record_blacklist method is async which means that it can only be used from async methods.
When we are within something like the BootManager or RequestManager for a peer and we want to disconnect we must use Peer.disconnect_nowait because using await Peer.disconnect throws a cancellation error because of the inner call to Peer.cancel().
This means we must be able to issue a blacklist from a sync method.
How was it fixed?
Changed to using broadcast_nowait and removed the async nature of the methods on the blacklist tracker.
To-Do

[x] Clean up commit history

[ ] Add entry to the release notes PR

Cute Animal Picture

This async/sync thing is frustrating. I don't fully understand the problem here, you're saying that whenever we call Peer.cancel() a CancellationException might be thrown? And this is important because we sometimes call Peer.disconnect{,_nowait} from contexts where killing a peer shouldn't result in cancelling the calling service?
If you want to move on to working on something else I'm okay with approving this! But what about one of these solutions instead:

I'm pretty sure I'm understanding wrong, but if I got it right Peer.disconnect() could swallow the CancellationException, since throwing it sounds like behavior you'd rarely if ever want. It looks like all the calls to disconnect_nowait are from inside async contexts, so somehow fixing this would allow simplifying the interface by dropping disconnect_nowait entirely.

Maybe disconnect() can not call record_blacklist, and leave calling it to the callers? This would add some code but disconnect(DisconnectReason.bad_protocol) is only called in 5 places, each of those call sites could call record_blacklist themselves.

Maybe disconnect() can not call record_blacklist, and leave calling it to the callers? This would add some code but disconnect(DisconnectReason.bad_protocol) is only called in 5 places, each of those call sites could call record_blacklist themselves.

Hah, that's how it started a little while ago. My concern was that it's too easy for callers to forget to blacklist (IIRC it already happened once in the PR). Plus it forces the caller to make some decisions about how long to blacklist, etc. So I'm not a fan of that particular direction.

I think part of the complexity here is the shortfalls of the CancelToken API.  I'd consider the current dirtyness of the API a direct result of that and something that is likely to be able to be cleaned up significantly under the trio model where we get better control and more powerful tools to deal with cancellations.
As it stands, I tried getting rig of disconnect_nowait and the result was being unable to cleanly do an asynchronous disconnection from within the places where we currently use disconnect_nowait due to the cascading cancellation causing the call-site to blow up from being cancelled...

Since neither of you seem super keen on joining blacklist into the peer.disconnect(), what about the reverse? So blacklisting a peer would automatically disconnect them, if they are currently connected. That seems relatively reasonable: when would you want to blacklist a peer and stay connected to them?

@carver https://github.com/ethereum/trinity/issues/662

doh, i keep doing this.  merging when I think someone actually clicked "approve" but quickly realizing they were all just comments.... happy to cleanup anything post-merge or revert if anyone has comments they would like addressed.

As it stands, I tried getting rig of disconnect_nowait and the result was being unable to cleanly do an asynchronous disconnection from within the places where we currently use disconnect_nowait due to the cascading cancellation causing the call-site to blow up from being cancelled...

I'm still not sure I understand the problem, I guess I should play with this code, it sounds like a bug that calling disconnect would blow up the caller. That sounds like the root problem here!

Since neither of you seem super keen on joining blacklist into the peer.disconnect(), what about the reverse? So blacklisting a peer would automatically disconnect them, if they are currently connected. That seems relatively reasonable: when would you want to blacklist a peer and stay connected to them?

This sounds like it's worth a shot, but since this PR has been merged and it's not a huge deal that this method calls async from inside sync maybe this is something worth opening a ticket for and coming back to later.

@lithp switch any of the disconnect_nowait calls to be await disconnect( and run your client for a bit.  You might save some time just by putting an await disconnect somewhere in common.managers where it'll get hit reliably.


reset color problem fixed

Pull Request🚀
Description📄
This pull request addresses and resolves Issue #166, which was related to the reset color problem. The changes implemented ensure that all three sudoku functionalities now operate seamlessly, and the color resetting issue has been successfully resolved. The adjustments made guarantee a smooth user experience with no lingering color-related challenges.

@avirupnandi1 any updates?

Have done the changes, check once

I meant change the colour of the texts of the cells to black. @avirupnandi1


onReady doesnt work on Meteor application

Hello,
I've been trying to integrate braintree into my applicaiton, but I'm receiving an error which I can't figure out myself.
Here is code:
Template.paymentTemplate.onRendered(function(){

      paymentMethod = function (type) {
          console.log('initial');
          var config;
          config = configBrainTree(type);

          braintree.setup(Template.instance().clientToken, "custom", {
             paypal: { container: 'paypal-container', singleUse: true, },
             onError: function(error){
                console.log(error);
              },
            onPaymentMethodReceived: function (response) {
               if(response.type === 'CreditCard' && validCard())
                  var nonce = response.nonce;
                  console.log(response.type);
                  createTransaction(nonce);
              },
            onReady: function(integration){
                console.log(integration);
                Template.instance().currentIntegration.set(integration);
            }
          });
     }
 });

Template.paymentTemplate.onCreated(function(){

     var templateClientToken = Template.instance().clientToken;
     parentInstance = this;
     parentInstance.currentIntegration = new ReactiveVar(null);
     parentInstance.setup = new ReactiveVar(null);
});

Template.paymentTemplate.events({

    "change input[name='payment-method']" (event, template) {
        $("input[name='payment-method']").each(function(){
           if(this.checked) {
              $("#" + this.id +"-container").attr("style", "");
              var setup = paymentMethod(this.value);
              console.log(template.currentIntegration.get())
              if (template.currentIntegration.get()){
                 Template.instance().currentIntegration.teardown(setup);
              }
              else{
                 setup;
              }
          }
          else {
            $("#" + this.id +"-container").attr("style", "display:none");
          }
        });
    },
});

The problem is that onReady is always returning me "Uncaught TypeError: Cannot read property 'currentIntegration' of null" which breaks everything else. Any clue how I can solve this?
Thanks

Looks to me like the problem is that when you call Template.instance(), it is returning null, which looks like it might be a problem with your Meteor setup, not your Braintree code. I'm going to close this now, but if you think it is actually an issue with the Braintree SDK, feel free to re-open it and include a link to a Github repo that can reproduce the issue.


Adding page of Login

It's nice a page of login to can access page management crons (sorry my wrong's english).

You can setup nginx http auth. Refer this.

Thank's


Write access logs in the same format used by nginx

Nginx access logs have lots of useful information, namely:

referer
HTTP method
source IP
BasicAuth user
HTTP Status Code

If carbonapi produced logs in the same format and with the same information we could reuse every system that understands Nginx access logs and be able to monitor and query carbonapi logs in the same way

I'm hesitant to move logging back to syslog instead of stdout.  Could you update your package to allow sending formatted logs to stdout also?

It seems that syslog can become a bottleneck more often than stdout or even a file on the disk, I agree with you that we shouldn't write directly to syslog.

Commit https://github.com/dgryski/carbonapi/commit/9e207ccc3f5ba4eb0715eb4963a76c1cd831ec34 prints the access logs in the combined log format to STDOUT.
In order to print them to the correct destination we need to accept the following pull request: https://github.com/dgryski/carbonzipper/pull/19

Closed with 305fc5075c3221f135c1897101378111d129f4df


RMD admins can manually add/confirm a DOI for incoming publications

For each publication that ends up in the manual DOI verification list, RMD admins will need to be able to take one of the following actions:

If the DOI from Activity insight is actually correct despite failing automatic verification, then the admin will simply need to be able to manually flag the DOI as confirmed.
If the DOI from Activity insight is not correct, then the admin will need to be able to update the publication with the correct DOI and flag it as confirmed.
If no DOI was imported from Activity Insight, but a DOI for the publication does exist, then the admin will need to be able to enter and confirm the DOI.
If the publication has no DOI, then the admin will need to be able to leave the DOI field blank and still flag it as confirmed to indicate that a DOI does not exist.

In each case above, one result of the action is that the DOI is flagged as confirmed. In addition to saving the state of this flag, taking any of these actions will need to kick off the next automated step in the workflow. This may result in enqueueing the same kind of background job that that gets created as a result of a successful  automatic DOI verification.
The existing RMD admin UI already provides a decent way to do data entry (such as adding or updating a DOI), so we may be able to leverage that to some extent for this and future issues. Or, it may make more sense to for us to create a custom UI to do the data entry from the list (which we'll ultimately want to do regardless). In either case, after the correct DOI has been saved, the admin will need to be able to take a custom action from the list that will confirm the DOI and kick off the next step in the workflow.

To make this as simple as possible on the first pass, we will link to the record in the rails_admin to be edited.  We can plan to make a more user friendly custom UI in the future.


refactor: remove duplication of query construction

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@699ae93). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #4   +/-   ##
=======================================
  Coverage        ?   78.26%
=======================================
  Files           ?        1
  Lines           ?       92
  Branches        ?        0
=======================================
  Hits            ?       72
  Misses          ?       13
  Partials        ?        7

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 699ae93...5522792. Read the comment docs.

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Recently Opened Collections

Support Option to Open Recently Opened Collections
Like how VSCode does it

I merged pr #1585 which hides this menu for windows and linux OS
The  Electron recent documents API \ open file event  only has support for macOS so hiding on other platforms for now.
Re-Opening this ticket as we need to figure out how to make this functionality available for WIndows, Linux
Many times, people forget the collection paths that they had earlier opened.
One approach is to keep a record of the recently opened collections (in electron-store), and show a modal in the UI for Windows / Linux


When creating file using -Path c: without a backslash, file created in the drive root and not in the current folder.

Steps to reproduce
PS C:\Folder> New-Item -Path c: -Name testfile.txt

Expected behavior
File is created in the C:\Folder directory

Actual behavior
File is created in the root of the drive c:\

Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.1.0-preview.705
PSEdition                      Core
GitCommitId                    v6.1.0-preview.705
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@sethvs  - I Don't think this is an issue as this is expected behaviour because you are telling New-item to create the file in the C: directory
If you leave off -Path C: it will create that file in the current directory which in this case is C:\Folder

@kilasuit It is the behavior of the 6.1.0-preview.2 version and earlier.

@sethvs - I think this is expected behaviour and your use is more of an incorrect edge use case than being an actual issue - because you are explicitly telling New-Item what Path you want it to create in which is C: - as far as i know this is how New-Item has worked since v3 and whist it never crosses my mind to ever use drive directories without the slash this I don't think is unexpected behaviour in the slightest
if you had
New-Item -Path C:\folder1\folder2\ -Name testfile.txt

this will create the file in C:\folder1\folder2\  which is in my opinion exactly as it was designed to do so and ergo is the designed and expected behaviour.
However if you do this
Set-Location C:\folder1\
New-Item -Path .\folder2\ -Name testfile.txt

this creates this in the folder2 directory as intended
also take this example
Set-location HKLM:\
New-Item -Path C:\temp -Name Test.ps1 -Value '$pwd'

You would not expect a ps1 file to be created in HKLM - or would you?

I'd add that the behavior came from cmd.exe - dir c;  works as dir c:\.

Guys, please pay attention:
Windows PowerShell 5.1: file is created in current path - C:\Folder
[5.1] PS C:\Folder> New-Item -Path c: -Name testfile.txt

    Directory: C:\Folder

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        6/14/2018  12:30 PM              0 testfile.txt

PowerShell Core 6.0.2: file is created in current path - C:\Folder
[6.0.2] PS C:\Folder> New-Item -Path c: -Name testfile.txt

    Directory: C:\Folder

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        6/14/2018  12:32 PM              0 testfile.txt

PowerShell Core 6.1.0-preview.2: file is created in current path - C:\Folder
[6.1.0-preview.2] PS C:\Folder> New-Item -Path c: -Name testfile.txt

    Directory: C:\Folder

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        6/14/2018  12:28 PM              0 testfile.txt

PowerShell Core 6.0.1-preview.3: file is created in root path - C:\
[6.1.0-preview.3] PS C:\Folder> New-Item -Path c: -Name testfile.txt

    Directory: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        6/14/2018  12:29 PM              0 testfile.txt

Again, this was changed with PR #6774.
My fix for this is in #7033.

@iSazonov Nope.
dir c:\ lists the root of the drive
C:\Folder>dir c:\
 Volume in drive C has no label.
 Volume Serial Number

 Directory of c:\

06/13/2018  11:02 AM    <DIR>          Program Files
05/30/2018  09:08 AM    <DIR>          Program Files (x86)
12/28/2017  04:25 PM    <DIR>          Temp
05/13/2018  05:43 PM    <DIR>          Users
05/13/2018  06:00 PM    <DIR>          Windows

etc...

while dir c: lists current folder
C:\Folder>dir c:
 Volume in drive C has no label.
 Volume Serial Number

 Directory of C:\Folder

06/14/2018  12:32 PM    <DIR>          .
06/14/2018  12:32 PM    <DIR>          ..
06/14/2018  12:32 PM                 0 testfile.txt
               1 File(s)              0 bytes
               2 Dir(s)

@sethvs Please update the PR description with the samples..

@iSazonov Done.


Dynamic Model Reference and depends_on hint

Describe the feature
I want to be able to dynamically union models depending on runtime variables.  For example, we have Customers A, B, C. Customer A has models 1,2,3. Customer B has models 1,2. Customer C has models 2,3. I need to be able to dynamically union these models together, so when I call dbt run for Customer A I want to union models 1,2,3; Customer B union models 1,2; and Customer C union models 2,3. I am currently running into an issue where DBT is asking for a depends_on hint. It is important that I can dynamically change the dependencies on a model given variables. Open to any suggestions/alternatives!
dbt was unable to infer all dependencies for the model "combined_performance".
This typically happens when ref() is placed within a conditional block.
To fix this, add the following hint to the top of the model "combined_performance":
-- depends_on: {{ ref('stg_google_performance') }}
> in macro get_ad_relation (macros/get_customer_attributes.sql)
> called by model combined_performance (models/ads/combined_performance.sql)
> called by model combined_performance (models/ads/combined_performance.sql)
Example of dbt run:
dbt run --vars '{"Customer":"A"}'
dbt run --vars '{"Customer":"B"}'
dbt run --vars '{"Customer":"C"}'
Describe alternatives you've considered
None
Additional context
Using Snowflake.
Who will this benefit?
Anyone who is building a dbt model for many customers/variations.
Are you interested in contributing this feature?
Yes

Thanks for the walkthrough @brittianwarner. I don't think this is going to be possible today. dbt needs to be able to construct the dependency graph without stepping through Jinja conditional statements, hence the -- depends_on hint. While we may someday do the work to support single-pass Jinja rendering, that's a massive undertaking and we'll track progress there separately.
In the meantime, here are the options I see:

Changing your data model: In general, I recommend creating unioned versions of models 1, 2, and 3 that include data for all customers. This saves a lot of duplicated transformation logic, and the complexity of separate var-driven invocations. Then, you filter at the very last step by the customer that you need in the moment. By that point, you likely don't need a dbt var; it would be much more powerful as a BI parameter, or logic encoded into a data sharing layer.

Placeholder tables: Create empty source tables + models for customers who do not have a given dataset. This could be as simple as

create customer_b_source.google_performance as (select * from customer_a_source.google_performance limit 0);

I know I recommended something similar in https://github.com/fishtown-analytics/dbt/issues/2673.

Thanks, @jtcohen6!  Unfortunately, it would be a huge headache to build different versions of the model for each Customer as we could in theory have 20 models and we would have to support any combination of those depending on the customer.  Let me think a bit more about your second recommendation and I will get back to you.
In general, I feel it would be extremely powerful to be able to set dependencies based on a set of variables at runtime.  Our use case involves having a dbt job for 100+ customers that all have their own "gotchas" so having this flexibility would be awesome.
Another idea...  Is there a way to manually add a dependency via a macro or something?

Is there a way to manually add a dependency via a macro or something?

What have you got in mind?

I haven't fully thought through it, but it would be nice to insert/update/delete dependencies before any models execute.  So I am picturing some sort of pre-run operation where I can change a dependency based on a variable or lookup table.  So for my example, I would pass a customer_id to 'dbt run' and then I would have a macro that would lookup configuration data and set dependencies on the fly.  Thoughts?

I think I may have figured it out... I went ahead and added all of the depends_on hints at the top of the model and built a macro to build the sql needed... Here is an example:
`{% macro get_relation()  %}
{% set sql %}
select distinct
coalesce(concat('stg_',replace(b.model,'-',''),'performance'),concat('default',replace(b.model,'-',''),'_performance'))   as integration_type
from model_lookup a
left join model_lookup b
on b.model = a.model
and b.customer_id = id
where a.model ilike any ('model1','model2','model3','model4','model5')
and b.model is not null
{% endset %}
{% set relations = run_query(sql) %}
{% set relations_list = [] %}
{% if execute %}
{% for relation in relations.columns[0].values() %}
select
*
from {{ ref(relation) }}
{% if not loop.last -%} union all {%- endif %}
{% endfor %}
{% endif %}
{% endmacro %}
{{
config(materialized='table')
}}
-- depends_on: {{ ref('model1') }}
-- depends_on: {{ ref('model2') }}
-- depends_on: {{ ref('model3') }}
-- depends_on: {{ ref('model4') }}
-- depends_on: {{ ref('model5') }}
{{ get_relation()}}
`

@jtcohen6 Making sure you saw this.

That's a neat approach! I think the critical piece is that you're including the following, outside of any conditional logic:
-- depends_on: {{ ref('stg_model1_performance') }}
-- depends_on: {{ ref('stg_model2_performance') }}
-- depends_on: {{ ref('stg_model3_performance') }}
-- depends_on: {{ ref('stg_model4_performance') }}
-- depends_on: {{ ref('stg_model5_performance') }}

Even if you don't end up selecting from all these models each time, dbt is able to build the dependency graph and establish them as parents (well, potential parents). Then, your macro can tell you which ones you actually need for a given customer.
The database lookup feels like an unnecessary complexity, though that depends on how many potential customer-models variations you have and how often those mappings change. If the number of mappings is relatively stable and limited in number, I'd think about an approach like:
{% macro customer_model_mapping()  %}

  {% set mappings = [
    {"customer": "A", "model_types": ('model1', 'model2', 'model3')},
    {"customer": "B", "model_types": ('model1', 'model2')},
    {"customer": "C", "model_types": ('model2', 'model3')}
  ] %}

  {% do return(mappings) %}

{% endmacro %}

{% macro get_models_for_customer(customer_id) %}

  {% set customer_dict = customer_model_mapping()|selectattr("customer", customer_id) %}
  {% set models_for_customer = customer_dict['model_types'] %}

  {% do return(models_for_customer) %}

{% endmacro %}

Whether you encode the variable into your macros, or pass it as an argument from your model, is totally up to you:
{{
	config(materialized='table')
}}
-- depends_on: {{ ref('stg_model1_performance') }}
-- depends_on: {{ ref('stg_model2_performance') }}
-- depends_on: {{ ref('stg_model3_performance') }}
-- depends_on: {{ ref('stg_model4_performance') }}
-- depends_on: {{ ref('stg_model5_performance') }}

{% set model_list = get_models_for_customer(var('customer_id')) %}

{% for model_name in model_list %}
{% set relation = `stg_` ~ model_name ~ 'performance' %}

  select
      *
  from {{ ref(relation) }}
{% if not loop.last -%} union all {%- endif %}
{% endfor %}
{% endif %}

I'm going to close this issu. It's a complex problem, and there are (a number of) complex approaches already possible today :)

Hi folk. I'm still facing this challenge.
I need to be able to dynamically generate a list of depends_on models as my use-case scales rather quickly.
Does anyone have any updates on better ways to do this?

@john-joseph-noonan
Did you find a solution?
I have a model where I union all models that start with some_prefix dynamically:
WITH unioned_messages AS (

    {% for model in graph.nodes.values() if model.name.startswith('some_prefix_') %}
        SELECT * FROM {{ref(model.name)}}
        {% if not loop.last %}
        UNION ALL
        {% endif %}
    {% endfor %}

)

You can force dependencies, but I haven't found a way to do that dynamically as well
@jtcohen6 Perhaps you know how to approach that?

@john-joseph-noonan
Did you find a solution?
I have a model where I union all models that start with some_prefix dynamically:
WITH unioned_messages AS (

    {% for model in graph.nodes.values() if model.name.startswith('some_prefix_') %}
        SELECT * FROM {{ref(model.name)}}
        {% if not loop.last %}
        UNION ALL
        {% endif %}
    {% endfor %}

)

You can force dependencies, but I haven't found a way to do that dynamically as well
@jtcohen6 Perhaps you know how to approach that?

Unfortunately, it seems like it's not possible. I searched through the dbt Slack channels and every arrives on the same conclusion, that it's not yet possible.

Thanks
I did not solve it either, I used a workaround where I do not use the ref function and reference the models that finish the latest in the run via -- depends_on:.
This makes sure that the model runs after the unioned models (at least for now and likely as well if new models are added)

I found a way around this by adding this to the top of my file to dynamically generate the depends_on comment:

{% for model in[<list_of_model_names] %}
{% set depends_on = "--depends_on: {{  ref( '" ~  model[0] ~ "' )  }}" %}
{{  depends_on  }}
{% endfor %}

compiled as:

--depends_on: {{  ref( '<model name 1>' )  }}

--depends_on: {{  ref( '<model name 2>' )  }}

--depends_on: {{  ref( '<model name 3>' )  }}

It's not the prettiest but it works

I have a similar issue with a dynamic dependency, but in a generic test that takes as a parameter a macro referring to other tables.
This adds the complexity that graph.nodes doesn't exist at compilation but does at execution, so I have to add a condition for that to not fail at test compilation.
{% test is_count_inferior_to_all_N_M_versions(model, all_versions_macro_name) %}

{% if execute %}
    {% for model in graph.nodes.values() if '_all_versions_v' in model.name %}
        {{ log("-- depends_on: {{ ref('" + model.name + "') }}") }}
        {% set depends_on = "-- depends_on: {{ ref( '" + model.name + "' ) }}" %}
        {{ depends_on }}
    {% endfor %}
{% endif %}

with all_versions as (

    select
        1 as pk,
        count(*) as all_versions_count
    from (
        -- We can't pass a macro directly in the YML so we get it from the context, which only exists during execution
        {% if execute %}
            {% set all_versions_macro = context.get(all_versions_macro_name) %}
            {{ all_versions_macro() }}
        {% else %}
            select 1  -- default value for compile to succeed outside of execution
        {% endif %}
    ) as a
    where a.action_type in ('N', 'M')

),

last_version as (

    select
        1 as pk,
        count(*) as last_version_count
    from {{ model }}

)

select
    all_versions_count,
    last_version_count,
    all_versions_count - last_version_count as diff
from last_version
inner join all_versions
    on last_version.pk = all_versions.pk
where last_version_count > all_versions_count

{% endtest %}

Sadly, it doesn't work. I still get the compilation error.
I know the string generation is correct because if I simply copy-past what the lines printed by the log function and add them to my test definition, it works. But I don't want to do that because the concerned models will evolve in the future, and I don't want to have to change those comments manually every time (and probably forget about it at some point).

We've run into this issue again and again over the last few years - dynamic dependency seems like such a useful feature, can we reopen this please?


SPIRE Integration also needs to sign ResolutionRequest's status and PipelineRun's status

Feature request
The TEP-0089 only mentions the importance of signing the content of TaskRun's status.
When integrating SPIRE, we also need to sign remote ResolutionRequest's status and PipelineRun's status.
Use case

ResolutionRequest's status

ResolutionRequest Status contains 2 important pieces of data: status.data and status.source. status.data is the place to store the original remote content resolved by the remote resolution controller, and status.source is the place to record the source information where the remote resource came from.
Therefore, we need to sign the status content to make sure both status.data and status.source is trustful.

PipelineRun's status

Similar to TaskRun status, PipelineRun status contains important information as well i.e. status.childReferences,  status.taskruns and status.provenance.
To generate pipelinerun level provenance, Chains just looks up the status of PipelineRun CRD. Therefore, we need to guarantee the integrity there as well.

cc @lumjjb @jagathprakash @wlynch

The SPIRE mechanisms are a great fit for these use cases!

Let us know how we can help with is. Great use cases.

This feels like something that should be frozen!
/lifecycle frozen


[Frontend] openAI entrypoint dynamic adapter load

My specific use case requires continuously finetuning the model based on user feedback. after each finetuning job, id like to allow the users access to the finetuned version without redeploying the entire model.
adding the finetuned adapters to the running pod is relatively simple (although dynamic loading from static storage like S3 would be appreciated down the line), but i require the option to add new adapters from storage

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

Closing as superseded by #6566


luisgen errs out when using stdin

Tool
Name: luisgen
Version: 2.0.2
OS: MacOS 10.14.4
Describe the bug
luisgen throws err when input is from stdin
To Reproduce
Steps to reproduce the behavior:

Ran this command:

luis export version --appId 8f4....42-e2df-49ae-a941-2527653ac841 --versionId 0.2 --authoringKey b95b75f1b7d...cb90e25ca758008cc | luisgen --stdin -cs

Received this error:

192-168-0-46:RocketInsurance.Bot rob$ luis export version --appId 8f4....42-e2df-49ae-a941-2527653ac841 --versionId 0.2 --authoringKey b95b75f1b7d...cb90e25ca758008cc | luisgen --stdin -cs
LUISGen <LUIS.json> [-cs [CLASS]] [-ts [INTERFACE]] [-o PATH] [-v] [--version]
From a LUIS export file generate a strongly typed class for consuming intents and entities.
If the input is -, will get the export file from stdin.
At least one of -cs or -ts must be supplied.
-cs [CLASS] : Generate C# class file including namespace.  Default is Luis. if no class name is specified.
-ts [INTERFACE] : Generate Typescript interface descriptions.  Default is  if no class name is specified.
-o PATH : Where to put generated files, defaults to directory where export file is.
-v --version : Report the LUISGen version.
events.js:183
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at WriteWrap.afterWrite [as oncomplete] (net.js:868:14)
Expected behavior
No error
Additional context
I tried this with several LUIS apps and all failed w/ the same result
[bug]

I am facing the same issue, please help.

If you look at the documentation in your bug, you will see that it does not list --stdin as a flag, it is just "-".  Maybe we should add it, but this should work for you:
luis - -cs

Fix to this issue has already been committed some time ago. @cleemullins when are we expected to release a new version of luisgen?

+Chris McConnell
The Release of LuisGen is up to the LUIS team. 😊
//Chris
From: AmirGeorge<EMAIL_ADDRESS>Sent: Monday, April 15, 2019 10:34 AM
To: Microsoft/botbuilder-tools<EMAIL_ADDRESS>Cc: Chris Mullins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/botbuilder-tools] luisgen errs out when using stdin (#1040)
Fix to this issue has already been committed some time ago. @cleemullinshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcleemullins&data=02|01|Chris.Mullins%40microsoft.com|2c96f34b04ad417ed1c708d6c1c89322|72f988bf86f141af91ab2d7cd011db47|1|0|636909464541297318&sdata=mUb0w%2B9nf0WA4uUk%2B8S5oGOXYiKtLHagZc9uP2VKNMY%3D&reserved=0 when are we expected to release a new version of luisgen?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fbotbuilder-tools%2Fissues%2F1040%23issuecomment-483346736&data=02|01|Chris.Mullins%40microsoft.com|2c96f34b04ad417ed1c708d6c1c89322|72f988bf86f141af91ab2d7cd011db47|1|0|636909464541297318&sdata=eqhIkKTkhMsqA7zWZ7B3ErgUdm6EcvGRvhE9h%2FRfrX8%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABHICf4jIikQfi51LgpkX1uwOSty_cvvks5vhLgUgaJpZM4cSrCA&data=02|01|Chris.Mullins%40microsoft.com|2c96f34b04ad417ed1c708d6c1c89322|72f988bf86f141af91ab2d7cd011db47|1|0|636909464541297318&sdata=XFWZ99AQ9aGTpk8CmkBuPX4tmeFnnc5OV9yaZYkQoJg%3D&reserved=0.

Fix already committed and will be pushed with the next release.


[docs] Add resource requirement for creating an account

Add a how-to on creating an account after the system contract is loaded?
Add resource requirement in Before you begin section

update issue description. it should be about cleos system newaccount

I am not sure how to go about this, we already educate our users that for creating an account (and doing anything on an EOSIO based network) one has to stake resources to be able to transact or/and store data on the chain.
There's really not an easy way to say how much of each resource is needed, again, we explain that already.
I'd say this issue is "not an issue" or "will not fix" resolution.

This issue does not require to describe how much resource is needed that would extend the scope of this issue.
As long as it describes the resource requirement it would already improve the doc as other documentation on system commands have already done

Also this is for the new users instead of for people who are already familiar with EOSIO

The "resource requirement" is described already here: https://developers.eos.io/manuals/eosio.contracts/latest/index/#stake
and yes it is addressing to new users that are getting familiar with EOSIO based blockchain concepts.


add table-layout to make cell equal

Closes https://github.com/carbon-design-system/gatsby-theme-carbon/issues/708
I add table-layout: fixed to make every column have same width.
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

oops, Ok let me fix it

hi @vpicone, should we split this table to 5 equal column ? Right now, the column width depend on the column width content.

@xxxle0 it's in general I think it's probably better just to stick to what the designer was asking for, thanks again for the PR!


Remove all test_mnist_tutorial_*.py

These tests are really slow to run, flakey, and should be replaced by unit tests of each individual method.

I think they should be sped up, rather than removed. They're the only thing we have resembling an integration test. Integration tests are important as well as unit tests.

Also, before we had the tests, people routinely made edits to the tutorials themselves that broke the tutorials.

Given that #155 cut testing time to about 12mn, I'm going to close this for now. Once unit test have a better coverage of the code base, we can decrease the test time even more by further reducing the problem size of tutorial tests.


Angular AOT @decorator strip

Hello
I have a very specific use for decorators in my angular application.
What i want to do is to store some components to reuse them for dynamic page rendering. As i want to create a module which does this dynamic rendering stuff out of the box i want to be able to mark components to be the handler if a specific page type from a cms system.
I added @pageTypes('mypagetype') before the @component definition and it works very well.
What the @pageTypes does:
export function pageType(type: string) {
  return function(
      target: Function // The class the decorator is declared on
      ) {
        const store = di.getStore('contentcomponents');
        store.set(type, target);
  };
}

In my dynamic page rendering module i can do a store.get for the page type and can inject this component as described in
https://angular.io/guide/dynamic-component-loader
With aot this does not work as the information seems to be removed as only specific decorators are allowed. If aot is disabled it works really wonderful and it's super easy to create new content types to fill the website with informations from a CMS.
Additionally i use the same technique for widgets in the content area.
So the user is able to stack the contents together as he wants and can rearrange it in the backend and the angular frontend renders the page with the selected type and widgets.
What do you think is the best way to get this up and running with AOT?
I already tried to overwrite @component and a few other things like executing the stuff in the component file after the class definition but nothing worked.
Thanks
Dominic
Versions
angular: 5.0.3
cli: 1.6.0-rc1

Actually i checked the code of the compiler and found out that the main reason was that the AOT compiler causes that the modules are linked differently and they are not usable like i wanted with AOT. I changed it and now i just initialize my submodule withComponents([mycomps]) and it worked for me.
This is more about the compiler than the cli.


Add basic example to CI so we can see output

coverage: 98.874%. remained the same
when pulling 3b962d32f05888a0934a2e1db99a5653080448da on jeromekelleher:add-basic-run-to-cli
into 0dc76a232675719c8f17e17baf09cb41c0add620 on sgkit-dev:main.


k8s 部署之后没有及时刷新实例列表

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

我 replicaCount 设置了 10

代码中 ip 指定获取了本地 ip，我打印了日志，确实获取本地 ip 成功

实例列表显示

数据库显示

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional Details & Logs

CHART VERSION 0.1.1
Version 1.7.1
Error logs
Configuration
Platform and Operating System

是自己的问题，本地客户单的 url 拼接 ip 的时候发生错误


test(olm): Add more tests

Relates to: #78
Fixes the following:
MISSED   src/olm/messages/message.rs:63:9: replace Message::version -> u8 with 0 in 0.8s build + 2.8s test
MISSED   src/olm/messages/message.rs:58:9: replace Message::ciphertext -> &[u8] with Vec::leak(vec![1]) in 0.8s build + 3.2s test
MISSED   src/olm/messages/message.rs:58:9: replace Message::ciphertext -> &[u8] with Vec::leak(Vec::new()) in 0.8s build + 3.0s test
MISSED   src/olm/messages/message.rs:63:9: replace Message::version -> u8 with 1 in 0.8s build + 2.8s test
MISSED   src/olm/messages/message.rs:58:9: replace Message::ciphertext -> &[u8] with Vec::leak(vec![0]) in 0.8s build + 2.8s test
MISSED   src/olm/messages/message.rs:53:9: replace Message::chain_index -> u64 with 1 in 0.8s build + 2.8s test
MISSED   src/olm/messages/message.rs:53:9: replace Message::chain_index -> u64 with 0 in 0.8s build + 2.9s test
MISSED   src/olm/messages/message.rs:217:37: replace + with - in <impl TryFrom for Message>::try_from in 0.8s build + 2.9s test

Does not fix:
MISSED   src/olm/messages/message.rs:247:9: replace <impl Debug for Message>::fmt -> std::fmt::Result with Ok(Default::default()) in 0.8s build + 3.6s test
MISSED   src/olm/messages/message.rs:217:37: replace + with * in <impl TryFrom for Message>::try_from in 0.8s build + 2.9s test

The clippy CI errors are outside the code that I touched.
error: unnecessary qualification
   --> src/lib.rs:237:24
    |
237 |     Decryption(#[from] crate::cipher::DecryptionError),
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: the lint level is defined here
   --> src/lib.rs:206:5
    |
206 |     unused_qualifications,
    |     ^^^^^^^^^^^^^^^^^^^^^
help: remove the unnecessary path segments
    |
237 -     Decryption(#[from] crate::cipher::DecryptionError),
237 +     Decryption(#[from] cipher::DecryptionError),
    |

error: unnecessary qualification
   --> src/lib.rs:259:24
    |
259 |     Decryption(#[from] crate::cipher::DecryptionError),
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: remove the unnecessary path segments
    |
259 -     Decryption(#[from] crate::cipher::DecryptionError),
259 +     Decryption(#[from] cipher::DecryptionError),
    |

    Checking proptest v1.4.0
error: could not compile `vodozemac` (lib) due to 2 previous errors

The clippy CI errors are outside the code that I touched.
error: unnecessary qualification
   --> src/lib.rs:237:24
    |
237 |     Decryption(#[from] crate::cipher::DecryptionError),
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: the lint level is defined here
   --> src/lib.rs:206:5
    |
206 |     unused_qualifications,
    |     ^^^^^^^^^^^^^^^^^^^^^
help: remove the unnecessary path segments
    |
237 -     Decryption(#[from] crate::cipher::DecryptionError),
237 +     Decryption(#[from] cipher::DecryptionError),
    |

error: unnecessary qualification
   --> src/lib.rs:259:24
    |
259 |     Decryption(#[from] crate::cipher::DecryptionError),
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: remove the unnecessary path segments
    |
259 -     Decryption(#[from] crate::cipher::DecryptionError),
259 +     Decryption(#[from] cipher::DecryptionError),
    |

    Checking proptest v1.4.0
error: could not compile `vodozemac` (lib) due to 2 previous errors

Those were fixed in #127, could you rebase to make the CI happy?

Replacing + with * will never cause different behavior here. As far as I can see, cargo-mutants only allows excluding the entire function. That, however, would also eliminate the + -> - test which does produce different behavior.

Generally, If we're certain that we did include a test that fails if the + -> - case is hit, then we can ignore the false positive.
Alternatively, perhaps the cargo-mutants authors might have an opinion on this.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.92%. Comparing base (56d122f) to head (d2b6b25).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #126      +/-   ##
==========================================
+ Coverage   84.58%   84.92%   +0.34%
==========================================
  Files          32       32
  Lines        1758     1758
==========================================
+ Hits         1487     1493       +6
+ Misses        271      265       -6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Actually, re-reading the manual, there is a way to silence individual mutants via .cargo/mutants.toml (which we'll also need to use to exclude Debug implementations). Have added this to the PR and src/olm/messages/message.rs is entirely free of mutant test failures now.


Improve coverage of _decompose_into_clifford_with_qubits_ and has_stabilizer_effect protocols

Is your feature request related to a use case or problem? Please describe.
The two protocols were added to Cirq to support fast stabilizer simulations for (mostly) Clifford operations. See https://github.com/quantumlib/Cirq/pull/2600#pullrequestreview-326549320 and https://github.com/quantumlib/Cirq/issues/2423 for historical context.
However, the coverage of these two protocols across Cirq gates is not great. For example;
>>> cirq.has_stabilizer_effect(cirq.XX)
False # Should be true.
>>> hasattr(cirq.XX, '_decompose_into_clifford_with_qubits_')
True
>>> hasattr(cirq.ZZ, '_decompose_into_clifford_with_qubits_')
False # Should be true?

Describe the solution you'd like
This feature request is to improve the coverage of has_stabilizer_effect and _decompose_into_clifford_with_qubits_ protocols so that:

For all out gates defined by Cirq, users can easily identify whether the gate is a Clifford or not by calling these protocols.
Consider adding a cirq.is_clifford protocol which fallbacks to cirq.decompose to figure out if the current gate is a clifford or not by recursively checking whether all gates that the current gate decomposes into are cliffords or not.
Add consistency checks as part of assert_implements_consistent_protocols

What is the urgency from your perspective for this issue? Is it blocking important work?
P1 - I need this no later than the next release (end of quarter)

@NoureldinYosri Do you want to take a stab at this issue?

@tanujkhattar  sure, can you assign it to me?

there are two ways to do this

Bruteforce add has_stabilizer_effect and _decompose_into_clifford_with_qubits_ to more gate classes.
Implement an algorithm that checks if a general unitary is a clifford operator (e.g. https://quantumcomputing.stackexchange.com/a/13158) and use it when the number of qubits of the operation is small (e.g. $\leq 4$) and for operations on more qubits fallback to the checking its decomposition.

The second option is more scalable and should be fast enough since we will only apply it when the unitary is relatively small.

Should we do both? We can make quick improvements to has_stabilizer_effect and _decompose_into_clifford_with_qubits_ to improve coverage (this should take a few days) and then also implement the algorithm to check if a general unitary is a clifford or not (this can take a few weeks)?
I think there is value in getting a quick fix for this this one; unless we think the general algorithm can be implemented within a week or two. What do you think?

I have a prototype for the algorithm so it shouldn't take long to get it in a decent shape and create a PR.
A minor issue of the algorithm is that it is a numerical algorithm so what we get in the end is a check that depends on the tolerance we use (yes means definatly a clifford, no means maybe a larger tolerance could turn it to yes).
so the algorithm is would be a quick fix.. but adding the has_stabilizer_effect and _decompose_into_clifford_with_qubits_ to the most commonly used gates should also be done before closing this issue

I compiled a list of classes that I think should be covered by the protocols inorder to achieve the goal of this issue:

cirq.ops.clifford_gate.CliffordGate
cirq.ops.dense_pauli_string.DensePauliString
cirq.ops.parity_gates.XXPowGate
cirq.ops.parity_gates.YYPowGate
cirq.ops.parity_gates.ZZPowGate
cirq.ops.pauli_interaction_gate.PauliInteractionGate
cirq.ops.pauli_string_phasor.PauliStringPhasorGate
cirq.ops.pauli_measurement_gate.PauliMeasurementGate
cirq.ops.boolean_hamiltonian.BooleanHamiltonianGate

Most of these gates have _decompose_ method defined that yields clifford gates so _decompose_into_clifford_with_qubits_ would just copy that decomposition.


[Issue-309] Fix exception_handler setup for extend_api decorator

This is an attempt for fixing the https://github.com/timothycrosley/hug/issues/309
extend exception handler should handled by assigning the from the base to the target instead of the other way around. This way, it will cover the following scenarios properly:

when exception handler is set on the base (e.g. /base) but not on the extended target  (e.g. /base/extended):
the extended route will use the exception handler from the base

exception handler is NOT set on the base (e.g. /base) but only set on the extended target  (e.g. /base/extended):
the base route will have no exception handler, and target route will use the defined exception handler

exception handlers are set on both base (e.g. /base) and extended target  (e.g. /base/extended):
both routes will use their own handlers.

Coverage decreased (-0.2%) to 99.816% when pulling 60f8b9c93e35219cd6257bad4d4132fbc9548fc5 on soloman1124:issue/309 into 5ed495d05792347ed4f16bb81b5e18dc44588bae on timothycrosley:develop.

Coverage remained the same at 100.0% when pulling 83fcdf5fdc1dc490366666f7b5f02c01ffb12ebf on soloman1124:issue/309 into 5ed495d05792347ed4f16bb81b5e18dc44588bae on timothycrosley:develop.

+1 Looks great! Thank you!


Updates types for TS 4.8

Typescript 4.8 assumes that unconstrained types extend unknown, not {} (which is unknown minus null and undefined). However, many uses still need to extend {}. This PR does that explicitly for objection's types.
See https://devblogs.microsoft.com/typescript/announcing-typescript-4-8-beta/#unconstrained-generics-no-longer-assignable-to

This would be very helpful

@kibertoad thank you for merging the PR. Do you have the ability to make a release containing this fix, or do you know if a release is planned in the near future?
Thank you and other maintainers for all the work you do on this and other projects.


"Claimed" label for issues

Thoughts? Some people want to grab a starter-task, but then see there's already a PR or someone working on it. I don't think we can assign stuff to people that aren't collabs.
How do other projects handle people working async?

We could try using GH projects:

https://help.github.com/articles/about-projects/
https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features

With projects, issues can have an explicit state ("ready", "in-progress", etc.)

good to close this?

@jessesquires ya, don't think this has caused much churn, don't think it matters atm


React.createClass warning thrown with React 15.6.1 (+ possibly lower versions)

Accessing createClass via the main React package is deprecated

Looked through the source and not sure why this is being thrown..?

Same thing with prop-types

just decided to purge node_modules ... most recent version of react-datepicker wasn't installed. closing, sorry!


Feature request: view and edit silences in Karma

Creating silences in Karma is super nice! we use it all the time, especially that we can define the same silence on multiple alert managers (in our case in different datacenters).
It would be great if we could also view and edit silences, as we need to jump to the AM UI for that now.
WDYT? @prymitive

Extending expiring silences was on my TODO, editing the entire silence seems like a good idea too, so maybe I should implement that instead (or both).
When you say "view silences" what do you mean exactly? Is that different from what the current UI offers? Or maybe it's not obvious enough that you can click the expand button on each silence to show details? Thanks

@prymitive thanks for the reply! actually, feeling kind of dumb about the "view" part, indeed we can see any configured/silenced alerts.
It's actually quite intuitive (the view part), only thing I could maybe suggest is use @silenced instead of @suppressed? but that's just being picky.
So I guess just the editing part 😄 🙏

Alert states are defined by Alertmanager, see here. And there's a reason Alertmanager uses "suppressed" rather than "silenced" - there's more than 1 way to prevent alert from generating notifications:

create a silence that matches it
setup inhibition rules that cause some alerts to suppress other alerts
And I think with that flow "suppressed" is a more generic state description, hence makes more sense.

Ahh, understood! in that case it makes sense indeed.
thanks for the clarification.

Updating silences with the current API means adding id to the POST body:
fetch("http://localhost:9093/api/v1/silences", {
  "credentials":"include",
  "body":"{
    \"id\":\"8a7de6d9-c164-4ea8-b09f-57f0829df513\",
    \"createdBy\":\"foo@bar\",
    \"comment\":\"xxx\",
    \"startsAt\":\"2018-09-29T20:12:07.616Z\",
    \"endsAt\":\"2018-09-29T22:11:47.229Z\",
    \"matchers\":[
      {\"name\":\"foo\",\"value\":\"bar\",\"isRegex\":false},
      {\"name\":\"baz\",\"value\":\"baz\",\"isRegex\":false}
    ]
  }",
  "method":"POST"
});

So editing a silence that needs to be updated in a single Alertmanager is easy, but would be nice to be able to mass-manage silences. For that I will also need to (finally) deduplicate silences properly, right now they are not which means more memory usage if same silence is created on multiple alertmanager instances.
I'll start with adding edit support for a single silence, but I'll need to refactor a few things around it (which is already on my TODO).

Merged support for editing silences, if you go to the demo page and expand any silence there will be now edit button

cool stuff @prymitive 😄


Added more cat facts

Can't have enough.

Just added a bunch more crap :3

At this point, you should pretty much merge this ASAP, as several crucial typos were fixed

All the changes should be completed.

Done.


Will no longer be updated to the Raku ecosystem

Hello,
Thank you for the time and effort you have put in what is now the Raku Programming Language.  The language and its ecosystem are moving forward.
This means that this distribution will no longer be checked for updates by the Raku ecosystem.
This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions.  Otherwise your update will simply not be seen by the ecosystem.
If you are no longer interested in maintaining this distribution, you can have this distribution moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.
This can be as easy as confirming that in a response to this issue.
Again, thank you for your time and efforts!
On behalf of the Raku Steering Council,
Elizabeth Mattijsen

I've removed this distro from the p6c ecosystem.  It has not seen any updates for 7 years, and its functionality has basically been superseded by App::Mi6


Convert EC2 XML schemas using native API

Calls the native API to convert EC 2 schemas to EC 3.2 schemas
imodel-native: https://github.com/iTwin/imodel-native/tree/aks/convert-ec2-schemas

I now get this when I run extract-api...
Error: src/SchemaUtils.ts:21:1 - (ae-incompatible-release-tags) The symbol "convertEC2SchemasToEC3Schemas" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal
Error: src/SchemaUtils.ts:36:1 - (ae-incompatible-release-tags) The symbol "upgradeCustomAttributesToEC3" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal

I now get this when I run extract-api...
Error: src/SchemaUtils.ts:21:1 - (ae-incompatible-release-tags) The symbol "convertEC2SchemasToEC3Schemas" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal
Error: src/SchemaUtils.ts:36:1 - (ae-incompatible-release-tags) The symbol "upgradeCustomAttributesToEC3" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal

@DanRod1999 PR validation appears not to have run; it would have caught this.
The imodel-native link in PR description appears to be invalid. Does the script check for that?
@paulius-valiunas addressed by #5744.

I now get this when I run extract-api...
Error: src/SchemaUtils.ts:21:1 - (ae-incompatible-release-tags) The symbol "convertEC2SchemasToEC3Schemas" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal
Error: src/SchemaUtils.ts:36:1 - (ae-incompatible-release-tags) The symbol "upgradeCustomAttributesToEC3" is marked as @beta, but its signature references "ECSchemaXmlContext" which is marked as @internal

@DanRod1999 PR validation appears not to have run; it would have caught this. ~The imodel-native link in PR description appears to be invalid. Does the script check for that?~ EDIT: no, the PR branch was since deleted. Does PR validation not run extract-api?
@paulius-valiunas addressed by #5744.

I added extract-api to PR validation about a month ago. I've seen it throw this error in another pipeline run, so unsure why it wasn't caught here. From what I can tell it did run Extract-Api here. @aruniverse, do you have an explanation?


How to use this EFI

I downloaded your EFI, generated SMBIOS and wrote it into config. But when I use EFI, I get stuck in the apple log interface. Is there any other work after modifying config

There shouldn't be anything more needed. However I'm still battling with Lenovo technical support to now repair my laptop for the second time. I will revive this repo when I get my hands on a functioning X1C7.

Thank you, I will try this again


WIP : (feature/helm-env) helm env

Signed-off-by: Vibhav Bobade<EMAIL_ADDRESS>
What this PR does / why we need it:
Wrt https://github.com/helm/helm/issues/6226
Implementation for helm env
TODO

[ ] Formatting
[ ] Unit Tests
[ ] Documentation

cc @mattfarina

     HELM Environment Variables

HELM_DEBUG               :
     XDG Environment Variables

XDG_DATA_DIRS            : /home/vbobade/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
XDG_RUNTIME_DIR          : /run/user/1000
XDG_SESSION_ID           : 2
XDG_SESSION_TYPE         : wayland
XDG_CURRENT_DESKTOP      : GNOME
XDG_SEAT                 : seat0
XDG_SESSION_DESKTOP      : gnome
XDG_VTNR                 : 2
XDG_MENU_PREFIX          : gnome-
Happy Helming!

@waveywaves
you might need to consider making it working for os x and windows as well.
I did quick round of testing on mac machine(os x Catalina 10.15 Beta (19A526h)), following it the output.

helm init

akash@Akashs-MacBook-Pro ~/go/src/helm.sh/helm/bin (dev-v3●)$ ./helm init
Helm is now configured to use the following directories:
Cache: /Users/akash/Library/Caches/helm
Configuration: /Users/akash/Library/Preferences/helm
Data: /Users/akash/Library/helm
Happy Helming!

helm env

akash@Akashs-MacBook-Pro ~/go/src/helm.sh/helm/bin (dev-v3●)$ ./helm env
         HELM Environment Variables

         XDG Environment Variables
Happy Helming!

@mattfarina @adamreese Does any of this need to be moved to the action package ?

@mattfarina I have removed the function which creates the environment for helm plugins and have added the funcitonality in a newer function. Do check and let me know.