[2.0] Introduce adapter interface and implementations

As discussed in #3, this PR starts by adding a HTTP adapter interface and a basic implementation using PHP's global functions a la headers_list(), header_remove() and header().
This also opens the door for introducing a simple adapter implementation that simply collects all headers and returns them as a string - for use in tests, which - I believe - was the only use of the headersAsString mode.
To prevent more tampering with actual HTTP responses than necessary, I also introduced a new HeaderBag class as a middleman that is added to / removed from before actually sending / removing all headers at once. Turns out, this is more or less what is already done with the internal $this->headers array, so I will remove that array in a next PR once the HeaderBag can completely fulfill its role.
Hope you like it. :)

Changes are looking good, thanks for the great work! 😃
(Just a few tiny queries 😉):

Can you preserve capitalisation in the header name by implementing something similar to this? (https://github.com/aidantwoods/SecureHeaders/blob/36e81d4bdb2ad9f7979b9158c4059b62ee9ce92c/src/SecureHeaders.php#L441-L445)
Where the key of the array is always lowercase, but the original casing is contained as a sub-item along with the value?

Could you add type assertions for functions that take scalars that are not type-hintable (and would break if given the wrong type)? Pre PHP7 only arrays or an instance of a class are type-hintable, so things like strings, integers, booleans etc... are all "non-type-hintable".
I've created a function that backports the type of error that you'd get from a type error (https://github.com/aidantwoods/SecureHeaders/blob/36e81d4bdb2ad9f7979b9158c4059b62ee9ce92c/src/SecureHeaders.php#L2213-L2270). Perhaps this function should be moved somewhere that's more accessible?
The gist of the syntax can probably be summed up in these examples:
public function removeCSPSource($directive, $source, $reportOnly = null)
    {
        $this->assertTypes(array('string' => array($directive, $source)));

 public function hpkp(
        $pins,
        $maxAge = null,
        $subdomains = null,
        $reportUri = null,
        $reportOnly = null
    ) {
        $this->assertTypes(
            array(
                'string|array' => array($pins),
                'int|string' => array($maxAge),
                'string' => array($reportUri)
            ),
            array(1, 2, 4)
        );

For the second example, just stick an | between allowed types (if multiple) – gives a similar feeling to working with bitwise operators. The second arg also gives an array listing the argument numbers (since in this case they weren't sequential starting from 1).
Basically both arguments of assertTypes should be arrays, the first containing (unique) keys mapping to an array of the arguments that should be of this type. If an argument(s) can satisfy multiple types then stick a pipe in-between the allowed types in the key. The second array should list the argument numbers (for your function) if the argument variables weren't given in order (1,2,...,n). (Argument numbers important for a meaningful error message).

The function getHeaderAliases will also need modifying this update (possibly removing). Its only purpose is really to let removeHeader return something useful about whether the header existed or not. getHeaderAliases is almost the same as your has function (it checks SecureHeaders' internal list and PHPs list at call time)

I'm not sure that header($headerString, false); can be replaced by $this->headerBag->add('Set-Cookie', $headerString); – since the Set-Cookie header likely need to be set more than once (set for each cookie), can the headerBag be adjusted to allow more than one header to be set with the same name?

Thanks again for all those changes so far!

Thanks for the detailed feedback!
I have stumbled across most of these already and was working on a follow-up PR after sending this one.

Can you explain why you decided to preserve capitalization? As far as I know, headers are not case-sensitive, so I went with the approach that I knew from PSR-7 (lower-casing everything).
I will extract the type assertions to its own class.
Should not be necessary if lower-casing everything is fine. By the way, why do you check both the internal list and the headers that PHP has stored? If I read the code correctly, the ones from headers_list() are already part of the internal headers array.
Yep, that was an oversight. I will push a fix later today.

RE capitalisation, this is actually PSR7 compliant 😉
http://www.php-fig.org/psr/psr-7/#http-headers

Despite that headers may be retrieved case-insensitively, the original case MUST be preserved by the implementation, in particular when retrieved with getHeaders().

Awesome!

Ah yes, I forgot to mention about the construct function! importHeaders gets called as part of the ->done call (so at init SecureHeaders doesn't actually have all the headers loaded into ->headers). I chose this method partly because it lets you define an extension and populate the construct function with your own config options (without having to reimplement code). And partly because I'd have to do an ->importHeaders at ->done anyway to account for any headers set to PHPs list between init and ->done. Because headers could be set between init and ->done, I'd have to implement something like ->getHeaderAliases to check both lists anyway for anything that needs to know about all headers at call time during config (i.e. before ->done).
Going back to the construct function, obviously instance creations can't really be moved into the main class body. So perhaps I will have to change the wiki to advise that parent::__construct() is called on any extensions of the class in the 2.0 release.

Thanks! 😄

Also, just RE the capitalisation again – some clients (like IE11 😞) have been known to break when Header-Names-Dont-Look-Like-This. That's kind of why I made correctHeaderName default to on – as well as asthetic reasons ;-)

Hmm, extracting the type checking method is kind of tricky, as it is coupled to the SecureHeaders - apparently it tries to send all headers that were sent so far, when displaying an exception.
This is not needed, in my humble opinion. If the type checks fail, the program should just fail completely, we don't need to try to get some of the behavior that we wanted. After all, we are trying to mirror PHP 7 here, right?

Not "needed" as far as mirroring PHP7 – though IMO sending the headers that we know about is better than a failure causing headers not to be sent at all. (An enhancement on top of PHP 7 if you like). Also, since this class is really all about headers – having a misconfiguration prevent all headers being sent seems a bit, "suicidal" (lack of a better word).
If things like CSP don't get sent then it could open the page up to script execution – supposing that an attacker could somehow force the exception. Not a perfect solution I know (ideally people should keep user input away from headers), but given PHP will serialise arrays and strings in $_POST for example – it's not infeasible to imagine that an attacker could leverage this control over variable types to generate type exceptions.
Would it be completely unreasonable to suggest that SecureHeaders to pass its own instance along to the HeaderBag maybe? (Similar to what happens when a type error is thrown?).

We're talking about a type error. I would argue that's a much worse thing to an app/website than a few headers not being sent.

Well that's why we throw the exception – though the exception shouldn't become a vector for disabling CSP (for example), IMO. We're definitely not talking about ignoring the error – we're just sending everything that was okay up until that point. (If the response is completely lacking in headers, that can put the user in danger).

Incidentally by sending the headers from __toString() in SecureHeadersTypeError the headers only get sent in the case that the exception is uncaught. If the dev catches the type error then everything carries on as normal 😃

A method called __toString() should not have side effects like that.
Again, these errors are meant to show when the developer makes an error - preventing this exception from being thrown at all is the developer's job. I don't agree that we are talking about a real vector here.

P.S.: And, if anything, the problem about such a "vector" would be that the site breaks down, not that some headers do or do not get sent.

Hmm... I'm not sure – I think the application responding in the most helpful way should be the goal? If the type error is left uncaught then the dev pretty clearly hasn't accounted for it – if we send the headers at this point then we get behaviour that is close to encountering an exception after using the built in header function (everything that has already been configured is sent).
I do agree that it is the devs fault, and they should catch the exception, but I think we can at least try to honour the developers intent for things that were previously configured correctly?
RE __toString(), it's a magic method that gets called if the class is casted to a string (not sure casting a class to a string should have any "expected" behaviour – other than returning a string). Certainly nothing should just attempt to cast an instance of an unknown class to a completely different type and expect it to work?
From the docs:

The __toString() method allows a class to decide how it will react when it is treated like a string. > For example, what echo $obj; will print. This method must return a string, as otherwise a fatal E_RECOVERABLE_ERROR level error is emitted.

Ha, that's the nature of PHP. ;)
IMO, the key point here is can these exceptions happen surprisingly in production? And given where the assertTypes() method is used, I don't see why a runtime value should have a different type from the values passed in during testing. So, I'm saying, these exception should already tell developers they're doing something wrong when developing.

😉
I'd say that yes, it's possible one of these exceptions could happen surprisingly in production (especially on public scoped functions).
Even just as a mechanism to cover self-inflicted failures I think it's valuable. If I push an update that casts a variable to the wrong type in a place I didn't test for – I'd rather the application generated an exception, than the application generated an exception and someone's CSP doesn't get deployed!
(remember that SecureHeaders does things like cookie upgrades too – would rather these things happened even in the event of a type error, than throw an error that allows cookies to go out without the secure attribute).

Okay, I just pushed two commits that extract the type assertion method into its own static helper class, and uses it from the HeaderBag as well. This also means I
If you can't live without it, it will have to be added back on top of these classes. Again, I'd strongly advocate against it. It violates separations of concerns, I would say it's unexpected, it uses the global PHP methods (so would not work well with adapters), and it is trying to be smart in cases where the developer has messed up (so badly that they should notice in development). And in any case, trying to convert any weirdly-typed input into expected types seems like more in line with classic dynamic typing as beloved and hated in PHP.
And I'd still like to see that example of where a developer might get surprised by a sudden wrong type, for any of these methods. ;)
As for your other feedback, I'll try to get it done in the next few days.

Okay, casing of headers and the add/replace thing is now fixed.
What's left is now dealing with getHeaderAliases(). Can you come up with a test case that helps me implement this feature?

Okay, I just pushed two commits that extract the type assertion method into its own static helper class, and uses it from the HeaderBag as well.

Okay, casing of headers and the add/replace thing is now fixed.

Awesome! 😃 Changes looking great there! Thanks for all the hard work.

And I'd still like to see that example of where a developer might get surprised by a sudden wrong type, for any of these methods. ;)

Okay ;p
setcookie('auth', 'supersecretauthenticationstring');

$headers = new SecureHeaders;

$headers->csp('default', 'none');
$headers->cspNonce('script');

$page = $_GET['redirect'];
$headers->header('Location', $page);

$headers->done();

$ curl -sI localhost/?redirect=a
--------------------------------
HTTP/1.1 302 Found
Location: a
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: Deny
Content-Security-Policy: default-src 'none'; script-src 'nonce-eUthX8wh+Y5MQXrNCuZb5MmLMvwfSO7XMisyLNpk';
Set-Cookie: auth=supersecretauthenticationstring; Secure; HttpOnly
Content-Type: text/html; charset=UTF-8

$ curl -sI localhost/?redirect%5B%5D=a
--------------------------------------
HTTP/1.1 500 Internal Server Error
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: Deny
Content-Security-Policy: default-src 'none'; script-src 'nonce-hkzy9P8+OCyexj7bU5pGrNihH91t1Ji7mTSPt/x/';
Set-Cookie: auth=supersecretauthenticationstring; Secure; HttpOnly
Connection: close
Content-Type: text/html; charset=UTF-8

Right now, already configured headers (like CSP), and automatic actions tied to ->done (like cookie upgrades based on name) are still able to be sent and completed.
If we take away this special exception handling, then you'd get an output like this:
$ curl -sI localhost/?redirect%5B%5D=a
--------------------------------------
HTTP/1.1 500 Internal Server Error
Set-Cookie: auth=supersecretauthenticationstring
Connection: close
Content-Type: text/html; charset=UTF-8

Basically a free pass for an attacker on the network/one that can find XSS to do what they like with the page/cookies.
Given that the type in this case is dictated by the user (thanks PHP 😉) – I can't see it being an obvious one to spot in development (bar a pentest – in which case it should be obvious).
Perhaps we can make this functionality optional to solve both our concerns? Regarding whether it should default to on/off, I can open up another issue perhaps and we can see if anyone from #3 has any input?
P.S. RE

it uses the global PHP methods (so would not work well with adapters)

there's no reason that the built in header has to be used in this handling, could just as easily be passed off to the configured adapter right?
I do take your point that it would be unexpected, so perhaps configuration options would be a must if we were to keep this (though wouldn't an uncaught exception be just as unexpected?).

@franzliedke

What's left is now dealing with getHeaderAliases(). Can you come up with a test case that helps me implement this feature?

I've replaced getHeaderAliases with headerExists. getHeaderAliases was added when headers were stored case insensitively, so the concept of aliases when removing made a bit more sense ;p
Test case for headerExists would be setting a header with the HttpAdapter (via sendHeaders) and checking the bool response on ->removeHeader for headers that are known to exist/known not to. This to see if it can gauge information about the current headers in the HttpAdapter's header source at call time (so before a header import is run).

To me, it more and more looks like the better way to fix this trouble is by being liberal in what we accept: don't raise exceptions on invalid types, but convert them to the appropriate types where possible. In the example you posted, this would result in the string 'Array' - which obviously doesn't make sense, but would be the result of a programmer error anyway, so it's hard to expect good results anyway. ;)
As for headerExists() and getHeaderAliases(), things seem okay now. Or is anything missing from this getting merged?
My plan is still to replace $this->headers with the header bag - this will simplify the code drastically. But it's also yet another big change, so I'd prefer to do that in a separate pull request, building on top of this one. After that, I would also like to replace the done method with something along the lines of apply(AdapterInterface $adapter) - that would make all of this less stateful, and it would mean we don't need to inject any adapter implementation into the constructor.
tl;dr This is done, right?

My plan is still to replace $this->headers with the header bag - this will simplify the code drastically.

👍 would love to see this done – I think the only thing that is really left to implement is the header value deconstruction (and changing the references in code to use the header bag, of course).

After that, I would also like to replace the done method with something along the lines of apply(AdapterInterface $adapter)

I was thinking about something along those lines too actually – would be useful if you wanted to say, use the string adapter to get the list of headers, and send them off to a framework/PHPs list.

it would mean we don't need to inject any adapter implementation into the constructor

Yup! That may be a good change – though I suppose if we don't have the adapter implemented in the constructor, then it would make it impossible for SecureHeaders to probe the HttpAdapter's source at configuration time (so headerExists() won't be able give a useful return value). Though maybe the return value isn't that useful anyway (since it is possible for a header not to be found at call time, but still removed – since removeHeader will queue the header for removal). Maybe I'll just make the behaviour identical to removeCookie, where void is returned, but the behaviour is probably clearer.

To me, it more and more looks like the better way to fix this trouble is by being liberal in what we accept: don't raise exceptions on invalid types

Hmm, I did consider doing that – though I kind of already do accept as many types as I can where possible e.g. https://github.com/aidantwoods/SecureHeaders/blob/180913fe5bc961516caafc500d2313e1572d2007/SecureHeaders.php#L593-L603 int or string is valid for the max-age value, and (something you'll see mostly everywhere) booleans are just loosely casted with no restriction on type.
For types where nothing reasonable can be inferred, if we don't throw an exception what is the alternative? Do we cast (leading to a strange result that may be hard for the programmer to track down the cause of), or do we silently fail (making it hard to track down why a function isn't doing anything)?
I'd love to just check types myself and blame the programmer for anything bad that happens when they use the wrong one, but there are more than a few legitimate situations where PHP is particularly unhelpful with the so called "type-juggling",  e.g. '0e123' == '0' returns true because these two strings are compared as integers (which cast to 0) when using a loose comparison (types are "juggled" even when they are the same). But then '0e123' == '' returns false, even though if both strings are casted as integers you get 0 again.
TL;DR Yup, I think this is done. I think I'd still like to add the custom exceptions back in, but that's maybe best left for later once the HttpAdapter implementation is finalised, and perhaps sending the headers on exception should default to off?
Give me a couple hours (should be able to get some final testing done within then) and will merge 😄


New individual deploy pages

[X ] New or updated content

Initial test of separation out of various Deployment instructions using the same tab component as we do with auto/manual install.
We might not choose to go in this same direction, but this will help in the sort term with organizing that page, keeping a consistent look until we have a grander vision. It emphasizes our main sponsors Netlify and Vercel, and lets us put emphasis on keeping those pages clean, updated and helpful.
(Note: Link checker going off the rails because of changing up some page routes. Will eventually fix.)

Should not tabs in general toggle content visibility instead of linking to another page, like for the main sidebar Learn/reference tabs?

Just leaving a note to say I’ve just merged #758 which adds a Deno section to the Deploy guide. We’ll probably need to resolve some conflicts there and port over the new Deno guide.

@inwardmovement: Should not tabs in general toggle content visibility instead of linking to another page, like for the main sidebar Learn/reference tabs?

We deliberately prefer having these on separate pages so that they exist separately for search engines. This way if someone searches for deploy astro to netlify or something, they’re more likely to find the specific page they need.

(Just setting the stage for future work, by making the main deploy page generic content only, and making individual host pages host-specific only, with SEO-able page titles, h1 etc.)

@delucis - This is looking SO. GOOD. I'm loving the more compressed view on the individual pages!
I'll continue to work on the content of the individual pages, but I don't think either of us will be tripping over each other. I'll try to commit to this branch often as I go so as to avoid any conflicts.

Just a thought, wouldn't it make more sense to unselect the filters at the top on initial page load?

Good idea! Just updated to do that.

Hey @ElianCodes , this is great feedback and I love the offer!
What we're hoping to do with this PR, since it is initially getting the (admittedly, bare-bones and scattered) instructions on to separate pages so that we can make more targeted improvements... because they do need them! But, it will be easier to deal with them each on their own page.
Could you confirm (or make suggestions!) that the pages you've thought about are, as we say in docs, "No worse than they were before" and not embarrasing to publish this way, so that we can THEN deal with individual pages as their own things to improve? That would help A TON.  💜

Mid-dinner.... but might have a MERGE for DESSERT?!?!  Will review shortly!


Aggregation

As discussed multiple times, I would have prefered you did not go into batching yet.
Now we have no point of reference to know if it helps performance or not.

Codecov Report

Merging #1276 (214b40b) into main (e665322) will increase coverage by 0.13%.
The diff coverage is 96.86%.

@@            Coverage Diff             @@
##             main    #1276      +/-   ##
==========================================
+ Coverage   94.22%   94.35%   +0.13%
==========================================
  Files         209      220      +11
  Lines       35295    37108    +1813
==========================================
+ Hits        33255    35014    +1759
- Misses       2040     2094      +54

Impacted Files
Coverage Δ

src/collector/histogram_collector.rs
99.49% <ø> (ø)

src/error.rs
2.12% <ø> (ø)

src/fastfield/reader.rs
93.27% <ø> (ø)

src/lib.rs
98.83% <ø> (ø)

src/aggregation/metric/average.rs
83.92% <83.92%> (ø)

src/aggregation/collector.rs
95.31% <95.31%> (ø)

src/aggregation/segment_agg_result.rs
95.78% <95.78%> (ø)

src/aggregation/agg_req_with_accessor.rs
96.47% <96.47%> (ø)

src/aggregation/bucket/range.rs
96.66% <96.66%> (ø)

src/aggregation/metric/stats.rs
97.25% <97.25%> (ø)

... and 10 more

Continue to review full report at Codecov.

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


3.0

It would be great to start introducing tests with the release. Want to make sure 2.11 is more stable than 2.10.

Looks like this needs rebasing, and tests.  Anything else to move this towards merging?
Also, if you could specify what needs tested, I could write some of these tests.  e.g., provide an outline of the specs you want, like:

the compiler

should compile from one format to another
should compile from format A to B and then from format B to C

And so on.  Also, an overview of what this release accomplishes would be helpful.

@jacksonrayhamilton This PR is not done yet. According to my time estimations, the fastest approach is to release breaking 3.0. What is left is to replace deppack with rollup and make current tests pass, and then figure out how to make e2e tests a joy to write.

Thanks for the update @shvaikalesh.  Do you have an idea of what scenarios e2e tests might cover?

@jacksonrayhamilton I will start with covering most error-prone (that was broken on my watch) logic, like merging plugins.on|off in overrides (see #826), merging joinTo and entryPoints, choosing plugins based on env etc. Hopefully, with some breaking changes in 3.0 there will be less such pain points.

@jacksonrayhamilton There are also some ideas for tests in #1642.

Hi @paulmillr @shvaikalesh, since this PR looks like a big one but currently isn't seeing progress, would it be possible to quickly write a summary of the features it will bring, API changes, and bugs it will fix? Right now Typescript is quite hard to use with Brunch and I have ideas on how to fix that, but I want to make sure to avoid doing duplicate and/or conflicting changes with the intended direction of Brunch.

Hi @paulmillr @shvaikalesh, big +1 to @rudi-c comment, would be awesome to have some kind of roadmap for 3.0 release to understand what's coming. This would greatly help Brunch users in navigating existing issues and give better understanding if it's worth submitting new pull requests.
Thanks in advance.

I am wondering if this will bring support for alternate bundlers like Rollup.
If we were to support Rollup, it would need some changes in the pipeline architecture. Since Rollup really shines with ES6 modules and tree-shaking, we would have some plugins run beforehand, and some (like Babel) run after the bundle is generated. Also, I wonder if Rollup would have better or worse performance than deppack. I'm not sure what types of optimizations they have done as far as atomic rebuilding.
It would be interesting to define a bundler API, that any new bundler could implement.
If I can help in any way, just ping me. I'm very excited to see what 3.0 brings!

Hi, what's the status of this PR? The last commit is 1 year old and it seems inactive to me.

Any updates on this PR and version 3.0? Is the project still under development/being maintained?

@Tim15 I guess the entire Brunch team must have been eaten by wolves on the same night.

Unfortunately we are focusing on more value creation; through other projects — at this particular moment. Sad we cannot spend more time with Brunch. Any help would be greatly appreciated.

when are we getting this bad boy

The status is simple: someone needs to take it over and finish the work (at least ~1 month 2h every day).

@paulmillr What would be needed to work on to finish the work? Was there a feature list for 3.0, or a breaking change list?

@seanstrom do you want to work on it? We can discuss this together. The idea is: an ultra-modern build tool that keeps Brunch simplicity, and increases it — while having everything required for 2020 web app dev.

@paulmillr Yeah I would like to work on this. What's currently missing from Brunch that would be needed for 2020 app development? An example feature could be Code Splitting, or would that be something that is configured with a plugin?

Code splitting indeed! We need to have first-class support for that.
I think there should be some ways to simplify the config even more, and incorporate threading aka workers. This may increase the build speed 3x. We’d also want some kind of persistent file system caching, to increase speed of cold builds.
One commonly requested feature is an ability to easily replace script and css paths inside index.html with git commit hashes or similar suffixes.
Cache & workers are simple. Conceptual changes, script path updates are harder.

I want to release a version that keeps compatibility, while reducing the package size twice or more. See #1848. It will be named 3.0; the current PR is deferring until we figure out the requirements.

Alright, we have a stable build in pull request #1848. Let's move over there.


IMPROVE -Vehicle Display in settings

Describe the feature you want to improve
Reformat how the vehicle details are displayed in the settings screen.
Describe alternatives you've considered
N/A

You can assign this anyone who wants it.

Only text? I can think of a way to improve this if @mikaelacaron can assign me.

@maartinj yes it would be reformatting to match the sceeenshot from Robert


Put processed all.js files into an .assets directory

The consequence of this bug is all.js always 404s on full builds
I have:

[x] Based work on latest develop branch
[ ] Looked for lint in my changes with hlint . (lint found code you did not write can be left alone)
[ ] Run the test suite: $(nix-build -A selftest --no-out-link)
[ ] (Optional) Run CI tests locally: nix-build release.nix -A build.x86_64-linux --no-out-link (or x86_64-darwin on macOS)

This bug was introduced by https://github.com/obsidiansystems/obelisk/pull/778

@tomsmalley Why does this work?

Possibly a better change would be to have serverExe rename them all while copying/symlinking as that would also preserve certain properties of the behavior before #778, but I'm not sure those properties matter.

I changed it do just that because compressedJs is a publicly accessible function in default.nix. If anyone is relying on the naming scheme of that derivation (as serverExe was doing) then it would break their code. As unlikely as that is, it's easy enough to preserve behavior.


Need to show more information on the different between customerid  & msdyn_account

In other areas of field service, msdyn_acocunt normally referenced as msdyn_BillingAccount or msdyn_ServiceAccount.   but in this documentation it is unclear which one the msdyn_account is referring to.    One could assume it's the billing account, but when creating a quote, it's not populated with the billing account.   If it's the service account, why is it needed if customerid is already provided?

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

ID: 2da73a5a-c24f-0f5f-fb80-24ea8f27a294
Version Independent ID: 1e0721c0-30d2-4134-652b-4ee81d09003a
Content: Quote Entity Reference (Dynamics 365 Customer Engagement)
Content Source: ce/customerengagement/on-premises/developer/entities/quote.md
Product: d365ce-op
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

Thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, visit https://powerapps.microsoft.com/support/.
Closing this issue.


HIGH - Can't perform one or more critical actions

Specify the steps to reproduce this issue

Create a proposal in lite DAO

Describe the unexpended behavior in contrast to what should normally happen in the app

Spinning wheel when trying to create a proposal

Paste the full URL that the browser is on when the issue occurs

https://tezos-homebase.io/explorer/lite/dao/65ded99a5d3d7a9c8151fa2e/community/proposal

The wallet address you are using in the app

tz1ahk6K5RPFChRxJWyN8hWJdKpsSMjDBWF9

What wallet are you using?

Umami

On which network is the issue occurring?

Mainnet

If you have a stack trace from the browser console, or a error from the wallet, paste it here. (To capture the stack trace, open Developer Options in your browser and go to the Console tab).

Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'attribution-reporting'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'browsing-topics'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'browsing-topics'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'attribution-reporting'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'attribution-reporting'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'browsing-topics'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'browsing-topics'.
DAppClient.ts:231 ### openRequest ### e
DAppClient.ts:233 ### message ### {"type":"acknowledge","version":"2","senderId":"Y8xURfrNHQ4q","id":"cdb9ee36-7a4e-6fe4-96e3-a7455ff3973e"}
DAppClient.ts:234 ### connectionInfo ### Object
DAppClient.ts:231 ### openRequest ### e
DAppClient.ts:233 ### message ### {"senderId":"Y8xURfrNHQ4q","version":"2","appMetadata":{"senderId":"Y8xURfrNHQ4q","name":"Umami","icon":""},"type":"permission_response","network":{"type":"mainnet"},"scopes":["operation_request","sign"],"id":"cdb9ee36-7a4e-6fe4-96e3-a7455ff3973e","publicKey":"edpkuug61aKtr8jZsyiREy8h15vJfZYuBnYpEMBNx5bDocXiyL2VGa"}
DAppClient.ts:234 ### connectionInfo ### Object
Logger.ts:35 cdb9ee36-7a4e-6fe4-96e3-a7455ff3973e: 10229.510009765625 ms
DAppClient.ts:1834 ######## MESSAGE #######
DAppClient.ts:1835 Object
DAppClient.ts:1856 ######## ACCOUNT INFO #######
DAppClient.ts:1858 {"accountIdentifier":"2JrKnV6hnDzJTk35GC5D","senderId":"Y8xURfrNHQ4q","origin":{"type":"p2p","id":"11785c73f6c8378c7542d564dfc8c45f358816500933b83f2218decc64d90b46"},"walletKey":"umami_desktop","address":"tz1ahk6K5RPFChRxJWyN8hWJdKpsSMjDBWF9","publicKey":"edpkuug61aKtr8jZsyiREy8h15vJfZYuBnYpEMBNx5bDocXiyL2VGa","network":{"type":"mainnet"},"scopes":["operation_request","sign"],"connectedAt":1709781039415}
query.js:358 Error: Address tz1ahk6K5RPFChRxJWyN8hWJdKpsSMjDBWF9 has no profile in network mainnet
at index.ts:20:11
at l (regeneratorRuntime.js:44:17)
at Generator. (regeneratorRuntime.js:125:22)
at Generator.next (regeneratorRuntime.js:69:21)
at Sr (asyncToGenerator.js:3:20)
at a (asyncToGenerator.js:22:9)
onError @ query.js:358
Show 1 more frame
Show less
index.tsx:727 Object
jsonrpc.ts:29 Uncaught (in promise) Error
at jsonrpc.ts:29:23
events.launchdarkly.com/events/diagnostic/6335cf04387f5e11ca071b58:1
   Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

events.launchdarkly.com/events/diagnostic/6335cf04387f5e11ca071b58:1
   Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

If you have a relevant screenshot, upload it here
Any other comments?
This was using Arc Browser. I've also tried Brave browser with shields down with Temple wallet. Same issue.


Automate PR check for Validate In-page TOC

We need a script that checks for the following on all open PRs and prevents submission until these tests come back clean:
In-page TOC, please
If a topic has more than four headings, ask users to add the following to the top of the page so users can jump around the doc.
* TOC
{:toc}

The TOC element is in our templates, for example, https://github.com/kubernetes/kubernetes.github.io/blob/master/_includes/templates/task.md.


Remove Apache Commons Lang and unnecessary Guava usages

Remove Apache Commons Lang (was almost not used and is not really necessary with Guava)
Remove unnecessary Guava usages like Lists.newArrayList() that can be replace with just new ArrayList<>()

Hi, any updates on this @RainWarrior ?
Thanks

Closing and reopening to rerun checks.

More than 4 years, that's a while! @peterix I've resolved the merge conflicts and the build/tests run locally for me, just the GitHub Actions workflow is awaiting approval from a maintainer :)


Issue# Data Ingest: Encripted Documents

Open and index encripted documents with AIP

Work in Progress:
Just as reference
https://learn.microsoft.com/en-us/azure/search/search-security-trimming-for-azure-search-with-aad

To utilize Form Recognizer on documents that are encrypted with Azure Information Protection, you would first need to decrypt the documents. Here are the general steps:
Identify the type of encryption/protection: Ensure that the files are encrypted or protected with Azure Information Protection.
Use Azure Information Protection SDK: Microsoft provides an SDK that can be used to programmatically decrypt files protected with AIP.
Here is an example of how you might use the SDK to decrypt a file:
csharp
Copy code
var stream = new FileStream(encryptedFilePath, FileMode.Open, FileAccess.Read);
var authDelegate = new AuthDelegateImplementation();
var engine = new FileEngine(appPrincipalId, tenantId, authDelegate);
var decryptedFilePath = engine.Unprotect(stream);
This code opens the encrypted file, authenticates with Azure using your application's principal ID and tenant ID, and then decrypts the file. Unprotect() returns a FileStream object that points to the decrypted file.
Note that you'll need to implement AuthDelegateImplementation. It's a class that implements IAuthDelegate, and its purpose is to acquire an access token.
Send the decrypted files to Form Recognizer: After the files are decrypted, you can then send them to Form Recognizer for processing. For instance:
csharp
Copy code
using var formClient = new FormRecognizerClient(new Uri(endpoint), new AzureKeyCredential(apiKey));
using var stream = new FileStream(decryptedFilePath, FileMode.Open);
var form = await formClient.StartRecognizeContent(stream).WaitForCompletionAsync();
This code opens the decrypted file, sends it to Form Recognizer, and gets the recognized form data.
Remember that as you handle sensitive and/or encrypted data, you should always adhere to best practices for data security and privacy. Don't decrypt data that you don't have permission to decrypt, and don't leave decrypted data lying around where it might be accessed by unauthorized individuals.
Also, this process may differ based on changes in the Azure platform or their SDKs after my knowledge cutoff in September 2021. Always refer to the most recent documentation for the most accurate and up-to-date information.
Lastly, please consult with your organization's security team to ensure the method you're using adheres to your organization's security and compliance policies.

Who the data ingest function impersonate to decrypt files?
Create Application Registration and add API Permissions to Azure Information Protection.


Fix flashing during window resizing.

This fixes #32. Take a look!

The root cause of flashing/flickering was that on each resize event, AppKit called drawRect: on the MMCoreTextView, expecting it to fill an empty, newly-sized buffer with content. It has nothing to draw, so the view would show up as black until the BatchDrawMsgID reply arrived from the backend and triggered another draw. (The MMCoreTextView was display:ed twice for each resize).
This change does three things:

Implements -[MMCoreTextView setFrameSize:] to begin an NSAnimationContext grouping before calling super, which postpones display:/drawRect: until the grouping ends, and ends the grouping in performBatchDrawWithData:.

Makes all resize messages sent to the backend synchronous with a 1s timeout. This seems bad, but actually helps avoid spamming the backend with resize events, since the app only generates resize events as fast as we handle them (i.e. if we take time to process one resize, then the next resize event will have the current size of the window, potentially skipping a bunch in the middle that the backend never would have had time to handle).

Gets rid of some hacks resolved by 1 and 2, like MKVimController delaying the call to -[MMWindowController presentWindow:].

OMG THANK YOU FOR THIS!

This is awesome, great work.

It never bothered me all that much, but it was always there, a minor
imperfection in an otherwise almost perfect tool. So this just makes MacVim
perfect. Thanks a lot.
On Fri, Mar 31, 2017 at 9:31 PM, Josh Petrie<EMAIL_ADDRESS>wrote:

This is awesome, great work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/macvim-dev/macvim/pull/486#issuecomment-290887942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABaFwvoDU5f9JHO2cIxsnMF6NuDLL5gJks5rrbcKgaJpZM4MwEFr
.

--
rd

Excellent!

Unfortunately this broke non-native fullscreen mode.  See #488.


Doesn't appear to be doing anything?

Hi,
I've used grunt-autoprefixer in the past without any issues, figured I'd try postcss-autoprefixer.
I've installed:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>my grunt task configuration:
    sass: {
        dist: {
            files: {
                '<%= yeoman.app %>/styles/main.css' : '<%= yeoman.app %>/styles/scss/main.scss'
            }
        }
    },
    postcss: {
        options: {
            map: true,
            processors: [
                require('autoprefixer-core')({
                    browsers: ['last 2 versions', 'ie 8', 'ie 9']
                })
            ]
        },
        dist: {
            src: '<%= yeoman.app %>/styles/main.css'
        }
    },

and I am invoking the task inside of a grunt watch task like so:
        sass: {
            files: ['<%= yeoman.app %>/styles/scss/**/*.scss'],
            tasks: ['sass', 'postcss:dist']
        },

CLI states:
    Running "postcss:dist" (postcss) task
    >> 1 processed stylesheet created.
    >> 1 sourcemap created.

however, when I inspect my element (in this case, an anchor with a transition property), nothing has been prefixed. It's just the plain old transition.
Any ideas?

http://caniuse.com/#search=transition
On 17 Jul 2015, at 02:26, Tom<EMAIL_ADDRESS>wrote:
Hi,
I've used grunt-autoprefixer in the past without any issues, figured I'd try postcss-autoprefixer.
I've installed:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>my grunt task configuration:
sass: {
    dist: {
        files: {
            '<%= yeoman.app %>/styles/main.css' : '<%= yeoman.app %>/styles/scss/main.scss'
        }
    }
},
postcss: {
    options: {
        map: true,
        processors: [
            require('autoprefixer-core')({
                browsers: ['last 2 versions', 'ie 8', 'ie 9']
            })
        ]
    },
    dist: {
        src: '<%= yeoman.app %>/styles/main.css'
    }
},

and I am invoking the task inside of a grunt watch task like so:
    sass: {
        files: ['<%= yeoman.app %>/styles/scss/**/*.scss'],
        tasks: ['sass', 'postcss:dist']
    },

CLI states:
Running "postcss:dist" (postcss) task
>> 1 processed stylesheet created.
>> 1 sourcemap created.

however, when I inspect my element (in this case, an anchor with a transition property), nothing has been prefixed. It's just the plain old transition.
Any ideas?
—
Reply to this email directly or view it on GitHub.


feature: Warp Support

Did you check the docs?

[X] I have read all the zen-mode.nvim docs

Is your feature request related to a problem? Please describe.
I'd like to support https://docs.warp.dev/ as a plugin in the same way we have for other terminals.
Describe the solution you'd like
Something like this
      plugins = {
        warp = {
          enabled = true,
          font = "+1", -- +1 font size or fixed size, e.g. 21
        },
      },

Describe alternatives you've considered
N/A
Additional context
No response

I don't think Warp exposes any API that would make it feasible.


Top Infrastructure as Code Tools Page

Proposed changes

Unreleased product version (optional)

Related issues (optional)

Hey @adamgordonbell,
I left some inline comments for your review.

Thanks, working on it.

I also think you should add at least one link to each of the discussed tools in each section.
👍

I'd consider publishing this as a blog vs a "What is..." topic. I think it will perform better there and the style of the writing/topic seems like a better fit as a blog post.
@aaronkao whats your take on this?

Writing as a blog would also be more fun, because I could stop saying "We" like I'm the King or something, and include personal opinions. But I think there was a desire to have this in 'what is'.

I added CDK per @toriancrane's recommendation. Aaron also pointed we at our "vs" docs pages, so hopefully this consistent with those.


switchTo Protractor

The Protractor helper has no switchTo function when using the codecept api.
WebdriverIO has that function.
Is it poissible to get this function for the Protractor helper in the next version?
Thanks!

I'd like to take this over


Error with multiprocessing on Sequence in fit_generator()

I'm trying to use a Sequence as the generator for model.fit_generator().
With use_multiprocessing=False it works fine, but with use_multiprocessing=True an error is produced.
Minimal working example:
from keras.utils import Sequence
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
import numpy as np

class DummySequence(Sequence):

    def __init__(self, x_set, y_set, batch_size):
        self.x, self.y = x_set, y_set
        self.batch_size = batch_size

    def __len__(self):
        return int(np.ceil(len(self.x) / float(self.batch_size)))

    def __getitem__(self, idx):
        batch_x = self.x[idx * self.batch_size:(idx + 1) * self.batch_size]
        batch_y = self.y[idx * self.batch_size:(idx + 1) * self.batch_size]

        return np.array(batch_x), np.array(batch_y)

if __name__ == '__main__':

    x = np.random.random((100, 3))
    y = to_categorical(np.random.random(100) > .5).astype(int)

    seq = DummySequence(x, y, 10)

    model = Sequential()
    model.add(Dense(32, input_dim=3))
    model.add(Dense(2, activation='softmax'))
    model.compile(optimizer='rmsprop',
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])

    model.fit_generator(generator=seq, workers=2, use_multiprocessing=True)

Error:
Traceback (most recent call last):
  File "C:\Users\elcombato\AppData\Local\Continuum\Anaconda3\envs\ml\lib\multiprocessing\pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "C:\Users\elcombato\AppData\Local\Continuum\Anaconda3\envs\ml\lib\site-packages\keras\utils\data_utils.py", line 392, in get_index
    return _SHARED_SEQUENCES[uid][i]
KeyError: 0

Setup
Windows 10
Python 3.6.4
Keras 2.1.3
Tensorflow 1.2.1

I think that because on Windows, python has to spawn instead of forking, it may cause a mis-representation on the shared Variable. I'll work on it and try to test it on Windows.

If you have time, could you try again with this branch while I try to find a pc with Windows? Would be awesome!
https://github.com/Dref360/keras/tree/mp_windows

Yes that branch is working with multiprocessing!

Okay, I'll try something to guarantee that we test all multiprocessing tests on Windows. (At least on python3) and then I'll submit a PR


Don't Merge! PR real time test for target branch full build

Docs Build status updates of commit 825a19b:
:clock10: Full build: the average full build time is 6 min(s) 8 sec(s), this is based on the last 240 build(s) for this repository.
:warning: This is a FULL build due to the 'pr-basebranch' branch had a configuration change, normally no action is required on your part. In the result that you find subsequent builds still performing full builds, please contact your repository admin to manually perform a full build on the 'pr-basebranch' branch. For more detailed info, please click here.

Docs Build status updates of commit 825a19b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

docs-ref-conceptual/testing.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

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


"Turn on exposure notifications" tile is not redirecting when "Push notifications are off" is in the menu

Environment :
Pixel 3a, Android 10, v25 from Play Store
Scenario :

Install app but click on "Cancel" when prompted to turn on EN
Home screen should have the "COVID Alert is off" screen
Now go to your phone settings and turn off push notifications for the app
Re-open the app
Open menu, you should see a tile "Turn on EN" and a tile "Push notifications are off"
Click on "Turn on EN"

Expected :
A popup should be displayed to propose to the user to turn on EN
Issue :
Nothing happens. The popup is not triggered.
Note : this happens only when both tiles are displayed at the same time. Push notifications tile is redirecting as expected.

From the same scenario, when back on home screen, the button "Enable COVID Alert" is also not redirecting anywhere. Please fix as well.

@smcmurtry is this part of the issue we were addressing with turning on the service?

@timarney are you looking to confirm the issue yourself or for followup?

I tested again on Pixel 3a, Android 10, v33 from Play Store and I confirm that this issue is still reproducible

Tested on Essential Phone, Android 10, v34. This is what happened:

Installed app from Play store and hit 'Cancel' when prompted for permissions
Closed app, turned off push notifications in settings
Re-opened app, I was prompted for turning on EN
Clicked 'Cancel' again
Clicking on 'Turn on exposure notification' button does not do anything

I will look into this and see if I can get it to work.

Tested on Pixel 3a, Android 10, v46 from Play Store : Passed

This has been fixed

@srepussard I am still having this bug on my Pixel 2XL on V46

@emilykuret can you check if this is still reproducible on your Pixel 2XL with v51+?
It's still not reproducible for me on Pixel 3a v53

Confirm will @emilykuret that this appears to be fixes now.


Fix incorrect usage of oe prefix with global functions

This fixes #948 i.e. inconsistent usage of single underscore prefix to oe. In several places, global symbols are prefixed with _oe_. The single underscore is reserved for local definitions (static, file-scope definitions). These usages should simply use the oe_ prefix. Further, local symbols should not be prefixed with _oe_ (rather the prefix should be dropped).

bors try

bors try

bors try

Thanks Anand and Mike.

bors r+


Fix styling errors

In this branch, I have fixed the styling errors of portfolio-main-page

You need to fix your design as the same as in figma.
In your website, there are missing 2 kinds of icon and the image. And then, please use the icons in the figma. It will be easy for you.


Implement SparseGGNN

This PR adds new implementation: GGNN for sparse matrix inputs.

I slightly modified the implementation of GGNNUpdater. Now the updater can accept CooMatrix as well as dense ndarray.
The original GGNN is unchanged.
SparseGGNN is newly introduced.
Several tests are added.

Could you fix tests?

Below chainer<=4, CooMatrix does not exist, so please just skip test in that case.
Error message: AttributeError: module 'chainer.utils' has no attribute 'CooMatrix'

For python 3.5, seems numpy produces error... Could you check it?

df = np.diff(sorted_pos, prepend=sorted_pos[0]) != 0
E       TypeError: diff() got an unexpected keyword argument 'prepend'

I would like to merge it after test is fixed.
After merged, I would like to further refactor sparse model support as follows if possible:

make preprocessor produces CooMatrix
support converter to make batch for CooMatrix
Sparse model just receives batched CooMatrix, instead of separated data, row, col.

I modified the code to skip tests of sparse models when required modules are not available.
It seems that CI build have failed because of test_standard_scaler.py. Why?

I understood, some behavior has been changed since numpy==1.16.3 and thus serializers.load_npz is not working properly. https://github.com/pfnet-research/chainer-chemistry/pull/349#issuecomment-487424549

https://github.com/pfnet-research/chainer-chemistry/pull/347/commits/f690a76e24e853e1a4177ed0336863b34be7f499
I think numpy behavior has changed since 1.16.3, and chainer serializer is not working well now.

Codecov Report

Merging #342 into master will increase coverage by 1.01%.
The diff coverage is 91.39%.

@@            Coverage Diff            @@
##           master    #342      +/-   ##
=========================================
+ Coverage   80.88%   81.9%   +1.01%
=========================================
  Files         207     212       +5
  Lines        9496    9868     +372
=========================================
+ Hits         7681    8082     +401
+ Misses       1815    1786      -29


Add whitespace linting rule

Add rule to lint for

irregular whitespace
tab vs blank
yadda yadda

Nah. Beyond the scope of this tool, linting will stay with jsonlint strictly


using render_path to render directory paths.

We can also use 'variables' from 'parameters' to create directories (and sub-directories) using render_path.
Also: Some formatting changes due to automatic rustfmt.
Fix for #44

Thanks for your contribution @gabhijit I published the version 0.8.13 which includes your change :)


rbenv local 2.7.2 Not Sticky

I can't seem to get rbenv to make a newly installed version of Ruby 2.7.2 to be used locally.
~ ❯ ruby -v                                                                                19:07:49
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]

~ ❯ rbenv local 2.7.2                                                                        19:08:41

~ ❯ ruby -v                                                                                19:08:47
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]

~ ❯ rbenv rehash                                                                             19:08:50

~ ❯ ruby -v                                                                                19:08:56
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]

This is a new box on Big Sur.
~ ❯ rbenv versions                                                                           19:11:46
  system
* 2.7.2 (set by /Users/rich/.ruby-version)

~ ❯ rbenv which ruby                                                                         19:11:53
/Users/rich/.rbenv/versions/2.7.2/bin/ruby

Not sure what I'm doing wrong here.
~ ❯ rbenv global 2.7.2                                                                       19:12:34

~ ❯ ruby -v                                                                                19:13:17
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]

Just inserted this into ~/.zprofile and it's now sticky:
eval "$(rbenv init -)"

Does this look like it's fixed?

Just inserted this into ~/.zprofile and it's now sticky:
eval "$(rbenv init -)"

Putting this into your shell profile file is a required part of installation, per our installation instructions in the README.

That is usually added during installation, hence it was a miss.


createNamedWrapperReducer causes undefined initial state

Using the createNamedWrapperReducer function specified here http://redux.js.org/docs/recipes/reducers/ReusingReducerLogic.html stops initial state being calculated and reducer returns undefined which throws an error. I've worked around this by adding a state !== undefined clause to the if in createNamedWrapperReducer. Is this the correct way to resolve this or am I missing a step?

Hmph.  This is what I get for writing example code without actually trying to run it :)
Yeah, now that you mention it, you're probably seeing an error that complains about a reducer returning undefined, aren't you.  That'd be because when combineReducers sends out a "probing" action to ensure all the reducers behave as expected, this wrapper reducer is just returning undefined.
I think this rewritten version might work better:
function createNamedWrapperReducer(reducerFunction, reducerName) {
    return (state, action) => {
        const {name} = action;
        if(state === undefined || name === reducerName) {
            return reducerFunction(state, action);
        }

        return state;
    }
}

Lemme know if that works better for you.


Highlight error lines in red in build log

Sometimes it is difficult to spot errors in the build log display on Artemis when the build for programming exercises fails. It would be great if all error lines could be displayed in red.
So in case a line contains “error”, we simply render it in red.
Additionally we could also display it in bold.

I'll take care of it.


Include documentation on Ubuntu cgroups v2

The EKS Anywhere docs currently state that only Ubuntu 20.04.2 is
supported as the administration machine due to Ubuntu 21 and 22 using
cgroups v2. This commit explains how to configure Ubuntu 21 and 22 to
use cgroups v1 if the administration machine is using the latest Ubuntu
versions.
This has been tested using make serve from the docs path.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@rothgar @chrisnegus Please review. Thanks :)


ca configuration being ignored by Bower?

Ubuntu 14.04, trying to get bower to work with a transparent corporate proxy that replaces SSL keys (read: performs a man-in-the-middle attack for decryption). Using curl, for example, I can pass it the --cacert directive with a pemfile bundle, which turns failure into success.
http://bower.io/docs/config/#ca reports a ca configuration directive, which I was unable to get to work using that same file. grepping the Bower source, I couldn't find a reference to it. straceing bower itself when it runs, it looks like it doesn't stat any files referenced by the ca directive. Ditto npm's own cafile as per https://docs.npmjs.com/misc/config#cafile
Is there some way I can get bower to use my SSL bundle? Same situation would be true if I were hitting a self-signed endpoint, shouldn't be specific to a decrypting proxy situation. Thanks!

This should be fixed in next bower version via https://github.com/bower/bower/commit/9cc3dd4c9218656be6585206702f0e94d184c555


Problems of matching loss with other dataset

I'm currently training VISER on our synthetic dataset. But when we calculate the matching loss in VISER, it always does to pdb in the first iteration. Our input video size is 1024*1024, would this lead to the problem?  Also, our dataset has the camera moving between frames. It seems that the main difference between our video and the video in the demo is the resolution.
The pdb sentence is shown as followed. I tested on many videos of our datasets with various camera initial locations and animal actions. Most of them stopped in this sentence within 1 or 2 iterations, others stopped several iterations later.
https://github.com/gengshan-y/viser-release/blob/a3943ad80d391f1b60379524de3c5d07f924c6bd/nnutils/mesh_net.py#L806-L808

I also have this problem. Our input Video size is 512*512, and my camera is fixed.

I'm currently training VISER on our synthetic dataset. But when we calculate the matching loss in VISER, it always does to pdb in the first iteration. Our input video size is 1024*1024, would this lead to the problem? Also, our dataset has the camera moving between frames. It seems that the main difference between our video and the video in the demo is the resolution.
The pdb sentence is shown as followed. I tested on many videos of our datasets with various camera initial locations and animal actions. Most of them stopped in this sentence within 1 or 2 iterations, others stopped several iterations later.
https://github.com/gengshan-y/viser-release/blob/a3943ad80d391f1b60379524de3c5d07f924c6bd/nnutils/mesh_net.py#L806-L808

the author said that "We find ViSER to be sensitive to the random initialization of network parameters. We
run optimization with different random seeds for initializing the network parameters and find some
perform considerably worse than the others, due to the convergence to bad local optima. " in paper. I guess this is why our data do not work.

@Iven-Wu The script is stopped because the rendered silhouette does not overlap with the observed silhouette. My guess is that the principle points are not initialized properly.
Can you share the bash script (including the args passed to optimize.py) and the .config file?

For videos of 1024x1024, you need to set ppx=512 and ppy=512 in the config file here.
This will initialize the principal pints of the renderings to the image center.

Thanks a lot! I miss that part previously.

For videos of 1024x1024, you need to set ppx=512 and ppy=512 in the config file here.
This will initialize the principal pints of the renderings to the image center.

If the object is not centered, you want to set ppx and ppy roughly to the object center location (in pixel) to make sure rendered and observed silhouette image have overlapping pixels.
Besides passing principal points to the config file, another option is to pass --cnnpp to optimize.py, which optimizes an image CNN to predict principal points. In this case, we have some mechanism here to ensure the silhouette rendering and ground-truth overlaps.


Refactor listview to always focus the row

Closes https://github.com/adobe/react-spectrum/issues/2946
Alternate approach from https://github.com/adobe/react-spectrum/pull/2993, mainly to avoid adding more complexity to useGridCell
This approach essentially makes the outer ListView div behave as if it is the gridcell so we can easily navigate to the focusable children but still applies gridrow specific labeling to it. The inner gridcell div becomes decorative mainly
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

ok, this one is on my native monitor, top border seems to be too thick?

@snowystinger yep, definitely too thick. Pre-existing issue though, should be cleared up by my ListView UI update pr

One issue I see: In the dynamic items story, if you focus one of the buttons in the first row, tab out of the list view and shift tab back in, it focuses a different row rather than the first one. Didn't seem to happen previously. Seems like it's going to the last one that is visible.

Strange, doesn't seem to be consistent either. Maybe something with useSelectableCollection and how focuses the last focusable element + GridCell behavior? I'll dig

@devongovett think I've narrowed it down to it being specifically a story issue since tabbing out of the ListView moves you out of the iframe but I'll go into the details.
So the code that is causing the last visible row to be focused is https://github.com/adobe/react-spectrum/blob/a7642bfef6bf4de8af8a6ee9c098592c67ce2e04/packages/%40react-aria/grid/src/useGridCell.ts#L206-L208. Due to standard browser behavior, shift tabbing back into the ListView will always focus the last focusable element (aka the last button in the last row) before attempting to move focus to the tracked focusedKey. Typically useGridCell's onFocus will ignore the focus event that happens if you are in keyboard modality, which for the most part works out for us when the user tabs/shift-tabs into the ListView since we have a document level keyboard listener that shift modality to "keyboard".
For this story however, tabbing out of the ListView will bring you out of the iframe. If you then move the pointer within the story iframe, modality will shift to "pointer". The subsequent Shift + Tab operation to bring focus back into the ListView happens outside of the iframe and thus the event listener responsible for shifting back to keyboard modality doesn't fire, resulting in useGridCell setting the focusedKey to the last rendered row since isFocusVisible resolves to false.
Here are some 100% reproduction steps (TableView story since it isn't just for ListView):

Navigate to https://reactspectrum.blob.core.windows.net/reactspectrum/2e88e5c9f2feb6aea265db1cfbdb3125cbff1699/storybook/index.html?path=/story/tableview--dynamic-with-selection
Tab into the table. Note what row is focused
Tab out of the table.
Move you mouse around in the story to shift modality to 'pointer'
Shift tab back into the table. Note that the row 7 checkbox is focused.

TLDR: This is pre-existing behavior and only happens if your focus leaves the document entirely. It won't typically happen if you have focusable elements preceding and following the ListView/TableView.
I can add input fields before and after each ListView in the stories if you'd like


Version 0.3.3 marked as latest version on statamic

Hi! Just noticed that the package is still marked as 0.3.3 on Statamic: https://statamic.com/addons/doefom/export
Updating via the terminal works as expected and 0.4.0 also works as intended, however the CMS shows the package as out of date:

Nice package btw :))

@matthiasbalota thanks for reaching out! I updated the minimum git version in the Statamic admin area. Did this fix the issue?

Yep, its fixed now. Thanks! :D


has asynchronous function？

something like promise .then

AFAIK, most storage mechanisms are synchronous so I'm not sure that exposing an async method would be safe.  However, the following is probably what was intended:
import * as store from "store"

store.set("some_key", "some_keyed_value");

store.get("some_key")
    .then(value => {
        console.log(value);
        /* Should print 'some_keyed_value' to console */
    });

This doesn't really make sense. Why would a read from localstorage by asynchronous?

@genu Agreed, but there are async storage APIs out there which store.js could handle if it had an async capability.  Although deprecated, WebSQL is an example of an async storage API, there may be others these days, but it's been a while since I looked.


Feature request - Add common units support for Codex configuration

Is your feature request related to a problem? Please describe.
It is just a suggestion to make Codex configuration setting and reading easier.
Describe the solution you'd like
We should be able to pass common units to Codex app via CLI, Env and Config
# CLI
codex --block-ttl=1m
codex --block-ttl=1h
codex --block-ttl=1d

# Env
export CODEX_BLOCK_TTL=60m
codex

Should we also add Month and Year support as well?
Describe alternatives you've considered
As for now, we can set just seconds
codex --block-ttl=1

Additional context

Does --storage-quota have support of k, m, g, t, p? codex --storage-quota=1m
 Error while processing the storage-quota=1m parameter: invalid integer: 1m
 Try codex --help for more information.

 codex --storage-quota=1M
 Error while processing the storage-quota=1M parameter: invalid integer: 1M
 Try codex --help for more information.

Should we make it case-sensitive?

Ref's https://github.com/status-im/nim-stew/blob/8bb07fac39f5e774fb9813382c7aaed93bcb1cce/stew/shims/parseutils.nim#L5 and https://github.com/codex-storage/nim-codex/pull/346/files
Though I'm not seeing where / how it's plumbed into confutils, but I can dig into that a bit.

Ah, now I get understand. I thought @veaceslavdoina was saying that we already* had that feature, but it looks like there's a parsing util but we'd need to plumb it into confutils.
That shouldn't be too bad. I'll have to ponder it a little bit and maybe get to it later this week.

plumb it into confutils

Confutils supports custom types mapping/parsing out of the box. For example, here is how we parse MultiAddress strings - https://github.com/codex-storage/nim-codex/blob/master/codex/conf.nim#L291, we should only need a similar method for size parsing.
It might be useful to add it natively to confutils, but I'm not 100% sure?

Ah, now I get understand. I thought @veaceslavdoina was saying that we already had that feature, but it looks like there's a parsing util but we'd need to plumb it into confutils.

@elcritch, yes - probably I've miss the point that PR you mentioned was not merged.

Yeah, this is now part of the latest stew, it just needs to be wired in codex (or potentially confutils, but that might be a more long term solution).

Ok good to know! It seems to best route is to adjust the types in codex/conf.nim and create the serialization proc's to use the new stew utils. Should be pretty easy for sizes, but time will require a new Stew PR probably.
@veaceslavdoina could you look at the parseSize function and see if those formats are good? As in, does the lowercase / uppercase seem fine to you?

Time
I don't know how it works but seeing the following
Nim: std/times
Rust: chrono::format::strftime
C++: strftime

Language
Second
Minute
Hour
Day
Month
Year

Nim
s
m
H
d
M
yyyy

Rust
S
M
H
d
m
Y

C++
S
M
H
d
m
Y

It is about time parsing, but we can use probably that information as an input
s - seconds
m - minutes
h - hours
d - days

Not sure if we need months and years
M - month
y - year

Because we can easy set --block-ttl=30d or --block-ttl=365d
If we will decide to make that case insensitive
s = S - seconds
m = M - minutes
h = H - hours
d = D - days

It means that if we will consider at some point to add M - month support it will introduce breaking changes.
Size
Wikipedia - Multiple-byte units

Nomenclature for these systems has been the subject of confusion. Systems based on powers of 10 reliably use standard SI prefixes (kilo, mega, giga, ...) and their corresponding symbols (k, M, G, ...). Systems based on powers of 2, however, might use binary prefixes (kibi, mebi, gibi, ...) and their corresponding symbols (Ki, Mi, Gi, ...) or they might use the prefixes K, M, and G, creating ambiguity when the prefixes M or G are used.

My view is the following

We should use just a single format and it should be binary prefixes (1024) - k = K = KiB
They should be case insensitive - b = B, k = K, m = M, g = G, t = T, p = P

But all that just an idea how to make it less ambiguous and easy to use.

Thanks for the detailed response @veaceslavdoina ! It'll be helpful.
@dryajov I missed your earlier comment regarding adding the parse method, but yes that's my thoughts too. It'd be nice to add to confutils natively, but that seems like a bit of a detour for now.. I think use it locally for a while and then add it upstream? There might be small surprises we'll want to learn about when using units from the CLI? Particularly casing and 1000 vs 1024 based size units, etc.

I think use it locally for a while and then add it upstream?

Yeah, figuring out the best UX for this definitely requires some heuristics. Lets keep it simple for now tho :)

@elcritch, thank you for the implementation 🚀


anvil: switch from gradle script to gradle plugin for DSL generation

Before this commit, the entire code generation logic was all crammed
into one file. While this is a fine solution when there is a single
artefact and project utilising the script, as soon as multiple
projects wish to start using the code, managing the system becomes
a lot hard.
Make the script into a plugin which can be applied to local projects
to generate code.
This commit lays the groundwork for introduction of code generation
for the support libraries (i.e. issues https://github.com/zserge/anvil/issues/34
and https://github.com/zserge/anvil/issues/35).

I'll wait for feedback on this commit before proceeding any further but the end goal is to get bindings for Support v4 and AppCompat v7 as I say and this refactoring definitely makes that a lot easier.

This looks really good. My knowledge of Groovy is close to zero, so I picked the easiest way. In fact the early version of generator was written as a standalone java CLI app because I could not make Gradle plugin work. This merge request is definitely helpful, thanks!


Add "in" to keywords and decrement indentation as "when"

I see that "when" is in the increment indent pattern; I'm not sure why, but maybe "in" will need to be added there, too?

Is there a good way to test this on my local machine so I can verify that it fixes the disparity between when and in?

Is there a good way to test this on my local machine so I can verify that it fixes the disparity between when and in?

A way is to clone locally, build the plugin (see here) and install the .vsix file.

or with
code --install-extension myextension.vsix

I was able to test this PR like you described, and I found that I also needed to add "in" to the indentation increment list to get it to behave like "when". I also incremented the revision number, but I can undo that change if that's wrong.


Canonicalize SMILES from Ketcher and name resolvers

Fixes #445

We should use the non-canonicalized SMILES from Ketcher when RDKit fails to parse it


[ConstraintSystem] Overhaul ambiguity diagnostics

Don't attempt to rank solutions based on overloads if they have fixes
Factor out overload ambiguity diagnostics
Switch to a different algorithm:

Aggregate all of the available fixes based on callee locator;
For each ambiguous overload match aggregated fixes and diagnose;
Discard all of the fixes which have been already considered
as part of overload diagnostics;
Diagnose remaining (uniqued based on kind + locator) fixes
iff they appear in all of the solutions.

/cc @LucianoPAlmeida

This is still a WIP because we need to implement diagnoseForAmbiguity for some of the fixes e.g. treat r-value as l-value and do other work, but I'd like to get some initial feedback on this to make sure that everybody on the same page.

This PR is finally ready for review. @LucianoPAlmeida this PR incorporates a fix for SR-12689 which means that it supersedes https://github.com/apple/swift/pull/31359

This PR is finally ready for review. @LucianoPAlmeida this PR incorporates a fix for SR-12689 which means that it supersedes #31359

Awesome @xedin \o/
Not sure if you've seen, but I left a comment on that PR few days ago with another SR that I believe may be fixed by these changes too, so maybe you can take a look if thats the case and add the regression test as well :)

@LucianoPAlmeida I've seen it, thanks! I think it's a different problem those, we'd need to split LabelingFailure into one-per-mismatch, that way we could diagnose cases like that better...

@LucianoPAlmeida I've seen it, thanks! I think it's a different problem those, we'd need to split LabelingFailure into one-per-mismatch, that way we could diagnose cases like that better...

Ahh I see, but that's fine ... thanks for verifying :))

@swift-ci please smoke test

@swift-ci please smoke test Linux platform


Documentation improvement - elevate conditions section so it's visible in the ToC

 Issue by davidoliverSP2
Friday Sep 20, 2019 at 10:58 GMT
Originally opened as https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/1295

If a user is looking at the APOC documentation table of contents, the conditionals section is not surfaced.
This is buried a little too deeply within section 14 here:
https://neo4j.com/docs/labs/apoc/current/cypher-execution/conditionals/
Originally entered as a card on the Team-Documentation trello wall by @InverseFalcon
https://trello.com/c/5dmdDq1R/2322-apoc-labs-documentation-improvement-elevate-conditions-section-so-its-visible-in-the-toc

 Comment by conker84
Thursday May 13, 2021 at 13:09 GMT

@jexp is this still valid?

This can be closed once https://github.com/neo4j/docs-apoc/pull/347 is merged.


Build and Deploy Internal Server Error

Running a deployment is getting an internal server error:
The content server has rejected the request with: InternalServerError
DeploymentId: 71d5a028-391f-4f96-961c-f6403cbb94f2
Building with Vue 3.0.0 and node engine 16.13.1
To Reproduce
Steps to reproduce the behavior:

Merge pull request
go to deployment job
View Build and Deploy tab
See error

Expected behavior
Pipeline to run successfully. Issue only started today. Yesterday deployments succeeded.

Same here.  Additional message:  ##[error]Reason: An unexpected error has occurred. Please ensure your deployment token is properly set and try again later.
We are deploying to a Static Web App using DevOps Release Pipeline. Working yesterday.  We reset our "Deployment Token" on the Static Web App and updated our CD to use that new value. Still same issue.

It's possible this is an internal issue with DevOps.  From our prior deployments, the step it's failing on is trying to access the /working_dir/ directory and the process can't access the content.
This was the next step in line that worked on prior build:
2023-04-06T17:19:13.9035924Z Skipping step to build /working_dir/_ota-court-web/courtweb/web with Oryx

Same issue here. Running a Static Web App with React that was working perfectly fine and suddenly running into the same error message when running the pipeline:
Reason: An unexpected error has occurred. Please ensure your deployment token is properly set and try again later.
We created a new Static Web App resource and got the exact same issue when deploying to that one. Suspecting an Azure issue.

Same issue. All SWAs across multiple subscriptions. Also unable to reset deployment token.

Same issue. Unable to reset deploy token either through the Azure portal like it says I should be able to here: https://learn.microsoft.com/en-us/azure/static-web-apps/deployment-token-management

Would love to get an official weigh in on this as it is quickly becoming a production blocking problem and I'd rather not go back to running SWAs out of storage blobs.

It is back on guys

It is back on guys

Confirming that it's working for us too. Any info on why it was down for over two hours would be great...

Confirmed. Working again.

Yep looking good from our pipeline again as well.


Victor VosMottor: Watch >{4,}

Victor VosMottor requests the watch of the watch_keyword \>{4,}. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

\>{4,} has been seen in 3145 true positives, 137 false positives, and 8 NAAs.

\>{4,} has been seen in 3145 true positives, 137 false positives, and 8 NAAs.

This would need to be a full PR which also changes a couple of CI test cases.


feat: Add Submitter Callback functions

What was the problem/requirement? (What/Why)
When working in a studio, we often want to execute local validation of scene files before we allow a submission to the render farm. In other scenarios we may need to modify or transform the scene to prepare if for the render farm.
These two hooks allow for studio specified modification hooks to be optionally run before and after a submission completes.
What was the solution? (How)
This solution implements an on_pre_submit_callback and a on_post_submit_callback that take the same parameters as the on_create_job_bundle_callback.
The parameters match on_create_job_bundle_callback solely to provide flexibility in case the hook needs access to any of the settings of the job.
What is the impact of this change?
This change relies on my PR in deadline-cloud which implements  an on_pre_submit_callback and a on_post_submit_callback parameter and functionality.
This PR just implements loading of the callback from an environment variable
How was this change tested?
Did you run the "Job Bundle Output Tests"? If not, why not? If so, paste the test results here.
Have not yet, will do
Required: paste the contents of job_bundle_output_tests/test-job-bundle-results.txt here

Was this change documented?
Not currently documented
Is this a breaking change?
No it is a feature addition

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

So to explain this PR a bit more.
The base implementation (in 985ca84) adds a check for the presence of an environment variable for pre and post submit hooks.
If found, it dynamically loads that file off of disk and tries to load a specific function within it.
It uses a new function within deadline-cloud that I also added to do this functionality.
It then passes those functions down to the deadline-cloud SubmitJobToDeadlineDialog dialog.

 I figure that throwing a DeadlineOperationError could then be caught somewhere for the user.

The third commit, 111433b, is where I had an idea to implement some function validation at this point to ensure the function that we are loading matches the signature that we expect.
This relies on an idea I had in the deadline-cloud PR where it would implement a function that checks the function signature of a "callback" and ensures it matches what we would expect.
This does some python inspect magic to check the function signature and may be perceived as superfluous.
I feel like this additional signature validation step is functionality that I will leave up to the maintainers to decide if they would like to include.

And lastly the I change the environment variables from DEADLINE_PRE_SUBMIT_CALLBACK to DEADLINE_NUKE_PRE_SUBMIT_CALLBACK because I expect we will want "per-DCC" callback support


Fix broken links

@dkstevekwak I guess we should try to point these at the adobexdplatform.com site eventually once it's live, but since many of these links are broken or out of date right now I figured we should fix them by pointing to the current GH locations first?

Addressed by 95f9136c4a815fd92987fcb6c33b2677b9b3945e


isLoading is true, even when no loading has started

The const { isLoading } = useNhostAuth() variable is not returning accurate information.
It's true, when no authentication has even been attempted, which initially caused my app to run a spinner indefinitely on the login screen (had to stop depending on it). Technically, nothing is loading at that time, so I would expect isLoading to flip to true only once the first authentication attempt has started.

Solved with the release of the new @nhost/react package.
See also
https://docs.nhost.io/reference/react


Update dictionary-panel.jsx

Fix UI bug to render correct memory state
https://github.com/CODAIT/nlp-editor/issues/99

First item is fixed, second item is an invalid test.

Hi @JesusGuerrero After retesting, I found out that the second item I reported happened due to the performance optimization code change I did in the backend. I took care of it in the AQL execution initialization code. It is working fine now.
I also verified the first item of the UI changes done by the user selection for "Ignore Case" and "Match Case" radio buttons is working as expected. Your code change for that is working well and it is ready for merge.


Depth limit exceeded on non-malicious markdown content

This file raises depth limit exceeded exception in version 0.23.0 due to #500.
Some additional info:

That file is an auto generated API reference page.
I cannot give a reasonable depth limit that don't break all content in docs.microsoft.com, but a depth limit configuration is a good start to mitigate the problem.
I did some perf profiling of markdig on a bunch of real markdown files used by docs.microsoft.com and the hottest function inside markdig is FindLastContainer. I don't have enough time to dig deeper, not sure if there are faster ways to find the last container (like tracking its location instead of search the tree each time?)

https://github.com/dotnet/docfx/pull/7016

Just looking at the file, we shouldn't be approaching the current 10k limit 🤔
I will look into what is happening here this week.

Just looking at the file, we shouldn't be approaching the current 10k limit 🤔
I will look into what is happening here this week.

Something weird is happening with table parsing here.
Whenever we have single backticks '`' in different lines, Markdig will give up on the table and parse it into a very deep model - one nested level for each pipe character!
Example demonstrating this: https://gist.github.com/MihaZupan/98621af5788f570f0dd0b809f1f3489b
Note the "BadTable" being rather small, but with 2 extra backticks - this will fail to parse as a table in Markdig.
The "GoodTable", approaching but under 10k cells, will parse as a table just fine.
You can see that this is happening for the sample file you mentioned. If you browse to the rendered docs page, you will see that it's completely broken:
https://docs.microsoft.com/en-us/graph/api/intune-deviceconfig-macosdevicefeaturesconfiguration-create?view=graph-rest-beta#request-body
In the sample file, the problem is caused by the standalone ` in this line of the table (left of "console"):

consoleAccessDisabled
Boolean
Whether the Other user will disregard use of the `>console> special user name.

So the issue for that specific file can be solved by just removing the extra backtick, but we'll have to investigate what's going on overall.

Something weird is happening with table parsing here.
Whenever we have single backticks '`' in different lines, Markdig will give up on the table and parse it into a very deep model - one nested level for each pipe character!
Example demonstrating this: https://gist.github.com/MihaZupan/98621af5788f570f0dd0b809f1f3489b
Note the "BadTable" being rather small, but with 2 extra backticks - this will fail to parse as a table in Markdig.
The "GoodTable", approaching but under 10k cells, will parse as a table just fine.
You can see that this is happening for the sample file you mentioned. If you browse to the rendered docs page, you will see that it's completely broken:
https://docs.microsoft.com/en-us/graph/api/intune-deviceconfig-macosdevicefeaturesconfiguration-create?view=graph-rest-beta#request-body
In the sample file, the problem is caused by the standalone ` in this line of the table (left of "console"):

consoleAccessDisabled
Boolean
Whether the Other user will disregard use of the `>console> special user name.

So the issue for that specific file can be solved by just removing the extra backtick, but we'll have to investigate what's going on overall.

I could forward to the relevant folks to see if we could escape the problematic ` in the API generation process. GitHub seems to be rendering that table just fine, I'm not sure if this is another difference between GFM and CommonMark.

I could forward to the relevant folks to see if we could escape the problematic ` in the API generation process. GitHub seems to be rendering that table just fine, I'm not sure if this is another difference between GFM and CommonMark.

GitHub seems to be rendering that table just fine, I'm not sure if this is another difference between GFM and CommonMark.

Yeah, it's a known issue. GitHub is not using the same logic to decode a table. I started before they did their work on CommonMark and we didn't choose the same behavior.

GitHub seems to be rendering that table just fine, I'm not sure if this is another difference between GFM and CommonMark.

Yeah, it's a known issue. GitHub is not using the same logic to decode a table. I started before they did their work on CommonMark and we didn't choose the same behavior.

Also, the code for parsing a grid table in markdig is awful to work with, I'm not really proud of it 😅 , so if anyone is interested in making an implementation that is GitHub compliant, you are welcome 😉

Also, the code for parsing a grid table in markdig is awful to work with, I'm not really proud of it 😅 , so if anyone is interested in making an implementation that is GitHub compliant, you are welcome 😉

I was trying to understand this a bit more as the error scenario behavior was not consistent. I think I understand the root cause by sifting through the code.
Doesnot work:
| Header 1  | Another header here | This is a long header |
| --------  | ------------------- | --------------------- |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |

A basic table

Works:
| Header 1  | Another header here | This is a long header |
| --------  | ------------------- | --------------------- |
| Some data | Some more data      | data                  |
| data      | Some long data here | more data             |

A basic table

Please notice how i have a new line character explicitly after the table has ended. This helped the BlockParser to put the A basic table into a seperate block as opposed to including it with the table itself.


performance of http2 client request is slow

Version
$ rustc --version
rustc 1.61.0-nightly (1eb72580d 2022-03-08)

hyper = { version = "0.14", features = ["full"] }
tokio = { version = "1", features = ["full"] }

Platform
$ uname -a
Darwin MacBook-Pro.local 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:21 PDT 2021; root:xnu-7195.141.6~3/RELEASE_X86_64 x86_64

Description
HTTP2 client is slow.
rust client code:
use hyper::{Body, Method, Request};

use lazy_static::lazy_static;
use std::sync::atomic::{AtomicUsize, Ordering};
use std::sync::Arc;

#[tokio::main]
async fn main() {
    let http2 = std::env::var("HTTP2").map(|_| true).unwrap_or(false);

    let cnt = Arc::new(AtomicUsize::new(0));

    client(cnt.clone(), http2);

    loop {
        let prev_cnt = cnt.load(Ordering::Relaxed);
        tokio::time::sleep(std::time::Duration::from_secs(5)).await;
        let now_cnt = cnt.load(Ordering::Relaxed);
        println!("avg qps {}", (now_cnt - prev_cnt) / 5)
    }
}

lazy_static! {
    static ref URL: String = format!("http://localhost:{}", 1010);
}

fn client(cnt: Arc<AtomicUsize>, http2: bool) {
    let client = hyper::client::Client::builder()
        .http2_only(http2)
        .build_http();
    for _ in 0..16 {
        let client = client.clone();
        let cnt = cnt.clone();
        tokio::task::spawn(async move {
            loop {
                let req = Request::builder()
                    .method(Method::GET)
                    .uri(URL.clone())
                    .body(Body::from("Hello!"))
                    .unwrap();
                match client.request(req).await {
                    Ok(_) => (),
                    Err(err) => {
                        println!("err {:?}", err);
                        return;
                    }
                }
                cnt.fetch_add(1, Ordering::SeqCst);
            }
        });
    }
}

I setup a go server, and do benchmark using rust client and go client on local machine, bench result is below:
HTTP2
rust
$HTTP2=true ./target/release/rust_client
avg qps 11374
avg qps 7021
avg qps 4428
avg qps 5474
avg qps 4592
avg qps 3825
avg qps 3736
avg qps 3713

go
$ HTTP2=true go run main.go
HTTP2 bench start
avgQps 34680
avgQps 37906
avgQps 34680
avgQps 36216
avgQps 35821

HTTP1
rust
$ /target/release/rust_client
avg qps 66956
avg qps 66924
avg qps 64205
avg qps 66796
avg qps 61512

go
$ go run main.go
HTTP1 bench start
avgQps 83671
avgQps 81433
avgQps 90595

Note
All code can be found at https://github.com/qinggniq/rust_client_bench

Hi @qinggniq , I have same problem. Have you solved this and closed the issue?

Hi @qinggniq , I have same problem. Have you solved this and closed the issue?

I found in my go client, I did not add request body, after adding it, the go client’s performance is roughly same with rust client.

The reason why I compare the performance of go and rust client is that I encounter the performance issue when I want to port a go proxy to rust. Origin code is private and complex, so I want to use the code in issue description to find out whether the hyper client is the cause of the performance problem.


Add stronger date metadata parsing

For some songs, the metadata found is in the format YYYY-MM, YYYYMM or just YYYY.
In these cases I think it would be reasonable to pad these dates with (-01-)01 respectively.
Currently the script errors for a song and doesn't download it if it can't parse the metadata because of this, in the case of a different unsupported date format, a warning is shown but the song is still downloaded

sure, thanks!


print() does not seem to be working in my smart contract

I upgraded to the dawn-v4.1.0 branch and my print functions stopped working?
Code
PrintMe.cpp
#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>
#include <string>

namespace CipherZ {
    using namespace eosio;
    using std::string;

    class PrintMe : public contract {
        using contract::contract;

        public:
            PrintMe(account_name self):contract(self) {}

            //@abi action
            void printmeplease() {
              print("Am I Printing?");
            }
    };

    EOSIO_ABI(PrintMe, (printmeplease))
}

Compile/Deploy
eosiocpp -o ./contracts/print/PrintMe.wast ./contracts/print/PrintMe.cpp
eosiocpp -g ./contracts/print/PrintMe.abi ./contracts/print/PrintMe.cpp
cleos set contract supervisor ./contracts/print ./contracts/print/PrintMe.wast ./contracts/print/PrintMe.abi

Execute:
Marks-MacBook-Pro:lottery markmathis$ cleos push action supervisor printmeplease '["supervisor"]' -p supervisor@active
executed transaction: ecea4535c9c7d3b461f3297c82f369c124039f1858e885474ed3e7b0b11357f2  96 bytes  167 us
#    supervisor <= supervisor::printmeplease    {}
warning: transaction executed locally, but may not be confirmed by the network yet

There is no output from my print call, how can I debug? Thanks! Super excited about the launch...

Start nodeos with "--contracts-console" passed in on the command line, it is so that people can have debug code and pass it into their local node to verify the output where they can actually see it, but producers won't have to waste time writing to a log file.

@brianjohnson5972 - Thanks! It's working now...


[Search] Update Azure Machine Learning Skill (AML Skill) Support

The following changes were made to the swagger

AmlSkill renamed to AzureMachineLearningSkill
Key renamed to AuthenticationKey
Uri renamed to ScoringUri

Closes: #22842
API View Changes

API changes have been detected in azure-search-documents. You can review API changes here


Lower PHP version to 7.0

@roblourens The PHP Language Server requires at least PHP 7.0. Raising that to 7.1 would be a breaking change, and I have the suspicion that the reason for the broken build in the tolerant parser PR is a 7.1 feature being used:
  [Symfony\Component\Debug\Exception\FatalThrowableError]
  Parse error: syntax error, unexpected const (T_CONST), expecting variable (
  T_VARIABLE)

https://travis-ci.org/felixfbecker/php-language-server/builds/235759632
While 7.1 has many features like nullable types, but I don't think it's worth to do a breaking change for them. It would be great if the parser was able to run on 7.0. It will probably be necessary in the future anyway to test in CI both on lower versions (ignoring tests for parsing newer language features) and on higher versions to test parsing the newest language features.

@felixfbecker,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

I was just looking at this, it looks like we also have to fix all the public const which is a 7.1 language feature.

And I agree that supporting 7.0 seems like something we should maintain.

Great you found the cause (it's unfortunate there is no stack trace). In PHP <7.1 all const are public, so there is nothing lost in removing it.
It's possible to make specific tests (like parsing nullable types) only run on specific PHP versions with
/**
 * @requires PHP 7.1
 */

It's also possible to do programmatically with the version_compare function.

Thanks for the tip - I will do this in a new PR.


[Autocomplete] Show suggestions when InputProps is used

[x] I have followed (at least) the PR section of the contributing guide.

Resolves #19173

<Autocomplete
  id="combo-box-demo"
  options={top100Films}
  getOptionLabel={option => option.title}
  style={{ width: 300 }}
  renderInput={params => {
    return (
      <TextField
        {...params}
        label="Combo box"
        variant="outlined"
        InputProps={{
          endAdornment: (
            <InputAdornment position="end">
              <IconButton component="label">
                <SearchIcon />
              </IconButton>
            </InputAdornment>
          ),
        }}
      />
    );
  }}
/>

@belgamo You need to spread the props userland

@belgamo You need to spread the props userland

I got it, thanks. Is there some section in the docs that I can see that? I was looking for it there and I was unable to find anything about it. Perhaps we might make it more explicit...

@belgamo I agree! Any idea on how we could improve that?

I think we can add an example to the docs showing that the prop inputProps needs the spread of params.InputProps to work fine.  Or we can reopen my PR whose the purpose is exactly it.

@belgamo We already have an example in https://material-ui.com/components/autocomplete/#asynchronous-requests.

Nice! I have not seen. This is resolved, thank you!


[MPNet P0] add PretrainedConfig and unit test

PR types

PR changes

Description

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

您好，请问可以帮忙看看为什么copyright过不了吗？我本地的pre-commit是可以过的

您好，请问可以帮忙看看为什么copyright过不了吗？我本地的pre-commit是可以过的

lint显示tokenizer.py文件的Import 顺序有一些问题，修改一下即可


EnumUtils missing

I noticed that EnumUtils.GetEnumValues has gone missing since v3.0.  Is there an equivalent/replacement?

I'm closing this for now.


PoE hat fan doesn't work

It should start at 45C and even at 70 is still turned off.

@agherzan I believe this is fixed now? Can you test and close if so?

That is correct.