rbd-nbd: add tests with different accessModes and volumeModes

Describe what this PR does

Added tests using different accessModes and volumeModes for rbd-nbd

ReadWriteOnce   [RWO]:

Currently available tests already cover it.

Read Write Many [RWX]:

Added test for Block Volume Mode only.
RWX is restricted for FileSystem VolumeMode at ceph-csi see https://github.com/ceph/ceph-csi/pull/261 for more details

ReadOnlyMany    [ROX]:

Added tests for Block and Filesystem Volume Modes

Added helper functions to use deployment kind objects

Note: This PR doesn't consider the new accessMode ReadWriteOncePod [RWOP], this will be a future item to cover tests for both krbd and nbd.
Related issues
Fixes: #2262

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e-helm/k8s-1.21

/retest ci/centos/mini-e2e/k8s-1.21

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.21

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.21

@humblec Thanks for the review, the comments are cosmic. AFAIK there is no strict naming convention that we are binding to in e2e, I would love to see if anyone else has objections on the naming.

X Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: IP not available after waiting: machine minikube didn't return IP after 1 minute

https://jenkins-ceph-csi.apps.ocp.ci.centos.org/blue/organizations/jenkins/mini-e2e_k8s-1.21/detail/mini-e2e_k8s-1.21/1651/

/retest ci/centos/mini-e2e/k8s-1.21

@humblec Thanks for the review, the comments are cosmic. AFAIK there is no strict naming convention that we are binding to in e2e, I would love to see if anyone else has objections on the naming.

@nixpanic wdyt?

/retest ci/centos/upgrade-tests-rbd

@Madhu-1 @nixpanic @humblec @ceph/ceph-csi-contributors please help with the review :-)

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e-helm/k8s-1.21

/retest ci/centos/mini-e2e-helm/k8s-1.22

/retest ci/centos/mini-e2e/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.22

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e-helm/k8s-1.21

/retest ci/centos/mini-e2e-helm/k8s-1.22

/retest ci/centos/mini-e2e/k8s-1.22

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.22

/retest ci/centos/mini-e2e-helm/k8s-1.20

/retest ci/centos/mini-e2e-helm/k8s-1.21

/retest ci/centos/mini-e2e-helm/k8s-1.22

/retest ci/centos/mini-e2e/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.21

/retest ci/centos/mini-e2e/k8s-1.22

/retest all

@mergifyio rebase

@nixpanic @humblec @Madhu-1 please review. Thanks!

LGTM. need one correction in e2e.

@Madhu-1 fixed now, please take a look

/retest ci/centos/mini-e2e-helm/k8s-1.20
X Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: IP not available after waiting: machine minikube didn't return IP after 1 minute

/retest ci/centos/mini-e2e-helm/k8s-1.20

@nixpanic @humblec could you please provide your review. Thanks!

@Mergifyio rebase

@Mergifyio refresh

added DNM to get https://github.com/ceph/ceph-csi/pull/2669 merged which is second in queue.

removed DNM as #2669 is merged

/retest ci/centos/mini-e2e/k8s-1.20

/retest ci/centos/mini-e2e/k8s-1.20


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v4.13 to before v5.4.126",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8dcbec6d20eb881ba368d0aebc3a8a678aebb1da",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3e3c7ebbfac152d08be75c92802a64a1f6471a15"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "8dcbec6d20eb881ba368d0aebc3a8a678aebb1da",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "3e3c7ebbfac152d08be75c92802a64a1f6471a15",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "NFS: Fix use-after-free in nfs4_init_client()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.4.126 by commit 3e3c7ebbfac152d08be75c92802a64a1f6471a15, it was introduced in version v4.13 by commit 8dcbec6d20eb881ba368d0aebc3a8a678aebb1da. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1000906


Please consider merging with DMLC/MXNet

No offence intended. Everybody respects that you created the great Caffe. Thank you very much!
But the current design seems a mix of the original Caffe and the radically differently designed MXNet. The latter has implemented many features in your road map and is gaining more momentum than this project in terms of GitHub contributors, pull requests/issues, stars, forks and watches. If you would like to combine the two independent efforts like the Avengers and lead the joint project, you as team will certainly create more rapidly a more impactful next generation distributed deep learning framework that many people have heard of but had no access to for three years [1].
[1] Jeffrey Dean, Greg S. Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V. Le, Mark Z. Mao, Marc’Aurelio Ranzato, Andrew Senior, Paul Tucker, Ke Yang, and Andrew Y. Ng. Large Scale Distributed Deep Networks. In Proceedings of Neural and Information Processing Systems (NIPS), 2012, Lake Tahoe, Nevada, United States, December, 2012.

Now everyone knows what happened.

Sorry I had to stay silent till the release - thanks for your inerest though, and I definitely like the mxnet effort. It's great to see more peopl devoting to open source!

Google has great leaders. The initial numbers in the first few hours suggest that TensorFlow's popularity will overwhelm that of Caffe, MXNet and anything alike combined by the end of this week.


Deleting a project not working

Describe the bug
Per the documentation, I tried deleting one of my projects using Edit -> Delete from the application menu.  The app does nothing when I attempt to delete the project.
To Reproduce
Steps to reproduce the behavior:

Create a new project
Click on Edit -> Delete from the application menu

Expected behavior
Expected to see a confirmation dialog, then have the ability to delete the project.  Tried with all existing projects, and the app does not do anything when I select this menu option.
Environment (please complete the following information):

OS: MacOS
Version: 0.2.0
Node version: 8.11.4

@quarklemotion Thanks for reporting the issue.
We're going to release 0.3.0 today or tomorrow. We've improved the project deletion. It should also show a dialog if deleting fails. And there will be a dialog for selecting between remove from Guppy & remove from disk.
Please check if it will still happen in the new version.


k8s installation and production usage

Hi
Zeebe cluster is using nginx as ingress. We are using different ingress in k8s cluster. Will it cause potential issues? Could our ingress be reused?
Another question  - are there are people who are using it in production?

Hi, you can install the each component of Zeebe individually. Only the full install comes with an ingress. Here is the list of all the Helm charts: https://docs.camunda.io/docs/product-manuals/zeebe/deployment-guide/kubernetes/helm/installing-helm

Another question - are there are people who are using it in production?

You mean the Zeebe binding or Zeebe itself? Zeebe is the base for Camunda Cloud. I think they have a lot of customers which use it in production. The binding is really new. I have implemented it for a customer, a globally operating company, which plans it to use it in production in the near future.


Manual invocation on Copilot?

I like to trigger generating a completion myself, and do not want to use Copilot as "autocomplete." (Because even normal company-mode makes emacs too laggy and slow.) Is that supported?

Yes.
Please see “General Configurations” part in the readme.

This is what I'm using:
(add-hook 'post-command-hook #'copilot-clear-overlay)
(global-set-key (kbd "C-,") 'copilot-complete)
(define-key copilot-completion-map (kbd "C-.") 'copilot-accept-completion)


fix benchmark

Fix the shouldContinue() logic in benchmark

API change check
API changes are not detected in this pull request.

@xinlian12 looks like there is an Archive zip file added to the repo through this PR, we should remove it if it is not necessary.
Thanks, that is a good catch. Has removed


feat(labels): support single choice

support single choice for labels
/cc @ddysher @supereagle @xiaoq17
/release-note-none

/release-note-none

done PTAL @ddysher

LGTM


[Task] Accepting State Button in State Options Toolbar

When this task is complete, a user should see a button to "make accepting state" or "make non-accepting state" in the state options toolbar (after they have clicked a state).


Enable playwright e2e testing

Description
This PR fixes previous issues with Playwright and allows us to start writing end-to-end tests. While still a bit slow than we'd like, it's better that the current state of "testing in prod".
Type of change

[X] Chore (non-breaking change which improves code quality)

Screenshots
N/A
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

This works @kilemensi I would only suggest updating the Readme mentioning users need to run npx playwright install  locally in order to install browsers required to run the tests.

Yeah, I kinda agree for now @esirK, but we need to find a better way of automatically handling this.


Android minSdk version

mlkit 0.13.0 only supports android version 24.0 and above ???

Hi, @Iampato! Thank you for the question.
I'm sorry, in https://github.com/azihsoyn/flutter_mlkit/pull/60 I upgraded minSdkVersion.
Probably, minSdkVersion is not needed to upgrade.
I'll fix in next 0.13.1 or PR is welcome 😄

Hi, @Iampato!
I released fixed version.
https://pub.dev/packages/mlkit
Please try it!
Thanks 😄

All Lord thank you


Associate InternetExchange with ixlan.id rather than network_ixlan.id

Environment

Python version:  3.6.9
Peering Manager version:  master

Proposed Functionality
Rather than use the network_ixlan.id to link the InternetExchange object to PeeringDB, can you not just use the ixlan.id? It doesn't appear that peering-manager is using this link for anything other than pulling the prefixes for the peering lan.

Use Case
Admittedly we are an edge case. We are active on an IX, but for "reasons", we cannot have an entry in PeeringDB for our connection. The IX entries are being enforced by IX API. Without a valid peeringdb_id, I cannot scan a router for existing sessions since peering-manager doesn't know which prefixes to use. If peering-manager used the ixlan.id, then it would have access to the prefixes regardless of the status of our connection in PeeringDB. I can understand why you might want to also associate the network_ixlan.id, but in our case it would be better if peering-manager didn't have to rely on that. I was able to get around this by entering in someone else's network_ixlan.id, but that is an egregious hack.
Also, a side note. The hint for the PeeringDB ID field says it can be empty. That is a incorrect, it must be 0 if you aren't using it. Also, the link to the instructions on how to find your PeeringDB ID goes to a non-existent page.
External Dependencies
None

Closed by a2c3de4.


Date format in JSON output is hard coded to %d/%m/%Y

https://github.com/invoice-x/invoice2data/blob/48006efe961584660414c432afbad1ef05a65b3c/src/invoice2data/output/to_json.py#L42
Date format is hard coded to french (maybe more) format day/month/year.
Could we add an options like date_formats_output or something to have a way to produce more standard format like %Y-%m-%d ?
I also noticed that only date field is handled, but we ignore fields prefixed with date to apply strftime on them

Totally agree. Just do a PR to change it.

@m3nu OK, I'm not familiar with Python yet but I'm on it ;)
Please just tell me if this approach looks fine to you :
def write_to_file(data, path, date_output_format='%d/%m/%Y'):

As we have path arg, I would add a new arg date_output_format in each write_to_file functions and pass it in call of output_module.write_to_file() from main.py

Yeah. Could be good to add it as optional keyword argument. You want to keep the old default or make it an ISO format?
One small style note: When a string is for formatting, one would usually use double quotes. "%d-.."

OK for double quoting !
Maybe we should keep previous format as default and override on demand to avoid BC ?

Yes. Let's keep the old format.

I'm almost good with code and test, but I introduced a change...
You could call it a Breaking Change or a Bug Fix, you decide ;)
If we consider output JSON of free_fiber.pdf file, we had :
{
  "date": "02/07/2015",
  "date_due": "2015-07-05 00:00:00"
}

Now, we have this output (without --output-date-format option) :
{
  "date": "02/07/2015",
  "date_due": "05/07/2015"
}

And (with --output-date-format %Y-%m-%d)
{
  "date": "2015-07-02",
  "date_due": "2015-07-05"
}

It sounds better to me because we have only one format for dates.
PR coming soon...

Last option looks best, I think. I'll write a note about it in the release log. Better to fix this now then wait even longer.
I assume most people use it as library anyways, so they get a direct datetime object.

Fixed by 212


Facebook Login is not Working

The Facebook Login is not working and it does not throw any error in the console or web console.
The Facebook redirect works, but then in the application nothing is happening.
I have configured the App_id and secret. What's missing?

Ok, hunted it down to a missing e-mail: https://github.com/jaredhanson/passport-facebook/issues/129
And also this solution: https://github.com/meanjs/mean/issues/202

@benmarten on which branch is this? master or 0.4.0, and are you updated to the latest version there?

Ok, tested this real quick by cloning 0.4.0 branch and just configuring my fb app id.
It does not work. Only works when adding this line to passport.use(...):
profileFields: ['email']
to config/strategies/facebook.js:18

@benmarten is that found in the FB docs too?

@benmarten Looking at the 0.4.0 code and the facebook strategy:
https://github.com/meanjs/mean/blob/0.4.0/modules/users/server/config/strategies/facebook.js#L16
it seems that the profileFields already includes 'email' in the array. What specifically needs to be changed?

@codydaig @benmarten it seems like your find matches the 'emails' profileField while @benmarten was showing success cases referrencing 'email' profileField (notice the plural vs singular use).
I'm unable to test as I don't have a FB account but we should fix this if it's an actual problem on 0.4.0
@benmarten can you look into making this change to 0.4.0 and submit a PR that fixes it? I would just add the 'email' element to that array in https://github.com/meanjs/mean/blob/0.4.0/modules/users/server/config/strategies/facebook.js#L16 and test it out.

@ilanbiala https://developers.facebook.com/docs/graph-api/reference/v2.3/user
There is no 'emails' field, it's only 'email'.
@benmarten Do you want to create the PR against the master branch?

#839

@benmarten @lirantal I have tested this on the latest branch, and it works with 'emails' so I am unable to reproduce this issue.

Hey, so it seems that in latest master branch strategies/facebook.js is gone... I tested it again, and now i see the following error message:

@benmarten are you using the latest master?
https://github.com/meanjs/mean/blob/master/modules/users/server/config/strategies/facebook.js

Hm, sorry I am confused...
https://github.com/meanjs/mean/tree/master/config/env it's not there?
Ben@Bens-MacBook-Pro ~/N/mean> git checkout master
M	config/env/development.js
Already on 'master'
Your branch is up-to-date with 'origin/master'.

Also the fb login is not working for me.
I tested it by putting some console.log() in the code and it seems that config/strategies/facebook.js isn't called anymore at all! Now only user.oauthCall() function is called...

@rhutchison seems related to the issue I recently merged about the previous page in history bug (https://github.com/meanjs/mean/commit/cfe71bb3de02ab10522b56bf671badab5110e9ff)

Just a wild guess, but i think that passport seems to be called directly now from here:
https://github.com/meanjs/mean/blob/master/modules/users/server/controllers/users/users.authentication.server.controller.js#L97
instead the facebook.js stuff should be called from that line, shouldn't it?

@benmarten @lirantal what are the steps to reproduce?
I am unable to reproduce in my environment, but I might be missing something.
@benmarten are you sure your facebook config/callback url are setup correctly in the configuration?  When you see the page not found, what is the URL in the address bar?

@benmarten please make sure your environment config is updated to reflect this change

@rhutchison I've tested these changes from #842 , and everything seems to be working fine for me. Although, I experienced the Page Not Found issue before I had updated my local env config to use the correct callback URL... callbackURL: '/api/auth/facebook/callback' Perhaps this is the cause of @benmarten issue.

indeed. that fixes the issue also for me. so basically only uncommenting local.js solved it...

Great, so this is good to merge.
Thanks for testing and feedback guys.

You can get the solution here Facebook SDK connect Link


Issues running on Ryzen

Using phi3 vision model:
A client sees this warning on their machine for text generation, still works:
Unable to create a device from version 1.614.0 of the DirectX 12 Agility SDK.
You can still use this library, but some scenarios may not work.

When using vision, they get this additional error:
024-07-26 21:15:53.1830129 [E:onnxruntime:onnxruntime-genai, sequential_executor.cc:516
onnxruntime::ExecuteKernel] Non-zero status code returned while running MemcpyToHost node.
Name:'Memcpy_token_5' Status Message:
Error: Non-zero status code returned while running MemcpyToHost node. Name:'Memcpy_token_5'

Machine specs:
Ryzen 7 4700u, 16gb ram, igpu Vega 7, ssd, Windows 11

getting the same error with llama 3.1 model

@anujj Please list your operating system version, GPU specs and which version of onnxruntime genai are you running?

Same issue using phi3. Using genai v0.5.2 and ONNX Runtime v1.20.0 (win-arm64) on Qualcomm(r) Adreno(TM) 8cx Gen 3 - Adreno 690, Windows 11.
Any update?


Invalid left-hand side in assignment -

@ariya I noticed that Esprima have a lot of LHS issues, and many of this issues has exist for years. And some of this errors are early errors such as 12.14.1 - Invalid left-hand side in assignment.
This is a few that Esprima breaks on.
({a}) = 0;
for(({a}) in 0);
[a, ...(b = c)] = 0
({x, y}) = {}
({Object = 0, String = 0}) = {};
({a:(b = 0)} = 1)
[(a = 0)] = 1
'use strict'; ({ v: eval }) = obj
'use strict'; ({ v: arguments }) = obj
({a:(b = 0)} = 1)
({a:(b = 0)} = 1)
// 12.14.1 - Invalid left-hand side in assignment

I will put an end to all this shortly, and follow up this issue ticket with a solution that solves this. I need to verify that I did everything correct in my end first!

@ariya I verified it, so here we go. This is just a start., and you would need to adjust it yourself. At least you can close some issue tickets.
The specs says this <IP_ADDRESS>Static Semantics: IsValidSimpleAssignmentTarget
Create this function to start with
 // This need to be extended further. See ECMA specs
function isValidSimpleAssignmentTarget(node: any): boolean {
  if (node == null) {
       return false;
  }
  switch (node.type) {
    case "Identifier":
    case "ComputedMemberExpression":
    case "StaticMemberExpression":
      return true;
  }
  return false;
}

In parseGroupingExpression, replace this line with
   this.context.isBindingElement = false;

  if (!isValidSimpleAssignmentTarget(expr)) {
      this.context.isAssignmentTarget = false;
  }

@ariya Also study <IP_ADDRESS>Static Semantics: IsValidSimpleAssignmentTarget
Quote:
PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList

1. Let expr be CoveredParenthesizedExpression of CoverParenthesizedExpressionAndArrowParameterList.
2. Return IsValidSimpleAssignmentTarget of expr.

There are a few other places where you should check for the same thing - parseAssignmentExpression and parseUnaryExpression

Thanks for the report!
@nowindowsowrking It's correct that this problem "has exist for years". It's because nobody comes forward to fix it yet (this project is supported by its volunteers, it's not a commercial software). I'm not sure what you want to achieve by always mentioning it again and again and again.

To be clear, @nowindowsowrking, we really appreciate you reporting defects and taking an interest in the project, but you may want to consider that the tone of voice and words you are choosing to use when describing the issue can be seen as discouraging and insulting to the maintainers of the project. This may be unintentional, but I just wanted to point it out so we can all move forward successfully.

@ariya @mikesherov I get the point. Let's start all over with a normal tone. So you both know. I'm that kind of person that get things done, but not so talkative. I noticed a pile of unsolved issues, and when I kept reporting defects it got even bigger. That said. I decided to try to solve all current issues on Esprima because I noticed there was only one active maintainer now. If my current day-to-day job let me sacrifice some time I can solve all issues quickly. Except I can't do any PR. So if this project want my help, you can throw any issue you want at me and I can solve it for you.

@nowindowsowrking Start a thread "How I can help" in the mailing-list. That way, we can keep every issue here from off-topic side discussions.

@ariya I did that 2 days ago! However. I discovered I just scratched the surface with this temporary solution. You need to add CallExpression, TaggedTemplateExpression, etc too, as well as a few keywords.
this, true, super etc.  I found out it's best to point out to a live demo illustrating the solution on the various issues so you understand my thinking better. So just now I'm in the middle of creating a demo parser from scratch that will illustrate this. Give or take a few days and I'm done.

@ariya @mikesherov No response on the mailing list last 5 days, so I back out from helping on this project. Good knews is that I discovered around 300 - 400 defects, so I will consecutively open issue tickets regarding this matter.

@nowindowsowrking that's certainly your own decision whether to submit pull requests or just issues, and we'll appreciate whatever contributions you give, but I have told you at least 4 times how you can help.
In case you missed it, I'll try one last time: Rather than theorizing how to make Esprima faster, nor pasting the solutions to issues in comments, you should:

File an issue describing a concrete issue.
Propose a pull request resolving the issue.
Ensure there are no regressions.
Add a test showing the defect is resolved.
If the fix is performance related, show the results of benchmark tests proving the fix.
Allow Ariya and I time to provide feedback on the PR.
Get your PR merged in.
Repeat.

I'm not sure how else to be more clear about that.

@mikesherov  Seems like you missed something, so back to school. Normally a developer has his own ideas on how the code should work. Or there is a kind of community behind it. And many places there also exist FAQ. So for a dev that want to contribute, he need to know the other devs thoughts. Devs that has been on the project for a long time.
Example on this are TS, React, Jquery. One of the rules before comitting anything is to discuss how it should be implemented, if that kind of features are needed etc. E.g. TS doesn't allow any PR actually before this has been discussed into details.
And that is how it works in all companies as well. They starting out with a draft, gather the team and discuss. I have been in this industry the last 25 years. So I know.
I shortened this lesson now, but that is basic. So I thought a person who wanted to help out on Esprima project shouldn't just dive right in, push a PR even it's needed or not or maybe break another PR that is in a process, or something else that another dev is working on. Or something that isn't needed at all.
That is what you pointed out now with your bulleted list.
And you also seem to be mistaken with your claim when you wrote Rather than theorizing how to make Esprima faster, nor pasting the solutions to issues in comments,
To comments up @ariya wrote 6 days ago:  Start a thread "How I can help" in the mailing-list.
So that what's I did. Nothing about performance etc if you have read that thread. Pure questions about the Esprima code base. Things that is obviously necessary for an outsider to know before jumping in. Things that is "normal" to discuss in forums. As pointed out at the top of the comment.
But once again. I understand that is not the norm with Esprima, because no replies after 6 days. Meaning lack of interest of another contributer.
Short. Good luck with this project! I understand why there are no contributers on it.

It's ironic you mentioned jQuery, because I was part of the jQuery team as well. And the contribution process was similar there. I too have been in the industry, but only for 15 years, so I guess I still have something to learn as do we all.
I've never contributed to the Esprima mailing list, but one rule I know is to not expect immediate response. Esprima is an all volunteer project, and so sometimes it takes a few days when a large post is written. Sorry it took six days!
For issues that you posted on the issue tracker, particularly ones that I knew something about, I tried to respond helpfully, suggesting that you submit patches for the issues we were discussing, like re: curlyStack, after having discussed why the proposed solution might not work. I'm not sure how I could've been more helpful to you, but I'm sorry it came to this. Best of luck in your other endeavors!

@mikesherov it's ok. I left this project mainly because of the code structure and the complexity of solving even simple issues. So I developed my own parser the last 3 days. It's around 12 times faster then esprima and supports TC39 tests. I will push it one day so you can see how esprima could have been. Good luck to you too for the future. Take care!


Search doesn't work for symbols

Originally reported by @cartermp at https://github.com/dotnet/docs/issues/1439
Search in the .NET Docs for ||>.
Expected: F# Symbol and Operator Reference is in the results.
Actual: No results.  See: https://docs.microsoft.com/en-us/search/index?search=||>&scope=.NET
Background:
Someone trying F# for the first time reported in the Functional Programming Slack that they came across some code using ||> and didn't know what it was.  They tried searching in the docs and got the above results.  I imagine C# would have similar issues with tokens like ?? and ?..

From @mairaw:
We probably need to file an internal bug for this one.
I've seen other issues with search that would be good to follow-up.
/cc [@]EisenbergEffect @dend [@]bradygaster

From  [@]EisenbergEffect:
I'll create a bug to track this.

From  [@]EisenbergEffect:
I've created the bug in our system and alerted the engineering team that works on search of the issue. @cartermp Thanks for alerting us of the issue!

@presleyy Assign to you. Can you follow up this issue?

@mairaw @Powerhelmsman  Yes, similar case of searching "C++", that doesn't work neither. I've created a bug in VSTS for this.

@presleyy any updates on this item?

@dend the bug still in active status. Will double check the fixing progress and reply here.

It is tracked by the bug which is in active status

@cartermp @mairaw Close this as duplicated with https://github.com/MicrosoftDocs/feedback/issues/126 . We will track the bug there.


CodeGen: add StencilJS support

[x] add Component codegen
[ ] add spec file codegen (if applicable)
[x] add HTML codegen
[x] add styles codegen
[x] add readme codegen
[ ] add export to stackblitz
[ ] add unit test
[ ] add entry to the editor menu

@romulocintra thanks for open this rfc. Are you already working on this?

@manekinekko  yes I'm on it. Just started to get things working but i was trying to find a way to add more integrations without move so many pieces. templates starting getting big ,i'am refactoring in partials ... tomorrow I will drop propper descriptions for the tasks

Implemented by #160


Anchor 0.20.1 cannot read u128 arrays from PDA correctly

with fixed global NPM Anchor version 0.20.1,
after upgrading anchor from 0.18.2 or 0.19.0 to 0.20.1 in both my local npm package and Solana program Cargo.toml dependencies(anchor-lang and anchor-spl)
The u128 array values in my zero_copy PDA cannot be read correctly in Typescript!
#[account(zero_copy)]
#[derive(Default)]
pub struct MovieAcct {
pub uonetwentyeights: [u128; 9],
}
meanwhile, keeping global NPM Anchor version 0.20.1 and downgrading anchor from 0.20.1 to 0.19.0 or 0.18.2 in both my local npm package and Solana program Cargo.toml dependencies(anchor-lang and anchor-spl) will solve such problem.
please advise. Thank you

I do not understand, global / local... can you provide minimal code for reproducing the problem?

Closing due to inactivity.

I'm facing the same issue.
Anchor IDL parses incorrect values when the array it's reading from is defined as zero copy.


language error recognition results in icons error.

I use this extensions for verilog language(connect with vivado ,the file is .v).  But it generate the wrong icon. Problem is that it make a mistake between verilog and vlang language(which is also .v). I tried some ways but still couldn't find the reason why it recognizes to vlang. So if there some methods to solove this problem?thank you.

Not sure if this issue still persists, but with the latest update you are able to configure some icon bindings. That should solve the problem:


Doc enhancement request for docs.zowe.org/stable/extend/extend-apiml/certificate-management-in-zowe-apiml/

Is your request for enhancement related to a problem? Please describe.

There are no instructions on how to "Import the local CA certificate on Linux" in order to make REST HTTPS curl request from the command line.
For example:
curl --request 'GET'
--url 'https://tvt6092.svl.ibm.com:7554/jobs/api/v1?owner=ibmuser&prefix=*'
--header 'Authorization: Basic ************'
Describe the solution you'd like

The following has been tested. These steps assume the user has copied the local_ca.cer from the zowe certificate path. (.../zowe/keystore/local_ca).
Verified with Ubuntu 20.04.6 LTS

Rename it with .crt file extension, and copy it to the shared ca-certificates path    $ cp local_ca.cer /usr/local/share/ca-certificates/zowe_local_ca.crt

Execute a ca-certificate store update    $ sudo update-ca-certificates

Verify the newly expected certificate was added (the newest will be at the bottom because it is a long list of concatenated CA's)    $ cat /etc/ssl/certs/ca-certificates.crt

Run a basic curl HTTPS request from the command line

Related doc pages

Additional context

Addressed by PR #2890


Is it possible to change the URL of the OpenAI API server to my own forwarding service URL, for example, changing ‘api.openai.com' to 'mydomain.com'?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Because mainland China cannot directly access OpenAI's API server, I have been using a forwarding server.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@edisonzf2020 you could set your environment variable OPENAI_API_BASE locally and redirect the underlying requests of DevChat to your proxy. Let us know if you meet any problems that way. Note that this setting only applies if you choose GPT models. (Other models will still use our DevChat proxy. Of course, you can also use the DevChat proxy to access OpenAI models - www.devchat.ai)

I tried to add environment variables in the settings.json file under the .vscode directory of my VSCode project. The format is as follows:
{
    "terminal.integrated.env.windows": {
        "OPENAI_API_BASE": "BASE_URL=https://mydomain.com"
    }
}

I made sure that the domain name of my forwarding server is correct, but it didn't work. I'm not sure what the correct way to set environment variables in VSCode is. Could you please guide me? Thank you.

@edisonzf2020 Hi, we've added settings for this case. Open the Settings page and search "devchat", as below.

First, set the provider of GPT models to "openai".
Then, set the base_api of the provider openai to what you want.


ListItemPicker - Added new control property, "FilterList"

Q
A

Bug fix?
[ ]

New feature?
[X]

New sample?
[ ]

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Added new Control Property "FilterList", allows filter list items base on condition ($filter), and select item(s) on sub set of list Items.

Codecov Report

Merging #392 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #392   +/-   ##
=======================================
  Coverage   73.31%   73.31%
=======================================
  Files          18       18
  Lines         802      802
  Branches      164      154   -10
=======================================
  Hits          588      588
  Misses        164      164
  Partials       50       50

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 856af11...d871abd. Read the comment docs.

Hi @joaojmendes!
Thank you for that feature!
The PR has been manually fixed in #416.
I have additionally renamed filterList property to filter so it would be more meaningful for users.

Hi Alex,
Thank you very much for the change . 😊
Obter o Outlook para iOShttps://aka.ms/o0ukef

De: Alex Terentiev<EMAIL_ADDRESS>Enviado: Friday, November 15, 2019 3:43:51 AM
Para: SharePoint/sp-dev-fx-controls-react<EMAIL_ADDRESS>Cc: João Mendes<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Assunto: Re: [SharePoint/sp-dev-fx-controls-react] ListItemPicker - Added new control property, "FilterList" (#392)
Hi @joaojmendeshttps://github.com/joaojmendes!
Thank you for that feature!
The PR has been manually fixed in #416https://github.com/SharePoint/sp-dev-fx-controls-react/pull/416.
I have additionally renamed filterList property to filter so it would be more meaningful for users.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/SharePoint/sp-dev-fx-controls-react/pull/392?email_source=notifications&email_token=AC7YHVKWBBBFBP4BOJR5QMTQTYLHPA5CNFSM4JCUUTFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEEGPOA#issuecomment-554198968, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC7YHVN2M6BO2WHTMDVTVHTQTYLHPANCNFSM4JCUUTFA.

Hello @joaojmendes,
Thanks for the update. How can I increase width of the control and set values from the list or array?
Praveen


Incorrect calculation for data clamping in Mesh Viewer

Description
I have a problem where some of my draws are incorrectly rendered in Mesh Viewer. The number of indices shown in the buffer viewer/preview are incorrectly clamped to 100 and ... are shown instead in the VS IN tab. I expect the full range of rows displayed and the entire mesh rendered.

Steps to reproduce
Open any indexed draw in the Mesh Viewer with an index buffer offset smaller than the index buffer range. I can make a capture to demonstrate, let me know if needed.

Environment

RenderDoc version: HEAD
Operating System: Windows
Graphics API: Vulkan

https://github.com/baldurk/renderdoc/blob/19c066c6fc65bda0d75de0d2b8c8055081bf190d/qrenderdoc/Windows/BufferViewer.cpp#L1532
It seems to me that the correct arithmetic would be '+' instead of '-' to calculate the buffer byte offset.
Sorry for not using the template first time around. When opening an issue from browsing the source apparently Github does not give the selection of the templates and I didn't check.

I've filed an issue with github to see if there's a way to disable that route of opening issues, since as you point out it skips the templates which is bad for users, and seems completely pointless when you can still copy a permalink and use that in the general case.
It looks like indeed this was wrongly refactored out when extracting out offset from a length - ib.byteOffset - draw->indexOffset * draw->indexByteWidth calculation.

That commit should fix the offset calculation.


Speed up data loading / batching for ONE BILLION WORD experiment

The data loading was inefficient and was found to be the bottleneck of BILLION WORD training.
This PR rewrote the sharding (which data goes to a certain GPU / training process), and improved the training speed significantly.
The figure compares a previous run and a new test run. We see 40% reduction on training time.

This means our reported training efficiency will be much stronger

from 59 GPU days to 36 GPU days, and 4x more efficient than FairSeq Transformer results.

Can you comment a little on how the new partitioning scheme speeds up the data-loading please? I see that the new training approach means that each node only sees a subset of the data, and it is always the same subset (because of the removal of the shuffle, and the modulus over the number of nodes). How does this speed up data loading? Does each node cache data it has loaded previously in some way? Does the reduction in randomness mean that convergence on a per-step basis take a little longer?

@hpasapp so the 1B dataset is partitioned into 100 files each containing randomly shuffled sentences. Let's say we have 8 GPUs / training processes and we'd like to distribute the data for multi-GPU training. There could be two options for example:

distribute the 100 files across 8 training processes.
each training process still reads the 100 files sequentially, but within a file, distribute the sentences across the 8 processes.

The previous implementation is option 2. but as you can already see, this option introduces a lot more IOs because a process has to read an entire file but only use 1/8 of its data. (specifically I believe it has to read a new file every 100-200 batches).
The PR uses option 1. and indeed increase the computation intensity and reduce the training time by a lot.

Ok. Couple of questions:

If I've understood correctly, in the earlier code, the files would be loaded in random order, but in the current PR, the files are always loaded in the same order? Could it be worth adding a shuffle after the files have been partitioned over nodes, ie somewhere around line 436?
Is the slowness of the earlier version:

mostly because copying all files to all nodes is slow, or
because reading every 8th record (or similar) within each file is slow?
If it is the latter, could it be worth shuffling the files deterministically, using a per-epoch seed, before partitioning over nodes, so that the data is a bit more random each epoch? (I notice in the two graphs above, that the graph for the newer version appears to converge slightly more slowly? Not sure if this is variance, or because the data are being presented less randomly?)

@hpasapp

Could it be worth adding a shuffle after the files have been partitioned over nodes, ie somewhere around line 436?
I can do that. Do you think it is a must-have given that sentences are all shuffled already?

Is the slowness of the earlier version
It is the latter. Note that the sentences within a file will be shuffled in different epochs:
https://github.com/asappresearch/sru/blob/3.0.0-dev/experiments/srupp_experiments/data_utils.py#L425-L426

Btw I made the figure a bit confusing.. the two graphs are not comparable on PPL because one uses a dropout of 0.1 and the other uses 0.05. The new version is converging faster actually.

🎉


I can't change the description through Appcenter dashboard

Describe the solution you'd like
I can't change the description through Appcenter dashboard, the problem first appeared, I still changed it 12h ago, today when I try to change the content as I want, I get the error "Invalid semantic version." in the Target Versions section
Describe alternatives you've considered
I tried changing the description to plain text like "abcd..." everything works, but when I change them to json string (exp: {"vi":{"version":"v2. 1.4","bundleId":"194165","description":"- Abc...."},"en":{"version":"v2.1.4","bundleId":"194165", "description":"- Abc...."}}) as I usually do I get the above error
Additional context

Our application, needs to change the description information often, so we used JSON oneline, this has worked fine so far, everything went wrong this morning 06/15/2023
{"vi":{"version":"v2.1.4","bundleId":"194165","description":"- VN description"},"en":{"version":"v2.1.4","bundleId":"194165","description":"- EN description"}}

I have tried many cases where only the "" sign will get the above error, I think this is a serious problem

I also can't add other special characters, I tried @, \n,.....

https://github.com/microsoft/appcenter/assets/48821705/99d9efbb-e52e-4b99-b7b9-ec860c0d801f

https://github.com/microsoft/appcenter/assets/48821705/2baf67e2-1119-426f-b424-8e0dfd6157cc

Same issue above. Any solutions for this?

Same issue above. Please check as fast as possible.

Hello, it is Konstantin from App Center team. We are aware of the issue and identified root cause. Fix is being rolled out steadily, functionality should be recovered for the majority of customers. Please follow https://status.appcenter.ms/ for updates.


Heather/commands - AddAdmin, AddOwner, Nudge

I put several of my commands into one branch. I implemented /add and remove admin, add and remove owners, list owners, and nudge.
Having difficulty testing nudge but I am getting a notification that the user was nudged.
To test:

Log in and create a new room.

Add/Remove admin

in a chat room type /addadmin  and you should get a notification that the admin was added
-/removeadmin  will tell you that they are no longer an admin

Add/Remove owner

in a chatroom type /addowner  and you will see that the owner is added. The ui sometimes updates the first time but sometimes takes a few tries of toggling between the rooms to update.
if you type /owners you will get a list of the owners for the room
Go to the account page and you should see a list of the rooms that user owns

Nudge user

type /nudge  and you will get a notification that the user was nudged.
If you try again within 60 seconds you will get an error that you can't do that

nudge room

type /nudge and the whole room will be nudged.

I tested!
All functionality worked as expected except /addadmin. It says "You are not an admin". I do not think that is an error on your part. Maybe just a setting issue for my account!

@heatherbshapiro  assuming the above meant :shipit: - please merge and delete branch

@heatherbshapiro

Tested in both Edge and Chrome browsers
/addadmin and /removeadmin initiate the command. Since the current user is not set to be an Admin, we can not test this completely. TODO
/addowner and /removeowner works. Tested with two browsers with two different users.
Account page also shows and updates accordingly
Individual nudge does not notify the specified user
Nudge limit is enforced (60 seconds)
Nudging the entire room notifies all users successfully


News app

Develop a Javascript React News app.
Description 📜
Fecthing the and displaying through an website which bulid on react.
Requirements 🛠

React
Example:
What the app must-haves.
What the app can-haves.
What additional can be added.

Bonuses ✨

Add tasks that are challenging.
App can have this thing.
Developers can also add this to the app.
It will be great if App has this.

Any number of people can work on a single issue 👨💻👨💻
This issue is open to all.🌍

Project location 👉🏻 {AppName}/Username/
👨🏻💻 Happy Coding 👩🏻💻

please @AthulKkumar assign me this issue


Enforce that PsiFile is fetched with a slow/background data provider

Closes https://github.com/getappmap/appmap-intellij-plugin/issues/490
Fixes exceptions on newer SDKs. It seems like the slow data provider is only queried if the fast provider does not provide a result.
This PR is always returning null when PsiFile is requested to enforce this.
I've tested this manually with 2021.3 and 2023.2.

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

v0.53.0
GitHub release

Your semantic-release bot :package::rocket:


Service unavailable error message

I have dowloaded the latest version of the MetadataBroker (version 5.0.2) and it shows an error at deployment.
I have executed the following command at the docker/composefiles/broker-localhost folder.
docker-compose up
This is the error message:
sqs@sqs-VirtualBox:~/Escritorio/metadata-broker-open-core/docker/composefiles/broker-localhost$ docker-compose up
Pulling broker-reverseproxy (registry.gitlab.cc-asp.fraunhofer.de/eis-ids/broker-open/reverseproxy:)...
ERROR: Head "https://registry.gitlab.cc-asp.fraunhofer.de/v2/eis-ids/broker-open/reverseproxy/manifests/latest": received unexpected HTTP status: 503 Service Unavailable

It says service unavailable.

Fixed.


Upgrade Method Documentation

Just wondering what is best way to upgrade this integration. There is nothing in the Readme about it.

HACS will offer the upgrade.

Thanks.

Did you get it sorted? Nothing was added to the doco as upgrading things via HACS is a well known process.

Yes, thank you. I thought I looked in that section before asking here.
Thank you again for all your efforts with this project.


Cache templates / clean index.html

Find a way to load templates dynamically at the best time available (idle). Plus cache them using $templateCache
See http://stackoverflow.com/questions/12346690/is-there-a-way-to-make-angularjs-load-partials-in-the-beginning-and-not-at-when

Template caching is done with gulp template since 895fabbd1ebd04182931f8c4b53f42450bd0fc96
Regarding cleaning index.html, it's done with gulp inject and gulp build


Bar Chart with Negative Values Y-Axis Not Showing

Hi Mike - thanks for creating and sharing D3!
I am a noob, so please forgive me if my request is incorrect.
At http://bl.ocks.org/mbostock/raw/2368837/, the example chart does not include a y-axis to display the data. In my case, I added the following code, duplicated from the x-axis:
  var yAxis = d3.svg.axis()
    .scale(y)
    .orient('right');

  svg.append('g')
    .attr('class', 'y axis')
    .call(yAxis);

I'm sure there is a better way, but that is for the experts to decide. Thanks for reviewing this request.

The reason I didn’t put a y-axis in there is that the tick labeling is a bit awkward. One decent option is to alternate the tick orientation so that the ticks are on the right for negative bars and the left for positive bars. I feel like including that logic distracted from the point of the example (which was just to show to draw bars in both positive- and negative-orientations), but here’s a new example that includes it:

I suppose it’s not so bad to include a basic y-axis in the original example. If you make the negative bars a little lighter in color then you can just overlap the labels, like so:

Many thanks, Mike. Really appreciate the expanded examples.


feat: support configuring local options file path

🆒 Your use case
By default Nuxt devtools options are saved to the current OS user's home directory. This works fine enough for local development, but when working from a docker container the container's home directory will very likely be at a location that is not mounted as a volume and persisted on the host system, leading to devtools options getting reset every time a development container is recreated.
🆕 The solution you'd like
I would like to be able to configure devtools options to be saved in another directory, ideally in my project's own .nuxt directory. Perhaps something like this:
export default defineNuxtConfig({
  devtools: {
    enabled: true,
    optionsDir: '.nuxt/devtools',
  },
});

🔍 Alternatives you've considered
It may be possible to mount and bind the container user's home directory to a project specific location, but this feels inelegant to me.
ℹ Additional info
I could also see this feature being useful if you want devtools configured differently per project instead of options always being shared system wide.
Extra mile, maybe the home directory sets defaults, and each project can extend those and override as desired? That feels overkill to me though.
Thanks for all your work on Nuxt and Nuxt Devtools! Happy to be a part of this community and share in the awesomeness of these tools. You all have made working on the web fun again!

+1 on this. Also while we are on the topic, is it even possible to use Nuxt Devtools when developing inside a devcontainer? The docs say no, but I thought surely it would just be a matter of specifying the right port to open.
Any insights, @danielwaltz?


Adding grey bg to nav bar

Describe the feature
Adding grey bg to navbar with less opacity as in few places it's not visible
Priority- HIgh
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@PriyaGhosal Please assign me this issue


testing the read-only permission of Pkg.add

To make sure we never again miss something like https://github.com/ASML-Labs/PPTX.jl/issues/45

If chmod("/tmp/jl_MFdsV3/no-slides", 0o444, recursive=true) sets the directory first to be read-only, then stat("/tmp/jl_MFdsV3/no-slides/[Content_Types].xml") fails.
mkdir foo
touch > foo/bar
chmod u-x foo
stat foo/bar

gives me stat: cannot stat ‘foo/bar’: Permission denied. The directory needs to have execute bit in order to files be accessed.
One could set chmod(unzipped_dir, 0o770, recursive=true) to make sure files are writable and directories are executable in case the template was copied to the temp directory from files inside the PPTX-package (or some other directory without write bits.
Or maybe a bit better not to put execute bit on the files
for (root, dirs, files) in walkdir(unzipped_dir)
    for dir in dirs
        chmod(dir, 0x770)
    end
    for file in files
        chmod(file, 0o660)
    end
end

Addendum: On PPTX 0.6.5 that did not set the permissions on [Content_Types].xml
using PPTX
pres = Presentation()
write("foo.pptx", pres, template_path=joinpath(PPTX.TEMPLATE_DIR, "no-slides.pptx")) # works
write("foo.pptx", pres, template_path=joinpath(PPTX.TEMPLATE_DIR, "no-slides"))       # fails


[FLINK-4582] Consuming data from DynamoDB streams to flink

What is the purpose of the change
This PR introduces a new Flink source to consume directly from dynamodb streams. This new source is built on top of the existing Kinesis connector. It interacts with the dynamodb streams via a dynamodb-streams-kinesis-adapter client.
Brief change log
New data stream can be constructed to directly pull data from DynamoDB streams.
DataStream<String> dynamodbStreams = env.addSource(new FlinkDynamodbStreamsConsumer(streamName, ..., ...))

Other changes include:

DynamodbStreamsProxy class which uses a dynamodbstreams-kinesis adapter client to interact with Dynamodb streams.
Port the describeStream API from the flink-1.5 branch into DynamodbStreamsProxy.
Minimalist DynamodbStreamsSchema class which helps deserialize dynamodb streams records

Verifying this change
This change is already covered by most of the existing Flink kinesis connector tests.
Manual tests are provided to verify that the dynamodbstreams connector can:

consume from a stream given its ARN
consume from a given table with new stream created

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes)
Added optional dependency on AWS dynamodb-streams-kinesis-adapter.
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (JavaDocs)

@yxu-valleytider Please make sure that the Pull Request title references the corresponding JIRA. I have modified the title accordingly this time.

@yxu-valleytider please include tag [kinesis] into the PR title and also format the commit messages as per convention [<JIRA>] [kinesis] add nice feature

PTAL @tzulitai

Adjusted package name based on comments.
PTAL @tweise @tzulitai

PTAL @tweise

Does the PR need to be rebased?

Dependency diff shows the following:
< [INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:<IP_ADDRESS>:compile
< [INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.0:compile
< [INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.6.7:compile
79a77,79
> [INFO] |  +- com.amazonaws:aws-java-sdk-dynamodb:jar:1.11.272:compile
> [INFO] |  |  \- com.amazonaws:aws-java-sdk-s3:jar:1.11.272:compile
> [INFO] |  |     \- com.amazonaws:aws-java-sdk-kms:jar:1.11.272:compile
80a81,84
> [INFO] +- com.amazonaws:dynamodb-streams-kinesis-adapter:jar:1.4.0:compile
> [INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.6.6:compile
> [INFO] |     +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.0:compile
> [INFO] |     \- com.fasterxml.jackson.core:jackson-core:jar:2.6.6:compile

The version of com.fasterxml.jackson.core:jackson-databind that comes with com.amazonaws:dynamodb-streams-kinesis-adapter is 2.6.6 vs. 2.6.7 from com.amazonaws:aws-java-sdk-core previously.

@yxu-valleytider thanks for the contribution!


[WFLY-10876] Separate the OpenTracing modules

See #11572 for the original version of this PR.
As part of running the TCK for #11572, I realized that the REST client tracing was missing, as the TCK implemented this code itself. As such, this PR extends the original by implementing this REST client tracing.

[x] Pull Request title is properly formatted: [WFLY-XYZ] Subject or WFLY-XYZ Subject
[x] Pull Request contains link to the JIRA issue(s)
[x] Pull Request contains description of the issue(s)
[ ] Pull Request does not include fixes for issues other than the main ticket
[x] Attached commits represent units of work and are properly formatted

Heads up, @jstourac: I changed the TCK branch we use to test WildFly's implementation, to remove the code related to REST client tracing: https://github.com/jpkrohling/smallrye-opentracing/tree/WildFly-14.0.0.CR1-SNAPSHOT

On a side note are there instructions on how to run the TCK for this?

Not officially, no. I'm using the branch I mentioned:

Build WildFly
Run mvn clean install -DskipTests from the main SmallRye OT project
Run mvn clean install from the TCK module. This should get the WildFly installed on the local maven repo under version 14.0.0.CR1-SNAPSHOT and run the TCK against it.

Note my approval is for @jpkrohling changes, not mine :)

My understanding is that this PR is ready to be merged. All relevant items mentioned by @jamezp will be handled later and are not blockers.
The circular dependency "issue" is, to my understanding, the only solution to the scenario we have: module X produces a bean (Tracer) that is consumed by module Y (CDI.current().select(Tracer.class).get()), and module X depends on Y (not the other way around).

I believe this is good to go as well. The circular dependency seems to be the only way to deal with the visibility for CDI.


Question on normalization input regarding the perceptual loss

Hi,
Considering the ScalingLayer reuses the mean and std deviation of ImageNet normalizing the input to the range of -1 and 1. Does it mean that it is necessary to scale the input to the range of -1 and 1 as well?
Best,
Tony
https://github.com/explainingai-code/StableDiffusion-PyTorch/blob/ac8fb10825aae4416e099900cb4d2919732222ae/models/lpips.py#L136

Hello @tonyyunyang ,
Yes. As you rightly pointed out, these mean and std values are meant to achieve imagenet normalization on images scaled from -1 to 1, thats why the dataset always scales images to this range even during autoencoder training. The other option is to keep using images scaled from 0-1 but in the lpips forward call pass normalize as True and it will do the scaling it needs here

Hi @explainingai-code ,
Thanks for the explanation!


[SMALLFIX] fix a bug introduced by PR#1238

oops, should have run it to sanity check.
Taking out the check for empty argument changed the code path in other part of the code  exposed the bug.

+1 LGTM


Perfetto on QNX

I am wondering whether perfetto works on QNX,  if the user wants trace from process only ( exclude the system trace), does perfetto can achieve it by only calling POSIX API?
Thanks,
Dion

Hi @dionysus1016! As far as I know nobody has tried compiling Perfetto on QNX. I imagine some non-trivial changes to the codebase would be necessary. On the other hand the code you are interested in (for in process tracing that is to a first approximation src/traced, src/tracing, src/base, src/ipc) has few dependencies and has been ported already to run on MacOS, Windows, Linux, and (via Chromium) others so I imagine it could be done. Please let us know if you try.

Thanks chromy, I am not sure I have enough effort to try, but sure, I will keep here updated if I tried.

I am trying to do this now 😸

nly ( exclude the system trace), does perfetto can achieve it by only calling POSIX API

i'm commenting on an old post, but hopefully my comment is useful to some.   it is fairly simple to convert the text-based trace output of the qnx kernel event files (kev) in to the perfetto format.
then bring it up in perfetto
there are some examples on how to do this in the qnx hypervisor section of gitlab.com/qnx
its in hypervisor section because most people merge android tracing (when android runs as a guest on qnx hypervisor) with tracing that occurs in the hypervisor host


Added Animated icons in Navbar links

fixed issue no #67
Adding animated icons gives new look to the Navbar
https://github.com/RituKumari98/imgIN/assets/137484958/c50201a3-5071-4ff0-b257-4f2127df3c06

Can you please merge this PR?

hi @RituKumari98
I have added new animated icons to the Navbar , now it gives new look
can you please assign me issue no #67 ?
and merge this PR


Look into adding ruff

We currently format the code with black but do not enforce any linting. We could consider using ruff for both formatting and linting, adding it as a dev dependency and then enforcing it's checks and formatting with their github action.

I can take a look at this!


docs(no-code): removing unused snapshot annotations

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

Looks good to me!


Compile error "nonconstant expression for length"

I get the following compile-time error:
CC      font-meter_large.c
CC      gfx-cc.c
CC      gfx-crosshair.c
CC      gfx-cv.c
CC      gfx-cl.c
CC      gfx-padlock.c
CC      gfx-thermometer.c
CC      gfx-wifi.c
CC      opendps.c
opendps.c: In function 'ui_handle_event':
opendps.c:552:9: warning: unknown option after '#pragma GCC diagnostic' kind [-Wpragmas]
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
^
CC      gfx-poweron.c
CC      gfx-poweroff.c
CC      func_cc.c
CC      func_cl.c
CC      func_gen.c
CC      uui_icon.c
CC      gfx-square.c
CC      gfx-saw.c
CC      gfx-sin.c
CC      uframe.c
CC      protocol.c
CC      protocol_handler.c
LD      opendps_DPS5005.elf
stm32f100_app.ld:15: nonconstant expression for length
collect2: error: ld returned 1 exit status
make: *** [opendps_DPS5005.elf] Error 1
Any pointers on how to solve this?

What version of arm GCC are you using? I recall seeing this error but it was around 5 years ago

yeah i just solved it - it was an old gcc version


X clients started while nwm running are not recognized under OSX

If I start an X client (xterm, xclock) while nvm is running, that client does not get displayed.  Doesn't matter if I restart nwm afterwards.
If I start an X client before nwm is started, then the client is displayed and nwm will recognize it.

Boom!
I'm closing this issue, as nwm now works under OSX.
Forget about Xephyr, just run it as the primary window manager.. :)


Feature: adds SQL translation layer

What this PR changes/adds
This PR adds the means and utilities to translate a source data model into a (potentially arbitrary) target DSL.
Here, we're translating the canonical metamodel (= Criterion objects that target domain objects such as ContractNegotiation) into the corresponding SQL statements.
A Criterion such as "contractAgreement.policy.assignee = some-assignee" would get translated into
SELECT * FROM contract_negotiation_view -- <--this is new!
WHERE policy ->> 'assignee' = 'some-assignee`

Using a view allows us to flatten the schema into a single row, and use Postgres's JSON query operators (-> and ->>) to query JSON-encoded fields.
The translator currently uses
Why it does that
To enable full query support for SQL-based stores.
Further notes

using the field names of business objects (e.g. ContractNegotiation) in combination with Criterion is the canonical format.
Currently only the canonical format is implemented, future implementations are possible
Integration tests that target an actual Postgres instance were added to verify those specific queries.
moved the PostgresqlDbIntegrationTest into the common:util module to have access to it

Linked Issue(s)
Closes #1457
Closes #1459
Checklist

[x] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[ ] documented public classes/methods?
[x] added/updated relevant documentation?
[ ] added relevant details to the changelog? (skip with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1476 (9abccc6) into main (679409d) will increase coverage by 0.46%.
The diff coverage is 89.88%.

@@            Coverage Diff             @@
##             main    #1476      +/-   ##
==========================================
+ Coverage   66.88%   67.35%   +0.46%
==========================================
  Files         726      724       -2
  Lines       16163    16097      -66
  Branches     1066     1067       +1
==========================================
+ Hits        10811    10842      +31
+ Misses       4874     4773     -101
- Partials      478      482       +4

Impacted Files
Coverage Δ

...aspaceconnector/sql/asset/index/SqlAssetIndex.java
81.74% <ø> (ø)

...nector/sql/translation/SqlConditionExpression.java
0.00% <0.00%> (ø)

.../contractnegotiation/store/PostgresStatements.java
87.87% <71.42%> (-1.32%)
:arrow_down:

...tnegotiation/ContractNegotiationSqlTranslator.java
80.00% <80.00%> (ø)

...or/sql/contractnegotiation/TranslationMapping.java
83.33% <83.33%> (ø)

.../contractnegotiation/ContractAgreementMapping.java
100.00% <100.00%> (ø)

...ontractnegotiation/ContractNegotiationMapping.java
100.00% <100.00%> (ø)

...nnector/sql/contractnegotiation/PolicyMapping.java
100.00% <100.00%> (ø)

...gotiation/store/ContractNegotiationStatements.java
96.42% <100.00%> (ø)

...negotiation/store/SqlContractNegotiationStore.java
83.15% <100.00%> (+1.33%)
:arrow_up:

... and 23 more

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 679409d...9abccc6. Read the comment docs.


Update MP Component Type Drop Down Labeling

User Story
As a ECMPS user I want the add component functionality to provide context on the data that is displayed in the dropdown so that I am clear on how to navigate the system
Acceptance Criteria
Already Developed Functionality
Given that a user has navigated to the "systems" section of MP
When the view/edit functionality is selected for a record
Then the system displays the system modal
AND the system modal contains a "System Components" section
New Development
Given that a user has selected Add component
When the "Add Component" functionality is displayed
Then the  message above the dropdown displays the following message:
"Select from list of components not already associated with the system."
Context
This enhacement was logged from the invalid  Bug: Component Type #5876. As apart of the scope of this ticket need to update the labeling for the "add component"  functionality so that a user is aware that the drop down only displays components that have not been used for the facility.  If a user wants to add a new component then the user must select the  create new component button .
Private Zenhub Image

Private Zenhub Image

Updates completed


Autocomplete.Input does not allow value to be set to empty string ""

Describe the bug
If the value is explicitly set to an empty string from the parent on the Autocomplete.Input it won't clear the text in the field.
To Reproduce
Line 149 in AutocompleteInput.tsx
Expected behavior
It should either allow empty strings or change the operation to be setInputValue(value || '').
Desktop (please complete the following information):

OS: All
Browser: All
Version: 35.1.0

Smartphone (please complete the following information):

Device: All
OS: All
Browser: All
Version: 35.1.0

PR created: https://github.com/primer/react/pull/2127

Closed by: https://github.com/primer/react/pull/2154


Ember Infinity on 2 or more nested routes

@venkz identified a problem with using multiple instances of Ember Infinity on nested routes.
With a parent/child architecture, triggering a loadMoreAction on the parent route will be caught by the child route.  This is because Ember fires route actions from the most-active leaf of the router, rather than the corresponding route for the template.
This was unexpected behavior for me, and I'm still working around nice solution for Ember Infinity.
Would love to hear any thoughts here.
Wanted to open this here to track progress.
For Now, if you're doing this - please use this pattern:
https://github.com/hhff/ember-multi-infinity-scroll/commit/cfba20b78316266ea170136e8fd11a7813cc7b65
Related Issue:
https://github.com/emberjs/ember.js/issues/13288

Hey @hhff
Very bad it hasn't been solved since April.
I think it's major issue, since it's ok to have content paginated with multiple infinity loads on the same page...

hi @Blackening999 - did you see the above pattern?  that solves the problem easily for now 👍
As for "how bad it is" - please go ahead and submit a pull request!  It is "very bad" to complain about open-source without being constructive.  I posted the above stop-gap solution for the community to use in the meantime.
otherwise sit tight, someone will get to it eventually.

@hhff
yep, I've checked the opportunity to call "private" method which works :)
hope will have time for PR since it's really easy thing to do.
Instead of using mixin - use a service, and make it mandatory to define the method for handling infinity load with further calling a public method on that service. The explicit method will allow to do any side-change during infinity load update.
The issue is, I don't think you'll want merge it since a lot of users already relies on mixin :\

I pulled together a creative solution to fix the issue, check out #174 and let me know what you think. Thanks!


write tests

Before any refactoring in #2, write tests to verify functionality.  Use TDD for enhancements in #2.

fixed in v1.0.1


Use standard names in PSAutolab module

I realize you intentionally wanted to use non-standard names for commands like Run-Lab and Setup-Lab. However, now that these are part of a module, PowerShell will complain about non-standard verbs if you import the module. I think the better approach would be to rename the commands using standard verbs. Then create aliases using the current names like Run-Lab.  This should satisfy module requirements and not break anything.

AS mention in issue 92, I will address.

No reason to keep this open then.


Removing the white circle around the scatter mark

Hello there,
Thanks once again for the fabulous work, it's been real fun to implement this library in my projects. I have a question that I can't seem to solve, neither by looking at this documentation nor at the one from the original library. I'd like to graph a lot of point in a scatter view, just like this:

Problem is that, for a large cloud of points, the white outline of the circle renders the circles invisible, making the table confusing to read. Is there any way to remove this outline completely?
Much appreciated for the reply.

Nevermind the question, I just had to update the library and use the parameter StrokeWidth to 0. It looks wonderful now:


Frames darker with formats 'h264' and 'rgb' than formats 'mjpeg' and 'yuv'

Hi,
I'm using picamera to capture and process video in low light conditions. It seems to me that some formats provide better contrast in such conditions than others. Specifically, 'mjpeg' and 'yuv' formats greatly outperform 'h264' and 'rgb' formats. Unfortunately, I am limited to using 'h264' for video capture, as no other format can be written to disk at 30 FPS and with resolution 1600 x 1216.
Is there a way to achieve image quality with 'h264' that is comparable to 'mjpeg' and 'yuv'?
I have tried with different values for 'h264' additional options, such as profile, level, intra_period, bitrate and quality, but none of these seem to affect the image brightness.
Perhaps the problem is in encoders implemented in the GPU, which can't be adjusted through picamera?
On the figure below, the MJPEG and YUV images are far better quality than RGB and h264. Many of the objects clearly visible in MJPEG and YUV images are not visible at all in h264 and RGB images.

Below is the code used to capture the frames and to display them.
from picamera import PiCamera
from picamera.array import PiRGBArray, PiYUVArray
from time import sleep
import numpy as np

camera = PiCamera(sensor_mode=4, framerate=30, resolution=(800, 608))

# Set gains and exposure to fixed values
camera.awb_mode = 'auto'
camera.exposure_mode = 'sports'
camera.iso = 800
camera.start_preview()
sleep(2)
gains = camera.awb_gains
camera.exposure_mode = 'off'
camera.awb_mode = 'off'
camera.awb_gains = gains
camera.shutter_speed = camera.exposure_speed
camera.image_denoise = False
camera.video_denoise = False
camera.stop_preview()

# Record mjpeg clip
camera.start_recording('test.avi', format='mjpeg')
sleep(5)
camera.stop_recording()

# Record h264 clip
camera.start_recording('test.h264', format='h264',
                       quality=25)
sleep(5)
camera.stop_recording()

# Capture YUV frame from video port
with PiRGBArray(camera) as output:
    camera.capture(output, format='rgb', use_video_port=True)
    frame_rgb = output.array

# Capture YUV frame from video port
with PiYUVArray(camera) as output:
    camera.capture(output, format='yuv', use_video_port=True)
    frame_yuv = output.array

# Close camera
camera.close()

# Save RGB image as numpy file
np.save('test_rgb.npy', frame_rgb)
np.save('test_yuv.npy', frame_yuv)

And to display the captured frames
import numpy as np
import cv2
import matplotlib.pyplot as plt

path_to_test_avi = 'test.avi'
path_to_test_h264 = 'test.h264'
path_to_test_rgb = 'test_rgb.npy'
path_to_test_yuv = 'test_yuv.npy'

use_frame_nr = 30

# Load MJPEG frame
reader = cv2.VideoCapture(path_to_test_avi)
for nr in range(use_frame_nr):
    ret, frame_mjpeg = reader.read()
reader.release()
# Convert frame from BGR to RGB
frame_mjpeg = cv2.cvtColor(frame_mjpeg, cv2.COLOR_BGR2RGB)

# Load h264 frame
reader = cv2.VideoCapture(path_to_test_h264)
for nr in range(use_frame_nr):
    ret, frame_h264 = reader.read()
reader.release()
# Convert frame from BGR to RGB
frame_h264 = cv2.cvtColor(frame_h264, cv2.COLOR_BGR2RGB)

# Load RGB frame
frame_rgb = np.load(path_to_test_rgb)

# Load YUV frame and convert to RGB for display
frame_yuv = np.load(path_to_test_yuv)
frame_yuv = cv2.cvtColor(frame_yuv, cv2.COLOR_YUV2RGB)

# Display frames
f, axes = plt.subplots(2, 2)
axes[0,0].imshow(frame_mjpeg)
axes[0,0].set_title('MJPEG')
axes[0,0].axis('off')
axes[0,1].imshow(frame_h264)
axes[0,1].set_title('h264')
axes[0,1].axis('off')
axes[1,0].imshow(frame_rgb)
axes[1,0].set_title('RGB')
axes[1,0].axis('off')
axes[1,1].imshow(frame_yuv)
axes[1,1].set_title('YUV')
axes[1,1].axis('off')
plt.show()

Almost certainly due to mishandling of colour spaces / primaries.
There are several commonly used colour spaces - JFIF (JPEG), BT601 (SD video), and BT709 (HD video). These define the relevant matrices to use if you wish to convert from YUV to RGB.
The ISP always produces YUV, and should be generating BT601 where luma samples range from 16-235. JFIF uses luma samples range from 0-255.

The H264 encoder will correctly signal BT601 this in the bitstream.
The conversion to RGB will also be abiding by BT601 matrices.
MJPEG has no such metadata and will generally be interpreted as JFIF as it's based on JPEG.
How your YUV decode converts to RGB is up to OpenCV, quite likely JFIF.

At the MMAL level you can tell the camera to signal JFIF instead via the color_space in the port format.
/** Unknown color space */
#define MMAL_COLOR_SPACE_UNKNOWN       0
/** ITU-R BT.601-5 [SDTV] */
#define MMAL_COLOR_SPACE_ITUR_BT601    MMAL_FOURCC('Y','6','0','1')
/** ITU-R BT.709-3 [HDTV] */
#define MMAL_COLOR_SPACE_ITUR_BT709    MMAL_FOURCC('Y','7','0','9')
/** JPEG JFIF */
#define MMAL_COLOR_SPACE_JPEG_JFIF     MMAL_FOURCC('Y','J','F','I')

I suspect it'll be set to AUTO, and you'll be looking to set it to MMAL_COLOR_SPACE_JPEG_JFIF.

I suspect it'll be set to AUTO, and you'll be looking to set it to MMAL_COLOR_SPACE_JPEG_JFIF.

If that's the default then yes, it'll be AUTO - I'm fairly sure picamera doesn't touch the color_space setting anywhere (largely due to me not knowing what to do with it before :). I'm tempted to mark this a bug in picamera and see if I can tweak the color_space to JFIF whenever an MJPEG encoder is attached to something (or allow the color_space to be specified as a parameter to start_recording).
However ... is it enough to tweak the color_space on the encoder's input port, or is this something that would need setting on the original output port of the camera component? If the latter my ill-fated decision to always stuff that splitter in the pipeline is going to complicate matters (at least for users that don't wire up their own pipeline down in mmalobj).

Thank you both for taking the time to respond.
I have not worked with the MMAL level before, but I tried to understand what is happening and to implement some (ugly) hard-coded fix, so I can move to using the JFIF color space for my project.
What I understand from your replies is that the picamera module is not currently set to specify color_space, which is automatically set in libmmal C-library based on the encoder type attached to the picamera.mmalobj.MMALVideoPort when used by the picamera.mmalobj.MMALCamera.
Indeed, I tried setting all the color codes in mmal.py to JFIF, but this had no effect. Changes were on lines 2256 - 2256 in mmal.py.
MMAL_COLOR_SPACE_ITUR_BT601   = MMAL_FOURCC('YJFI')
MMAL_COLOR_SPACE_ITUR_BT709   = MMAL_FOURCC('YJFI')
MMAL_COLOR_SPACE_JPEG_JFIF    = MMAL_FOURCC('YJFI')

So I gave a shot at specifying the color_code for picamera.mmalobj.MMALVideoPort just before recording is started. I assume the correct place to do this would be earlier in the process of initialization, but I implemented it in the late stage because I understand the color_code may be overriden automatically at some stage and I don't properly understand the MMAL level to find out where the correct place is to set the color_code.
I added the following lines after line 397 in encoders.py:
# Changes to hard-code JFIF color code
self.input_port._port[0].format[0].es[0].video.color_space = mmal.MMAL_FOURCC('YJFI')
self.input_port.commit()
self.output_port.copy_from(self.input_port)
self.output_port.commit()
# End of changes

So the picamera.PiEncoder.start method looks like this:
    def start(self, output):
        """
        Starts the encoder object writing to the specified output.

        This method is called by the camera to start the encoder capturing
        data from the camera to the specified output. The *output* parameter
        is either a filename, or a file-like object (for image and video
        encoders), or an iterable of filenames or file-like objects (for
        multi-image encoders).
        """
        self.event.clear()
        self.exception = None
        self._open_output(output)
        with self.parent._encoders_lock:
            self.output_port.enable(self._callback)
            if self.DEBUG > 0:
                mo.print_pipeline(self.output_port)
            # Changes to hard-code JFIF color code
            self.input_port._port[0].format[0].es[0].video.color_space = mmal.MMAL_FOURCC('YJFI')
            self.input_port.commit()
            self.output_port.copy_from(self.input_port)
            self.output_port.commit()
            # End of changes
            self.parent._start_capture(self.camera_port)

This yields the following error when I attempt to record video in 'h264' format:
mmal: mmal_vc_port_info_set: failed to set port info (3:1): EINVAL
mmal: mmal_vc_port_set_format: mmal_vc_port_info_set failed 0x146ce20 (EINVAL)

Perhaps you could suggest where the correct place may be to specify color_space. I would really appreciate even an ugly hard-coded solution, just so I can continue with the project. I only use formats 'h264', 'mjpeg' and 'yuv', so I'm guessing it wouldn't hurt if I set the color_space to always be JFIF.

If that's the default then yes, it'll be AUTO - I'm fairly sure picamera doesn't touch the color_space setting anywhere (largely due to me not knowing what to do with it before :). I'm tempted to mark this a bug in picamera and see if I can tweak the color_space to JFIF whenever an MJPEG encoder is attached to something (or allow the color_space to be specified as a parameter to start_recording).

However ... is it enough to tweak the color_space on the encoder's input port, or is this something that would need setting on the original output port of the camera component? If the latter my ill-fated decision to always stuff that splitter in the pipeline is going to complicate matters (at least for users that don't wire up their own pipeline down in mmalobj).

I don't know how you propagate formats between components in the pipeline.
I'd go for the simple solution of always setting colour_space to JFIF on all components - at least that way the setting is consistent.
It's been a niggle that was raised back in the Broadcom days that the ISP isn't reprogrammed with the relevant conversion matrices to produce the desired colourspace, so this is purely a signalling thing, and things doing conversions to RGB are using inappropriate settings.

You may be able to take the sledgehammer approach and set colourspace in commit https://github.com/waveform80/picamera/blob/master/picamera/mmalobj.py#L1112
I should add to the above that for MMAL_ENCODING_OPAQUE the colourspace is conveyed within the buffer, therefore it has to be set appropriately on the source component.
Please note that for H264 you are reliant on whatever is decoding the stream and converting it to RGB to look at the relevant bits in the headers.
For RGB I believe it is using video_splitter to do the conversion, and that should use the colourspace information appropriately.


modules: modpython: Implement Module.AddCommand()

Currently, there is no usable wrapper for CModCommand for use within
bindings, so this commit adds a proxy class that adds itself as a
callback and allows implementing Python classes to implement commands via
__call__().
A completely synthetic example:
import znc

class foo(znc.Module):
    module_types = [znc.CModInfo.UserModule]

    def OnLoad(self, args, message):
        self.AddHelpCommand()
        self.AddCommand(FooCmd)

        return True

class FooCmd(znc.Command):
    cmd = 'foo'
    args = foo.t_d('bar')
    desc = foo.t_d('baz')

    def __call__(self, line):
        self.GetModule().PutModule('I have been foo’d!')

Fixes https://github.com/znc/znc/issues/198

Thanks! Can you add a test to https://github.com/znc/znc/blob/master/test/integration/tests/scripting.cpp with such synthetic example?

Thanks! Can you add a test to https://github.com/znc/znc/blob/master/test/integration/tests/scripting.cpp with such synthetic example?

Added a test.


Introducing node extensions?

One of the first things I reacted to when first contributing to RuboCop was how there are utility modules for nodes in the cop mixins. This is a bit unexpected and doesn't make for very discoverable code, and also prone to conflicts with cop methods.
That made me start thinking we should instead have some node extension modules, and decorate the AST nodes with the relevant methods for their respective node types.
Later, I found that Reek is already doing exactly this. So we could possibly "borrow" some of their code, if it's something you think is worthwhile.
Thoughts? @bbatsov, @jonas054

Expected behavior
Nodes contain the relevant logic to describe themselves:
if_node.ternary?

Actual behavior
Node inspection logic is contained in cop mixins:
# Only after mixing in `Cop::Mixin::IfNode`
ternary?(if_node)

RuboCop version
Include the output of rubocop -V. Here's an example:
$ rubocop -V
0.46.0 (using Parser <IP_ADDRESS>, running on ruby 2.4.0 x86_64-darwin16)

I totally agree. Such parts of the codebase are remnants of the older days. The made a few suboptimal decisions back in the day - e.g. such methods were duplicate in a few cops and moving them to Mixins represented some form of improvements. Afterwards we moved to the model with richer AST node API, but didn't fully migrate everything to it.

:+1: Good idea, @Drenmi.

Just noticed this in passing - has this already happened? I notice a bunch of node extensions went in over January from @Drenmi.

@petehamilton: Yes. There are node extensions for the most commonly used nodes. It is far from complete, however. 🙂


[FLINK-2150][gelly] Added library method for assigning unique labels to vertices

This PR adds a library method that assigns unique labels to vertices.
The following facts are used:

a map function generates an n-bit(n - number of parallel tasks) ID based on its own index
with each record, a counter c is increased
the unique label is then produced by shifting the counter c by the n-bit mapper ID

Thanks @fhueske for the useful tips!
And thanks @rmetzger for the nice stackoverflow answer (http://stackoverflow.com/questions/30596556/zipwithindex-on-apache-flink)
If you guys find some spare minutes, you are more than welcome to have a look at what I did here. If not, we'll just let @vasia do what she does best :)

Hi Andra,
you approach basically follows @rmetzger 's suggestion which is necessary if you need sequential IDs. However, it comes at the cost of doing two passes over the data and temping the data after the first map because you need to wait for the count before you can assign IDs. Temping data means writing to and reading from disk if you process a lot of data.
My approach won't give sequential IDs but works in a pipelined fashion with a single Mapper and without temping. For each parallel task, you create an ID based on its index and a counter that starts at 0. These are the two components from which a record ID is created by shifting the counter by the number of bits you need for the task ID which is log2 of the number of tasks.

Hi @fhueske ,
To tell the truth, I was a bit reserved regarding your approach, so maybe we can discuss it a bit further! :) I updated the PR to contain what I understood should be done[Tell me if I got it right!].
Now the question is: what happens when you have more than 63 partitions? When you shift, won't you overcome Long 's bounds?

If you reserve 2 bytes of a long for the task id you have 6 bytes left for the counter. This gives you 2^16 partitions, with 2^48 elements per partition. You can also use Strings instead of longs if you are worried about the value range.

I think I got it! Have a look now :)

Ooops! My bad. Fixed the log and the ceil issue in the latest update.

Why only offering this method for Gelly? Can't we generalize the index algorithm for generic types? It could also be useful for the ML library, for example. I'm thinking of something like zipWithIndex what is also offered by Spark's API.

Hi @tillrohrmann ,
For the log2 part, you mean something like this: ceil(log2(x)) = 32 - numberOfLeadingZeros(x - 1)? 32 because it's int, in this case it should be 64...
I started with gelly because I thought it would be nice to first break stuff in my own part of the woods :). I am in favour of generalising. What should we change for that?

If I'm not mistaken then something like
int log2(long value){
  if(value & 0xffffffff00000000 > 0) {
  	64 - Integer.numberOfLeadingZeros((int)(value >> 32))
  } else {
  	32 - Integer.numberOfLeadingZeros((int)value)
  }
}

should do the trick.
For the generalization I think something like dataSet.zipWithID() with
class DataSet<T> {
  public DataSet<Tuple2<Long, T>> zipWithID() {}
}

would be nice. But we should discuss it on the mailing list whether we want this to be part of the API or not. For the beginning, it could be added to some kind of utils class.

I agree, it makes sense to offer that externally.
There is a JIRA for zipWithIndex (FLINK-2152). zipWithUniqueID could be added correspondingly.

+1 for adding both methods in a utility class as suggested in FLINK-2152.

+1 as well.
On Wed, Jun 10, 2015 at 10:38 AM Fabian Hueske<EMAIL_ADDRESS>wrote:

+1 for adding both methods in a utility class as suggested in FLINK-2152.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/flink/pull/801#issuecomment-110655024.

Hello, wondering what the status is on this PR

Hi @thvasilo ,
Sorry for the late reply... I stated in the zipWithIndex PR that I am waiting for that to be merged before I update this one :). So, here it is!

Thanks, Andra. I guess #832 is actually more related to what we want for FlinkML, but it's great to see these progressing, we'll definitely be using them as soon as they are merged.

Okay, can I get some +1s to merge this :)?

Great work @andralungu, +1 from me!
Make sure you squash your commits and appropriately update the commit message before merging ;)

Merging...


[5.4] Improvements to Artisan 'vendor:publish' command.

When using Artisan's vendor:publish command on a package with no instructions, I received a 'false positive' where it looked like an asset had been published, when it hadn't. This PR clarifies the output such that it will tell you if a package was not published due to an incorrect name or lack of --force attribute.
Incorrect name:
$ ./artisan vendor:publish --provider="Person\Package\PackageServiceProvideeeeee"
Nothing to publish.

Correct name (same output as previous):
$ ./artisan vendor:publish --provider="Person\Package\PackageServiceProvider"
Copied File [/vendor/spatie/laravel-permission/config/permission.php] To [/config/permission.php]
Publishing complete.

Published again:
$ ./artisan vendor:publish --provider="Person\Package\PackageServiceProvider"
Did not copy file [/vendor/spatie/laravel-permission/config/permission.php] to [/config/permission.php] as file already exists and "--force" was not specified.
Publishing complete.

If the idea gets the green light, you might want to target 5.5 instead. The vendor:publish command changed a bit and this would have at least 1 conflict as far as I can tell.

Yes please target 5.5 with any vendor:publish Prs.

@fitztrev I just saw your changes to vendor:publish - awesome work. I'll see if any of this PR can be added to it.

@fitztrev Was this one closed because the topic starter didn't target the latest Laravel version with PR?

@GinoPane I didn't close it.

@fitztrev , I understand, just thought that maybe you know 😄
@taylorotwell could you comment on this please?