Add opt-out to the bans on getState, subscription Handling and dispatch in the reducers

Its not always easy to convert legacy code you may not even have written yourself, and as long as the continued acceptance of these antipatterns doesnt hurt other efforts I'd suggest the option for an opt-out of these bans, so that we dont force people to use older versions just because they feel like theres higher priorities than just completely revamping their applications state management right now.
This brings no breaking changes and the 'options' object may be expanded to allow for further configuration in the future.
If this gets accepted and people are interested in that I might bring another merge request later which would allow a 3rd parameter in reducers which is passed the global state, allowing for in-pattern usage of the global-state without having to revert to store.getState, which makes store-injection in testing very hard. This too would not break normal usage of redux, and when you use object destructuring in the argument to limit the scope of parameters you inject from the global state it also shouldnt lead to a to large state potentially influencing the reducer.

I dont know how I would go about adding this in the documentation (and maybe someone else wants to do that?), also just to ensure: spread-syntax in the sourcecode will get polafilled to be compatible with IE etc, right?

So format:check is failing, but it doesnt really show a whole lot of errors.
Also if I run format locally it modifies a shitton of files, that would break the diff would it not? Or is it just something like different linebreaks, cause in the 'changed files' I couldnt find anything.

Sorry, but this isn't going to be accepted. If you need the old behavior, stick with 3.7.2. See #1568 for our reasoning and discussion.

Oh yeah, theres a WHOLE lot of discussion on that topic. CURRENTLY this does not break anything so with this beeing opt-in, me riddling the code and documentation EVERYWHERE with the warning that this is an antipattern and might be removed in the future - including an console.error I just added - theres NO reason to just throw away the code I wrote and I'd like to be rejected by some more contributors than yourself before I accept this as closed.

I'm sorry you're upset, but I'm with Tim on this one.  As I said in the other issue, this has been an anti-pattern since the beginning, and your code shouldn't have been written that way to begin with.  We're not going to change the Redux library behavior just because there's a codebase out there that abused that.
If you absolutely need to keep the current code running, stick with Redux 3.x, which doesn't yet have the error enforced.

It didnt even have a warning.
Could you please go against my arguments in detail in the renewed merge request?
I write it there in more detail, but I fail to see how exactly my changes break anything, and the complete blind reject of a possibility to keep up to date without immediately changing the complete codebase escapes my understanding.
Speaking from my personal frustration, I have to manage a large frontend were I cant just tell the stakeholders 'hold up, I need to revamp the state management completely'. I'm a working student, I cant ask that of the large company the team of my company works for. But what I CAN do is updating the code in the areas I currently work on. By that process the usages of getState will fade out, and for other people the warnings will hopefully facilitate the same, and if it doesnt It'll at least extend their code to newer versions for as long as the continued support doesnt break other stuff.
I dont ask for new features to be catered to this. All I'm asking for is for time while I gradually Improve the application I work on, and I believe I can think for myself and decide for myself what Issue takes priority for me. I have now learned excessively that you guys hate the usage of this with passion, thus I'll focus a change harder, but theres only so much one can do, and I still think theres larger issues.
When you decide to fade out the permittance to disable the bans you'll still have the possibility to stick ANY other parameters into that object at the end, as long as you dont create name-conflicts, so I DONT SEE WHATS SO BAD ABOUT THIS.

Calling getState in a reducer is wrong.  We're not going to add an escape hatch for it, because A) that would only encourage the behavior, B) we'd have to support that API through the next major version at least, and C) this is not a common issue that needs to be solved.  We've already given you a workaround: stick with the older version of Redux.
I understand that you are having issues in your own application, and I'm sorry that it's causing you problems, but we are not responsible for fixing issues in your codebase.  It's your job to do due diligence when investigating upgrades to libraries.  When a library has a new major version, it's very likely that there will be breaking changes, and you need to evaluate all of those before making the decision to actually upgrade.  (Speaking as an application developer myself at work, I have to dig through changelogs all the time when evaluating library versions.)

@markerikson
The line concerning that in THE LIST is NOT clear at all:
* Throw if getState or subscribe are called while dispatching

To know that that means in the dispatcher, you need to know the technical detail that the reducer gets called synchronousely IN the dispatch, and that contradicts the suggestion of the name 'dispatch' and is specifically in contrast to the way react handles state-changes.
So if you do nothing else, AT LEAST make that changelog clear by modifying that line as follows:
* Throw if getState or subscribe are called in the reducer/while dispatching

Yes, the fact that dispatching synchronously calls the reducer logic is a core part of Redux design, and always has been.  You may or may not know it, but that's how it works.  It's basically:
function createStore(reducer) {
    var state;
    var listeners = []

    function getState() {
        return state
    }

    function subscribe(listener) {
        listeners.push(listener)
        return function unsubscribe() {
            var index = listeners.indexOf(listener)
            listeners.splice(index, 1)
        }
    }

    function dispatch(action) {
        state = reducer(state, action)
        listeners.forEach(listener => listener())
    }

    dispatch({})

    return { dispatch, subscribe, getState }
}

How the React-Redux bindings handle updates is a separate concern.

@markerikson
I've literally just modified that code so now I'm perfectly aware of that.
And React-Redux uses reduxs dispatch as far as I have seen
Thunk handles way different, youre not always dispatching in the redux sense when youre dispatching a thunk-action, this could add some more confusion.
What I'm saying is that I wasnt aware of that before, and considering I would say that among my team I'm the best when it comes to coding in the frontend, I would think that lots of developers working with redux are not aware of that. And these people might get the wrong impression by that changelog, thus I'm asking for an adjustment to fix that issue.
So would you be so nice and get tim to do so?

I went ahead and updated the release note line.
The thing about thunks is that they aren't actually reaching the real store.dispatch() - it's part of the middleware pipeline leading up to that.
I still don't understand your comment about:

that contradicts the suggestion of the name 'dispatch' and is specifically in contrast to the way react handles state-changes.

but tbh the discussion so far has not been terribly fruitful, and it suggests that you don't have a good understanding of how the actual dispatch mechanism works and how React-Redux interacts with the Redux store.  You might want to read through my post Idiomatic Redux: The History and Implementation of React-Redux to get a better understanding there.

Thank you very much for the line-change.
Your link is an interesting read I guess, I was wondering how you manage state-updates without re-rendering the entire application, though that its using memoization was pretty clear. But while state-propagation in react-redux is because of said memoization and because of other stuff like the top-down flow of updates you want to enforce, more complicated nowadays, dispatch, from what I see, works pretty much how I expected. I had something pretty much like the class in 'connect in a Nutshell' in mind when approximating connect.
What I mean with

Thunk handles way different, youre not always dispatching in the redux sense when youre dispatching a thunk-action, this could add some more confusion.

Is that when you dispatch a thunk-action it doesnt use the dispatch as you so nicely defined above. First it determines whether you dispatched an object or an function. if its an object it uses the classical dispatch. Else the function gets executed and the return of the function passed through like the action is in a classic dispatch. So when you use 'getStore' inside of a thunk-action that doesnt get blocked - unless redux-thunk explicitly blocks that itself - , because youre not in the dispatch as defined in createStore.

that contradicts the suggestion of the name 'dispatch' and is specifically in contrast to the way react handles state-changes.

What I mean there is: When I think of 'dispatch' I think of an event. And in JS, which is after all still the language we're using and thus is used as reference from my brain, well JS events, as far as I remember, are not executed synchronousely.
This contrasts with i.e. Vuex, which is way clearer in their designation 'commit' of an mutation - which is, as I'm sure you know, pretty much the combination of a redux action with the connected cases in the reducer. While when you 'dispatch' VUEXES 'actions' - which are pretty much what redux-thunk tries to model, they behave, exactly like I'd expect, potentially asynchronous.
With regards to react, well, when you use this.setState this also gets executed asynchronousely, and not even neccessarily in order.
Btw, when I continuousely highlight how much I prefer Vuex over Redux thats not a result of me coming from Vuex to Redux and trying to apply Vuex syntax on Redux, I have never written a real Vuex application, and some small tests were only done by me after I was working with redux for a long time already - its instead a 'I have been annoyed at the way things have been solved - at least in our app - with Redux, and now that I look at the documentation of Vuex they make it way better and make it look easy.'. I'm not sure youre making yourself a favour in trying to keep stuff like async-actions, dependent state and shared state between reducers out of this package. Like looking at Redux-Thunk vs Vues Actions, it MAY be somewhat comparable in code, though Redux-Thunk is more verbose, the problem arises in documentation and compatibility with the other little helpers.
In larger companies there will always be stuff like 'fullstack' developers trying to get some Frontend stuff done, looking at other code, seeing redux-thunk-actions and thinking 'ah, i need an action so thats what I was looking for', and then continuing to create a thunk-action which, to keep in line with the other thunk-actions returns a promise, but is in fact a completely synchronous action. Which then leads to ridiculous promise-chains that are not nedded at all. With Vues clear separetion between mutations and actions, with the differences made clear by different and fitting names and a documentation thats very much more on point than redux, that wont happen.
Sometime being opiniated isnt a bad thing. The thing is, the one thing you seem to be very opiniated about is removing getState from reducers. But removing these getState from the reducers is VERY hard at times, because I need to access global state. Guess what? Vues modules get a 3rd parameter thats the global state, and are in the end, while not enforcing an immutable approach (but VERY MUCH allowing it) still pure functions.
We also have a number of functions that use store.getState() outside of the components and are a big pain to me. Now to inject the store for the tests I could stuff them all in a factory function to pass the store, but then I have a shitton of factory-functions all over the place, and theyre not nice to look at. But I really need to reuse these functions in multiple places. The best way I could come up with to model these in the redux-ecosystem - as having functions in the state is an antipattern - is by packing them together by using connect with a mapState, mapDispatch and mergeProps and then adding that to every component I need to use these, pass these functions by argmuent a few levels if I have to. Vuex? https://vuex.vuejs.org/guide/getters.html#method-style-access. Super easy and in line with their derived state pattern.
Please, tell me how to do it better with redux.


evaluator: adding stats collection

This is a placeholder umbrella issue for the collection of more stats within the evaluator.
For example this covers:

The actual collection of stats.
The surfacing of those stats via cmd/cue and the cuelang.org/go/cue API.
The collection of workflow-related stats.
...

This was done in https://review.gerrithub.io/c/cue-lang/cue/+/549083 - should we close this issue? I think it would be best to open new issues for any further additions or improvements.

Leaving open since we haven't yet surfaced stats to the go/cue API. Per Marcel, it might be a bit tricky.


Suggest to write as Web Component

Have a look on this web components concept & functions, etc. https://developer.mozilla.org/en-US/docs/Web/Web_Components
I would suggest to use Vue js to develop web components. Hence you just write a single codebase, it can be used across any framework. https://v3.vuejs.org/guide/web-components.html#web-components-vs-vue-components
Based on my experience on React js, its hooks is very good to use, but its not friendly to write or use web component, we have to build a wrapper to use it with web component, but its still works well with web components, check this out https://reactjs.org/docs/web-components.html

No way of doing it, can't see much advantages of such approach, and how to you suppose to deliver TW's classes styles to scoped web components?

No way of doing it, can't see much advantages of such approach, and how to you suppose to deliver TW's classes styles to scoped web components?

Off cuz you can pass your TW class to the web component. For example ion-icon is a set of icon web component.

reference link: https://ionic.io/ionicons/usage

How can you use TW classes INSIDE of the web component?

How can you use TW classes INSIDE of the web component?

dont u see the screenshot? I would like to suggest you create an empty project npm install ionic icon and tailwind, and then write in your tailwind class, its work for sure. Tailwind is just a Css utility class not a framework.


Determine if/how Chris North wants to participate

Identify who to credit with previous work until now.

Marked done, so closing issue.


Create contribution guide and accessibility standards

I was just reading up on making SVGs accessible and wonder if these SVGs should start including <title> tags for accessibility?
For example:
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
  <title>Bandcamp</title>
  <path d="M0 12.5l4.958-9H16l-4.958 9H0z"/>
</svg>

See the W3's Accessibility Features of SVG article.
Right now only a few of the items include <title> tags, but they are generic (bad) titles generated by vector apps like Sketch.
If you'll consider this issue, I'm happy to write something up for the new CONTRIBUTING.md.

@benjaminwil Yes. 100% yes. Thanks for the link 😄

It’d be great to have a template for SVG files in CONTRIBUTING.md. Something like:
<svg aria-labelledby="title" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
    <title>[ICON_NAME] icon</title>
    <path … />
</svg>

Include the SVG namespace declaration xmlns="http://www.w3.org/2000/svg". This is not required if the SVG is included inline on HTML5 web pages.
Include a <title> element for accessibility.
Add aria-labelledby="title" to the <svg> element to improve screen reader support.
Use a viewBox of 24×24, following Google’s Material Design guidelines for system icons.

I added a draft of the CONTRIBUTING.md in my pull request #475.

@birjolaxew reviewed my pull request and suggested that role="img" also be added to the <svg> element for accessibility and linked to this article on CSS-Tricks. I'll add this to the CONTRIBUTING.md as well.
He also asked:

Almost all existing SVG's use a viewBox of 16 by 16. The only ones that don't are HTML5 (14x16) and Nucleo (24x24), both of which I'd say are simply bugs. Why the change?

The precedent for that change is in Google’s Material Design guidelines for system icons, but @danleech – could you confirm that you'd like the standard viewbox for new icons to be 24 by 24 rather than 16 by 16?

Just to expand a bit, Google's Material Design are for designing system icons, where it is useful to have a grid so you can keep consistent spacing. Simple Icons aren't designing anything, so this doesn't help us at all. The only reason for switching to 24x24 would be "because others are doing it", which is a fairly poor justification.

Even if switching viewBoxes to 24 by 24 is justified, it'd be a major project on its own to refactor all of the existing icons.
I'd like to recommend a viewBox of 16 by 16 for now, and if it becomes possible to automate the re-sizing of the existing SVGs, we can update the contributing guidelines as well as all of the icons.

@benjaminwil You’re right it’s going to be a major project, but one I’m going to have a go at soon. The problem with the existing 16x16 icons is that they’re not proportional, so when icons are used side-by-side they don’t look harmonious.

@danleech I'm not sure I follow on that last part. Could you give an example?

@birjolaxew That was poorly worded, sorry. Icons of different shapes should be optically scaled so they look harmonious as a set. For example, 16px squares look bigger than 16px circles, so circles need to be made slightly larger.
Google’s system icon grid and key shapes is a great basis for icon scaling: https://material.io/guidelines/style/icons.html#icons-system-icons.
Here’s an example of five icons to illustrate the point. Icons on the top row are all 16x16px. Icons on the second row follow Google’s guidelines. The square icons are 18x18px, the round and irregular shapes are 20x20px. The Twitter icon is also shifted down by one pixel so it looks more inline.

Thanks for the explanation @danleech.
I'm going to add a more verbose, plain speech description around how to size out icons depending on their shapes (rectangular, circular, or irregular) and add it to the CONTRIBUTING.md. I may also add that example of proportional icons.
After that, I'll close this issue. 👏

aria-labelledby="title" is failing w3 validation:
"Error: The aria-labelledby attribute must point to an element in the same document"
You could add an id="title" to <title>, but if you use multiple icons on the same page you'll end up with:
"Error: Duplicate ID title"
I don't think there's a way get around this as of this post, aside from using ARIA 1.0 while omitting the aria-labelledby attribute.
Something to keep in mind.
More info here: https://www.sitepoint.com/tips-accessible-svg/

This issue has been addressed by PR #475 and subsequently PR #640.
For the time being, it has been decided that all icons will have the same sized viewbox 24x24 and are scaled to fit the viewbox (Issue #582).
There is however, some effort into looking at optically sizing the icons in the future (Issue #477).


[FEAT] Compatibility with the MPMB Sheet

See https://www.flapkan.com/

Unfortunately, these PDFs aren't supported by pdfform.js which is the library the module uses because they have buttons and embedded JavaScript. You should submit a bug there instead, but it likely won't be fixed because the repo doesn't seem very active. Sorry :/

That's fine, MPMB has its own import sources anyway. Cheers for looking at it.


Broken onlymanyowners

I think this https://github.com/ethereum/dapp-bin/blob/master/wallet/wallet.sol#L48
should be
modifier onlymanyowners(bytes32 _operation) {
    if (confirmAndCheck(_operation)) {
        _;
    }
}

I agree, the wallet is broken on 4.X solidity compiler
Method execute is interrupted by requires and no Confirmation request created


Update Flink deps to 1.15

Hey there, we wanted to use this connector with Flink 1.15 but noticed it was built against a considerably older version. After making a few changes in deps and building our own version we were pleasantly suprised to see it was doing just fine with no other code changes needed.
So I'm opening this PR to ask if you would consider merging the version bump and releasing a new version so we (and possibly other users of current Flink versions) can use it in our dependency resolution instead of our private one.
I'm also adding a logging code snippet that helped me when I was debugging issues with DynamoDB.

 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.


artifacts boundary

Hi there,
In the paper the last paragraph of section 3.3 mentions how to fix artifacts using certain hyperplane. However this hyperplane is missing in the boundaries folder of this repo. Are you going to release it soon?
Thanks!

Please use boundary/pggan_celebahq_quality_boundary.npy for artifacts correction w.r.t. PGGAN model. Since almost all images generated by StyleGAN are with high quality. So we don't provide artifacts boundary for StyleGAN model.


Basic minor improvements

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

Project coverage is 100.00%. Comparing base (5d89ccc) to head (ad9fdc2).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           29        29
  Lines         1030      1030
=========================================
  Hits          1030      1030

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


Unable to cast object when use EntityFramework InMemoryDatabase

Hi!
When I configure EF Core to use InMemoryDatabase and use FromCache(), throws "Unable to cast object of type 'Microsoft.EntityFrameworkCore.Query.Internal.InMemoryQueryContext' to type 'Microsoft.EntityFrameworkCore.Query.RelationalQueryContext'."
In class CreateCommand, line 36: (queryContext = (RelationalQueryContext)queryContextFactory.Create();)
Use sample:
// In unit test class constructor
var serviceProvider = new ServiceCollection()
	.AddEntityFrameworkInMemoryDatabase()
	.BuildServiceProvider();

var builder = new DbContextOptionsBuilder<MyContext>();

builder
	.UseInMemoryDatabase()
	.UseInternalServiceProvider(serviceProvider);

builder
	.UseInMemoryDatabase()
	.UseInternalServiceProvider(serviceProvider);

contextInstance = new MyContext(builder.Options);

// In unit test
var list = contextInstance
	.Table
	.Where(q => q.IsActive)
	.FromCache() // <- Error happens here
	.ToList();

return list.FirstOrDefault(q => q.Id == requestedId);

Thank you for reporting,
We will try to fix this issue this weekend.
The CreateCommand is used to generate a unique key. We will try to see if we can generate a unique key for InMemoryDatabase from the expression.
Be careful, not all features in this library will work with InMemoryDatabase.

Hello @diegobrum ,
Currently, by default, the cache key can only be generated from RelationDatabase query. However, we want to change this in the future.
Meanwhile, we added two new properties to allow to customize the cache key generation
CacheKeyFactory
Allow to create yourself the key from the queriable and tags provided.
QueryCacheManager.CacheKeyFactory = (queryable, strings) => queryable.ToString() + string.Join(";", strings);

ForceFirstTagAsCacheKey
Allow to use the first tag as cache key.
QueryCacheManager.ForceFirstTagAsCacheKey = true;
var list = ctx.Entity_Basics.Where(x => x.ColumnInt < value).FromCache("MyCacheKey", "tag1", "tag2");

Hi!
I think that CacheKeyFactory feature will work to me ^^
Thanks a lot!

Closing Comment: Confirmed it worked.


[pt-br] Update reference/kubectl/cheatsheet.md

Update and standardize pt-br cheatsheet
This contains the code and suggestions from review for PR https://github.com/kubernetes/website/pull/39746

@MrErlison @stormqueen1990 I had an issue with the previous PR and had to open this one. This contains all the fixes as suggested in the previous one.
Actually, there is one item that I did not addressed regarding using a specific tag for busybox.

@MrErlison @stormqueen1990 I had an issue with the previous PR and had to open this one. This contains all the fixes as suggested in the previous one.
Actually, there is one item that I did not addressed regarding using a specific tag for busybox.

@devlware  Usually I am literally. You're right, it's better to remove the version number. You did a great job.
/lgtm

Thanks!!
/approve


Bot going offline for some reason again and again

**events.js:182
throw er; // Unhandled 'error' event
^
Error: Your clock is 10705ms behind Discord's server clock. Please check your connection and system time.
at ClientRequest.req.once (C:\Users\Preksha\Documents\modmailbot-master\node_modules\eris\lib\rest\RequestHandler.js:167:56)
at Object.onceWrapper (events.js:316:30)
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:549:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:116:23)
at TLSSocket.socketOnData (_http_client.js:438:20)
at emitOne (events.js:115:13)
at TLSSocket.emit (events.js:210:7)
at addChunk (_stream_readable.js:264:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: node --trace-warnings src/index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Preksha\AppData\Roaming\npm-cache_logs\2017-10-20T09_32_15_649Z-debug.log**
I am getting that error some reason... I don't know what that means but the bot is going offline for some reason. What should I do?

As far as I know, this issue happens when your machine's clock isn't properly synced. You seem to be using Windows, so this should definitely happen automatically. Have you tried again after you initially had this issue? Did you get the same error?


meaning of --ssl-save

what is the meaning of --ssl-save in running script?

--ssl-save is an argument to decide whether you save the pre-trained SSL(e.g., CSI) models.


Port changes do not appear to be honoured

I'm trying to setup the addon with Home Assistant but my host already has services using port 80/443 - in the configuration panel for the addon (within HA) I have updated the 'Network' section to change port 80 to 2080 and 443 to 2443 respectively.
However when I try to start the addon it fails after a few seconds - the logs show:
run: loading initial config: loading new config: http app module: start: tcp: listening on :80: listen tcp :80: bind: address already in use [cont-finish.d] executing container finish scripts... [cont-finish.d] 99-message.sh: executing...  [cont-finish.d] 99-message.sh: exited 0. [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal.
It appears that port 80 is still being used.. if I use docker to directly manipulate the container to map the ports and start it directly then everything works as expected.
However as soon as I try to use Home Assistant / Supervisor to control the addon, it removes my changes and fails to start again.
addons.json shows the port numbers were saved correctly.. any idea why it isn't using them?

Hi @realroywalker,
Thanks for reaching out. I am not sure we can solve it completely, or the way you think we can solve it. But let me explain.
The workaround
First of all a workaround for your issue
In the Caddyfile config, you can set the http and https port. Thus, you can bypass the add-on config. More on that topic in a second.
The Caddyfile then should look somehow like this:
{
    http_port 2080
    https_port 2443
    email<EMAIL_ADDRESS>}
yourdomain.com {
    reverse_proxy localhost:8123
}

The problem you ran into
The caddy add-on, unlike most of the other add-ons, runs on the host network. This means, when the add-on listens on port 80, it is not doing that on the add-on itself, but also on the whole supervisor level. As soon as there is any other port 80 usage, that will conflict.
The network config which I added (not too long ago), was considered to be helpful for untrained users, allowing them a meaningful config without having to touch too many Caddyfile configs. However, this also relied that the supervisor correctly maps the ports from supervisor to add-on, even when the add-on is running on the host network.
Long story short, I am not sure the supervisor is wrong. I just think the network config was a bad idea.
Future plan
Based on your feedback, I will remove the network config with the next version. It is not necessary, and just adds further confusion.
Also, the proper configuration can (and in future should) be done in the Caddy configuration, as described in the workaround above.
I hope these explanations help, and you will be able to use the desired setup with the provided workaround.
Sorry for the inconvenience.

Thanks @einschmidt for the great detailed explanation.
I had totally failed to realise I could use the Caddyfile to control the listening port!
I've now configured it as per your suggestion and it's working perfectly when started via Supervisor :)
Thanks for the tip, and great addon!


Representation issues

Fix tokenization, start+end tokens are incorrect
Fix wrong transformers layer used
Fix in mention span (only representation) for assertion

Fixed


Fa regional

Pull Request Checklist:

[x] Documentation has been added but still needs some formating
[x] Tests have been added.
[x] CHANGELOG.rst has been updated (with summary of main changes).

[x] Link to issue (:issue:number) and pull request (:pull:number) has been added.

What kind of change does this PR introduce?
This PR add a regional method in frequency analysis module. It also adds some uncertainities done by resampling obs or distribution

@Zeitsperre doc is not passing. lmoment3 issue. I tried the fix of PMP but when I try to commit GH workflow main.yml I get an error of new line feed not being \n

@TC-FF Hey there, excuse the delay.
I think the issue you're having is due to a configuration I set in .yamllint.yml. The issue should be resolved if you comment out these two lines:
  new-lines:
    type: unix

#195 va régler les problèmes.


Is it possible to merge cells?

Is it possible to have merged cells like in Excel (see AB & CD cells in screenshot)?
I do not see this feature but it would help me a lot.
Have a nice day !

It can not be done with the current excelPanel.
It is difficult to make it.

Well I understand, I'll maybe try to fork it and to add this feature if I have the time (really not sure I will have) but still thank you for your answer !

Looking forward to your code realy.


rcFilterLowHangingWalkableObstacles Study

This docs summarizes the discussion in my reading group over  rcFilterLowHangingWalkableObstacles.
The purpose of this post is to figure out that:

What is filtering low hangs ?
Why we need filtering low hangs ?

What is filtering low hangs?
Intuitively, rcFilterLowHangingWalkableObstacles would like to make those surfaces "climbable from ground" to be marked as walkable, controlled by a parameter called climbable distance. Even if those 'artifacts' over ground looks like unwalkable to some degree (a weird-shape sharp stone, etc.) since they could be easily leaped over, the area could be still viewed as walkable.

The rasterization (voxelization) is the first step in Recast Navmesh.

Depending on slope angle of input triangles, the voxels are marked as walkable and unwalkable initially.
Unity above uses a vivid figure to show the configurable max slope angle

rcFilterLowHangingWalkableObstacles is the very first step after voxelization in Recast.
The general idea is that: if one voxel is walkable, then the voxel above it in climbable distance (user-defined as a parameter) should also be set to walkable.

This step enlarges walkable surface.

Source code:
rcSpan* previousSpan = NULL;
bool previousWasWalkable = false;
unsigned char previousArea = RC_NULL_AREA;

for (rcSpan* span = heightfield.spans[x + z * xSize]; span != NULL; previousSpan = span, span = span->next)
{
    const bool walkable = span->area != RC_NULL_AREA;
    // If current span is not walkable, but there is walkable
    // span just below it, mark the span above it walkable too.
    if (!walkable && previousWasWalkable)
    {
        if (rcAbs((int)span->smax - (int)previousSpan->smax) <= walkableClimb)
        {
            span->area = previousArea;
        }
    }
    // Copy walkable flag so that it cannot propagate
    // past multiple non-walkable objects.
    previousWasWalkable = walkable;
    previousArea = span->area;
}

Here is an example that turns a small hanging plane into walkable after rcFilterLowHangingWalkableObstacles .

Why we need filtering low hanging ?
Base Motivation: Filter out high-frequency noise over a walkable plane.
The rasterization could be viewed as removing voxel-wise wrinkles (cell size & cell height) over a walkable-surface.
For obstacles in a larger scale (stones on the ground) but is still climbable for agents, some techniques are adopted.
At rasterization, Addspan would only propagate walkable flag over spans in a column if

spans are continuous (overlap)

(span is an intermediate structure when rasterizing triangles that represents continuous voxels in a column)

addSpan merges span when the difference of max heights of two spans is smaller than a threshold (climbable distance)

rcFilterLowHangingWalkableObstacles is a complementary step of addSpan to deal with region of mesh intersections. It propagates flags when spans are not continuous (like cases at left in figure above).
What if we skip that step? See the ablation experiment below.

The partial voxels of that slope is still marked as walkable due to addSpan. But the higher ones fail, since there is room underneath it, which shows that rcFilterLowHangingWalkableObstacles is necessary in some cases.
Reference

https://github.com/recastnavigation/recastnavigation/issues/232

Excellent summary, here's my blog post from around the time the feature was implemented for further reference: https://digestingduck.blogspot.com/2010/01/rough-fringes.html

This is awesome.  I'd love to add it to the official documentation!


Review

Could you please all review the full specification including all documents and documentation comments and post a comment afterwards here? Please review carefully and don't just put your thumb up here.
@trowski @assertchris @AndrewCarterUK @bwoebi @WyriHaximus @rdlowrey @sagebind @jsor

Apologies for bringing this up again, as I think we discussed it previously but I can't find where, but what does the following mean in Loop?

An unique identifier that can be used to cancel, enable or disable the watcher.

Unique per-driver instance or per-process?

Unique to the driver, but I guess we need to add that to the docblock.

Unique to the driver, but I guess we need to add that to the docblock.

Okay. Now that Driver is an abstract class, and not an interface, I think it would be trivial to enable watcher ID's to be unique per-process and to detect when a watcher ID has been passed to the wrong driver instance, so I'd like to open a PR for this and get some feedback from loop implementors. I'll do so this afternoon or this evening.

@joshdifabio basically:
public static function getNewIdentifier() {
    static $i = "a";
    return $i++;
}

I do not object per se, but perhaps for some reason implementations may want to use resource ids or object hashes as watcher id … It'd save them an extra mapping.
Thus there may be some advantage in giving implementations freedom over their ids.

Thanks @bwoebi. My idea is similar but includes a driver identifier to highlight situations where the driver instance has changed.

I do not object per se, but perhaps for some reason implementations may want to use resource ids or object hashes as watcher id … It'd save them an extra mapping.

If watcher ID's must be unique per-driver instance then I guess that rules out object hashes?

Thus there may be some advantage in giving implementations freedom over their ids.

Sure, I accept that this might be the case. I'll make a quick PR and then perhaps you guys who are responsible for implementing loops can comment. I'm open to the possibility that it might be the wrong approach.

If watcher ID's must be unique per-driver instance then I guess that rules out object hashes?

Ah right.
@joshdifabio Please PR it then, I'll probably approve it.

Cheers. I'll do so after work this evening.

Hi guys,
I'm trying to review the code and documentation also.
So far I've analyze the code and I'm going to look for implementations and usage examples to be sure I understand the intent.
My first question is related to the usability of the loop registry.
Probably I didn't really understood the default DNS resolvers use case.
Can we provide an example for it in example/documentation?

@bwoebi wanted to provide a PR explaining all the things in a META document.
You can see an actual use case here: https://github.com/amphp/dns/blob/badf3a91003814ce574030a3d695978099d15301/lib/functions.php#L16-L25
Basically everything that's static and needs the loop should use something stored to the loop state.

Thank you, I understood why it is needed.
The use case is for a component that uses the loop (by setting a callback bound to an instance in the loop) and it needs to keep a registry map of loop to instance in order for a client to retrieve the specific instance of the component bound to the current loop.
And we helped with this by implementing the registry in the loop.
I believe there might be other ways to do this, not necessary having a registry implemented in the loop.
I have an idea but let's get back to this in a separate discussion, a bit later, after I'll give it time and eventually prepare a PR.

Note that in case we shift that responsibility onto the respective classes (e.g. the DNS drivers), it does not know when a loop has been freed and will reference the state forever, even though the particular loop instance has been long abandoned. … That's what one calls a memory leak and must be avoided.
The registry serves that exact need, by removing the references to the now obsolete objects alongside with the loop.

Indeed, I thought about it more and seems simpler and safer this way.
My idea was about the ability to check a watcherId for the current loop. Avoiding memory leaks would have been achieved by the loop notifying about the fact that it stooped using the callback.

As a different topic, I saw some discussion about how a loop should work.
I understand there are some disagreements related to how far should this project go into the pure/correct way and how much it should stay focused on interoperability.
As I'm not actively using an already async library, I tend to care more about what form should be used to better cover all aspects.
I was thinking that you could even have something like in 'index.php'
Loop::execute(function(){require('index-async.php');});

And with this, I got to an idea that maybe some of you have already though about it and can come up with an answer why it would work or not:
Add event loop in the PHP runtime directly, as a PHP extension
When the PHP process starts, just before executing the first file, it will start a loop and execute the file while the loop is running... similar with how a deferred execution works.
Namespaced functions for adding watchers and controlling them will be available.
Also there is a need for some functions to allow wiring in the loop a socket event handler, signal event handler if none is provided.
I don't have a very in detail knowledge about what a PHP extension can do but having something like that would be a lot better for usability and interoperability.

Yes, we already thought about that, but not in public yet. But it'd probably be much more like https://github.com/php-ds with this package here being the polyfill and the extension replacing the polyfill if available.
The issue with your approach is that it requires the extension then, it's not polyfillable in userland. And if there's only one truly global loop, how do we test then? Require everything in every test to clean up each and every watcher? Test with a new process for each test case?
The main point for having an extension would be the possibility of writing other extensions directly integrating with the loop.

I wasn't thinking that we need to be able to provide a polyfill for the extension; maybe there is no need to.
If a library want to use the event loop, it should require "ext-eventloop:*".
Maybe a way would be to have this in the beggining of a file:
<?php

require_once 'vendor/autoload.php';

if (!\EventLoop\isRunning()) {
    return \EventLoop\runStartingWithFile(__FILE__)
}

//... continue with the execution

Related to testing, I would ask "how do you test an async javascript functionality?"
Searching for an answer would point me to this: https://www.martinfowler.com/articles/asyncJS.html
I don't believe we really need to clean up the loop. Each tests should take care of this.

I wasn't thinking that we need to be able to provide a polyfill for the extension; maybe there is no need to.
If a library want to use the event loop, it should require "ext-eventloop:*".

Requiring an extension to be installed greatly hinders adoption.
If you read https://www.martinfowler.com/articles/asyncJS.html, you'll see that it mostly just advises not to test async code, but mock all async components in a sync way. https://www.martinfowler.com/articles/nonDeterminism.html is the more important one, talking about isolation of test cases. It's not a good idea to require test cases to clean everything up. All other tests shouldn't be affected either way. Loop::execute ensures there's a clear scope and every test case has its own scope.
You might also want to have a look at https://github.com/nodejs/node/blob/master/doc/guides/writing-tests.md, which uses one process per test, like PHPT tests do. Generally, you want to have a look at how Node tests are written, not client side JS tests, because client side JS really usually can avoid async APIs.
Now you might say we can also use PHPUnit's setUp to replace the loop with a new one / reset the current loop, but it's easy to forget and you might end up with non-deterministic, non-isolated tests affecting each other without realizing it's due to the missing Loop::set(Loop::createDriver()); / Loop::reset().


OS X Text Provider: Make test look crisper

I'm not quite sure why, but at the moment the native OS X Text Provider produces text that doesn't look as crisp as on other platforms. Figure out why and fix it. Might want to use CoreText instead of the current approach.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/99127-os-x-text-provider-make-test-look-crisper?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

we even support retina displays and using SDL2 text is crisp


Added logic for stETH flashloan

[ ] Update the FLA implementation for Mainnet (attach txn link).

Updated implementation TXN


Inventorychecks

This test suite will dynamically determine what valid / expected
inventory should exist based on the .py file

This change is

@rahulmah can you please review?

@mkumatag: It seem to look fine.

Previously, rahulmah (Rahul Maheshwari) wrote…
> @mkumatag: It seem to look fine.

Review status: 0 of 7 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Merge Conflict Resolution (from 7.1.x to 7.2.x)

What is this pull request?
This is an autogenerated pull request by pint due to a merge conflict failure seen during pint merge.
Next Steps

Resolve all conflicts (either via web editor or the command line)
Commit merge
Obtain approvals from reviewers
(IMPORTANT) After obtaining approvals, click the dropdown menu on the merge button and select "Create a merge commit"
Click the "Merge pull request" button
Re-run pint merge

NOTE: "Create a merge commit" option must be used to ensure all commits from the head branch is added to the base branch.
Questions?
Please reach out to the Developer Productivity team on Slack at #devprod-eng or #devprod-oncall

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: rigelbm:x: ConfluentJenkinsYou have signed the CLA already but the status is still pending? Let us recheck it.

@ehumber, can you please give a LGTM here? I will switch ownership of rest-utils away from kafka-rest soon so that you don't have to anymore :)


Implement EEPROM interaction to store midi channel

It is stubbed here: https://github.com/datomusic/arduino-rt1011/blob/0b091bb2e55eb91c969ba28ed8d8663420f8020a/src/duo-imxrt/stubs/arduino_stubs.h#L10

We're moving to a separate EEPROM ic for DUO-Brains-2.1 and higher. I'm keeping this issue open to discuss development for that separate eeprom.


AOT compile dependencies

Will you add a feature to AOT compile clj files in jar files? Just like Leiningen's :aot :all.

Hello @anolivetree,
Have you tried the following:
compileClojure {
  options.aotCompile = true
}

in build.gradle?
When you set options.aotCompile without providing options.namespaces explicitly, then all namespaces will be AOT compiled. If you would like to AOT only selected namespaces, then specify them explicitly:
compileClojure {
  options {
    aotCompile = true
    namespaces = ["myapp.core", "myapp.utils"]
  }
}

I tried again. It doesn't work in some cases.
After I killed all gradle processes and do,
$ ./gradlew clean
$ ./gradlew assemble
the created jar contains 3rd party classes too as expected.
However, if I do follwing again with the gradle process running launched on the first try,
$ ./gradlew clean
$ ./gradlew assemble
the created jar doesn't contain 3rd party classes.

@anolivetree I tried to replicate your issue by:

clone https://github.com/gradle-clojure/gradle-clojure-samples
add clj-http and clj-time
require them in the core ns
add compileClojure { options.aotCompile = true } in build.gradle

Then I tried to run ./gradlew clean and ./gradlew -x check assemble repeatedly but I couldn't get the jar built without AOT compiled classes from clj-http and clj-time.
Could you please share a copy of a project that recreates the issue?
Which gradle version do you use?

Hi @pbzdyl
I've just pushed the source code.
https://github.com/anolivetree/gradle-clojure-samples
Following is the exact command I used.
On first build, created jar contains httpkit. However, 2nd build doesn't include httpkit.
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ ps ax |grep gradle
27257 pts/5    T      0:00 vim build.gradle
29253 pts/2    S+     0:00 grep --color=auto gradle
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ ./gradlew clean
Starting a Gradle Daemon, 1 incompatible and 5 stopped Daemons could not be reused, use --status for details

BUILD SUCCESSFUL in 2s
1 actionable task: 1 up-to-date
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ ps ax |grep gradle
27257 pts/5    T      0:00 vim build.gradle
29287 ?        Ssl    0:08 /usr/lib/jvm/java-8-oracle/bin/java -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/sakurai/.gradle/wrapper/dists/gradle-4.3-bin/452wx51oxqsia28686mgqhot6/gradle-4.3/lib/gradle-launcher-4.3.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.3
29345 pts/2    S+     0:00 grep --color=auto gradle
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ ./gradlew assemble

> Task :compileClojure
Creating fresh Clojure runtime.

        Ssl    0:09 /usr/lib/jvm/java-8-oracle/bin/java -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/sakurai/.gradle/wrapper/dists/gradle-4.3-bin/452wx51oxqsia28686mgqhot6/gradle-4.3/lib/gradle-launcher-4.3.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.3
29412 ?        Sl     0:03 /usr/lib/jvm/java-8-oracle/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dshim.classpath=/home/sakurai/.gradle/caches/modules-2/files-2.1/org.clojure/clojure/1.8.0/313066c972b6b00f390674bf0e9f732c07f205a4/clojure-1.8.0.jar:/home/sakurai/.gradle/caches/modules-2/files-2.1/http-kit/http-kit/2.2.0/70b17515f43a0e74937cdc0dea270d4ef13c7f32/http-kit-2.2.0.jar:/home/sakurai/project/olive/clojure/gradle-clojure-samples/build/classes/java/main:/home/sakurai/project/olive/clojure/gradle-clojure-samples/build/resources/main:/home/sakurai/project/olive/clojure/gradle-clojure-samples/src/main/clojure:/home/sakurai/project/olive/clojure/gradle-clojure-samples/build/classes/clojure/main:/home/sakurai/.gradle/caches/modules-2/files-2.1/org.projectodd.shimdandy/shimdandy-impl/1.2.0/46257b0533ce32a80b12aee74210627cea24e08d/shimdandy-impl-1.2.0.jar:/home/sakurai/.gradle/caches/modules-2/files-2.1/io.github.gradle-clojure/gradle-clojure-tools/0.3.0/f2d94bc635e2d809a4164d17f328bd3920dd2da9/gradle-clojure-tools-0.3.0.jar:/home/sakurai/.gradle/caches/modules-2/files-2.1/org.clojure/tools.nrepl/0.2.12/72b4be694c5a9b253e4cd10d512ae60bb80a5450/tools.nrepl-0.2.12.jar:/home/sakurai/.gradle/caches/modules-2/files-2.1/org.clojure/clojure/1.2.0/2b63087f3d0e3076db16d7ede71018d9ea694b89/clojure-1.2.0.jar -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/sakurai/.gradle/caches/4.3/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Worker Daemon 1'
29507 pts/2    S+     0:00 grep --color=auto gradle
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ ./gradlew assemble

> Task :compileClojure
Reusing existing Clojure runtime.

BUILD SUCCESSFUL in 0s
3 actionable tasks: 3 executed
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $ unzip -l build/libs/gradle-clojure-samples-0.1.0-SNAPSHOT.jar
Archive:  build/libs/gradle-clojure-samples-0.1.0-SNAPSHOT.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2017-11-28 22:34   META-INF/
       25  2017-11-28 22:34   META-INF/MANIFEST.MF
        0  2017-11-28 22:34   sample/
     1142  2017-11-28 22:34   sample/core$bar.class
     2784  2017-11-28 22:34   sample/core__init.class
      974  2017-11-28 22:34   sample/core$foo.class
     2058  2017-11-28 22:34   sample/core$loading__5569__auto____200.class
     1322  2017-11-28 22:34   sample/core$fn__202.class
       11  2017-11-28 22:34   sample.txt
---------                     -------
     8316                     9 files
sakurai@envyhome ~/project/olive/clojure/gradle-clojure-samples $

Thank you @anolivetree, I was able to replicate your issue locally. I think it might be caused by our usage of ClojureWorker/shimdandy that might retain some state used by the compiler (CC @ajoberstar).
Could you please add the following to your `$HOME/.gradle/gradle.properties:
org.gradle.daemon=false
Does this configuration change make the issue to disappear? (it did for me) If it does, you can use it as a temporary workaround until we have the fix released.

Thank you for investigating it. The workaround seems to be working for me too.

@anolivetree Can you give 0.3.1-rc.1 a try to see if it resolves this for you?

@ajoberstar Thank you for the fix. It seems to be working for my Java project.
However, ClojureWorkerClassLoader doesn't work for my Android project with the following error.
Caused by: java.lang.RuntimeException: Failed to load ClojureRuntimeShimImpl
        at org.projectodd.shimdandy.ClojureRuntimeShim.newRuntime(ClojureRuntimeShim.java:21)
        at gradle_clojure.plugin.internal.ClojureWorker$ClojureRuntime.get(ClojureWorker.java:94)
        at gradle_clojure.plugin.internal.ClojureWorker.run(ClojureWorker.java:49)
        at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:36)
        at org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:46)
        at org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:30)
        at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:100)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
        at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
        ... 3 more
Caused by: java.lang.SecurityException: Prohibited package name: java.lang
        at gradle_clojure.plugin.internal.ClojureWorkerClassLoader.loadClass(ClojureWorkerClassLoader.java:46)
        at org.projectodd.shimdandy.ClojureRuntimeShim.newRuntime(ClojureRuntimeShim.java:19)
        ... 14 more

I'm not sure if it's the correct fix, but following patch resolved the problem for me. Will you add the catch clause if it does no harm?
--- a/modules/gradle-clojure-plugin/src/main/java/gradle_clojure/plugin/internal/ClojureWorkerClassLoader.java
+++ b/modules/gradle-clojure-plugin/src/main/java/gradle_clojure/plugin/internal/ClojureWorkerClassLoader.java
@@ -44,7 +44,7 @@ public class ClojureWorkerClassLoader extends URLClassLoader {
     if (clazz == null) {
       try {
         clazz = this.findClass(name);
-      } catch (ClassNotFoundException | NoClassDefFoundError e) {
+      } catch (ClassNotFoundException | NoClassDefFoundError | SecurityException e) {
         if (clazz == null && allowedClass(name)) {
           clazz = this.getParent().loadClass(name);
         }

Thanks for testing and providing that patch (you're welcome to submit those as PRs in the future)!
It's applied now in #54 and released as 0.3.1-rc.2.

Thanks. It's working now.


Hand_Writtern_Digit_Recognition

A project in python using machine learning model which predicts the digit written in different handwritings.


Retooling overall build with hugely improved site page

I'm not going to nitpick the maven parts.  I cloned your patch and mvn test seems to load fine.
The source changes seem fine.
Will merge.

Awesome!  Thanks.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Mike Samuel<EMAIL_ADDRESS>Sent: Tuesday, July 11, 2017 3:49:00 PM
To: OWASP/json-sanitizer
Cc: Jeremy Landis; Author
Subject: Re: [OWASP/json-sanitizer] Retooling overall build with hugely improved site page (#11)
Merged #11https://github.com/OWASP/json-sanitizer/pull/11.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/OWASP/json-sanitizer/pull/11#event-1159475299, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA7ho_lf1qoxDWqgV_64CaIO0xhnu-jdks5sM9GsgaJpZM4OToef.

Available as http://search.maven.org/#artifactdetails|com.mikesamuel|json-sanitizer|1.2.0|jar

Thanks
Get Outlook for Androidhttps://aka.ms/ghei36

From: Mike Samuel<EMAIL_ADDRESS>Sent: Wednesday, July 19, 2017 11:11:09 AM
To: OWASP/json-sanitizer
Cc: Jeremy Landis; Author
Subject: Re: [OWASP/json-sanitizer] Retooling overall build with hugely improved site page (#11)
Available as http://search.maven.org/#artifactdetails|com.mikesamuel|json-sanitizer|1.2.0|jar
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/OWASP/json-sanitizer/pull/11#issuecomment-316418241, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA7ho2gFImBWX0gExSMB51fzlNFeVqYmks5sPhwmgaJpZM4OToef.


Add support for net9.0

Used #246 as a guide for what needed to change.
net6.0 and net7.0 are out of support now and are probably safe to remove, left those in since that seemed like it should be outside the scope of this PR to me.

@qmfrederik Apologies for the ping, however I have been unable to deploy my app since upgrading to .NET 9 due to this not being supported. Could you please review this and let me know if I need to change anything else?

+1 to this. We could use NET 9 support as well. I rolled our application back to NET 8 until this is resolved.

Sadly I am not able to roll back to .NET 8 as I've added some of the new features in .NET Aspire 9 to make development and testing a bit easier. So until this is released I'm stuck unable to build the .rpm packages for my application, thankfully its still in a somewhat early development phase so deployment isn't really needed outside of testing currently.
If this gets closer to the time I'm ready to release my first version and still isn't merged I may just hard fork this repo and maintain my own build of it on nuget.org.

@CorruptComputer Would you mind to rebase this PR so we get CI going?

Sure no problem at all, should be rebased now.

Thanks @CorruptComputer !

Version 0.1.226 should be live on NuGet.


build fail with gyp on macOS

System:  macOS
Version: 10.13.6 (17G65)
I build libuv with this sequence of command as instruction in README:
git clone https://github.com/libuv/libuv.git
cd libuv
git clone https://chromium.googlesource.com/external/gyp build/gyp
./gyp_uv.py -f xcode
xcodebuild -ARCHS="x86_64" -project uv.xcodeproj \
     -configuration Release -target All

When I execute ./gyp_uv.py -f xcode, console echos such information:
['-f', 'xcode', '-I', 'common.gypi', 'test/test.gyp', '--depth=.', '-Goutput_dir=/Users/username/Fet/libuv/out', '--generator-output', '/Users/username/Fet/libuv/out', '-Dhost_arch=x64', '-Dtarget_arch=x64', '-Duv_library=static_library']

and then I execute:
xcodebuild -ARCHS="x86_64" -project uv.xcodeproj \
     -configuration Release -target All

echo from console:
User defaults from command line:
    ARCHS = x86_64

xcodebuild: error: 'uv.xcodeproj' does not exist.

At last I found uv.xcodeproj has been generated at directory out from gyp_uv.py.
It seems the README should be updated to fix  incorrect build file directory ?
Or my environment has something wrong?
Thanks for reading. I'm not good at speaking English...

Yes, out/ is the expected location; the README is wrong. Do you want to send a pull request?

I... think so? I don't use xcode myself.

-target All

xcodebuild FAQ seems to hint at using -alltargets instead.
(But I don't use XCode either)

@refack Your right, and the build command will be this:
xcodebuild -ARCHS="x86_64" -project out/uv.xcodeproj -configuration Release -alltargets

Now I know why such obvious error could be found in README....
T_T


Fix error message logging in Python 3

This is a small fix for formatting error messages in Python 3. Thanks for your work on this project!

@palazzem Are you planning to merge this python 3 compatibility fix?

Hello @caspervdw ! I'm not anymore a maintainer of this project. I guess you should ask to new maintainers! But thanks for contributing... it's great when you see old projects still alive!

Or @AlessandroVeracchi do you know who maintains this project?


Updated source for Pylint 1.5.

Pylint 1.5 brought with it much more than
    pylint.extensions.check_docs

The changes for this PR are

checking import order
checking self._foo is set in __init__
complaining about methods that don't use self
complaining about not calling super().__init__ (for
the virtual base class we used)
complaining about not (self == other) in __ne__,
suggested (self != other) instead
complaining about unit tests checking None result from methods
which are known (by static analysis?) to return None
complaining about not over-riding virtual method in storage
_PropertyMixin
aggressively checking redefined-variable-type when variables
can be optionally float /int / Entity / Key / etc.
checking that GCloudError constructor is called correctly
in unit tests
checking that subclass method overrides use the same arguments
(this occurred in BigQuery test_job with _makeResource)

Pylint 1.5 was released yesterday (Nov. 29, 2015). This broke our latest build:
https://travis-ci.org/GoogleCloudPlatform/gcloud-python/builds/93984109
Pylint 1.4.4 was released on June 30, 2015 and the maintainers mentioned

My plan is to have 1.5 released on 15-17 july.

@tseaver I rebased this on top of #1249. PTAL

@tseaver I addressed the __init__ business for _access_grants and _schema and folded it into the original commit.

Seems like we're good except the issue of returning False vs. NotImplemented from __eq__ (entity and key).

@tseaver PTAL. Folded in the assignment-from-no-return and ditched NotImplemented as return value from __eq__.
Only open question left is local vs. global disabling of wrong-import-position. We can open an issue and discuss if you don't want to block on this PR?

We can let the current local disabling go, I think:  I don't know what it would take to get a "conforming" version in place (one which wouldn't require the local disable).  So, LGTM to merge.

It's impossible to get a conforming version in place. You've inspired me to file an issue with the Pylint folks.
The issue was that using
try:
    import foo
except ImportError:
    ...

import bar

makes the bar import invalid no matter what, since the try/except is considered code (i.e. imports should be over by then).
But for some pairs of foo / bar (like if one is in the stdlib and the other is local to our library), swapping them
import bar

try:
    import foo
except ImportError:
    ...

makes Pylint angry that bar comes before foo.

@tseaver Maybe our rcfile is out of date? I'm going to check it out.

With the current order (and no ignores):
diff --git a/gcloud/_helpers.py b/gcloud/_helpers.py
index b784042..2d44b99 100644
--- a/gcloud/_helpers.py
+++ b/gcloud/_helpers.py
@@ -27,12 +27,10 @@ from six.moves.http_client import HTTPConnection  # pylint: disable=F0401

 from gcloud.environment_vars import PROJECT

-# pylint: disable=wrong-import-position
 try:
     from google.appengine.api import app_identity
 except ImportError:
     app_identity = None
-# pylint: enable=wrong-import-position

 _NOW = datetime.datetime.utcnow  # To be replaced by tests.
diff --git a/gcloud/credentials.py b/gcloud/credentials.py
index bfe8926..cd61b7f 100644
--- a/gcloud/credentials.py
+++ b/gcloud/credentials.py
@@ -32,7 +32,6 @@ except ImportError:
     class _GAECreds(object):
         """Dummy class if not in App Engine environment."""

-# pylint: disable=wrong-import-position
 try:
     from google.appengine.api import app_identity
 except ImportError:
@@ -41,7 +40,6 @@ except ImportError:
 from gcloud._helpers import UTC
 from gcloud._helpers import _NOW
 from gcloud._helpers import _microseconds_from_datetime
-# pylint: enable=wrong-import-position

 def get_credentials():

we get the following errors:
C: 36, 4: Import "from google.appengine.api import app_identity" should be placed at the top of the module (wrong-import-position)
C: 40, 0: Import "from gcloud._helpers import UTC" should be placed at the top of the module (wrong-import-position)
C: 41, 0: Import "from gcloud._helpers import _NOW" should be placed at the top of the module (wrong-import-position)
C: 42, 0: Import "from gcloud._helpers import _microseconds_from_datetime" should be placed at the top of the module (wrong-import-position)

Trying to swap the order:
diff --git a/gcloud/_helpers.py b/gcloud/_helpers.py
index b784042..2d44b99 100644
--- a/gcloud/_helpers.py
+++ b/gcloud/_helpers.py
@@ -27,12 +27,10 @@ from six.moves.http_client import HTTPConnection  # pylint: disable=F0401

 from gcloud.environment_vars import PROJECT

-# pylint: disable=wrong-import-position
 try:
     from google.appengine.api import app_identity
 except ImportError:
     app_identity = None
-# pylint: enable=wrong-import-position

 _NOW = datetime.datetime.utcnow  # To be replaced by tests.
diff --git a/gcloud/credentials.py b/gcloud/credentials.py
index bfe8926..11d7227 100644
--- a/gcloud/credentials.py
+++ b/gcloud/credentials.py
@@ -26,23 +26,22 @@ from oauth2client import client
 from oauth2client.client import _get_application_default_credential_from_file
 from oauth2client import crypt
 from oauth2client import service_account
+
+from gcloud._helpers import UTC
+from gcloud._helpers import _NOW
+from gcloud._helpers import _microseconds_from_datetime
+
 try:
     from oauth2client.appengine import AppAssertionCredentials as _GAECreds
 except ImportError:
     class _GAECreds(object):
         """Dummy class if not in App Engine environment."""

-# pylint: disable=wrong-import-position
 try:
     from google.appengine.api import app_identity
 except ImportError:
     app_identity = None

-from gcloud._helpers import UTC
-from gcloud._helpers import _NOW
-from gcloud._helpers import _microseconds_from_datetime
-# pylint: enable=wrong-import-position
-

 def get_credentials():
     """Gets credentials implicitly from the current environment.

we get the following errors
C: 41, 4: Import "from google.appengine.api import app_identity" should be placed at the top of the module (wrong-import-position)
C: 35, 4: external import "from oauth2client.appengine import AppAssertionCredentials as _GAECreds" comes before "from gcloud._helpers import UTC" (wrong-import-order)

Filed: https://bitbucket.org/logilab/pylint/issues/714/
It seems if our except blocks are more vanilla (i.e. don't define a class right then and there) then it is still considered an import.

Also filed: https://bitbucket.org/logilab/pylint/issues/716/


[HOLD for payment 2023-03-21] [ExpensifyHelp] Update style for "Didn't find what you're looking for?" block

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Update the footer block to look something like this:

Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

@marcochavezf Whoops! This issue is 2 days overdue. Let's get this updated quick!

PR Updated

@marcochavezf Eep! 4 days overdue now. Issues have feelings too...

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.83-3 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/15484

If no regressions arise, payment will be issued on 2023-03-21. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

This is an improvement that was raised internally, so no payment or regression tests here.

Already deployed to the help.expensify.com site, closing this out.


fix: module export no longer ignores component type

The value here was always coming back as null, so all modules were exported as components regardless of their type. The materialized view is being generated correctly, so switching to that ensures we export the module correctly. The Region module is fixed with this change.
Closes https://linear.app/system-initiative/issue/BUG-292/region-prop-is-default-to-component-not-frame

bors r+


   1. Fixed issue 'cvc-complex-type.3.2.2: Attribute and customize brokerName

Hi,
'activemq' service doesn't start because of the 'destroyApplicationContextOnStop' on 'broker' element in 'activemq.xml.erb' template. 'activemq' service throws below error in the error log '/opt/apache-activemq-5.9.1/data/activemq.log'.

This issue had been fixed by removing 'destroyApplicationContextOnStop' attribute from the 'broker' element.
'ChefSpec' and 'ServerSpec' tests have been executed and both are successful.
===========ChefSpec=============
activemq::default
Has activemq service enabled?
Start activemq service
Finished in 2.7 seconds
2 examples, 0 failures
ChefSpec Coverage report generated...
Total Resources:   12
Touched Resources: 1
Touch Coverage:    8.33%
==============ServerSpec=============
ActiveMQ server
should be running the activemq server
Finished in 2.19 seconds
1 example, 0 failures
==========================
org.apache.activemq.xbean.XBeanBrokerFactory$1 | WrapperSimpleAppMain
2014-06-26 15:10:36,687 | ERROR | Failed to load: class path resource [activemq.xml], reason: Line 35 in XML document from class path resource [activemq.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 160; cvc-complex-type.3.2.2: Attribute 'destroyApplicationContextOnStop' is not allowed to appear in element 'broker'. | org.apache.activemq.xbean.XBeanBrokerFactory | WrapperSimpleAppMain
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 35 in XML document from class path resource [activemq.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 160; cvc-complex-type.3.2.2: Attribute 'destroyApplicationContextOnStop' is not allowed to appear in element 'broker'.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at
  Thanks.

Vijay B.

@bharghav9 I've updated both ActiveMQ and the default xml config in the master build.  I'm going to close this out for now since I don't think this is still an issue.  Feel free to open it back up if you continue to have problems


Upgrade joda time library and remove joda convert

@gloriousfutureio/scalanauts @rcmurphy
I figure since this is a major change, we might as well upgrade Joda. It doesn't seem to cause any issues with Play (I pulled this snapshot into another app locally to test).

Coverage remained the same at 52.222% when pulling 1b9323aaa12a08899cf711bc73dbd1b7d6019393 on upgrade-joda into 79dda522b7b659f4340bfd84103bc282f0514df3 on branch/2.x.


iOS 15 brings up some new default styles

We stumbled upon an issue with default stylings on iOS 15. Safari renders some components with color: -apple-system-blue;, so we needed to add the following reset declarations:
input:is([type='button'], [type='submit'], [type='reset']),
input[type='file']::file-selector-button,
button,
select {
  color: inherit;
}

Did you came across the same issue and is this a legitimate way to fix this? And if so, is this fix a candidate for a pull request?
Thanks you and best regards!

Adding this to my normalize in https://github.com/garrettw/vitals


Add Note & Links to Gall-Host Mapping Page That Both Host and Gall must Exisit Before Mapping

I think we should add a note on the Add Gallformers page that points users to the Map Galls and Hosts page for this; I just tried to map a new gall to a genus and had to remember that I need to add one host first, then go to the other tool--not something that would be clear to another user.
Originally posted by @Megachile in https://github.com/jeffdc/gallformers/issues/50#issuecomment-775565511

Fixed with https://github.com/jeffdc/gallformers/commit/8aae2b4f8adb3e69930709659d17c240c504056d

This is good but I was actually concerned about the other end, the Add/Edit Gallformers page. Can we add a similar note there? Something like "To associate a gall with all plants in a genus, add one species here first, then go to "Gall-Host Mappings."

Oops, I misunderstood. Will add.


Some context, please?

What namespaces do we need to import? What nuget packages should we reference? What types does the Linq to CosmosDB SQL apply to? Perhaps I'm missing something, but all I see in the examples is "input" with no explanation for what "input" is.

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

ID: 7af26f57-f473-916a-bd4d-0918ef9eefcd
Version Independent ID: b553182a-4d34-96d6-219e-1abbd031c642
Content: LINQ to SQL translation in Azure Cosmos DB
Content Source: articles/cosmos-db/sql-query-linq-to-sql.md
Service: cosmos-db
GitHub Login: @timsander1
Microsoft Alias: tisande

Thank you for the detailed feedback.
This is being assigned to the content author to evaluate and update as appropriate.

Reminder sent to author.

Hi @jbmadscience , thank you so much for your feedback. We are planning to make significant updates to this doc in the next few weeks. While this doc is not meant to be SDK specific, we can add in some useful links which would have answered all your questions.
A lot of your questions are SDK specific so I'm sharing our .NET SDK V3 reference on LINQ queries here: https://docs.microsoft.com/dotnet/api/microsoft.azure.cosmos.container.getitemlinqqueryable?view=azure-dotnet
Also sharing an additional relevant code sample here: https://github.com/Azure/azure-cosmos-dotnet-v3/blob/94d517b69245fd75185d8e364c721cb3fe42da74/Microsoft.Azure.Cosmos/src/Resource/Container/Container.cs#L987

@jbmadscience Please let us know if you have remaining questions, otherwise we will go ahead to close out this issue.

#please-close


/ko/docs/Web/HTML/Inline_elements

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

There is a space missing between 'p' and 'class'.

I've fixed it.
Don't hesitate to click the edit button and fix such typos :) (I can identify typos in code but I cannot intervene for Korean)


[argparse] Upgrade to v2.1

argparse has removed the tag v2.0.1 and switched to a vX.Y scheme.

What does your PR fix?
Building argparse on master fails with "cannot fetch v2.1"

/azp run

argparse doesn't contain any features need to test locally.


Major World Corruption Issue

I have pre-generated a few thousand chunk radius on my server. We have found many fir tree forest mountains and many other biomes. When we started exploring more north, we ran into Birch Forested Hills. The server has been crashing with Exception Ticking World ever since. Can you help me fix this?
Using latest Dynamic Trees and Dynamic Trees for Traverse and Traverse Legacy Continued.
 Now, I have removed sponge and pregen went on without a hitch, but it now has crashed again...

Logs please?

That is if they actually reveal anything different this time...

Ok, i need to do testing and i cant submit atm, but i may have found that BiomeTweaker is breaking them now, be back later or tomorrow

Uploading debug.log…
latest.log
let me see what biome it is we are in

I can’t see any evidence that this is specifically related to DT traverse... Do you mind trying to pregenerate a world with just DT and DT traverse and seeing if it still crashes like this without all the other mods?

I agree, it may be a DT in general (any addons will have same issue because they all use the same base) and I think it may be Recurrent Complex messing with tree gen... I will do more testing by removing all mods from the server except dt and see what happens! Thank you for your time, I will close and relocate to DT issues for documentation purpose!

I FIXED IT. Incompatibility with ThutTech (Thuts Elevators). Not really using thuts mods so I'll just remove them


How to find out the invalid token?

Sometimes the apns connection sends back an error {MsgId, Status} where Status is "invalid_token".  How can I find out the invalid token?
I need to find out the invalid token and remove it when "invalid_token" error happens..
am using 1.0.6-final
Thanks

I found the solution in https://github.com/inaka/apns4erl/issues/116.


Make the homepage less stripey

Consider ways to avoid all the grey stripes on the homepage

Thoughts:
Too many CTA sections, and not varied enough.
The CTA sections are all very similar to each other and with the stripe effect, they lose their impact which is I am sure counterintuitive to the intention.
Some ideas to get around this:

merge sections together for a more cohesive design
implement background images / icons to the right of the section to help distinguish them
switch alignment left and right down the page
combination of all

We also have a hero section without CTA which looks weird

removing as it has been too long and we haven't heard about this from anyone else


Update WPF app walkthrough with extra steps

add extra steps about creating the project and adding pages
added tips about properties window
added a few screenshots
add watermark.png for easy download

@rpetrusha this is ready for review when you get a chance. The link to the watermark.png image currently results in a 404, but I think it's because it's looking in the master branch, and will hopefully work after this is merged:
https://github.com/dotnet/docs/blob/master/docs/framework/wpf/getting-started/media/watermark.png

https://review.docs.microsoft.com/en-us/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application?branch=pr-en-us-4941

@rpetrusha I addressed all your comments. Thanks for the great review!


Feature request(s)

Not sure if these exist, but I haven't seen them yet if so.

Option to hide the search field

The search textbox shows up on the bottom left corner, and there doesn't appear to be a native way to turn that off. It would be nice to add something like showSearchBar="false" to the HTML and have it not show up.

Page size drop-down

Would like to have a built-in page size dropdown (10,25,50,100) that would show up perhaps between the search textbox and the paging control, or on the left if the search textbox is not shown. Not entirely sure of how to implement it yet, but would nice if it could be customized (e.g. 5,10,15,20,25) easily.

you can turn off global filtering and enable filtering on each individual column.
is a good idea and will come in a future release.
For now, just remember that all the config options are data-bindable.

Here is a Plunker that would illustrate both points.

There's an issue when changing the page size. The issue is that the "1-10 displayed" text doesn't get reported correctly on pages 2+ after changing the page size. For example lets say we have 60 items and on the initial page load you have it set to 5 items. It will display 1-5, then click page 2 it displays 6-10. It works how we expect; However, now when we use the dropdown to change the number of items to 10 per page. Page 1 displays 1-10, but page 2 displays 11-60 as the text, when it should display 11-20.
See this plunker for the issue.
After making the plunker I see that the page size jumps randomly. I was using sever side queries when I discovered this, so my pages would at least retain the correct number of items.


fix(pinia-orm): A few Query methods have wrong return type

closes #130

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@7bdcb13). Click here to learn what that means.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master     #131   +/-   ##
=========================================
  Coverage          ?   99.57%
=========================================
  Files             ?       53
  Lines             ?     4430
  Branches          ?      353
=========================================
  Hits              ?     4411
  Misses            ?       19
  Partials          ?        0

Impacted Files
Coverage Δ

packages/pinia-orm/src/query/Query.ts
99.87% <100.00%> (ø)

Continue to review full report at Codecov.

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


make InputAssignable work with isInputRange

It appears I didn't the intent of this pr clear enough. isInputRange trys to call InputAssignable!(T).front with no arguments and fails. This prevents passing InputAssignable!T types to any range function.

Wait a second here.  Why does calling .front with no arguments fail?!  After all, InputAssignable!E inherits from InputRange!E, so it should have inherited the argumentless .front as well.  That it doesn't, contrary to expected class inheritance semantics, seems odd.  Is this a compiler bug?
The proposed fix doesn't seem to be right.  You shouldn't need to declare the argumentless .front twice, once in the base interface, once in the derived interface.  If this is a compiler bug, it needs to be fixed in the compiler, not here.

Update: Turns out this is a deliberate design decision, to prevent method hijacking.
The correct fix is to add an alias:
interface InputAssignable(E) : InputRange!E
{
    @property void front(E e);
    alias front = InputRange!E.front; // overload base interface method
}


Makes Endpoint Mapping Asynchronous

(Relies on the #228 pull request – didn't want the eventual merge conflicts.)
This is just an idea to make the mapping from Endpoint to NSURLRequest asynchronous. This is useful if you need to refresh network credentials (asynchronously) before being able to generate the NSURLRequest with a proper signature.
As discussed in #209, I'm not totally happy with how the cancellation works here, since it relies on state. If anyone has suggestions for a lightweight way to synchronously return a token that can be used to cancel a request that hasn't yet been created, please chime in :notes:
Fixes #209.

OK, no feedback. Gonna merge this into the other feature branch, then resolve conflicts from there.


Remove empty damage values from health analyzer UI

More details on #20343. This is the cleanup part of that PR without the chemical readouts.
Why / Balance

It looks nice. Less useless information to take in at once.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl: Whisper

fix: Removed empty damage values from the analyzer, making it more clean.

What if it looked like this?
Health Report:
For Urist McHands
At 9:00 AM

Body Status:
Temperature is 36.3 C
Blood Volume is 100%
Damage: 200

Damage | Source:
120    | Physical damage from Blunt(60), and Piercing(60)
 60    | Skin damage from Heat(60)
 20    | Brain damage from Asphyxiation(20)

maybe it interest you
https://github.com/space-wizards/space-station-14/pull/17280


Koler

Koler
Phone & SMS
Uniquely stylized phone app with customizable features.
https://github.com/Chooloo/koler
https://apt.izzysoft.de/fdroid/repo/com.chooloo.www.koler
Link repository

thanks for the suggestion!


Need the stream-manager(stmgr) memory usage metrics.

#1908
Container oom-killer

stmgr is C++ code. We may need a memory management library that can return the total used ram.

Could something like this be useful?
https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process


dwc:month definition not rigorously correct.

Currently, the definition says, "The ordinal month in which the Event occurred." Ordinal means, for example ('1st', '2nd', etc.). That is not the intent, nor is it how anyone is populating the field. The definition should be, "The integer month on which the Event occurred." This definition would match the patter used for dwc:day. As this is not functionally a semantic change and would have no impact on published data, I would consider it an erratum that can be fixed without community vetting.

Ok for me.

Agreed

There seems general agreement that this issue can be fixed, but it has not been implemented. What needs to be done to get this changed. Do we need further approval of the DwC Maintenance Group or can we just fix it?

Looking at Section 3.2 on Errata in the VMS, I think in this case falls into the category where the maintenance group should make the change and send an email to TDWG-CONTENT informing the community of the change.  @tucotuco @peterdesmet and I are in agreement and are core members of the maintenance group.  Others are presumably watching the repo and have not spoken up.  So I would take that to be consensus of the maintenance group.
The only question is whether there are other changes that should be bundled with this one, since it will trigger a new version of the term, term list, and vocabulary.  If so, we'd want to update the version records for all of the changes at once.
The last version I have for DwC is 2015-03-27.  Have there been any other version-triggering changes since then?  If so they should probably all be recorded in a new version release.

Fixed in 2020-08-12 version of DwC


Home/End keys goes to beginning/end of line only

If I want to navigate quickly at the top or bottom of my document, I can't use home or end keys, because they seem to only move within 1 line. I have to type multiple pageUps or pageDowns to achieve the expected result.
This happens on Mac in Version 1.2 édition 1.2.0-15697 (release 8f82e2a97)
Horodatage de la version : Sun Feb 22 2015 22:34:50 GMT-0800

You can use CTRL+Home/End to jump to top/bottom of the document.

Closing as brackets already have uniform shortcuts across platforms to scroll to start and end of page.


Linter

[ ] Add dscanner - Link
[ ] Local config for the linter

Maybe instead clone DCD to support finding non existent symbols?


Possibility to check if the image has transparency

Is your feature request related to a problem? Please describe.
I would like to be able to decide if I want to generate jpg files when the source file is a png with transparency. The files generated in this way are unlikely to be of any use due to the generated background color. Summary: I would like to generate additional jpg, but only when the image has no transparency elements
Describe the solution you'd like
Additional information, e.g. property of the object like transparency: true/false
Does other service/app have this feature?
I do not know
Additional context

Edit: This can be easily solved with fs.


CallFailedException in websub-inernal-hub sample

Environment
ballerina-platform-0.970.0-beta4.zip (2018/04/20)
ORACLE jdk 1.8.0_121
Description:
Run the below command to execute the sample
./ballerina run /home/shanika/WSO2/ballerina-cmd4-BBEx/ballerina-examples/examples/websub-internal-hub-sample/publisher.bal
Observed below error
2018-04-20 12:46:04,236 INFO  [] - Starting up the Ballerina Hub Service
error: ballerina.runtime:CallFailedException, message: call failed
at .:main(publisher.bal:10)
caused by error, message: native function not available ballerina.sql:SQLClient.call
at ballerina.websub:startUpHubService()

This is working now. Please have a look


Fix for #28 just broke MinLength

This should not fail, and it never used to, but now it does.
The hashid with min length 20 fails to decode the encoded string of length 30.
func TestHashids(t *testing.T) {

	// MinLength 30
	hData30 := hashids.NewData()
	hData30.Salt = "blarg123"
	hData30.MinLength = 30
	h30, err := hashids.NewWithData(hData30)
	if err != nil {
		t.Error(err)
	}

	encoded30, err := h30.EncodeInt64([]int64{4})
	if err != nil {
		t.Error(err)
	}
	decoded30, err := h30.DecodeInt64WithError(encoded30)
	if err != nil {
		t.Error(err)
	}
	if len(decoded30) != 1 || decoded30[0] != []int64{4}[0] {
		t.Error("Expected: ", []int64{4}, "; Got: ", decoded30)
	}

	// Same hashid, but minLength 20
	hData20 := hashids.NewData()
	hData20.Salt = "blarg123"
	hData20.MinLength = 20
	h20, err := hashids.NewWithData(hData20)
	if err != nil {
		t.Error(err)
	}

	// Should still be able to decode, as the only change is MinLength
	decoded20, err := h20.DecodeInt64WithError(encoded30)
	if err != nil {
		t.Error(err)
	}
	if len(decoded20) != 1 || decoded20[0] != []int64{4}[0] {
		t.Error("Expected: ", []int64{4}, "; Got: ", decoded20)
	}
}

Do you have JSFiddle that shows that it works there? You can edit the demo from the official site : https://codepen.io/ivanakimov/pen/bNmExm
A PR would be very welcome as I don't have much time to work on it, the code isn't too complicated to understand there are reference implementations to check.

https://codepen.io/anon/pen/zzNrOp suggests that with the JS one, this behavior doesn't exist / Decoding with a minlength 4 an id encoded with a minlength 8 doesn't work

Interesting. Well then, MinLength is very poorly named...

So... the JS version does the as the Go version for this case? Should I close this?


Download links cause Google Chrome to alert about deception

Tried to download Etcher for OSX and received the following alert from Google Chrome.

Could you provide the exact version & link of the one that caused this to display?

@jhermsmeier @jviotti @craig-mulligan
Yikes! I'm seeing exactly the same error (in Google Chrome Version 59.0.3071.11) for any of the download links near the bottom of https://etcher.io/ :-(  Looks like Chrome is being a bit over-zealous?

I'm also seeing it with Chrome Canary, but not in Chromium. I've reported it as false positive now, sadly not much more we can do about it, I think. And I can't help but wonder who reported GitHub's release assets as phishing...

Checking the domain that triggers the warning: https://www.google.com/transparencyreport/safebrowsing/diagnostic/#url=https://github-production-release-asset-2e65be.s3.amazonaws.com

Should be resolved now.


Generated code is missing fields in generated inputs

Describe the bug
The code generated API.ts (specifically the inputs) are missing/dropping fields
Amplify CLI Version
4.21.1
To Reproduce
Run amplify add api (graphql, apikey, annotated graphql schema (see below), all others defaults)
Run amplify mock api (typescript, statement depth 4, all others defaults)
Then if you check src/graphql/mutations.ts createDraftState, its input is CreateDraftStateInput
CreateDraftStateInput is defined in amplify/backend/api/[API NAME]/build/schema.graphql
Which uses DraftedPlayerInput, but is missing draftee field... as well as other inputs missing fields

DraftedPlayerInput is missing draftee field
DraftedPlayerSelectionInput is missing selectedBy field
DraftedTeamInput is missing draftTeam, sponsor, toBeSlotted fields
and most other inputs that have custom types are missing fields

Expected behavior
I would expect those generated inputs to include all the fields that are in the schema
Screenshots
none
Desktop (please complete the following information):

OS: Mac
Node Version: v12.18.0

Additional context
annotated graphql schema:
type Draftee @model {
id: ID!
key: String!
position: String!
rating: String!
sponsor: Boolean!
coach: Boolean!
linked: String
line: Int!
}
type DraftTeam @model {
id: ID!
key: String!
coach: String!
}
type DraftStateSelection {
pick: Int
selection: Draftee
selectedBy: DraftTeam
}
type DraftedPlayerSelection {
pick: Int!
selectedBy: DraftTeam!
}
type DraftedPlayer {
draftee: Draftee!
selected: DraftedPlayerSelection
teamKeyAvailability: [String!]!
}
type DraftedTeamSelection {
pick: Int!
selection: Draftee!
}
type DraftedTeam {
draftTeam: DraftTeam!
sponsor: Draftee
selected: [DraftedTeamSelection!]
toBeSlotted: [Draftee!]
}
type DraftState @model @key(fields: ["id", "pick"]) {
id: ID!
pick: Int!
previousSelection: DraftStateSelection
draftedPlayers: [DraftedPlayer!]!
draftedTeams: [DraftedTeam!]!
}

@dkhunt27 the issue you're seeing is by-design as you are modeling connections between @model and non-model type which is not supported for nested types. @model only supported on top-level types as they're persisted as separate entities in their own storage.
If DraftedPlayer would have a model its generated input type would still not have a draftee property but an id field that references the other side of the @connection. I think that your DrafeState type is a many-to-many connection type between teams and players, look at the documentation about how to model this kind of connection: https://docs.amplify.aws/cli/graphql-transformer/directives#connection
It is a modeling problem not a code problem in this case, but I bring this scenario to the team and get back if we've something to share about this particular scenario.
I'm closing the issue, feel free to reopen it if something new comes up or open a new issue.
With the modeling question I'd suggest to visit our discord community where community members can help you better.

@attilah thanks for the feedback


kalosm-sound 0.3.4 not compiling: Clone missing for Device

Problem
kalosm-sound not compiling: Clone missing for Device
Steps To Reproduce
New crate with kalosm 0.3.2, "sound" feature.
Tried to compile the transcribe example, got this error from kalosm-sound-0.3.4\src\source\mic.rs:67:48
Environment:

Crate version: 0.3.2 (also tried 0.3.0)
Rust version: 1.80.1
OS info: Windows 11 (side note: could be nice to indicate clang as requirement for windows in the documentation/readme, which is painful to install on windows)

Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

I'm guessing you are pulling in a older version of cpal somewhere in your dependencies I think https://github.com/floneum/floneum/pull/263 will fix this issue, but it would be great if you could confirm. Newer versions of cpal implement Clone for Device, but older versions do not

Hi Evan,
Thank you for the fix. I'm not sure whether it could be related to my deps, at least I have no other deps but tokio and kalosm.
kalosm = { git = "https://github.com/floneum/floneum", branch = "main", features="sound" }
You merged it so I directly tried on main and got this conflict with cpal:

Hmm, I can't reproduce that issue with kalosm and tokio added as dependencies. Here is my attempt. Could you try to create a reproduction in a public repo?

My bad, a Cargo.lock removal did the tick, issue's gone.


Selection should not be visible during mouse interaction mode

Steps to reproduce:
npm install -g slap
slap /path/to/somefile
# use the mouse to select some text
# notice that a blue selection marker appears via xterm.js
# but other terminals use slap's built-in selection mechanism

Thanks for reporting @dbkaplun. This should be partially fixed by now after #148.
The current issue is that you get both slap's selection and the native one. I guess we should disable text selection, when term.applicationCursor is true.

Fixed in https://github.com/sourcelair/xterm.js/pull/670


[Subtask] [flink-connector] Support database operation DDL for paimon-catalog

Describe the subtask
Support database operation DDL for paimon-catalog
Parent issue
#1354

Can it be assigned to me? Our company is in need of it.

Assigned. @hdygxsj Thanks for your effort.


Begin to use text macros

This is a draft work on text macros. English pronouns macros are implemented and work, but I am not happy with some design, but I need some help figuring how to do better:

Hard-coded english macro in EntryPoint
HumanoidAppearanceComponent is in charge of giving the gender of the person.
Some other flaws mentioned in the engine pull request.

Needs engine update.

To avoid hard-coded list of text macros, we could for example use a register attribute, as RegisterComponent.
For example:
// Compatible language as a parameter.
// No language might mean "compatible with all languages", for instance a "name" macro.
[RegisterTextMacro("en")]
public class They : ITextMacro {
    // ...
}

or alternatively:
// Name of the macro as parameter
[RegisterTextMacro("en.They")]
public class They : ITextMacro {
    // ...
}

then, in a dedicated YAML file, let's say Locale/en/macros.yml
- Name
- en.They
- en.Their
# ...

Can't the macros just go through the localization system again so they do `Loc.GetString("he")

Well, all the languages don't need the same macros.
For example, in French we have "my" which has multiple variants depending on the number and gender of the following nouns. So having a "my" macro in English doesn't make sens, while it does in French.


Force receive_message_wait_time_seconds to be int

Fixes https://github.com/spulec/moto/issues/1762
When a queue is created with the ReceiveMessageWaitTimeSeconds
attribute the value is never converted to an integer. When the
ReceiveMessage action is called it tries to compare the string
ReceiveMessageWaitTimeSeconds with the min and max wait times which
raises a TypeError.
The solution is to convert this value to an integer before comparing.

Coverage increased (+0.08%) to 92.236% when pulling 9d1c66531070774be508f17f8d8dd12429fed2e9 on nate:fix/receive_message_wait_time_seconds into 42d486f9b056e001e31d9212c06063422a86be35 on spulec:master.

How can coverage be decreased when I added a test and the test covers my change??

Thanks!