Update edx ACE email template

This email template is used when generating enrollment emails, and probably other transactional emails.
https://github.com/mitodl/mitxonline-theme/blob/main/lms/templates/ace_common/edx_ace/common/base_body.html#L65
acceptance criteria:

[ ] MITx Online logo
[ ] Link logo to MITx Online dashboard (on RC, this is https://rc.mitxonline.mit.edu/dashboard)
[ ] Sign in link should go to MITx Online sign in page (on RC, this is https://rc.mitxonline.mit.edu/signin)
[ ] "Access the Course Materials Now" button should work
[x] Mailing address should be populated and not display "SET-ME-PLEASE" (this is probably an environment setting)
[ ] Copyright string should use platform name, or be hardcoded to "MITx Online"
[ ] Return address should be set to "MITx Online"<EMAIL_ADDRESS>(I'm pretty sure this is an environment setting; see https://github.com/mitodl/ol-infrastructure/issues/327)

do you have a link or links?

I came over this URL under this file.
https://github.com/mitodl/mitxonline-theme/blob/main/lms/templates/ace_common/edx_ace/common/base_body.html#L65

also thie  section under the same file have xPro text.

I updated the description with some more specific details.

Looks like some of these are already fixed on lms-qa. I need to do some more testing.

@briangrossman can you review the checklist to see if there's anything further that needs to be done here?

@pdpinch & @asadiqbal08
Ran a test. Looks like all these still need to be addressed:

[ ] MITx Online logo

Still pointing to xPRO

[ ] Link logo to MITx Online dashboard (on RC, this is https://rc.mitxonline.mit.edu/dashboard)

Sent me to:
https://m4vdsnxv.r.us-east-1.awstrack.me/L0/https:%2F%2Flms-qa.mitxonline.mit.edu%2F%3Futm_source=instructor%26utm_medium=email%26utm_campaign=allowedenroll%26utm_content=b7a605b9-845e-4797-800c-0bf702db2e55/1/0100017c04680a89-47572213-848b-4bbb-aebc-f22d699cdb7c-000000/OjbHv36qpr8XBw8f71yE811sVIY=236
which redirects me to
https://lms-qa.mitxonline.mit.edu/?utm_source=instructor&utm_medium=email&utm_campaign=allowedenroll&utm_content=b7a605b9-845e-4797-800c-0bf702db2e55
which loads as a blank page with the error This site can’t be reachedCheck if there is a typo in lms-qa.mitxonline.mit.edu.

[ ] Sign in link should go to MITx Online sign in page (on RC, this is https://rc.mitxonline.mit.edu/signin)

Sent me to:
https://m4vdsnxv.r.us-east-1.awstrack.me/L0/https:%2F%2Flms-qa.mitxonline.mit.edu%2F%3Futm_source=instructor%26utm_medium=email%26utm_campaign=allowedenroll%26utm_content=b7a605b9-845e-4797-800c-0bf702db2e55/2/0100017c04680a89-47572213-848b-4bbb-aebc-f22d699cdb7c-000000/4xV8ET6cw4b3lIQWQASdCeynmBo=236
which redirects me to:
https://lms-qa.mitxonline.mit.edu/?utm_source=instructor&utm_medium=email&utm_campaign=allowedenroll&utm_content=b7a605b9-845e-4797-800c-0bf702db2e55
which loads as a blank page with the error This site can’t be reachedCheck if there is a typo in lms-qa.mitxonline.mit.edu.

[ ] "Access the Course Materials Now" button should work

Sorry... I don't see this button. Do you mean the Finish Your Registration button? 'cause that doesn't link anywhere.

[x] Mailing address should be populated and not display "SET-ME-PLEASE" (this is probably an environment setting)
[ ] Copyright string should use platform name, or be hardcoded to "MITx Online"

Still says MIT xPRO

[ ] Return address should be set to "MITx Online"<EMAIL_ADDRESS>(I'm pretty sure this is an environment setting; see https://github.com/mitodl/ol-infrastructure/issues/327)

Return address is<EMAIL_ADDRESS>

@pdpinch this ticket is not in the Arbisoft board, should it be ready to work ?

@pdpinch can you please looked over this @briangrossman comment

"Access the Course Materials Now" button should work
Sorry... I don't see this button. Do you mean the Finish Your Registration button? 'cause that doesn't link anywhere.

Ok @briangrossman , What I get, if you have a pending registration then it show the Finish Your Registration button otherwise it shows up the Access the Course Materials Now  button.

@asadiqbal08
I see. Thanks. I guess we should make sure both cases work. Note that the Finish Your Registration button wasn't linked at all.

@pdpinch Referring to this:

Link logo to MITx Online dashboard (on RC, this is https://rc.mitxonline.mit.edu/dashboard)
Sign in link should go to MITx Online sign in page (on RC, this is https://rc.mitxonline.mit.edu/signin)

I was trying to update the Sign In and Dashboard URL from the site configuration but the requested changes were not rendering over the email UI and after looking around, I came to know that one of the template context for ACE emails is not being called while sending bulk enrollment emails from instructor dashboard in edx-platform (I am on OPENEDX_RELEASE/lilac.master), Referring this block
There are two possible solutions.
1- Create an upstream PR to call this ace template context for getting extra details in case of enrollments too.
OR
2- Used the site_configuration_values in our mitxonline-theme repository as I did in my PR HERE
Let me know do you think and I have these site configurations over my local instance.
{
  "ENABLE_MKTG_SITE": true,
  "COURSE_CATALOG_API_URL": "http://edx.devstack.discovery:18381/api/v1/",
  "PLATFORM_NAME": "Mitx Online",
  "FOOTER_ORGANIZATION_IMAGE": "images/logo.png",
  "SIGNIN_URL": "/signin",
  "HOMEPAGE_URL": "/dashboard",
  "MKTG_URLS": {
    "ABOUT": "/about-us",
    "CONTACT": "http://mitx-micromasters.zendesk.com/hc/en-us/requests/new",
    "TOS": "/terms-of-service",
    "HONOR": "/honor"
  }
}

There are two possible solutions.
1- Create an upstream PR to call this ace template context for getting extra details in case of enrollments too.
OR
2- Used the site_configuration_values in our mitxonline-theme repository as I did in my PR HERE

Let's go with option 2, since it should be faster and we'd like to fix this before Oct. 1.

Secondly,
"Access the Course Materials Now" button should work

It does seem like a misconfiguration somewhere. In the QA stack, the button should like to courses-qa.mitxonline.mit.edu and not lms-qa.mitxonline.mit.edu -- can you determine where that value is being set?

It does seem like a misconfiguration somewhere. In the QA stack, the button should like to courses-qa.mitxonline.mit.edu and not lms-qa.mitxonline.mit.edu -- can you determine where that value is being set?

It seems to me, site configuration is not properly set.

@pdpinch are you pointing to From address in this point ?

Return address should be set to "MITx Online"<EMAIL_ADDRESS>

It seems to me, site configuration is not properly set.

How do we change this? It looks like a django admin snapshot. What's the URL? (fyi @briangrossman )

@pdpinch are you pointing to From address in this point ?

Return address should be set to "MITx Online"<EMAIL_ADDRESS>

Yes, I'm referring to the From address.

It seems to me, site configuration is not properly set.

How do we change this? It looks like a django admin snapshot. What's the URL? (fyi @briangrossman )

Yes it is site admin and the screenshot is referring this site_configuration


More control / settings from GPT Researcher to Tavily as a retriever

Is your feature request related to a problem? Please describe.
Right now the use of Tavily is pretty basic in the sense that many arguments in
https://docs.tavily.com/docs/python-sdk/tavily-search/api-reference#methods
are not been used. In particular, useful settings such as include_domains and exclude_domains are impossible to be set via GPTResearcher initialisation.
Describe the solution you'd like
If feature parity between retrievers are never going to be possible (which I think is the case), then find a way to allow setting of retriever-specific kwargs from top-level GPTResearcher initialisation phase.
I don't have a clear idea what's the best approach here though, open to suggestions.
Describe alternatives you've considered
Once we establish a pattern of setting additional arguments per retriever, it could help the use of all the retrievers going forward with a finer control of their behaviour.
Additional context
Happy to author the PR once we have a clear direction.

Hey @cwang this is a great point and definitely agree we need to consider a way to allow this. My idea is to start building out features that might have feature parity. For example, including_domains and exclude_domains are very much likely to have feature parity, and then a PR would include those options as env var on the top level gptr config and passed down to each of the different search provider based on their API. I know it's a bit tedious, but perhaps worth it. I do see great value in preserving feature parity to keep GPTR generic and not coupled to a specific provider. Lmk wdyt and would love your help with a PR!
Another including thought is that if certain API don't have it, we can catch it on the specific API level and throw a warning.

Welcome @cwang,
Agreed - this is a common use case for me as well & it would be great to abstract this away to the GPTResearcher(config) stage.
In my case, I'm using Google Search as the Retriever.
For that provider, the function of including and excluding domains is by appending a string to the query param, like so:
"machine learning (site:wikipedia.org OR site:medium.com) -site:buzzfeed.com -site:vogue.com"
Feel free to get the party started on your end with a PR.
I can build on your commits & also add the filter to the NextJS frontend.
Looking forward to it 🙏


View event data in MongoDB Compass as JSON

Summary
Provide a JSON view of event data in a MongoDB event store.
Motivation
During development or debugging, developers often need to view the event data of stored events. This is currently not possible through MongoDB Compass because the event data is stored in binary:

In order to view the event data, the developer would have to write a program that fetches the event from the store and decodes it using the registered decoder.
Storing the event data directly as JSON into the store is not an option because it is not guaranteed that events are encoded/decoded as JSON.
Proposal
Proposal is to implement a service that builds an eventually consistent JSON view of all events in the event store within a separate collection/database. If a developer requires a JSON view, the service can be easily added to an application and MongoDB Compass can still be used as the UI to search through the events.
package example

func example(store event.Store, bus event.Bus, col *mongo.Collection) {
  // use the events in `store` to fill the JSON view collection `col` on startup.
  // continuously build the view of published events by subscribing to `bus`.
  svc := jsonview.New(store, bus, col)

  errs, err := svc.Run(context.TODO())
}

Tasks
To be able to use the projection scheduling system within the JSON view builder, the scheduling system needs to be extended to allow for wildcard event subscriptions (because the view builder must subscribe to all events).

[x] #33

Superseded by #112


chisel emitts expensive verilog

Hi everyone! i need to know that is there any efficient way to generate pretty readable verilog from chisel, in current version it generates a lot of temporaries and randomization.

Hi Sajjad, were you interested in readable or high-performant Verilog? While those sometimes overlap, we've (sometimes surprisingly) found that in many cases the Chisel/FIRRTL-optimized Verilog is actually optimized better by downstream tools compared to hand-written Verilog. Was there a specific circuit or structure that was causing issues?

At the CHIPS workshop update last week (9/17/2020) Jack Koenig updated that Chisel 3.4 would have many naming improvements which should make for more readable code. I believe they are also working on support to remove the randomization `ifdef chains for registers (through a config variable), which should also help with readability.


Update the cache before checking mapping

Fix a problem: I needed perform a check-in before perform an analysis
With this change, I update cache and the analysis works correctly

Thanks a lot @apieraf for finding how to solve this annoying issue.

This issue might relate to http://stackoverflow.com/questions/32197117/how-to-configure-scm-support-for-msbuild-sonarqube-runner/32204839#32204839

@dbolkensteyn refreshing the cache worked fine for me too :)

We have evaluated this pull request and found the following error -
If the path is not mapped or mapped using different set of dlls, WorkspaceInfo will be null, and throw an unhandled NullPointerException.
We express our sincere thanks for bringing this issue to our notice. This has now been resolved in https://github.com/SonarCommunity/sonar-scm-tfvc/pull/13


[FEATURE] A better navigation icon

Description
I looked up the website while adding my own profile. The magnifying glass icon didn't seem very intuitive to me at first. Couldn't figure out at first glance that that's where I needed to go to look at all the profiles. My suggestion would be a button telling that's where all the profiles are.
Screenshots

Additional information
No response

I kind of agree. I initially thought that was a search bar, and only after clicking in the icon itself did I really understand what it was for. Maybe we could switch up the approach to letting people know that that's how you can view all the profiles.

Imo, the landing page should have a call to action button instead of "see eddie jaoude's profile as an example",
saying something like "see profiles 🔎"  or  "search for profiles 🔎" then "Want to add your profile? Read the instructions" below.

Imo, the landing page should have a call to action button instead of "see eddie jaoude's profile as an example", saying something like "see profiles 🔎" or "search for profiles 🔎" then "Want to add your profile? Read the instructions" below following that.

I like the idea of a call to action.

I think because the entire navbar looks like a search bar, first-time visitors might take some time to realise only the icon is clickable. Adding the phrase "search for profiles" might make it more obvious.

I think because the entire navbar looks like a search bar, first-time visitors might take some time to realise only the icon is clickable. Adding the phrase "search for profiles" might make it more obvious.

I think the search bar thing should be removed altogether, maybe go for a button or better still, a CTA like @nathgoutam93 suggested because it's not serving as a search bar even though it looks like one.

@schmelto  @ChinmayMhatre i would like to work on this issue.

@schmelto how is this,

Added search profiles next to the search icon for better understanding of its use case as mentioned by @AkshithBellare
A "see profiles 🔎 for inspiration" instead of "See profile for an example" which redirects user to the search profile page as mentioned by @nathgoutam93

Ready add a PR if changes are approved.

Looks good 👍

May i make a PR ?

Sure @Vedant-Manjrekar, I that for any issue you first see if anyone else isn't working and ask for assignment on the issue and open the PR!

The new version of LinkFree is out, I will close this issue, feel free to create a new issue for the new version if still relevant


Refactor VT control sequence identification

Summary of the Pull Request
This PR changes the way VT control sequences are identified and dispatched, to be more efficient and easier to extend. Instead of parsing the intermediate characters into a vector, and then having to identify a sequence using both that vector and the final char, we now use just a single uint64_t value as the identifier.
PR Checklist

[x] Closes #7276
[x] CLA signed.
[x] Tests added/passed
[ ] Documentation updated.
[ ] Schema updated.
[x] I've discussed this with core contributors already. Issue number where discussion took place: #7276

Detailed Description of the Pull Request / Additional comments
The way the identifier is constructed is by taking the private parameter prefix, each of the intermediate characters, and then the final character, and shifting them into a 64-bit integer one byte at a time, in reverse order. For example, the DECTLTC control has a private parameter prefix of ?, one intermediate of ', and a final character of s. The ASCII values of those characters are 0x3F, 0x27, and 0x73 respectively, and reversing them gets you 0x73273F, so that would then be the identifier for the control.
The reason for storing them in reverse order, is because sometimes we need to look at the first intermediate to determine the operation, and treat the rest of the sequence as a kind of sub-identifier (the character set designation sequences are one example of this). When in reverse order, this can easily be achieved by masking off the low byte to get the first intermediate, and then shifting the value right by 8 bits to get a new identifier with the rest of the sequence.
With 64 bits we have enough space for a private prefix, six intermediates, and the final char, which is way more than we should ever need (the DEC STD 070 specification recommends supporting at least three intermediates, but in practice we're unlikely to see more than two).
With this new way of identifying controls, it should now be possible for every action code to be unique (for the most part). So I've also used this PR to clean up the action codes a bit, splitting the codes for the escape sequences from the control sequences, and sorting them into alphabetical order (which also does a reasonable job of clustering associated controls).
Validation Steps Performed
I think the existing unit tests should be good enough to confirm that all sequences are still being dispatched correctly. However, I've also manually tested a number of sequences to make sure they were still working as expected, in particular those that used intermediates, since they were the most affected by the dispatch code refactoring.
Since these changes also affected the input state machine, I've done some manual testing of the conpty keyboard handling (both with and without the new Win32 input mode enabled) to make sure the keyboard VT sequences were processed correctly. I've also manually tested the various VT mouse modes in Vttest to confirm that they were still working correctly too.

I'm only leaving this as a draft because I'm waiting on PR #6328 which is likely to conflict with this. Other than that I think it's ready to review.
I was a bit unsure about where to put the VTID class, so I picked the DispatchTypes header just because it was already included by most of the places that needed access to VTID. If that's not right, though, and you'd prefer the code moved elsewhere, just let me know.
Also I'm not sure why the x86 build is failing. I can't actually see an error being reported anyway, and it seems to build locally (given enough cleans, reboots, and retries), so I don't know if there's just a build bot issue.

I kicked the x86 build. That's very unusual.

VTID ... DispatchTypes

Fine by me. That's as close as we'll get to "consolidated", and it is involved in Dispatch afterall.

draft .. conflicts

That's kind of you! I'm fine with this one coming out of draft and I can throw a block on the head commit so the bot doesn't merge it.
I still haven't figured out how my team uses draft PRs, so I think the best way to get more eyes on this is to mark it "ready for review" at any rate. :smile:

@zadjii-msft one step ahead of ya ;) check the build statuses

as a heads-up, #7319 will conflict here as well due to the introduction of default: in a bunch of cases

as a heads-up, #7319 will conflict here as well due to the introduction of default: in a bunch of cases

OK thanks. I'll wait for that to merge.

Alright - because the merge status is on the latest commit, pushing an update should clear it & now that we're past all the build hurdles I'm not worried about the CI failing :smile:

This is way better. Thanks for the vision and implementing it, @j4james.

@msftbot merge this in 5 minutes


Why Snyk Code analysis for repos is Deprecated?

Is there an existing feature request for this?

[X] I have searched the existing feature requests

Description
Hi Team,
Could we know why Snyk Code analysis for repos is Deprecated?
What's the alternative?
Thanks
Additional Information
No response

It was no longer functional due to changes in the underlying API. There was no longer a way to trigger only a Snyk code analysis.  Because the API does not accommodate this anymore we had to remove it.  Please open a support case to request functionality to specifically trigger code analysis project creation via API.
An alternative is to do a full import for entire repo via UI, API, or Snyk-api-import  , however other projects types will also be imported, not just Snyk code.  Apologies for the inconvenience, not much we can do here with this tool.


Timeouts for UXTO lookup in script verification

Is your feature request related to a problem? Please describe.
The state service API says explicitly that AwaitUTXO requests should be coupled with a timeout layer.  I didn't add this when I was testing and fixing the UTXO lookup code (#1348, #1358) because causing zebrad to hang on a failed dependency was useful for identifying cases where the code wasn't useful (and then inspecting execution traces).
Describe the solution you'd like
The script verifier should apply a timeout layer to the state service it uses for UTXO requests.
This will close #1389 as a side effect, because far-future blocks will have their verification time out.

Closed by #1391.


Add webgl track - ready for review

I am not sure whether the video numbers are necessary at this point.  I haven't included them, but can add.  Noting that the loadModel sketch runs but gets a loadStrings warning.

This is incredible work, thank you @kfahn22!


Can't print bitmap and barcode on the same line

I know the SDK allows it because the sample prints from the SDK app do it.
I'm trying to print a barcode with a bitmap image side by side but every append command starts in a newline and I'm not sure how to use appendBitmap and appendBarcode with appendMultiple.
       commands.push({ appendCutPaper: 'PartialCut'});
       commands.push({
            appendBarcode: "{B" + '88712365444',
            BarcodeSymbology: 'Code128',
            BarcodeWidth: 'Mode1',
            height: 100,
            hri: true,
        });
        commands.push({
            appendBitmap: logo.data,
            width: 100,
            bothScale: true,
            diffusion: true,
        });

I think I faced this issue before but couldn’t find a workaround. Might need someone to look into it maybe try again to see if it is possible

Barcodes on receipts should be standardized. You shouldn't use any artwork at the same line, because cheaper readers can find it distracting.
However i will look into it later.


Add notice about 2.0 and combined packages.

Coverage remained the same at 98.737% when pulling cf35b7f45078f10297e3010762e3c2adf3480bbe on mng/include-2.0-new into c29c01f359f0db5cf55a649ef9c6eff0323f58d1 on master.

Coverage remained the same at 98.737% when pulling cf35b7f45078f10297e3010762e3c2adf3480bbe on mng/include-2.0-new into c29c01f359f0db5cf55a649ef9c6eff0323f58d1 on master.

Coverage remained the same at 98.737% when pulling cf35b7f45078f10297e3010762e3c2adf3480bbe on mng/include-2.0-new into c29c01f359f0db5cf55a649ef9c6eff0323f58d1 on master.

Coverage remained the same at 98.737% when pulling cf35b7f45078f10297e3010762e3c2adf3480bbe on mng/include-2.0-new into c29c01f359f0db5cf55a649ef9c6eff0323f58d1 on master.


Better handling of user errors on input arguments

The key requirement is that: PAC CLI doesn't report crashes for user errors, only report crashes for our actual bugs.
The common user errors here would be bad arguments, such as file paths to missing files. Or a corrupt zip. More esoteric ones would be a locked file
PAC CLI reports crashes for any unhandled exception. Today, these bad args cause unhandled exceptions.
Things we report back through our ErrorCodes are considered user error and not our bug.
We have a few ways we can fix:

The CanvaDocument.Load|Save methods can catch these common errors and return a new ErrorCode. (Toiday, they just throw exceptions).
We continue to throw, but CLI catches before going unhandled. --> this can be a lot of catches (InvalidOp, Arg Exeption, IO exception, etc).
CLI validates arguments before calling CanvasDocument. (and hence avoiding the exceptions). --> not ideal.

Recommending 1.

This is important to get right so that we don't get flooded with callstacks from user errors (see https://github.com/microsoft/PowerApps-Language-Tooling/issues/232)


Add E2E coverage for supported Encap mode

Describe the bug
A clear and concise description of what the bug is.
If you believe this bug is a security issue, please don't use this template and follow our security guidelines
Please add coverage for supported Encap modes in the CI pipeline.
To Reproduce
Steps to reproduce the behavior.
Expected
A clear and concise description of what you expected to happen.
Actual behavior
A clear and concise description of what's the actual behavior. If applicable, add screenshots, log messages, etc. to help explain the problem.
Versions:
Please provide the following information:

Antrea version (Docker image tag).
Kubernetes version (use kubectl version). If your Kubernetes components have different versions, please provide the version for all of them.
Container runtime: which runtime are you using (e.g. containerd, cri-o, docker) and which version are you using?
Linux kernel version on the Kubernetes Nodes (uname -r).
If you chose to compile the Open vSwitch kernel module manually instead of using the kernel module built into the Linux kernel, which version of the OVS kernel module are you using? Include the output of modinfo openvswitch for the Kubernetes Nodes.

Additional context
Add any other context about the problem here, such as Antrea logs, kubelet logs, etc.
(Please consider pasting long output into a GitHub gist or any other pastebin.)

@reachjainrahul can we close this? We have tests for the different encapsulation modes in CI, although we only run the Antrea e2e tests (no K8s community tests). I'm assigning the issue to you. If you don't think it should be closed, please add more information in the issue description.

Removing this from v0.6.0 milestone. Let's not tag this for a new release until we have the requested information.


feat: Auto-detect spring-kafka header for kafka annotation scanners

Co-authored-by: sam0r040<EMAIL_ADDRESS>

Merged in upstream


fix: modify example

The Event-driven example may lead to confusion, so I propose another example that I think may be clearer.

i think this looked good with the original text, but this works too 😄✌🏽

/rtm


doest work

Same doesnt work, gives errors

MHProDev, Could you help me out? I cant add you but my discord is RomanAW#6705

This is the error I've been seeing when I try to run the script:
Traceback (most recent call last):
  File "/Users/ritwickmalhotra/Desktop/MHDDoS/start.py", line 1565, in <module>
    from scapy.layers.inet import TCP
  File "/usr/local/lib/python3.9/site-packages/scapy/layers/inet.py", line 22, in <module>
    from scapy.ansmachine import AnsweringMachine
  File "/usr/local/lib/python3.9/site-packages/scapy/ansmachine.py", line 20, in <module>
    from scapy.sendrecv import send, sniff
  File "/usr/local/lib/python3.9/site-packages/scapy/sendrecv.py", line 61, in <module>
    import scapy.route  # noqa: F401
  File "/usr/local/lib/python3.9/site-packages/scapy/route.py", line 218, in <module>
    conf.route = Route()
  File "/usr/local/lib/python3.9/site-packages/scapy/route.py", line 37, in __init__
    self.resync()
  File "/usr/local/lib/python3.9/site-packages/scapy/route.py", line 45, in resync
    from scapy.arch import read_routes
  File "/usr/local/lib/python3.9/site-packages/scapy/arch/__init__.py", line 124, in <module>
    from scapy.arch.bpf.supersocket import *  # noqa F403
  File "/usr/local/lib/python3.9/site-packages/scapy/arch/bpf/supersocket.py", line 27, in <module>
    from scapy.layers.l2 import Loopback
  File "/usr/local/lib/python3.9/site-packages/scapy/layers/l2.py", line 17, in <module>
    from scapy.ansmachine import AnsweringMachine
ImportError: cannot import name 'AnsweringMachine' from partially initialized module 'scapy.ansmachine' (most likely due to a circular import) (/usr/local/lib/python3.9/site-packages/scapy/ansmachine.py)

open the issues in scapy rpo
https://github.com/secdev/scapy/


Documentation about WeChat login

Hi,
Anyone knows where I can find documentation about integrating WeChat login in Parse Server?
Thanks

Hey, thanks for reporting this issue.
Can you please add all the info specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.


fix(checkboxes): correctly parse checkboxes when the template is wrong or missing

When the wrong template is provided, then the action will traceback with the error:
/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:105
          result[key] = content.concat(value);
                                ^

TypeError: Cannot read properties of undefined (reading 'concat')
    at /home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:105:33
    at Array.forEach (<anonymous>)
    at toObject (/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:97:11)
    at run (/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:161:12)
    at 2932 (/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:184:3)
    at __nccwpck_require__ (/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:7097:43)
    at /home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:7117:37
    at Object.<anonymous> (/home/runner/work/_actions/stefanbuck/github-issue-parser/v3/dist/index.js:7120:12)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)

Also, checkboxes aren't represented as an array when the issue-form template is not provided.
This commit fixes both issues by correctly parsing checkboxes even when the template is wrong or missing.
Follow-up to:

https://github.com/stefanbuck/github-issue-parser/pull/21

Related to:

https://github.com/stefanbuck/github-issue-parser/issues/50

/cc @stefanbuck

@joshjohanning, @gr2m, Could you please have a look? Thank you.

Thank you @gr2m 👍


Time synchronization with other sensors

Hi,
I would like to ask how to use this ros driver to synchronize the time of the event camera and other sensors like LiDAR. For other sensors, we have used the Network Time Protocol (NTP) to synchronize their timestamp. However, it seems that the event camera does not follow this protocol and the timestamp is different.
Is their any method to synchronize different sensors? Or is it possible that we can modify this driver and follow the network time? Thank you very much.

AFAIK there is no way to control the clock of the event camera. But you can:

send an external sync pulse at well defined intervals, e.g. every second (pps), and then look at the ExternalTrigger events provided by the camera. That will allow you to associate the camera-provided event time with host time.
provide external sync trigger pulses directly from the Lidar, if the Lidar supports that. Then you can associate the lidar event time with the camera event time

Please be aware though that the ROS message's header stamp also allows you to establish the offset between camera event time and host time. Please refer to the documentation here and here.

Thanks for your reply.
We would like to synchronize the event camera, RGB camera, and LiDAR. According to my understanding, the NTP synchronizes the ROS system time, so that our LiDAR and camera can have the same timestamp.
Right now, our camera seems to have a sync pulse but LiDAR does not. So if I generate the sync pulse from the event camera, can I find the offset between the event camera and the whole ROS time?

What event camera do you have? The most recent models cannot generate a sync pulse.
Will the sync pulse trigger the frame camera? Can the rgb cam generate a pulse?

I am using Prophesee EVK4.
Or what if I use PPS, that is to generate the pulse from GPS and input it to the event camera and RGB camera?

I don't think EVK4 can do it. From the link you posted:
"This configuration can not be used with our EVK4 and EVK3 using Gen4.1, IMX636 and GenX320 sensors as those cameras do not provide a Trigger Out facility. For this sensor, there are two alternate options:"
Yes, trigger both event camera and frame camera from a common source. Then from the trigger events recorded by the event camera you will know when the shutter of your frame camera fell, in terms of event time.
How to get the Lidar synchronized I don't know. You may not be able to do that easily in hardware. But again, the event camera messages have a ROS time stamp in their header which should reasonably correspond to the header time stamps on the ros messages arriving from the Lidar. Is that not good enough?

We take the timestamp of the first LiDAR frame and the timestamp of the first event to calculate the offset between these two sensors but they do not actually refer to the same "time". It seems that they have 200 ms - 300 ms discrepancy, which means that Lidar first returns around two frames and then the event camera. I am not sure why this happens.
Sorry for so many questions, but I still have one question. Also if I use an external trigger to synchronize an RGB camera and an event camera, how do I know if two sensors are synchronized? Will the timestamp be the same, or will there be an event from the event camera that indicates an image is taken by the camera? If it is the second one, how do I know which image refers to this event if I have a lot of images?

Maybe it helps if you explained in detail what timestamps you are exactly referring to, what constitutes/triggers the "first" event and why you would expect these two time stamps to coincide. Please read up what external trigger events are for an event camera. Hook up an external trigger to your event camera and see what data you get. Run your camera at 1fps, then you can easily associate trigger events and frames, and see how much delay there is. Note that the metavision driver only gets data packets from the camera about every 10ms by default (can be changed, see docs), so if you run your camera at more than 100fps   you must expect multiple trigger events per ros message.

The timestamp in my sense refers to the "t" in [x, y, p, t] which can be obtained after decoding. So for the timestamp you mentioned, does it refer to the time when the aggregated events are sent? And I can modify "event_message_time_threshold" parameter to change that?

When you decode, the "t" you get is in sensor time, which starts near zero, and as such is arbitrarily shifted with respect to any other time stamp you get e.g. from your lidar.

We take the timestamp of the first LiDAR frame and the timestamp of the first event to calculate the offset between these two sensors but they do not actually refer to the same "time". It seems that they have 200 ms - 300 ms discrepancy, which means that Lidar first returns around two frames and then the event camera. I am not sure why this happens.

How can it then be only shifted by 200-300ms? It should be shifted by a huge amount.

The shifted 200-300ms is the one after adding the offset. For example, the first event has a "t" of 100, and the timestamp of the first LiDAR frame is 170, then the offset is 70. I add 70 to all the "t" in the event. But still, they have 200-300ms shift.

So you are directly comparing the lidar sensor time to the event camera time? I don't know anything about the Lidar sensor time, but I know for sure that the event camera time stamps cannot be compared directly with any other sensor's time (except when you have 2 event cameras connected with a sync cable).
You first have to figure out what the offset is of the event camera time with respect to host time. Pick any event message (skip the first few maybe to make sure the driver has fully started up). Now look at the header.stamp of the ROS message, and look at the sensor time of the first event in that message. That will give you the offset between your sensor time 't' and the host time.
Now you need to follow a similar procedure for your lidar. This will give you the offset between your lidar sensor time and host time. Now you can convert sensor times  to host time, and compare the two time stamps.
To verify that this is working you will need to identify when something moves in your lidar data, and the corresponding event in your event data. Shift the sensor times to host time, and you should be within a few ms.

Sorry, I misunderstood what you were saying. You are looking at the first packet arriving, using that as a reference. Do those two packets arrive at the same host time?

May I ask how to check the host time by using the tools here?

Let's say you are playing data from a bag, the ROS messages have a header with a time stamp. So in this example  put a print(msg) into the code (or better, print(msg.header)). That should give you a ROS timestamp in nanoseconds since epoch. That is the host time stamp when the first event in the message arrived at the host.

Thanks for your advice.
I have tried that and it seems that they are still not match.
Here is an accumulated event camera frame within time<PHONE_NUMBER>.147466469 and<PHONE_NUMBER>.247416646:

Two vehicles in the red box seems to be parallel.
And here is the Lidar frame with timestamp:

This one is from the same timestamp of LiDAR, but they are not parallel. For the timestamp after 200ms, they seems to be same:

This will have some problem when I calibrate the extrinsic parameters between these two sensors.
Maybe the message arrival time of the sensor is not consistent with the time they generate the raw data?

So the frame based camera is 42ms late. Your frame based camera has a latency of up to* 1/fps.  However, the accumulation for the event camera adds latency for that sensor.
So is your lidar data now delayed or ahead of the event camera?

I think the delay is not due to the frame rate. As you can see, the accumulation for the event camera and the RGB image has the same content, so I suppose the sensors are obtaining the information at the same time. Is that right? However, when ROS gets the information, RGB has delay compared to the events. If it is cause by the frame rate, they should generate different images. I am not sure if my understanding is correct.
Similarly, the LiDAR data are also delayed. And the delay is around 200ms.

You said:

I find the RGB image and the event accumulated image that have the same clock number on the iPad screen, and see their time stamp.
And now you say:
I think the delay is not due to the frame rate. As you can see, the accumulation for the event camera and the RGB image has the same content, so I suppose the sensors are obtaining the information at the same time. Is that right?
Of course if you look for the two frames that show the same content, then they will show the same content. That's because you searched along the time axis for both sensors. Not because they got the information at the same time.

I think there is some confusion here. By saying the same content, I mean two sensors obtain the same information at the same moment/time. In our scenario, the same content means the clock number on the iPad screen, so I mean the image should be taken at the same time.
By saying the time stamp, I mean the host time. However, they have different host time in ROS. If the content of the images is the same, shouldn't the host time stamp be same?

By saying the time stamp, I mean the host time. However, they have different host time in ROS (here it is<PHONE_NUMBER>.968997916 and<PHONE_NUMBER>.926637218). If the content of the images is the same, shouldn't the host time stamp be same?
By no means. The same content means that in the physical world those two events happened at the same time. Then there are different processing delays until that content reaches the respective sensor. For the event camera those delays are shorter.
Take for instance the frame based camera. Let's say the number on the display just crossed over from 0 to 1 at t_host = 0, and at exactly that time, the shutter opened at the frame based camera. It will keep the shutter open for e.g. 10 msec, then close the shutter, send the image via USB to the host. The host will receive the image, look at its clock, which at that point already says t_host = 10ms + other_delay. So it will put a time stamp on of e.g. 12ms. This is the time stamp you will see on the ROS packet. The same probably happens with the lidar. It will likely complete a full rotation before it sends data to the host (I never worked with LIDAR, just guessing). Only then does the ros driver put on the host time stamp.

Thank you very much for your explanation. I will close this issue.


Should ARM64 use be avoided?

The Overview doc says "I suspect [frawk] would run much slower on a 64-bit non-x86 architecture." Does that mean it frawk would be slower on ARM than frawk on x84, or that frawk would be slower than gawk/mawk/etc? In other words, would frawk still be faster, or should it be avoided on ARM if performance is a goal?

The short answer is I don't know. I haven't had the chance to test frawk on ARM. Some of frawk's optimizations are x86-specific, so I'd expect any baseline advantage frawk might have over another utility to be lower on a different architecture, but I do not know that for sure.
While I have some ideas for how to optimize frawk on ARM, I do not believe I'll make much headway until I have access to an ARM machine on which I can run some tests and benchmarks. I do genuinely plan to get around to this eventually, but it won't be for a little while yet.

Got it, thanks for the info!

It does not compile at the moment:
#56 1587.3 error: This macro cannot be used on the current target.
#56 1587.3                                    You can prevent it from being used in other architectures by
#56 1587.3                                    guarding it behind a cfg(any(target_arch = "x86", target_arch = "x86_64")).
#56 1587.3    --> src/runtime/splitter/batch.rs:675:22
#56 1587.3     |
#56 1587.3 675 |     if ALLOW_AVX2 && is_x86_feature_detected!("avx2") && is_x86_feature_detected!("pclmulqdq") {
#56 1587.3     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#56 1587.3     |
#56 1587.3     = note: this error originates in the macro `is_x86_feature_detected` (in Nightly builds, run with -Z macro-backtrace for more info)
#56 1587.3
[…]

This didn't use cross compilation but you can do the same with rustup target add aarch64-unknown-linux-musl ; RUSTFLAGS="-C target-feature=+crt-static" cargo build --target aarch64-unknown-linux-musl I guess.
You can try running (or compiling if you don't use cross-compilation) the binary with qemu-user-static installed and running docker run --rm -ti docker.io/arm64v8/debian (or other common dockerhub images)

Update here: I've got my hands on a MacOS Arm machine and I've gotten frawk compiling in the arm_support branch.
I'm going to look into porting the SIMD code to Arm next. I've made some progress here, but there are definitely some concepts that don't map precisely between Arm NEON and SSE2/AVX2


python3Packages.aiocron: init at 1.7

Motivation for this change
Add aiocron
Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 145003 run on x86_64-linux 1

2 packages built:

python38Packages.aiocron
python39Packages.aiocron


ProcessedImageField does not take django.core.files.File as content

If I have a regular imagefield, I can call it's save method with a django File object as the content
but with a  ProcessedImageField, this causes PIL to choke
instead the content needs to be a plain python file like
open('/some/path.jpg', 'rb')
Not sure if the solution is some form of isinstance check?
  File "/Users/preston/Projects/Python/virtualenvs/fotw/src/imagekit/imagekit/models.py", line 339, in save
    img, content = self._process_content(new_filename, content)
  File "/Users/preston/Projects/Python/virtualenvs/fotw/src/imagekit/imagekit/models.py", line 125, in _process_content
    img = open_image(content)
  File "/Users/preston/Projects/Python/virtualenvs/fotw/src/imagekit/imagekit/utils.py", line 34, in open_image
    img = Image.open(target)
  File "/Library/Python/2.6/site-packages/PIL/Image.py", line 1980, in open
    raise IOError("cannot identify image file")
IOError: cannot identify image file

No sure now if this is really an issue with imagekit directly - the root of my issue was that I was using a tempfile from tempfile.mkstemp, which by default is mode "w+b"
When PIL is handled this - it zeros out the file
when django imagefield is handed this - it seems to do the right thing

Hello Guys,
I am getting same error on following line
https://github.com/matthewwithanm/django-imagekit/blob/develop/imagekit/specs/__init__.py#L149
On the call of result = image_generator.generate()
Can any one please help me?
I have installed both PIL and Pillow


WIP Fix failing tests

This is a WIP to hopefully close #717.
I'm still trying to get to the bottom of the failing test, it looks like it may be something to do with File.read.
There are also some style changes that I thought would help readability and clarity:

assert_equal expected, actual instead of assert_equal actual, expected

This changes the error message to make it more clear

assert expression instead of assert_equal expression, true
assert_not expression instead of assert_equal expression, false

Feedback always appreciated! :smile_cat:

/cc @tmcw

:+1: @tarebyte Looks like it's fixed on 2.2.0 but still broken on 2.0.0?

Yup, I'm still digging into it. It's on the back burner until I'm done with finals.

Using minitest 4.7.5 might be a temporary solution to fix this issue (see tarebyte/swot#1). It looks like it's a bug in minitest itself.

@tmcw @lyzidiamond I think this is ready to be merged ;)
It would fix the Travis build for many other pull requests.

:+1: awesome, many thanks @pchaigno, it will be great to have working tests again :)

@tmcw Thanks! Is there a way on your end to restart the Travis builds for all the failing PRs or do we need to ask the contributors to do it manually?


⚠ ESPN has degraded performance

In 2ac750c, ESPN (https://espn.com) experienced degraded performance:

HTTP code: 200
Response time: 2650 ms

Resolved: ESPN performance has improved in 3b52ead.


Add Einsum to MIGraphX supported op list

Description
Add Einsum op to supported op list in migraphx_execution_provider.cc
Motivation and Context
Einsum ONNX op is supported by MIGraphX since ROCm 6.2. Since SD3 needs the Einsum op, the op currently falls back to CPU ep when using MIGraphX. This causes runtime exception on Cast op on Windows in some cases. After adding the Einsum to the op list the issue is no longer present.

Open another PR and target rom6.3_internal_testing

Why did this merge to main instead of a release branch?  We don't touch main in our fork.  It should be a mirror of upstream.

Why did this merge to main instead of a release branch? We don't touch main in our fork. It should be a mirror of upstream.

Ah likely I need to add that as part of the rocm6.3 branch then as a cherry-pick


Improve GitHub Actions for pull requests

See https://github.com/Senzing/community-roadmap/issues/71

Pull requests

https://github.com/Senzing/docker-wrap-image-with-senzing-data/pull/21


getStories() function never gets called

Hi Ashwin,
I tried to implement this infinite-scroller in a sample project i created but, when i load the page, getStories() function never gets called(no error on console either). Is there anything i am missing?
Thanks,
Shiv

@csyvian - Please make sure in the infinite-scroller.directive.ts line no: 77 is below. That is the block of code which sets the immediate start, also make sure you have immediateCallback attribute is true
    if (this.immediateCallback) {
      this.requestOnScroll$ = this.requestOnScroll$
        .startWith([DEFAULT_SCROLL_POSITION, DEFAULT_SCROLL_POSITION]);
    }

immediateCallback is set to true and line 77 is also in the directive and it gets executed at first run also but somehow, not sure what, getStories() function never gets called

@csyvian - Sure, can you create a plunker or jsbin. Would be easier ?


Retrieve data showed on xAxis

How can i retreive the value on the xAxis of the currently showed chart?
I need to store the interval of the currently showed chart to make some operations with them.

Example of the desired data based on the image
intervals=[6900, 6950, 7000, 7050, ... , 7400]
Thank you in advance

Not possible from the YAxis but you can use the d3.scaleLinear to get the ticks yourself.


tiltfile: k8s_service takes yaml as an OPTIONAL arg [ch715]

Hello @nicks, @jazzdan,
Please review the following commits I made in branch maiamcc/yaml-opt-arg:
671c8cda19dbf0dc3d8cb718a863e2b9771edf89 (2018-11-01 18:00:01 -0400)
tiltfile: k8s_service takes yaml as an OPTIONAL arg
Code review reminders, by giving a LGTM you attest that:

Commits are adequately tested
Code is easy to understand and conforms to style guides
Incomplete code is marked with TODOs
Code is suitably instrumented with logging and metrics

do you know what the error looks like if you build an image, but it's not in the local or global yaml? i forget if we have good tests for that case.

also, if this gets committed today, i'd love to do the 0.1 release!

@nicks if we get a manifest with no yaml, that error gets surfaced when we call manifest.Validate() in whatever BuildAndDeployer we're using -- which isn't covered in tests anywhere, i don't think, cuz pretty sure we don't have tests for the individual BADs?


fix(personnel): refacto variable globale 393

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


Examples of object_preprocessing and subject_preprocessing

It would be useful to provide examples of what should go in these fields as it's not clear from reading the spec and none of the SSSOM files I looked through used these fields.

This merrits a better answer, but just so you have something to work with while I extend the documentation, check:
https://github.com/mapping-commons/sssom/blob/master/src/sssom_schema/schema/sssom_schema.yaml#L396
And
matching process pre-processing in https://mapping-commons.github.io/semantic-mapping-vocabulary/
This is not very well fleshed out yet, but feel free add additional preprocessing steps to
https://github.com/mapping-commons/semantic-mapping-vocabulary/blob/main/semapv-terms.tsv


Implement better, more distributed logging

Currently the only place for logging is the generate function.
It would be beneficial to:

Find a suitable logging library, or implement a simple one if needed
From the generate function only distribute independent loggers to generators, readers, writers, etc
Do the logging in the individual pieces of code

Separate logging is done


Lua library and meta methods undefined

https://github.com/isagalaev/highlight.js/blob/master/src/languages/lua.js
keywords: {
  keyword:
    'and break do else elseif end false for if in local nil not or repeat return then ' +
    'true until while',
  built_in:
    '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load ' +
    'loadfile loadstring module next pairs pcall print rawequal rawget rawset require ' +
    'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ' +
    'io math os package string table'
}

true and false are bools, nil is absent value. They should have different CSS-styles and highlighter should mark them as:
true
or:
true
There's also multiple keywords missing from the list, including meta methods and library methods.
Here's a good start including the table, string and math libraries:
built_in: "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawlen rawget rawset require select self setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math abs acos asin atan ceil cos deg exp floor fmod huge max maxinteger min mininteger modf pi rad random randomseed sin sqrt tan tointeger ult os clock date difftime execute exit getenv remove rename setlocale time tmpname string byte char dump find format gfind gmatch gsub len lower match rep reverse sub upper table concat insert maxn pack remove sort unpack"
I did not get library.method() to render properly so I split the methods and library names up.

Nice! This should be a pull request, as you have the solution. Put one together so everyone can benifit

Made a pull request.
I will add the remaining libraries to the file after I've dug them out.
This was my first pull request, merge and commit on github. If something is wrong, teach me what I am supposed to do.

Does the HLJS use regexp for keywords? And if so, does the period character have to be escaped with backslash in order to work?

Lua is now up to date with 5.2 because of:
https://github.com/isagalaev/highlight.js/pull/1414
Enjoy.


Finished styling on share buttons, Recent Activities blocks for conversation and home pages, styled flag form to match login form, reply to contribution fro homepage functionality

LGTM


Installed CAT 2.0 MacBook Pro Mid-2010 - No Wifi

Hi, I've just installed CAT 2.0 on my MBP Mid-2010 running 10.10.3 with an ASUS BT-400 USB dongle and it all seemed to work well, however when I rebooted my MBP reported that there was no wireless card installed and it wouldn't connect to wifi.
Removing CAT restored the wireless device.

Hi, I had a similar issue with CAT on a MBP with updated Bluetooth/wifi card but my issue turned out to be a video capture driver issue and a problem with OS X 10.10.3. Updated to the supplemental 10.10.3 from apple and problem solved.
Might help, might not.

On 27 Apr 2015, at 11:27, newtonuk<EMAIL_ADDRESS>wrote:
Hi, I've just installed CAT 2.0 on my MBP Mid-2010 running 10.10.3 with an ASUS BT-400 USB dongle and it all seemed to work well, however when I rebooted my MBP reported that there was no wireless card installed and it wouldn't connect to wifi.
Removing CAT restored the wireless device.
—
Reply to this email directly or view it on GitHub https://github.com/dokterdok/Continuity-Activation-Tool/issues/174.

2.0.1 Beta seems to have fixed it, either that or using the forward most USB port rather than the rear.


Remove ATTRIBUTION_FILE from hub Dockerfiles

Issue #, if available:
Description of changes:
Remove ATTRIBUTION_FILE from hub Dockerfiles as we are not setting these anywhere
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/cherry-pick release-0.20


Fix: Min and max column width not behaving as expected

Solution for Issue #1622
Set min_width to "0.001 px" if user enter "0 px" to resolve these unexpected behaviors:

The size of min_width==0 is bigger than expected
Tables are identical when using max_width regardless of if min_width is set or not, in that min_width seems to be ignored if max_width is set

Using the tables provided by the issuer:
@app('/')
async def serve(q: Q):

   table_rows = [
             ui.table_row(name='row1', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
             ui.table_row(name='row2', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
             ui.table_row(name='row3', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
         ]
         column_names = ["name", "surname", "address", "phone"]
         columns_to_test = {
             "no_width": [ui.table_column(name=x, label=x) for x in column_names],
             "min_width_0": [ui.table_column(name=x, label=x, min_width="0px") for x in column_names],
             "max_width_100": [ui.table_column(name=x, label=x, max_width="100px") for x in column_names],
             "min_width_0_and_max_width_100": [ui.table_column(name=x, label=x, min_width="0px", max_width="100px") for x in column_names],
         }

         q.page["meta"] = ui.meta_card("", layouts=[ui.layout("xs", width="800px", zones=[ui.zone("default")])])

         for k in columns_to_test.keys():
             q.page[k] = ui.form_card(box='default', items=[
                 ui.text_xl(k),
                 ui.table(name=k, columns=columns_to_test[k], rows=table_rows, width="700px")
             ])

 await q.page.save()

Here is the behavior of the tables BEFORE our change:

Here is the behavior of the tables AFTER our change:

"min_width_0_and_max_width_100" are no longer identical to "max_width_100". With the change, if the min_width is set, user is now able to use their cursor to change the width of the table col. This can be shown here:

Thanks @magandren! Can you please update the PR description with screenshots of the table with your identified usecases as fixed?

Thanks @magandren! Can you please update the PR description with screenshots of the table with your identified usecases as fixed?

Yes, it has been updated. Please let me know if anything else is needed from me!!! Thank you so much.

Thanks @magandren.

This seems odd though.

Yes! We agree, in our opinion, since the max-width is not being set, the width=0 should completely hide the columns.
Before our changes, if we were to set the min-width to be 20px and no max-width, the column widths are a lot smaller than the min-width if it was set to 0px with the original behavior:

We looked at this issue further and noticed that having min_width = 0 and hiding the column is something that is we can’t achieve on Wave when using FluentUI to customize the table, as the behavior on FluentUI when setting the min_width to be 0px automatically turns it into 100px. The best solution that we came up with is to set the min_width = 0.001 px. We found that no matter how small we tried to get this value such as 0.0000000000000000000000001px, it seems that the table headers hide completely but not the rows following it:

Potentially another contributor take a look at this issue further!
In case you would like to recreate these tables, here is the code that I used for these screenshots:
from h2o_wave import ui, app, Q, main
@app('/table')

async def serve(q: Q):

    table_rows = [
        ui.table_row(name='row1', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
        ui.table_row(name='row2', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
        ui.table_row(name='row3', cells=['John', 'Doe', "7042 23rd Ave", "123-456-7890"]),
    ]
    column_names = ["name", "surname", "address", "phone"]
    columns_to_test = {
        "no_width": [ui.table_column(name=x, label=x) for x in column_names],
        "min_width_0px": [ui.table_column(name=x, label=x, min_width="0px") for x in column_names],
        "min_width_0.0000000000000000000000001px": [ui.table_column(name=x, label=x, min_width="0.0000000000000000000000001px") for x in column_names],
        "min_width_10px": [ui.table_column(name=x, label=x, min_width="10px") for x in column_names],
        "min_width_20px": [ui.table_column(name=x, label=x, min_width="20px") for x in column_names],
    }

    q.page["meta"] = ui.meta_card("", layouts=[ui.layout("xs", width="800px", zones=[ui.zone("default")])])

    for k in columns_to_test.keys():
        q.page[k] = ui.form_card(box='default', items=[
            ui.text_xl(k),
            ui.table(name=k, columns=columns_to_test[k], rows=table_rows, width="700px")
        ])

    await q.page.save()

Maybe the solution could be this? Meaning if min_width=0 then use default width and only use min/max as boundaries? This seems to align with Fluent as well if I understood correctly.
@magandren do you still want to continue working on this or shall I close this PR?

You may close this PR! Thank you!


Turning off possibility of dismissing bottom sheet

Is it possible to temporarily turn off possibility of dismissing bottom sheet?
I have now some screen defined with: @Destination(style = DestinationStyleBottomSheet::class)
and I am opening it with DestinationsNavigator: navigator.navigate(SelectStopFromListScreenDestination(
I remember that previously when I was not using your library I could achieve it with something like this:
val modalSheetState = rememberModalBottomSheetState(
   initialValue = ModalBottomSheetValue.Hidden,
   confirmStateChange = { it != ModalBottomSheetValue.HalfExpanded },
   skipHalfExpanded = true,
)

as it is described here: https://proandroiddev.com/bottom-sheet-in-jetpack-compose-d7e106422606
"confirmStateChange is necessary to control the behavior of bottom sheet. If you set confirmStateChange = { false } user will not be able to dismiss bottom sheet by dragging or tapping outside."
Can you help me with it? :)

Basically what you’re doing with this library would require accompanist navigation material if you were not using this library.

I was gonna comment on that as well but got interrupted 😁
I admit I’m not sure if it is possible with accompanist material navigation, I need to check it.
If it’s possible there, it should also be possible here though 🙂

I found this:
https://github.com/google/accompanist/issues/730
I think we can close this issue, we'll get this as soon as accompanist implements it!


Update API with per provider opts:

Description

This enables customization per provider. For example, redfish port, ipmitool cipher suite.
Why is this needed

Once implemented will resolve #89 and #103
Fixes:
How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[ ] added unit or e2e tests
[ ] provided instructions on how to upgrade

Hey Fellas, @chrisdoherty4 , @joelrebel , @pokearu . When you have some cycles, I'd appreciate a review. Please and thank you!

@mergifyio queue


Changed following & Not following SVG

Changed Following & Not Following SVGs
I have updated the SVG icons for 'Following' and 'Not Following'. The new icons better align with the desired design and enhance the visual representation.
Here's a preview of the updated icons:

Excellent work. @srivenkatharsha

Thanks! :)


HttpServer does not support persistent connection

In my webserver project I am now running into the next problem. After I implemented SSL encryption for the socket connection I observe that the connection process for each http request takes very long. In wireshark I see that the SSL handshake takes in total 1,2 seconds. For my application this is definitely unaceptable. In my application I will be reading roughly 2000 http requests which should take in total not more than 10 seconds. If each http request takes 1.2 seconds the total duration would be 40 minutes!!!
Searching for a remedy I found that there is the possibility to invoke a so called persistent connection. This is done by putting a header "connection: keep-alive" into the request. Unfortunately this feature is currently not supported by the HttpServer class. The HttpServer class always closes the connection after the response has been sent.
Do you have an idea where and how I could implement this feature into the HttpServer class?
Any hints are welcome.

While trying to implement persistent connections into HttpServer using chunked data transfer I see that the browser now starts several TCP connections simultaneously in order to read different files belonging to "the same web page" (html, js, jpg, css,...). Unfortunately the HttpServer class is not built for handling multiple concurrent connections. In order to achieve this, the HttpServer::run method probably needs to fire up a separate task for managing each new connection.
@nkolban : do you agree that this is the right approach to manage multiple connections?
If yes, I would try to implement this functionality and provide the result as pull request. Are you interested in that?

Thank you for your support. I will first try to do it on my own - maybe asking some questions. Unfortunately these days I have not much time to work on this - just very few hours per week: not very effective.

@nkolban unfortunately I am getting problems during my implementation of persistent connections. I implemented the starting of a separate task for each connection and processing the request inside that task. In principle this works, but after some time the system crashes. I already increased the stack sizes of all tasks but no success.
Currently I think that maybe I am having problems with using non-reentrant code somewhere. Do you have a hint what I need to take care of when programming multithreaded software? Are self defined classes reentrant if the class uses auto variables on stack, local variables and/or dynamic memory? Unfortunately I have no experience with multithreaded environments.

@nkolban While searching for my issue I found this: https://sourceforge.net/p/freertos/discussion/382005/thread/93928e86/?limit=25#a4d0. There seems to be a general problem using STL vector (or other STL functionalities) due to an issue of using new and delete from C++. Do you have an idea hwo to solve this issue? Any hint is welcome.

Hello @nkolban
Sorry for not posting more precise questions. Now I made a gist here . This is your HttpServer class which I modified in the following way:

In HttpServerTask::run I removed the processing of the request (and sending the reply). Instead I create a new instance of a HttpServerConnectionTask which I added above. This new task is then started and the HttpServerTask then waits for a new connection which (if there is a new connection) again will fire up a HttpServerConnectionTask which then processes the request - and so forth. In this way I was hoping to achieve a parallel processing of the requests.

I added the HttpServerConnectionTask which mainly does what you were doing previously in the HttpServerTask. I mainly moved your code from your version of the HttpServerTask to my newly created HttpServerConnectionTask.

I thought that the necessary changes to your code are quite easy to manage and I was expecting to have a working parallel processing of requests quite easily. Unfortunately, the ESP32 always crashes after short operation with Guru Meditation Error. The location where it crahses is quite changing e.g. even after uncritical modifications to the code. I assume that the stack is corrupted. That is why I was searching for reasons for that e.g. reentrance - ability of code. While searching for that I found this. Here people claim that STL code e.g. std::vector is not suitabel to be used inside a task due to not using the right malloc function. I am not sure if this is really the reason but it sounds quite reasonable. Unfortunately the given workaround (implementing an overload for "void *operator new") does not help.
Do you have an idea how I can preceed?


Use component helpers instead directly import helper

1. Why is this change necessary?
At every other component except sw-product-packaging-form help services are used from a service collector instead directly importing the services. This is now normalized.
2. What does this change do, exactly?
Request the helpers from the component service collector instead of importing them directly
3. Describe each step to reproduce the issue or behaviour.

Look out why the usage of the service collector is not working in a plugin script
Look out for examples
Find two patterns
Realize one pattern is only used once

4. Which documentation changes (if any) need to be made because of this PR?
Add a hint that the component helpers are not available in a plugin script as neither vuex nor executing the initializers manually are working.
. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hey Joshua,
thank you for reporting the problem.
The Component Helpers is not available at the time of importing the component because the injection of the Helpers to the Shopware core happens after importing the components.
We are in process of refactoring and optimizing the bootstrapping process. When this refactoring is finished you will be able to use all services, helpers and all utilites from Shopware inclusive the Component Helpers. Then we will also rewrite the mapState, mapGetters, mapApiErrors in the core to use the Component Helpers.
I hope this will be helpful so that all plugin developers have the same access as the Administration Core.
Best regards,
Jannis

The most important thing of the refactoring is that the component helpers do not depend on a runtime context. Glad to hear about the upcoming changes.

Hey @JoshuaBehrens
the bootstrapping process is now refactored and merged into the master: https://github.com/shopware/platform/commit/0dc5419065065c5b601e40769e3450f4765a2304
Now you can use the component helper with our global Shopware object:
const { mapApiErrors } = Shopware.Component.getComponentHelper();

Nice. Thanks for resolving this :blue_heart:


Fix set.mm check

First of all, use the develop branch rather than the master branch because the latter is rather old and we haven't been using it.
Second of all, add --verify-markup and --parse-typesetting so that we run more of the checks (including most notably the ones which the set.mm automated checks enable).
This pull request replaces #135 which was the first attempt at this.

I also cherry-picked over @digama0 's change with respect to \r\n line endings (which I looked over fairly quickly; the basic concept of allowing a variety of line endings seems plausible to me).


Updating to jax >v0.2

The goal of this PR is to update the code to a more recent version of jax.

Everything seems to work just as well under jax 0.1.76, 0.2, and 0.2.3


Spyder on Mavericks (10.9)

From<EMAIL_ADDRESS>on 2014-05-22T11:15:46Z
Spyder Version:  2.2.1
Python Version:  2.7.6
Qt Version:      4.8.5, PyQt4 (API v1) 4.10.4 on Darwin
What steps will reproduce the problem?

Installed python/numpy/scipy/ipython via fink. Clean and smooth installation: Ipython console and notebook with inline plotting work perfectly.
Then installed by fink spyder-mac-p27 (or alternatively spyder-x11-p27). When invoked from bash, it gives an error with PyQt4 (although already installed), and cannot even launch sometimes. When it opens it cannot load also an IPython console (says it needs a version of IPython <1.0 while current one is >2.0) and also gives inside the python shell:

Traceback (most recent call last):
File "/sw/lib/python2.7/site-packages/spyderlib/scientific_startup.py", line 16, in <module>
from pylab import *  #analysis:ignore
File "/sw/lib/python2.7/site-packages/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/sw/lib/python2.7/site-packages/matplotlib/pylab.py", line 269, in <module>
from matplotlib.pyplot import *
File "/sw/lib/python2.7/site-packages/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/sw/lib/python2.7/site-packages/matplotlib/backends/init.py", line 28, in pylab_setup
globals(),locals(),[backend_name],0)
File "/sw/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 13, in <module>
from backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,
File "/sw/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 25, in <module>
from qt4_compat import QtCore, QtGui, _getSaveFileName, version
File "/sw/lib/python2.7/site-packages/matplotlib/backends/qt4_compat.py", line 80, in <module>
from PySide import QtCore, QtGui, version, version_info
ImportError: No module named PySide
Is there any simple workaround to this? I need necessarily to use fink as some of my packages are currently available and properly linked only through this latter. If I need to use other services such as MacPorts or Homebrew, then I don't want to install anything more than spyder (I don't need another python, ipython or whatever).
Thanks in advance for your help.
Maurizio
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1825

From ccordoba12 on 2014-05-22T17:25:49Z
Please consult the Fink Spyder maintainer about this, or open a bug in its bug tracker. I have no idea what could be happening.
Another idea is to download our native Mac App, and change its Python interpreter after installing it to point to the Fink one, as described here: http://stackoverflow.com/a/19813292/438386 Sorry for the inconveniences.
Status: WontFix

From<EMAIL_ADDRESS>on 2014-05-23T02:43:37Z
Thanks for the prompt reply.
I am going to hear from the Fink guys then.
Concerning the second alternative, you refer to the DMG package that I can download from https://bitbucket.org/spyder-ide/spyderlib/downloads , am I correct? Then I guess that - looking at the size of the file - this will install spyder + all python and the rest again - and then I will just have to link everything from spyder as described at the link that you provided. Before I go for this solution, can I be sure that the DMG installer will not jepardize eventually my Fink-based python/ipython installation (as far as shared libs/dynlibs are involved at least)?
Thanks for the clarification and your patience.
Cheers,
M

From ccordoba12 on 2014-05-24T06:36:07Z
You're right, our DMG comes with a lot of packages (Pandas, SymPy, Matplotlib, IPython) but that's just for our users' convenience so that they can start using Scientific Python right away.
However, all is available only for the Spyder.app application, i.e. it doesn't touch nor changes anything from other Python installations in your system. In other words, it's pretty safe to use.


[Event Hubs] Update APIs to support pagination if possible.

https://azuresdkspecs.z5.web.core.windows.net/JavaSpec.html#general-pagination

This is not an issue because there is no such thing as pagination in Flux. we can continue to publish events as they come in in a stream.


1.4.5 $http transformResponse property isn't fired when status code is 204 (No Content)

I keep wanting to use the transform response property of the config object with an http service wrapper. The docs claim that the transformResponse is fired when there is a successful status message. Instead, I get no transformResponse firing.
I have tests that show OK, 200, works, but 204 with null or undefined data does not.
The reason why is I'd like to set up default data, but I cannot with this current behavior (I took out a few things, but this should get the gist:
describe("When using the SubNavServiceUri", function() {
    var serviceUri;
    var requestUri = "/api/aliens";
    var collection = null;
    var httpBackend;

    beforeEach(function () {
        module("superSiteApp");

        inject(function (_$httpBackend_, _SubNavServiceUri_) {
            httpBackend = _$httpBackend_;

            serviceUri = _SubNavServiceUri_;
        });
    });

    afterEach(function () {
        httpBackend.verifyNoOutstandingExpectation();
        httpBackend.verifyNoOutstandingRequest();
    });

it("and NoContent it should return empty collection", function () {
        // set up correct end point
        httpBackend
            .expectGET(requestUri)
            .respond(HttpStatusCode.NoContent);

        var actual;

        serviceUri.get(requestUri).then(function (result) {
            actual = result.data;
        });

        httpBackend.flush();

        expect([]).toEqual(actual);
        expect(0).toEqual(actual.length);
    });

...
service("SubNavServiceUri", ["$http", function ($http) {
        var isNullOrUndefined = function(item) {
            return item === null || item === undefined;
        };

        var transformData = function(data) {
            var result = [];
            return result;
        };

        var get = function(uri) {
            var object = {
                cache: false,
                transformResponse: function (data, headersGetter, status) {
                    console.log("howdy ");
                    console.log("headersGetter " + headersGetter);
                    console.log("status " + status);
                    if (isNullOrUndefined(data)) {
                        return [];
                    } else {
                        return transformData(data);
                    }
                }
            };

            return $http.get(uri, object);
        };

        return {
            "get": get
        };
...

This isn't (directly) related to the status code, but to the response data. Namely, transformResponse is skipped if response.data is falsy (see http.js#L1002-L1006).
--
A little background
This wasn't always the case. The distinction was first introduced in 6e4955a and only affected HEAD requests, which makes sense, since HEAD requests have no body.
Then, in 9ba24c5 it was changed to apply to all requests with an empty response body, in order to "allow empty json response" (when the the content-type is application/json).
--
I believe this is a bug. Furthermore, with the changes introduced in 6f19a6f and b9bdbe6, defaultHttpResponseTranform() is now able to ignore empty JSON responses.
So, I believe that the changes in 9ba24c5 can (and should) be reverted.


Allow uploading custom images from local machines

The meme library is limited by the images provided by API,
Let's not restrict the creativity of meme connoisseurs and allow then to add custom images to add create their own memes :p

I would like to add this

Thanks a lot for the PR @LoganArnett


Add bufferSubData and clearBuffer[fiuv] to immutable slice whitelist

Adds bufferSubData and clearBuffer[fiuv] to immutable slice whitelist.
Edit: bufferData -> bufferSubData (typo)

Thanks for the PR! I'm personally pretty unfamiliar with WebGL, but @chinedufn perhaps you'd be willing to take a look to verify this is a correct transformation to apply?

Here are some links the the relevant MDN documentation to perhaps help verify that these function indeed don't require and exclusive reference:

bufferSubData
clearBuffer

Ok yeah sounds like @chinedufn is busy right now so looks good to me!


Issues using mpv under lumina

My fave media player by a mile is mpv but unfortunately I cannot use it under lumina 1.3.0 but it works fine under TrueOS / MATE 1.12.
mpv 0.25
lumina 1.3.0 w/ compositing disabled or MATE 1.12
Intel 4600 (Haswell) GPU
Integrated 1080 laptop display and 4K HDMI external monitor
If I try to play a 4K h264 video with mpv, lumina fails to play it back in what should be windowed mode. Instead, it plays it back in a funky fullscreen mode that plays the video a bit more than fullscreen so that part of the video spills over onto the other screen. If I play the video in proper mpv fullscreen mode, it plays back correctly under lumina. Hence, windowed playback under lumina/mpv seems to be broken.
I can play back the same video files with mpv in windowed mode fine with the same display config when using MATE under TrueOS instead.
The other thing that works fine under MATE that is broken for mpv under Lumina is that you cannot play (h264) videos rotated when you have an mpv input.conf file configured as such:
https://wiki.archlinux.org/index.php/mpv#An_example_input.conf_file
With that config file in place, you can use Alt+RIGHT-ARROW or Alt+LEFT-ARROW to rotate video playback 90 degrees in realtime under MATE but not lumina.

Have you tested at all under vanilla Fluxbox? That'll help us potentially isolate where the issue may lie.
Also, so I understand you correctly, you're saying that mpv does actually run under Lumina, it's just that it doesn't run the way you want.

I've just tried mpv under vanilla fluxbox and it also has the same problem with not being able to playback videos in a window so this a fluxbox problem.
I have had mpv suffer jerky video playback sometimes under Linux/MATE sometimes which I have fixed by simply adding the line
profile=xv
to ~/.config/mpv/mpv.conf which disables OpenGL accel playback where supported as that is turned on by default under mpv. By adding this config, it fixes the rotation problem but it doesn't fix windowed playback under FB or Lumina.
mpv runs under both fluxbox and lumina but it only displays proper output when in fullscreen (non windowed) mode. Both windowed and fullscreen modes work fine under MATE.

Although having
profile=xv
In my mpv.conf fixes video rotation under fluxbox and Lumina, its only really a workaround because performance suffers greatly when you use the xv display output profile. Rotation works fine without this option under MATE.

I have installed openbox under TrueOS and mpv works fine in window mode under openbox too so it does just seem to be fluxbox and Lumina that don't like mpv. If mpv is having issues, other video players may have similar issues - certainly ones such as gnome-mpv that depend upon mpv, of course.
Are there any reasons Lumina couldn't switch from using fluxbox to using openbox? It would seem openbox is the better choice for my use case at least.

I realise the plan is to replace fluxbox with a homegrown lumina wm, but until that is ready why not use openbox?

I'm a fan of openbox myself, but Fluxbox was the better option when Ken was designing Lumina.  I'm not going to go through the laundry list of reasons, but Fluxbox is/was a better option that Openbox for Lumina.  However, this will be a thing of the past once the new Lumina WM is completed.  If you want to run openbox as the WM with Lumina you're more than welcome to do so... no one here is going to stop you.  But we are not going to make that the default.  We have a patch submission that will enable people to change the WM to whatever, but be aware that this will break quite a bit with the desktop, and you will be responsible to support it yourself.
As for mpv, after looking into it a bit more. After scouring the MPV issue tracker itself, I'm not sure if it's an issue with Fluxbox or an issue with MPV, but I'm leaning towards the latter.  There is a long history of MPV trying to override the WM and impose its own values for _NET_WM_STATE_FULLSCREEN and _NET_WM_STATE.  But whether Fluxbox or MPV is to blame, is neither here nor there, as it's not something that Lumina has anything to do with.  If MPV fails under a native Fluxbox environment, there is nothing that Lumina can do to resolve this.


fix($parse): treat falsy values as defined in assignment expressions

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
bug,  solving Issue https://github.com/angular/angular.js/issues/14990
Closes #14990

Looks like variations of the same issue are present at
https://github.com/angular/angular.js/blob/master/src/ng/parse.js#L1069
and
https://github.com/angular/angular.js/blob/master/src/ng/parse.js#L1080
with the expressions foo.bar.baz = 1 and foo.bar['baz'] = 1 where in both cases foo = {bar: ''}
It would be best to fix the three cases in one go.

@lgalfaso
I have a problem with the unit test.
 it('should not assign a property to locals properties with falsy value', inject(function($parse) {
      var local = {a:0};
      expect(function() {
        $parse("a.b =1")(local);
      }).toThrow();
  });

I get this error 'Expected function to throw an exception'
but when i call $parse("a.b =1")(local) alone i get
TypeError: Cannot create property 'b' on number '0'
I have no idea why toThrow() doesn't detect that TypeError was thrown from parse function ?

There are at least 2 parts:
The CSP: true version also needs to be fixed, these are
https://github.com/angular/angular.js/blob/master/src/ng/parse.js#L1706
https://github.com/angular/angular.js/blob/master/src/ng/parse.js#L1731
https://github.com/angular/angular.js/blob/master/src/ng/parse.js#L1750
There might be discrepancies on how this is handled in different browsers.

@lgalfaso
After the fix that i had done.
Here are the results of the three cases
Case 1:
    $scope.a = 0;
    $scope.$eval("a.b=2");

I get TypeError: Cannot create property 'b' on number '0'
Case 2:
    $scope.a = 0;
    $scope.$eval("a['b']=2");

I get TypeError: Cannot create property 'b' on number '0'
Case 3:
    $scope.a = 0;
    $scope.$eval("a={'b':2}");

This shouldn't throw any error because assigning 'a' with another value.
Is that what mean ?

For some reasons that are not important, the following 3 expressions follow 3 slightly different code paths
foo.bar = 1;
foo.bar.baz = 1;
foo.bar['baz'] = 1;

In this case we want to fix the three of them as they all have the same issue. This is, the following cases should behave in the same way
$parse('foo.bar = 1')({foo: 0});
$parse('foo.bar.baz = 1')({foo: {bar: 0}});
$parse('foo.bar["baz"] = 1')({foo: {bar: 0}});

After I handled these two cases
  $parse('foo.bar.baz = 1')({foo: {bar: 0}});
  $parse('foo.bar["baz"] = 1')({foo: {bar: 0}});

Some old cases failed
     it('should prevent assigning only in the context of an actual constructor', function() {
      // foo.constructor is not a constructor.
      expect(function() {
        delete scope.foo;
        scope.$eval('foo.constructor[0] = ""', {foo: {constructor: ''}});
      }).not.toThrow();

and
   it('should prevent assigning only in the context of an actual prototype', function() {
      // foo.constructor.prototype is not a constructor prototype.
      expect(function() {
        delete scope.foo;
        scope.$eval('foo.constructor.prototype[0] = ""', {foo: {constructor: {prototype: ''}}});
      }).not.toThrow();

So there is these Cases are against the the change to handle
    $parse('foo.bar.baz = 1')({foo: {bar: 0}});
    $parse('foo.bar["baz"] = 1')({foo: {bar: 0}});

so what is your suggestion ?

@gkalpak
Could you please check this.
I have no idea why toThrow function didn't detect any exception throw from parse function
when I write
      var scope = {a:0};
      $parse("a.b =1")(scope);

I get this error.
TypeError: Cannot create property 'b' on number '0'
at fn (eval at compile (/Apache Server Root/repositories/angular.js/src/ng/parse.js:906:15), :4:248)
at Object. (/Apache Server Root/repositories/angular.js/test/ng/parseSpec.js:3916:27)
at Object.invoke (/Apache Server Root/repositories/angular.js/src/auto/injector.js:879:19)
at Object.workFn (/Apache Server Root/repositories/angular.js/src/ngMock/angular-mocks.js:3103:20)
Error: Declaration Location
at window.inject.angular.mock.inject (/Apache Server Root/repositories/angular.js/src/ngMock/angular-mocks.js:3065:25)
at Suite. (/Apache Server Root/repositories/angular.js/test/ng/parseSpec.js:3914:81)
at Suite. (/Apache Server Root/repositories/angular.js/test/ng/parseSpec.js:3867:7)
at /Apache Server Root/repositories/angular.js/test/ng/parseSpec.js:1838:5
Chrome 52.0.2743 (Mac OS X 10.11.5): Executed 5535 of 5535 (2 FAILED) (22.486 secs / 21.484 secs)
but when i use
      var scope = {a:0};
      expect(function() {
        $parse("a.b =1")(scope);
      }).toThrow();

I get
Chrome 52.0.2743 (Mac OS X 10.11.5) parser csp: true locals should not assign a property to scope properties with falsy value FAILED
Expected function to throw an exception.
at Object. (/Apache Server Root/repositories/angular.js/test/ng/parseSpec.js:3919:14)
at Object.invoke (/Apache Server Root/repositories/angular.js/src/auto/injector.js:879:19)
at Object.workFn (/Apache Server Root/repositories/angular.js/src/ngMock/angular-mocks.js:3103:20)
I have no Idea why the test didn't detect the thrown exception, but when i used
$parse("a.b =1")(scope); it throw exception.
Does angular handle these exception in a different way ? or I am missing something.

@m-amr, I see you pushed another commit. Were you able to solve the issue you had or should I take a look?

@gkalpak, No I still have the same problem, Could you please check it.

I have solved The Issue but I have a problem related to Internet Explorer, after i had added some unit tests for example
  var scope = {a:falsyValue};
           expect(function() {
             $parse('a.b=1')(scope);
     }).toThrow();

I works well with Chrome and Firefox, but in case of IE it doesn't throw an exception, and I didn't found any test for the true values which will throw the same exception.
@gkalpak Do you have any suggestion for this problem ? should i ignore adding tests ?

Might be good to get this into 1.6, @gkalpak?
@m-amr do we need to test that false.prop = 1 throws? How about just testing that false isn't replaced with {} like it previously did?  Or if we really need it to throw maybe we have to throw ourselves instead of relying on the browser?

Hm...I was thinking of this as a fix (that would go into 1.5.x as well as 1.6.x). Do you think it should be treated as a breaking change?

I was thinking it would be a BC. People could be relying on the current behaviour, and the change could make existing apps start throwing if I understand it correctly?

@jbedard
We must test that false.prop = 1 throws, because if we didn't test it, and just test that false didn't replaced with {}. parse function will throw exception incase of chrome, firefox and the test will fail.
    var scope = {a:false};
    $parse('a.b=1')(scope); // will throw exception incase of chrome and test will fail.

I think that the right solution is throw custom exception and doesn't depend on the browser to throw it, as @jbedard  mentioned.
@gkalpak  what it your opinion about that ?

Normally trying to assing a property on a primitive should throw in strict mode and silently fail in non-strict mode. IE seems to always have the non-strict-mode behavior. I don't think we should be fighting the browser here: If the browser throws: fine. if not: not our concern.
This shouldn't make any difference to end-users anyway and for developers I assume nobody is debugging or running their tests in IE only, so the error will come up in other browsers that do the right thing.
(AFAICT, there would be a slight overhead if we decided to throw ourselves, as we should check the actual type of the left-hand side at runtime. So, while I don't feel too strongly about explicitly throwing, I'd rather not.)
--
Regarding the tests, the following should pass on all browsers and verify what we really care about (i.e. that $parse did not overwrite the falsy value with an object):
it('should overwrite `undefined`/`null` scope properties when assigning',
  inject(function($parse) {
    var scope;

    scope = {};
    $parse('a.b = 1')(scope);
    $parse('c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: 1}, c: {d: 2}});

    scope = {a: {}};
    $parse('a.b.c = 1')(scope);
    $parse('a.c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: {c: 1}, c: {d: 2}}});

    scope = {a: undefined, c: undefined};
    $parse('a.b = 1')(scope);
    $parse('c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: 1}, c: {d: 2}});

    scope = {a: {b: undefined, c: undefined}};
    $parse('a.b.c = 1')(scope);
    $parse('a.c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: {c: 1}, c: {d: 2}}});

    scope = {a: null, c: null};
    $parse('a.b = 1')(scope);
    $parse('c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: 1}, c: {d: 2}});

    scope = {a: {b: null, c: null}};
    $parse('a.b.c = 1')(scope);
    $parse('a.c["d"] = 2')(scope);
    expect(scope).toEqual({a: {b: {c: 1}, c: {d: 2}}});
  })
);

they('should not overwrite `$prop` scope properties when assigning', [false, 0, '', NaN],
  function(falsyValue) {
    inject(function($parse) {
      var scope;

      scope = {a: falsyValue, c: falsyValue};
      tryParse('a.b = 1');
      tryParse('c["d"] = 2');
      expect(scope).toEqual({a: falsyValue, c: falsyValue});

      scope = {a: {b: falsyValue, c: falsyValue}};
      tryParse('a.b.c = 1');
      tryParse('a.c["d"] = 2');
      expect(scope).toEqual({a: {b: falsyValue, c: falsyValue}});

      // Helpers
      function tryParse(expression) {
        try {
          $parse(expression)(scope);
        } catch (err) { /* Ignored */ }
      }
    });
  }
);

(I have slightly tweaked the tests to cover more cases, so please use these, @m-amr.)

I was thinking it would be a BC. People could be relying on the current behaviour, and the change could make existing apps start throwing if I understand it correctly?

@jbedard, indeed, they could start throwing due to relying on an undocumented bug. I hate this gray area between a bug fix and a breaking change 😠

@gkalpak
Thanks for your feedback,
I had added all the test cases that you had mentioned and every thing work,
could give it a last look ?

LGTM
I'll let @lgalfaso sign it off :smiley:

LGTM
landed as 4f44e018948c45bfb07f0170de4f703d22778d71


Plugin .zip package contains __MACOSX

The package contains __MACOSX directory, so after installing the plugin I get __MACOSX listed as a broken plugin

I am sorry for the inconvenience.
Fixed in version 0.1.1.


Fix typo in StandardCursorType.

What does the pull request do?
Fixes a typo in StandardCursorType as described in #2784
Breaking changes
Technically a breaking change but I suspect no-one has used this or we'd have got this issue earlier.
Fixed issues
Fixes #2784

Added an obsolete alias for old typo'd value.


WFLY-4229 Make http status return while deploying configurable

https://issues.jboss.org/browse/WFLY-4229  - v2, this require change of access level in undertow -> PathHandler.pathMatcher
One that includes more hacks: https://github.com/wildfly/wildfly/pull/7144

Linux Build 5844 is now running using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3

Linux with security manager Build 829 is now running using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3

Windows Build 953 is now running using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3

Linux with security manager Build 829 outcome was FAILURE using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3
Summary: Tests passed: 498, ignored: 231; exit code 1 (new) Build time: 0:02:20
Build problems:
Process exited with code 1

Linux Build 5844 outcome was FAILURE using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3
Summary: Tests passed: 544, ignored: 185; exit code 1 (new) Build time: 0:03:40
Build problems:
Process exited with code 1

Windows Build 953 outcome was FAILURE using a merge of 0e763f4387eb54f2cfba522ad7af58c946aaddb3
Summary: Tests passed: 544, ignored: 185; exit code 1 (new) Build time: 0:04:12
Build problems:
Process exited with code 1

Linux Build 5944 is now running using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c

Windows Build 1054 is now running using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c

Linux with security manager Build 923 is now running using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c

Linux with security manager Build 923 outcome was SUCCESS using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c
Summary: Tests passed: 840, ignored: 319 Build time: 0:07:01

Linux Build 5944 outcome was SUCCESS using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c
Summary: Tests passed: 2931, ignored: 313 Build time: 0:39:13

Windows Build 1054 outcome was SUCCESS using a merge of d368f5ceb6fd13bf5d35a6469f3d7fae3487062c
Summary: Tests passed: 2931, ignored: 313 Build time: 0:47:28

Windows Build 1092 is now running using a merge of 6a9696e1fcd99f3b056a727af884014df2045138

Linux Build 5979 is now running using a merge of 6a9696e1fcd99f3b056a727af884014df2045138

Linux with security manager Build 958 is now running using a merge of 6a9696e1fcd99f3b056a727af884014df2045138

Linux with security manager Build 958 outcome was SUCCESS using a merge of 6a9696e1fcd99f3b056a727af884014df2045138
Summary: Tests passed: 840, ignored: 319 Build time: 0:05:21

Windows Build 1092 outcome was SUCCESS using a merge of 6a9696e1fcd99f3b056a727af884014df2045138
Summary: Tests passed: 2932, ignored: 314, muted: 1 Build time: 0:48:20

Linux Build 5979 outcome was SUCCESS using a merge of 6a9696e1fcd99f3b056a727af884014df2045138
Summary: Tests passed: 2932, ignored: 314, muted: 1 Build time: 0:49:19

beyond, the small change(to use default) commented above, it looks good

I opened #7440 that fixes the above issue of this PR and adds also few more things.

Based on last comment. Closing as there is new PR.