Add hard clamping

Codecov Report

Merging #62 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #62   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           8      8
  Lines         675    718   +43
=====================================
+ Hits          675    718   +43

Impacted Files
Coverage Δ

leabra7/layer.py
100% <100%> (ø)
:arrow_up:

leabra7/unit.py
100% <100%> (ø)
:arrow_up:

leabra7/net.py
100% <100%> (ø)
:arrow_up:

leabra7/specs.py
100% <100%> (ø)
:arrow_up:

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 63a4785...a2624b8. Read the comment docs.


Some questions about ABM processing in the GSC module

Thanks for sharing the GSC processing code!  There are existing some code in the "dios_ssp_gsc_abm.c" that make me confusing.
line 338 in the function "dios_ssp_gsc_gscabm_processonedatablock"
/* compute error signal in time-domain with circular convolution constraint e = [0 | new] */
for (i = 0; i < gscabm->fftsize / 2; i++)
{
gscabm->e[gscabm->fftsize / 2 + i] = gscabm->xrefdline[i] - gscabm->ytmp[gscabm->fftsize / 2 + i];
}
The code is checked carefully and it is found that
"gscabm->e" is the output for the ABM module. "gscabm->xrefdline" is from the output of fixed beamforming output, "gscabm->ytmp" is from the ABM filter output with the input from the steering output.
However , I think that  "gscabm->xrefdline" should be from the steering output, and "gscabm->ytmp" should be from the ABM filter output with the input from the fixed beamforming output.  Maybe I got it wrong, and please help me to understand it. The reference paper is "A robust adaptive beamformer for microphone arrays with a blocking matrix using constrained adaptive filters"
Thanks very much!

I guess you mean 'steering output' by each sensor channel. So yes, as you think, 'gscabm->xrefdline' should be each microphone signal, and 'gscabm->ytmp' is the filtered result from the output of FBF. We find it also works in the opposite way.
I recall that we have tested both ways, and found the results hardly make any difference in output SNR. We choose this ABM because it leads to a little lower WER in An ASR dataset.

Thanks for sharing these technical details of the algorithm, and it is interesting.  I have another question, as far as I know, GSC is not very effective for non-coherence noise, so a post-filter is usually needed. However, there are no post-filter founded in the whole process. So I guess the following NS module  will remove the non-coherence noise, or the post-filter will lead to lower WER? So is my guess right?

NS is an option for post-filtering, with limited effect. For ASR mode, we prefer to use a light-NS, say MCRA, to remove SOME noise with hardly speech distortion and to add noise to the training set. For communication mode, NN-based noise suppression leads to higher output SNR. It will be submitted soon.

Thanks!


Set up the Microsoft Defender for Endpoint on macOS policies in Jamf Pro: Step 2.2

First, thank you for the detailed documentation.
For Set up the Microsoft Defender for Endpoint on macOS policies in Jamf Pro: Step 2.2, please consider changing …

In the Jamf Pro dashboard, select New.

… to:

Login to Jamf Pro and navigate to: Computers > Configuration Profiles and click New.

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

ID: f3a947a2-093c-0f4e-7053-c30112d1cee1
Version Independent ID: 12fbc5ca-2b24-6717-ac98-331f0bba5278
Content: Set up the Microsoft Defender for Endpoint on macOS policies in Jamf Pro
Content Source: microsoft-365/security/defender-endpoint/mac-jamfpro-policies.md
Product: m365-security
Technology: mde
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@dan-snelson Thank you for the feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/6979
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @dan-snelson Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


swipeable area

Hello.
Is it possible to specify the height of the swipeable area to close modals?

At the moment is it not, but PRs are welcome to support this feature :)

up


Matching parcellations to individual donor brains

The issue
We're currently assuming that any parcellations provided to abagen.get_expression_data() are in MNI space (cf. #50), and we're using the MNI-transformed coordinates of all the tissue samples to match them to parcels. This assumes that (1) the parcellations are well-defined in MNI space and (2) the native-to-MNI transformations for each of the donor brains is accurate. While we are using updated coordinates for the latter (see corrected_mni), there is still a possibility for improvements.
Proposed solution
Ideally there would be an easy way to apply parcellations to each individual donor brain in their native space, rather than having to work from a common (i.e., MNI) space. It seems as though other groups have aligned the donor brains to fsaverage/MNI-space and then back-projected parcellations, or applied FreeSurfer-style probabilistic parcellations to the individual brains.
As is, I consider how to move forward from here an open question. I think that continuing to use MNI space for now is probably a good bet, but providing some functionality for users interested in doing more would be beneficial.

One option here that might simplify things a bit is to leave the matching of parcellations to the native space of individual donors up to the user. We can simply allow people to provide a dictionary to the atlas parameter of abagen.get_expression_data():
import abagen
atlas = {
    '9861': '/path/to/atlas_9861.nii.gz',
    '10021': '/path/to/atlas_10021.nii.gz'
}
expression = abagen.get_expression_data(atlas=atlas)

We could then fetch the donors specified by atlas.keys() and just ensure we're using the native coordinates rather than the MNI coordinates when we match tissue samples to brain regions.
In the future it might be nice to have some helping functionality for transforming to native space, but that's a huge bag of worms so it might be best to avoid it for now, as much as possible... 🤷♂

I have thought about segmenting the original donor brains with some kind of tool. I think it is a better choice. MAGeT might help here, happy to help out.


OpenVPN Server confuration: reneg-sec option suffixed with semicolon

Version: 17.1.5 and before
When saving the OpenVPN server config file and using a non default value for the reneg-sec option, there is a semicolon appended.

However, since everything works as expected this seems to be just cosmetic.

#1559

via /2a2222a7a4b


Add a testplugin to test the registry system

Started as fixing a few exceptions and ended up going down the rabbit hole of what currently is the registry system.
The plugin is used to uncover the madness, use with caution.

https://github.com/SpongePowered/Sponge/issues/3328


Labels should not be colored, so as not to mistake them with buttons

I'll do this manually to have imports correctly updated. moon replace does that!


Combobox dropdown has no items, despite items being actually presented

I have following XAML code in my MainWindow.xaml:
<ComboBox SelectedIndex="0">
    <ComboBoxItem>Item 1</ComboBoxItem>
    <ComboBoxItem>Item 2</ComboBoxItem>
    <ComboBoxItem>Item 3</ComboBoxItem>
    <ComboBoxItem>Item 4</ComboBoxItem>
    <ComboBoxItem>Item 5</ComboBoxItem>
</ComboBox>

And a dark fluent theme in App.xaml:
<Application.Styles>
    <FluentTheme Mode="Dark"/>
</Application.Styles>

And when application is running, combobox's dropdown has no items inside of it:

Despite that, when combobox is in focus, i can still use keyboard arrows to navigate through items, meaning they are presented in control.

I expected items being presented inside dropdown.

OS: Windows 10.0 build 19045
Version: 0.10.18

I have more context, when ComboBox's property IsDropDownOpen is set to true, for some reason item presenter has property IsVisible set to false. Setting it manually to true fixes things

Can you please prepare a minimal sample app showing your issue? I really think there must be a custom style or whatever that does this. It's not a known issue. And I'm sure if that's by default, someone would have complained already.

A minimal sample would still be useful. That way we can check if there's anything else we can do. For now I'll move this issue into the discussion section as I think it's not a bug in Avalonia itself.

@timunie
Absolutely. It's this project at this commit where i opened the issue and made screenshots.
https://github.com/Sweet-Devs/SweetSaber/tree/2ba50506978a15eafeaba20387e4595b9095d352.
repo is built from vs, so there shouldn't be any problem setting it up. But if anything happens i'd like to help setting it up

@timunie false alarm, yes, this was a fault in our project. This ComboBox was inside of a TabControl which has following styles:
<TabControl.Styles>
    <Style Selector="ItemsPresenter#PART_ItemsPresenter">
        <Setter Property="IsVisible" Value="False"/>
    </Style>
</TabControl.Styles>

So the default header would not be visible.
And the style selector affected nested control.
We (me in particular) to notice that, sorry for that :(


Assertion tagName tries to shallowrender the given component

When using the following assertion:
expect(wrapper.children().at(1)).to.have.tagName('td');

I get a error because on of the props of the child of the wrapper at 1 is undefined.
If I remove the tagName assertion and just leave this one:
 expect(wrapper.children().at(1)).to.have.prop('className', 'action');

The error is gone. So there is a discrepancy between how to.have.prop and to.have.tagName do their assertions.

@marcodejongh that's sadly correct.
for various reasons, we had to implement it this way initially and we decided to release with it (it's not a 1.0 release, so didn't bother me too much).
we should fix this as soon as we can. if you would like to submit a pr it will be very welcome!

Could you make sure that you assign issues that you're picking up? I have 20% time tomorrow so I intend to fix all issues raised by me. I went ahead with making these issues to get some discussion going about them

@marcodejongh i just added you as a collaborator to the project. me and the rest of the team are super thankful to all people who are willing to contribute to our projects, so this is our way to say "thank you".
feel free to assign yourself to whatever you would like to tackle. i'd personally love another person start digging inside the project, as i'm sure that you'll be able to find more issues and potential improvements that we could introduce.

Sorry guys, any update on this one?


flutter-gold test is taking up to 50 minutes to complete.

The flutter-gold test is taking up to 50 minutes to complete and holding up merging for up to 2 hours.
See this issue: https://github.com/flutter/engine/pull/36431
appengine logs: https://pantheon.corp.google.com/logs/query;query=resource.type%3D"gae_app"
resource.labels.module_id%3D"auto-submit"
-"_check"
-"Health"
"36431";timeRange=2022-09-25T03:14:39.260Z%2F2022-09-27T01:01:20.187000001Z;summaryFields=:false:32:beginning;cursorTimestamp=2022-09-27T01:01:20.187Z?serviceId=auto-submit&project=flutter-dashboard

Is there a heatmap for where it is spending most time on?

I do not believe so. Not that I have seen.

Updating since it's been almost two weeks - Is this still occurring?

Closing as not an issue. I looked through the logs at the most commits and it is taking anywhere from 42 minutes to 50 minutes for this test to run.

For some more information on the flutter-gold test itself:
There is a cron job that runs every 5 minutes to see if all other checks are complete, and when they are, it just makes a request to the Gold server to get a yes-or-no if images passed, and then it makes the check green.


Missing link to download PluginRegistration.exe

Missing link to download PluginRegistration.exe

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

ID: ccfeadcb-8074-d9de-125a-7353b1597774
Version Independent ID: 0d857c7c-b943-7d38-b65c-1cb7b71d2cb2
Content: Tutorial: Write and register a plug-in (Common Data Service) - Power Apps
Content Source: powerapps-docs/developer/common-data-service/tutorial-write-plug-in.md
Service: powerapps
GitHub Login: @JimDaly
Microsoft Alias: jdaly

IN the PreRequisites:

Information about downloading the Plug-in registration tool is at : Download tools from NuGet. That topic includes instructions to use a PowerShell script to download the latest tools from NuGet.


Upgrade lolex with async versions of all timer-executing calls

Summary
This pull request adds tickAsync(), nextAsync(), runAllAsync(), runToLastAsync() to parallel the existing synchronous calls. These new calls all return promises that resolve with what the synchronous call would have resolved with or reject with whatever error the synchronous call would have thrown.
This pull request obviously requires feedback from the core lolex team, so I'm  happy to make any changes that might come up.
Goal
The goal of these functions is to provide those writing tests with tools to test code that uses promises without having to work around the fact that lolex executes all timers synchronously in a row.
Example
Consider these timers:
var result: = null;
setTimeout(async function () {
    result = await Promise.resolve(50);
}, 1000);
setTimeout(function () {
    assert(result === 50);
}, 2000);

Under normal circumstances, the promise callback would be executed immediately once the first timer is done executing, giving the second timer access to result. The order would be:
1) timeoutCallback1
2) promiseCallback
3) timeoutCallback2

However when using lolex to simulate time with:
clock.tick(2000);

causes the callbacks to be called in this order:
1) timeoutCallback1
2) timeoutCallback2
3) (synchronous return to test context and subsequent assertions)
4) promiseCallback

With these new async functions, you would simulate time with:
await clock.tickAsync(2000);

which would cause the callbacks to be called in this order:
1) timeoutCallback1
2) promiseCallback
3) timeoutCallback2
4) (asynchronous return to test context and subsequent assertions)

This
a) properly simulates the js engine's event loop when promises are involved, and
b) allows assertions to be checked after the promise returned by clock.*Async() has settled.
Implementation details:
These calls rely on the native setImmediate() and semi-rely on the behavior of the js engine to execute asynchronous callbacks in this order:
process.nextTick -> promise callbacks -> set* timers

Considerations

I have tick() and tickAsync() proxying to a doTick() so that they can share code, since tick() was the largest of the current calls. If it's preferable to separate them, I'll be happy to do that.

Right now you can surround tick() with a try/catch in order to catch any errors that the timers might throw. If one is thrown, tick() will rethrow the first thrown after all timer callbacks are executed. Users of tickAsync() might also think this would catch any errors that a promise might throw, especially if the error is unhandled by user code. However, this would not be the case (and cannot be since we let the system event loop execute the promise callbacks). I don't think there's any workaround to this, other than to just know it exists and to add it to the documentation. The user will have to test for errors directly using the promise that rejected with it.

Above, I mentioned that it semi-relies on that order. When using native promises, if that order is used by the js engine, then all promise callbacks created from a timer and any promise callbacks that get queue from those callbacks (etc for all nested callbacks) will be fully executed before the next timer is called by lolex. This obviously relies on the js engine executing promise callbacks until none are available before calling any set* timer callbacks. If the user is using a promise polyfill that relies on setImmediate, however, then it will not possible to execute all callbacks, because lolex must push a callback onto the set* timer stack before giving up control to let the js engine process any pending promise callbacks. If those promise callbacks create more promise callbacks, then they will be after the lolex callback in the queue and thus not possible to execute reliably.

I have if statements surrounding all async code. The if statement is checking for the presence of global.Promise. However, these methods don't have to rely on promises. They could just as easily accept a callback and return nothing. The theoretical callback-based async methods could then just be wrapped in a promisify call for users that want to use them as promises.
I don't know how much this makes sense though, since these new async calls were created specifically to handle promises created in a timer, and they don't work as reliably for async code that uses the setImmediate family.
If a user is testing code in an environment without native promises and they are using callbacks, they are testing code that either
a) is not strictly async (does everything in the same event tick)
b) uses process.nextTick or setImmediate/setTimeout or
c) relies on native async calls like fs.open().
As I mentioned, these methods can't reliably handle the setImmediate family and any code relying on engine-level async code wouldn't really be able to use lolex anyways.
Therefore the only situation that a callback version makes sense would be in an environment where there aren't native promises and the user is testing asynchronous code that relies on process.nextTick. I don't know how common this is so I don't know if it's worth pursuing. I'm also of the opinion that new code should be using promises wherever possible, but I know this is a library so I'll let you as the core team decide if there should be a callback version.

(Side note: I've included my other pull request's commit with this one so there won't be a merge conflict later since they're modifying the same code. If that pull request ends up being rejected, I'll remove that code from this one)

Wow, quite a bit of work. There is also the recent PR #102 that deals with asynchronicity. Would you have a chance to see if the two overlap?

Sure thing. The 2 PRs can both solve certain specific use-cases, but their main goals are different. This PR is aimed at being a companion to native promises. #102 (shouldAdvanceTime) is aimed at contexts where the user wants to change time, but not control it (though still have the option to control it. #85 explains it as "Time travel without freezing."
Use case where they could overlap
The shouldAdvanceTime PR allows promises to resolve by using a native setTimeout callback, but you'd have to be very careful to not allow multiple promises from different sources to resolve at the same time or to be dependent on an earlier one executing. To use the example from above, shouldAdvanceTime would not handle this situation:
var result: = null;
setTimeout(async function () {
    result = await Promise.resolve(50);
}, 1000);
setTimeout(function () {
    assert(result === 50);
}, 2000);
clock.tick(2000);

clock.tick() would still execute both setTimeout callbacks synchronously, at which point the assertion would fail, even though 20ms later the promise callback would be executed by shouldAdvanceTime's tick. If you put the assertion after result is set in the first callback, then it should work fine with shouldAdvanceTime, although each test would take an additional 20ms to complete.
Case for #102 shouldAdvanceTime
The main use-case that I can see for this is in contexts where calling an explicit clock.tick() would be hard (#85 gives an example). Setting shouldAdvanceTime allows time to flow semi-normally but still gives you the freedom to the mock the system clock and manually advance time. (semi-normally because everything is batched every 20ms or TIME_TICK)
Case for #105 clock.*Async()
The main use-case for this is any time both setTimeout (& family) and promises are involved. Using these methods assures the user that all callbacks will be called in the same order that they would have if it was being handled by the system event loop and allows you to asynchronously know when all callbacks are done executing and if any of the setTimeout callbacks threw an error.
Conclusion
I think they both have their place and solve different problems.
If #102 is being merged after #105, then I would recommend the clock.tick(TIME_TICK) @ lolex-src.js:404 be changed to clock.tickAsync(TIME_TICK). Since there is no need for the results to come back synchronously, the tickAsync() will allow callbacks to be executed in the right order that would otherwise not (minimum condition for failure: 2 setTimeouts and a promise callback)

In terms of naming, I think ideally lolex would use tick for the async version and tickSync for the synchronous version to mimic node and others. Since tick was already synchronous, I didn't want to presume any backwards-incompatible changes. If you are willing to have breaking changes, I would suggest deprecating tick for this version and adding tickAsync and tickSync. Then in the next major release, deprecating tickAsync, and making tick be the asynchronous version. This would leave tick and tickSync moving forward but would give people a migration path and the ability to convert to the async version immediately.
Also, I've thought of 1 more caveat/consideration that I'll add above. Right now you can surround tick with a try/catch in order to catch any errors, of which catch will rethrow the first thrown after all callbacks are executed. Users of tickAsync might also think this would catch errors that any Promises throw, especially unhandled errors. However, this would not be the case (and cannot be since we let the system event loop execute the promise callbacks). I don't think there's any workaround to this, other than to just know it exists and to add it to the documentation.

Related: sinonjs/sinon#738, sinonjs/sinon#1120, sinonjs/sinon#1397
Possibly related: #69

I have a different approach (keeping it all synchronous) - what do you think about https://github.com/sinonjs/lolex/issues/114 @kylefleming ?

process.nextTick -> promise callbacks -> set* timers

I can guarantee we will keep this order in NodeJS - but as someone who worked on promise integration in platforms (a little bit) not all browsers do this - and not all promise libraries. For example the most popular promise libraries (Bluebird and Q) do not do this but instead schedule promise resolution as a macrotick and not a microtick.

@fatso83 I've been digging around trying to find the best solution that will work with the most platforms and user supplied Promise libraries. I have a few questions for you:

Which node/browser versions is lolex targeting?
I think if we do use a polyfill that it shouldn't touch the global environment or it risks contaminating the code it was meant to test. Do you agree?
Do you prefer a polyfill as an npm dependency or inlined into the code? The reason to inline it would be that we would cut out parts we didn't need. Browserify's timers polyfill doesn't work for us, so require("timers") isn't an option, unless we supply browserify with a different library. YuzuJS/setImmediate works but might need modifications (it modifies global and it includes code that isn't helpful to us)
Do you want me to include any 3rd party promise libraries as devDependencies in order to test how lolex interacts with them? This would be especially helpful with testing platforms without native promises otherwise we won't be able to test the new functions on them at all. If so we would be able to certify that lolex executes callbacks properly for those libraries. The main one I'm thinking of is Bluebird, but others could be included in this testing.
Would it make sense to add a configuration option to allow users to specify a custom promise library that lolex should return? (library side, not testing side)

Thanks for the detailed list, @kylefleming. This is a biggie best left for the big boys. @mroderick and @mantoni, want to chime in? :blush: I'll try to address this to the best of my knowledge, but some bits are in murky waters.

I don't think this has been addressed, but I would assume we would be targetting the same set of browsers and engines as Sinon does. And since Sinon went pretty much "evergreen" in version 2, I guess it would make sense if lolex did too, as its main job is to support Sinon. And we are just on a new major version, so it would make sense to do a clean cut here and state this explicitly.
Absolutely agree
Inlined seems fine, although maintaining a custom version is never hot, it might be necessary.
This is basically integration testing. Custom test runs might be necessary, and I wouldn't mind them as devDependencies, as long as they are not included in the build.
I think this makes sense. Sinon got support for using a custom promise implementation in version 2 (when using the stub.resolves() feature), so it would be in line with that. On the other hand, a lot of code that is dealing with Promises, in a lib that is basically just about timers, might be a bit on the side.

My two cents.

I think if we do use a polyfill that it shouldn't touch the global environment or it risks contaminating the code it was meant to test. Do you agree?

Unless you explicitly install I agree.

The main one I'm thinking of is Bluebird, but others could be included in this testing.

If bluebird doesn't work with lolex (in terms of scheduling, it's supposed to) please let me know and I'll fix it on the bluebird side. We support swapping the scheduler anyway.

@kylefleming still, wouldn't it be better to make everything synchronous instead and not have promises defer to the nextTick queue in tests (so we can flush the queue before the end of the test and run assertions?).
Now that we have a process.nextTick implementation support (effectively meaning microtick semantics) we can probably do something like: process._setPromiseScheduler(function(fn) { enqueueJob({fn: fn, ...}); })
And run things one after the other synchronously since we have all the hooks.
Of course, this means we have to write process._setPromiseScheduler first - I want to know if there is interest first.

process.nextTick -> promise callbacks -> set* timers

I can guarantee we will keep this order in NodeJS

That's good to hear.

@kylefleming still, wouldn't it be better to make everything synchronous instead and not have promises defer to the nextTick queue in tests (so we can flush the queue before the end of the test and run assertions?).

For controlled setups, yes definitely.
I can imagine lolex having a clock.promiseScheduler such that you could call bluebird.setScheduler(clock.promiseScheduler)(with or without doing lolex.install first). This would also allow testing of any promise library that supports a custom scheduler. Since this would be meant to allow synchronous resolution, I would imagine that you would use the current synchronous .tick() methods.

Now that we have a process.nextTick implementation support (effectively meaning microtick semantics) we can probably do something like: process._setPromiseScheduler(function(fn) { enqueueJob({fn: fn, ...}); })

Would this be something that bluebird and other promise libraries would implement as a sort of unofficial standard where lolex would look for the existence of this method and call if it exists as a way of making lolex.install more automated?
Independent of implementation, I do agree that for synchronous resolution of user code with promises, the current situation isn't ideal (setting clock.setImmediate as the bluebird scheduler could still create situations where things resolve out of order.)

Native promises seem a bit trickier though. Setting a custom scheduler works for third party libraries that support it, but short of changing the native promise implementation in some way (either swapping for a library, or monkey patching the Promise prototype), I don't think there's any way lolex can resolve them synchronously.
You could make an argument that since lolex.install is mocking things related to time, it could also be within its purview to mock anything related to asynchronicity. I would leave up to the maintainers of lolex to decide though.
If we do go that route, I'm not actually sure you could do it without going all the way and swapping the whole promise implementation with another one (unless you know of a way?).

Given the discussion so far, giving lolex a promise microtask queue and hooking that into promise libraries' schedulers definitely makes the most sense for people using those libraries.
For native promises, I'm not sure if it's better to stub the global promise prototype or to let the event system handle it by abusing the system task queues (ala this PR). I think swapping out promise implementations is a fairly common thing to do, so it's not likely to be an issue. It does make the user's test code 1 more step removed from their production code since it would not only replace when the promise is resolved, but would also replace the implementation of how it's resolved. On the other hand, the async method would keep it closer to the production code and would be able to handle promise implementations that don't allow custom schedulers, but would be slower (quite a bit slower on some systems).
Personally, for my current need, I'd prefer the async approach since it would keep native promises intact and since I'm only testing on node, it's fast enough. Either approach would be suitable though (the only thing I don't want to do is swap in another promise library across my whole application).
I'll hold off on completing this PR though and let one of the core maintainers chime in first.

The implementation details may be arguable, but the overall behavior is exactly what I've been looking for! Excellent work @kylefleming !

I can confirm that this patch almost works for me. If using await clock.tickAsync(), things work great while using promises!
Thank you for this, its really helpful!
One bug I seem to encounter -
Use await on a promise, and the said promise resolves after a setTimeout(), and clock is run with clock.runAllAsync() - In this case, the promises seem to resolved once runAllAsync() finishes running rather than when they should be. This issue is not present when using tickAsync()

What do we need to do to get this merged?

Would love this feature. What do we need to get this PR merged?

Honestly? As a "promises person" and maintainer of a bunch of promise libraries I don't think this is really the best path forward - we should consider working on https://github.com/sinonjs/lolex/issues/114#issuecomment-396177100 - we can also (for node) expose running microticks which would let us write the above entirely synchronously.
That said, if we want to - then all runAsync would require is to schedule for ourselves in the nextTick since order of microtasks is guaranteed for native promises (and people using Bluebird use setScheduler and don't have this problem to begin with).
The problem is sequencing things - for two reasons:

First, we don't have a guarantee on the order of it at Node yet - it depends on fun things (like whether or not the timer is nested, or whether or not we're in the first turn of the event loop). We intend to do this eventually though.
Second - the above PR (and I am very appreciative for the effort) picks an approach we should agree on first. It also needs more tests for nesting promises in timers and vice versa (there are a great cases). It would be great to steal the WPTs for this

That said, this approach is likely the most compatible one, it will work in browsers and Node and this issue is something people run into.
If you'd like I can commit to working on this after I'm back from Holiday (around mid-October) - I can rebase work on top of this commit (I want to make sure the changes are attributed to @kylefleming ) - if they want to keep working on it that's also cool.

Should we look into making this completely non-blocking, i.e., not restrict it to the scope of micro-task queue and also include macro tasks?
Reason: on ticking the clock, if many events are generated (in-lieu of scheduling at intermediate times), the consumption of those events should not be blocked by the generation of subsequent events during clock.tick. Can we prevent the possibility of starvation of the event loop by microtasks?

Can we prevent the possibility of starvation of the event loop by microtasks?

Microtasks will always execute in front of the event loop in the future and mostly already do now.

Any news?

Merged as #237. Thanks @kylefleming! And thanks @dominykas for keeping the lights on :)


feat: foxy opportunity changes

Description

Added react-table
Modified UI for earn modals

Notice
Before submitting a pull request, please make sure you have answered the following:

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
If applicable, please link to the github issue and put closes #XXXX in your comment to auto-close the issue that your PR fixes.
Risk
High risk on this possible. Because we changed the routes work within the def modules. In addition to that we are normalizing the earn opportunity data via the useNormalizeOpportunities hook.
We are also displaying the data using react-table now, which should improve performance, but need to keep an eye on too many renders from the other yearn hooks.
Testing
To test this branch, you'll need to make sure the earn opportunities still work as expected. Deposit/Withdraw from the defi page and the asset details page for that asset.
Screenshots (if applicable)

I'd like to see this split up into a least 2 separate PRs. I'd like the react-table addition to be a stand-alone PR, then the use of the new table in other places as separate PRs.


Store/load probabilities

The probabilities are not stored between sessions and the default of everything having the same probability isn't that useful in most cases.
Would it be possible to either add a load/save function or change the current "defaults"?

Hm, are you maybe removing browser data between sessions? probabilities should be stored in browser storage like all other settings for npc gen. Is there maybe any errors in the console when pressing the generate button?

Hm, are you maybe removing browser data between sessions? probabilities should be stored in browser storage like all other settings for npc gen. Is there maybe any errors in the console when pressing the generate button?

Ah that explains it. I frequently switch devices / browser and don't need to create NPC's often, so I never used it on the same device and browser twice so far. I verified this works on the same browser now.
But it's still an issue for me to set up values on all devices. I'm not sure what would be the easiest / most useful way to implement this. Probably an export/import of the settings as a JSON file, I think this would benefit also some other users.

Ah that explains it. I frequently switch devices / browser and don't need to create NPC's often, so I never used it on the same device and browser twice so far. I verified this works on the same browser now.
But it's still an issue for me to set up values on all devices. I'm not sure what would be the easiest / most useful way to implement this. Probably an export/import of the settings as a JSON file, I think this would benefit also some other users.

Works like a charm, thanks :)


Trojan:MSIL/Masslogger.VN!MTB

I'm not able to download as Windows Defender finds a virus: https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?name=Trojan%3AMSIL%2FMasslogger.VN!MTB&threatid=2147758432

@davidrobertsen Thanks. Temporarily turn off Defender Real-time protection to allow you to download and install. BTW, there is no key-logging or other malware in the application.


Added exponential backoff of calls to api gateway api

Starts at 2 seconds and retries 5 times while backing off exponentially.

Q
A

🐛 Bug fix?
yes

🚀 New feature?
no

⚠ Deprecations?
no

❌ BC Break
no

🔗 Related issues
#1344

❓ Documentation
no

Description
Added exponential backoff of calls to api gateway api to avoid TooManyCallsException. Calls that fail will sleep for 2 seconds before retrying. Every failure up to the max retries (default 5) takes exponentially more time than the previous sleep time.
You can see here: https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html that API Gateway allows 5 requests every 2 seconds per account for GetResources and I was hitting that limit pretty frequently. There is also a 10 request per second limit across all API Gateway management operations. To work around those limits, I added some code to the api_gateway_repository.go file that would exponentially backoff the requests in the case that we received a "TooManyRequestsException" error. I set the bar at 2 seconds since that was the limit we were hitting. Also, I had to add this logic to every function making a request to API Gateway since any of them could trigger the total operation limitation. (e.g. GetRestApisPage reaches the limit, then a call to say GetAccount will trigger the throttle).
This logic should probably be implemented in other places/repositories too...

 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.

Codecov Report

Merging #1645 (38ad4d2) into main (a4cb2eb) will decrease coverage by 1.63%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1645      +/-   ##
==========================================
- Coverage   79.64%   78.02%   -1.63%
==========================================
  Files         229      222       -7
  Lines        7183     7022     -161
==========================================
- Hits         5721     5479     -242
- Misses       1268     1345      +77
- Partials      194      198       +4

see 26 files with indirect coverage changes

when is this planned to get merged ? been hitting 'ThrottlingException: Rate exceeded' all the time recently running driftctl

I merged here https://github.com/markus-geiger/driftctl but still do get:
Throttling: Rate exceeded
	status code: 400, request id: a01c4539-04c7-47ec-ab6f-aa52b31f0768


Failed to create a pool - non informative error

Environment info

Version: 2.1.2-52e964c
Deployment: AZURE
Customer: demo2

Actual behavior

While trying to create a new pool with an invalid host (demo20win, one of the windows machines that manually upgraded with wrong host-id) - getting a message that is not informative. Same happens while trying to join this machine to an existing pool

It's also not clear why the node is visible if it's invalid.
Expected behavior

True, in this case, it's an unexpected situation that we can't expect, but may happen in another case, and the user won't have an idea what is the cause.

Steps to reproduce

Screenshots or Logs or other output that would be helpful
log
2018-02-07T10:00:42.167299-08:00 noobaa WebServer[63530]: [L0]  core.server.system_services.system_store:: SystemStore.make_changes: { insert:    { pools:
[ { _id: 5a7b3eca9602b4f82a9061df,          system: 5a5069476384c90442172134,          name: 'austin',          resource_type: 'HOSTS',          pool_nod
e_type: 'BLOCK_STORE_FS',          storage_stats: { blocks_size: 0, last_update:<PHONE_NUMBER>164 } } ] } }
2018-02-07T10:00:42.183349-08:00 noobaa WebServer[63530]: [L0]  core.server.system_services.redirector:: publish_to_cluster: server_inter_process load_system
_store undefined [ 'fcall://fcall(2walq57)',  'ws://[::ffff:<IP_ADDRESS>]:51420/(349fs5w)',  'ws://[::ffff:<IP_ADDRESS>]:51422/(3hukjnq)',  'ws://[::ffff:<IP_ADDRESS>
]:51454/(3tqzaws)' ]
2018-02-07T10:00:42.241551-08:00 noobaa WebServer[63530]: [ERROR]  CONSOLE:: RPC._on_request: ERROR srv host_api.migrate_hosts_to_pool reqid 31784@wss://127.
0.0.1:8443(3vnp1g0) connid ws://[::ffff:<IP_ADDRESS>]:51472/(3w4k4lx) Error: No such host 1a7bbe02-ceb6-474e-8750-fffffff    at NodesMonitor.get_nodes_by_host
id (/

Irrelevant


kbfsgit: lock during repo creation and on packed-refs creation

We need to take a lock before creating the repo, when generating the repo ID, so there are no conflicts.  Use ._kbfs_config as the lockfile.
Also, any time we're pushing to a repo we think is empty, we need to create a packed-refs file, even if it's only a single branch, so that we can take a lock on the packed-refs file and ensure the repo only gets that initial push once.
Finally, it turns out that calling WaitForBlockFlush() isn't enough when in single-op mode, because the subsequent call to SyncFromServerForTesting won't bother fetching anything from the server when the local journal still has data in it.  So we have to finish a complete single op, flushing all object files, before taking a lock.
Note that I tried for a long time to come up with a good test for concurrent repo creation, but because MDServerMemory always allows locking to go through, this wasn't possible.
Issue: KBFS-2477

By the way #1210 should be reviewed before this one; this one depends on it and fixes some things in it.

oops sorry haven't looked at #1210 yet. Will look soon!

Oops sorry! I made the MDServerMemory always let locking to go through because I though it wouldn't make sense to fail locking if everything is within the same process. Would you prefer to have a way for MDServerMemory to differentiate different "sessions" within the process, or do you think we should do it in docker tests?

Yeah, I remember agreeing it was ok to do it that way.  I would like to be able to differentiate sessions for locking, it would be easier and give more control than we'd get in the docker tests.  But it's not urgent.

Sounds good; will do!

Also, any time we're pushing to a repo we think is empty, we need to create a packed-refs file, even if it's only a single branch, so that we can take a lock on the packed-refs file and ensure the repo only gets that initial push once.

Could you elaborate a bit on why we need to ensure this "initial push" happens only once? What makes this push special that conflict will be bad? (I guess I just don't know enough about pack-file and refs.) Thanks!

Could you elaborate a bit on why we need to ensure this "initial push" happens only once? What makes this push special that conflict will be bad?

If two users think they both successfully pushed a packed-refs file, one of them will lose in conflict resolution, and will get their file renamed to ".conflict..." and git will never look at it again.  So even though their push was successful, their data is lost.
If one user pushes a packed-refs file, and the other pushes a regular, "loose" ref, that loose ref will override whatever is in the packed-refs file, even if the user didn't use "--force".


Logout

Logout process:

User click on logout button;
Run api request to api/logout
Server should return request with redirectURL
Clean token from COOKIE and remove userId from localStorage
Redirect to URL from request

@fzaninotto
I fixed first note and added my explanation for the second one.


Debugger suddently stop without message

Hi, thanks for your work !
I was trying to use your debugger but I have some troubles with it. My configuration seams well as far as I don't get any error using Launch : the installation is successfull on the AVD (AS not running), attaching debugger looks successfull too, but no breakpoint are activated and, if i try to add new one, the debugger stop without error message in console.
Kinda the same behavior when i attach to existing app : telling me that it's successfull attached and directly stop.
I try to use the debugger from decompiled APK, idk if it's supported but i presume yes since someone made an article on the subject !
I'm not sure what I do wrong, please find my config file + console output when Launching. Maybe it's about the appSrcRoot but not really sure since no error telling me ources are not found is triggered !
Checking build
Warning: Build is not up-to-date. Source files may not match execution when debugging.
Searching for devices...
Found 1 device
Deploying current build...
Installing...
Launching on device emulator-5554 [API:35]
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x400000 cmp=owasp.mstg.uncrackable1/sg.vantagepoint.uncrackable1.MainActivity }
Application started

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "android",
            "request": "launch",
            "name": "Android launch",
            "appSrcRoot": "${workspaceRoot}",
            "apkFile": "${workspaceRoot}/dist/UnCrackable-Level1.apk",
            "adbPort": 5037
        },
        {
            "type": "android",
            "request": "attach",
            "name": "Android attach",
            "appSrcRoot": "${workspaceRoot}",
            "adbPort": 5037,
            "processId": "${command:PickAndroidProcess}"
        }
    ]
}

Note : the mentionned article
Thanks a lot,
Bests

I think I may be running into the same problem.
Every time the debugger suddenly stops, I can see this message in the Extension Host output: [error] Error: Invalid debug adapter, followed by a useless (to me) stack trace of minified VSCode internals.
This issue might be related: https://github.com/microsoft/vscode/issues/196948


"egui_glow requires opengl 2.0+." when trying to run egui through vscode remote ssh

When trying to debug or run my egui project on a remote host through VS Code's remote SSH extension, the program panics with the above error.
The remote host is a Windows 10 PC with an integrated Intel UHD 630 graphics chip.
I checked the supported OpenGL version and it's all fine (>4.6) and running the program locally from vscode on the actual remote works just fine, so it seems to be some weird behavior between opengl and ssh.
To Reproduce
Steps to reproduce the behavior:

Get the remote SSH extension on vscode
Connect to a remote host
Run the egui demo

Expected behavior
It should not panic.
Desktop:

OS: Windows 11 on dev machine and Windows 10 on remote host
Version 22

try the wgpu backend, or raise this error in the glutin repository

Got the same issue but only when using hwaccel off on glow, Wgpu seems to be working just fine with hwacell off

For what it's worth, this also happens inside Windows VMs.
If you're trying to test a cross-compiled version of your app, download this pre-built Mesa distribution. Run the systemwidedeploy batch script and select the first option (1. Core desktop OpenGL drivers) and your app should work.

Please advice. How can I unwrap this panic in simple example?

Please advice. How can I unwrap this panic in simple example?

The error occurs in these functions: eframe::run_simple_native() or eframe::run_native(). So you can add an .expect("msg") at the end of them.

Thanks but this still doesn't solve the problem with running the application under VM. By the way, on some types of VM with good emulation of video cards this problem doesn't exist (like Proxmox).

Found a simple solution just copy all 32 or 64 mesa3d-dist files into exe-file location and it works!


Sentinel-3 OLCI: issue with geocoding with unzipped product

Related to #136
Everything is well explained there 👍

@yawen8617 The latest commit should resolve your issue. Could you confirm it please? :)


Fix/autoplay

autoplay woesn't working for android webview because mediaPlaybackRequiresUserAction is true(which means user is forced to tab before playing media).
so i managed to change it to depend on autoplay param.
and additionally removed some types that aren't supported anymore

Hello guys, can someone review/merge this PR please? I could really need this change. Thanks


Compatibility of Lagoon with Harbor 2

Seems that Harbor 2 has breaking api changes which Lagoon is not aware yet.
As we are installing Harbor 2 with our lagoon charts: https://github.com/uselagoon/lagoon-charts/compare/add_harbor#diff-4f3175c54d7aa8d5027622b86f693066R5 we should make sure that Lagoon has compatibility to Harbor
Depending on the changes in Harbor2 it would be great if there is maybe a way to tell Lagoon if the API is v2 or v1, as we might not be able to update all Harbors to v2 when we migrate to Lagoon 2.

Lagoon is fully compatible with the latest Harbor releases :partying_face:


String.hash seems not cached unintentionally

Please provide a detailed title (e.g. "Broker crashes when using TopN query with Bound filter" instead of just "Broker crashes").
Affected Version
druid-27.0.0-rc1
Description
Please include as much detailed information about the problem as possible.
I'm now using jfr to find out the performance bottleneck of GroupBy query, then I found RowBasedGrouperHelper.addToDictionary is expensive because of calculating String.hashCode().
But it's weird because the String.hashCode result must be cached in internal String instance.
Do you know what is the cause of this overhead or workaround to reduce this?

Query
SELECT user_id
FROM "event"
WHERE  __time > '2022-07-01T00:00:00Z' AND __time < '2022-08-31T00:00:00Z'
AND event_name = 'view'
GROUP BY user_id
HAVING COUNT(*) > 5000

Total rows: 1200m
user_id cardinality: 20m
Table is partitioned by day, sharded_by user_id

Cluster size

broker: 2core, 20GB RAM
historicals: 24core, 100GB RAM (1server)

Configurations in use

{
  "useCache": false,
  "populateCache": false,
  "debug": true,
  "finalize": false,
  "forcePushDownNestedQuery": true,
  "numParallelCombineThreads": 12,
  "bufferGrouperInitialBuckets": 8024
}

Any debugging that you have already done

I've debugged RemoteProcess with jdwp debugger, and I set breakpoint to addToDictionary with condition the input string's hash == 0 && hashIsZero == false(with reflection), but couldn't catch such case.

I've read code, but I cannot find out the cause.(It seems there is no string instance recreation and no bypass)
Related function calls:
RowBasedGrouperHelper accumulator calls grouper.aggregate(new RowBasedKey(key))
https://github.com/apache/druid/blob/master/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java#L342
Grouper calculate hashcode.
https://github.com/apache/druid/blob/master/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/Grouper.java#L82
Then RowBasedKey.hashCode() is called. Arrays.hashCode(key) call each element's hashcode() internaly, then string instance hashcode must be cached here.
https://github.com/takaaki7/druid/blob/9d92a663f8e3964cf23d93259f52d6fb9137d5b9/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java#L708
And key instance is passed to DynamicDictionaryStringRowBasedKeySerdeHelper.addToDictionary without no instance copy. (ConcurrentGrouper.aggregate() -> SpillingGrouper.aggregate() -> AbstractBufferHashGrouper.aggregate() -> RowBasedKeySerde.toByteBuffer() -> DynamicDictionaryStringRowBasedKeySerdeHelper.addToDictionary())
https://github.com/apache/druid/blob/master/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java#L1713

I am unsure if I am interpreting the graph correctly but doesn't the String#hashCode consume like 5% of the Thread.run() time? That doesn't seem so bad to me.
Also, String#hashCode is cached after the initial call that is made. Perhaps the cardinality of the column that we are hashing is pretty high, which can also explain why the hashCode is taking more time than you expect (though it doesn't seem like the root cause to me).
From the query mentioned, the group by is on the userId. Semantically, isn't that field unique, which can explain why you are seeing poor performance, due to high cardinality & low duplication across the rows?


fix to continue function

Ran into an issue when loading the next batch of 2500 records from a SOAP API retrieve operation. The first batch was fine but the 2nd one, i.e. the first one using the continue method, was not, sending back a message with a status labelled as Error. The problem was documented in http://salesforce.stackexchange.com/questions/24911/error-on-making-continue-request-while-retrieving-all-subscribers-from-a-list. This PR implements that fix since it solved the issue for me as well.

Pulled this in to fix FuelSDK::Subscriber, now getResults.continue "works".  However, it seems to append the new results to the old results, so:
results = subscriber.continue
results.length == 5000 after page 2...
results.length == 7500 after page 3...

we should also have in the unpack method
@results = (unpack_rslts raw)

instead of
@results += (unpack_rslts raw)

to not overflow the memory


Update hardcoded VNXAU asset

Description
Removed VNXAU hardcoded address and added logic to get it from config. Also updated the handlebars template for assets to just retrieve VNXAU_ADDRESS without looking in the array of fxAggregators every time. Added XAU/USD aggregator to the mainnet chain.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[x] Code refactor / cleanup
[ ] Documentation or wording changes
[ ] Other

How should this be tested?
yarn codegen and then yarn generate-assets, it should update helpers/assets.ts file with the new VNXAU_ADDRESS constant.
Checklist:

[x] I have performed a self-review of my own code
[ ] I have requested at least 1 review (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas

Merges to dev

[x] I have checked that the graft base is not a pruned deployment

hey @typicalHuman - thanks for the contribution! we'll review your PR over this week -- we want to first promote the changes currently on dev to master before adding new stuff


Add POM for maven support

Initial pom to be able to import project as maven and do $mvn clean install

@kerbymart I am not very familiar with how to add support for maven. Can you point me at some more resources so that I can understand this better?

+1

@phil-brown my experience is with deploying with Bintray/JFrog which seems to be easier like this:
<repositories>
    <!-- Snapshot repository -->
    <repository>
        <id>oss-jfrog-artifactory-snapshots</id>
        <name>oss-jfrog-artifactory-snapshots</name>
        <url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url>
    </repository>
</repositories>

I've submitted a maven ticket to OSSRH, so hopefully this will be easier to add to projects very soon.


Plugins with on_path=.* are loaded on startup

Problems summary
Something changed recently with lazy plugins with on_path=.*, it seems they are immediately loaded now, maybe because of recent Neovim changes?
Expected
Lazy plugins shouldn't be loaded in clean startup.
Environment Information (Required!)

dein.vim version(SHA1): a372c83
OS: macOS 10.14.6
Vim/neovim version: NVIM v0.5.0-3218-g618045685

Provide a minimal .vimrc with less than 50 lines (Required!)
if &compatible | set nocompatible | endif

" Set configuration paths
let $VIMRC_DIR = fnamemodify(expand($MYVIMRC), ':h')
let $BUNDLE_DIR = $VIMRC_DIR . '/bundle'
let $DEIN_DIR = $BUNDLE_DIR . '/repos/github.com/Shougo/dein.vim'

" Install dein.vim
if ! isdirectory($DEIN_DIR)
	execute '!git clone https://github.com/Shougo/dein.vim' expand($DEIN_DIR)
endif
execute 'set runtimepath+='.substitute(
	\ fnamemodify($DEIN_DIR, ':p') , '/$', '', '')

" Add plugins to bundle
call dein#begin($BUNDLE_DIR, [ expand('<sfile>') ])
call dein#add('airblade/vim-gitgutter', { 'on_path': '.*' })
call dein#end()

if dein#check_install()
	call dein#install()
endif

filetype plugin indent on
syntax enable

The reproduce ways from Vim starting (Required!)

Start nvim 0.5.x once to install dein and plugins.
Quit nvim
Run: nvim --startuptime /tmp/vim.log +q && cat /tmp/vim.log

You will see gitgutter's autoload and plugin files loaded on startup, even if no files were loaded.

Reproduced.  But it is neovim issue.
I don't reproduce the problem in Vim8.
I have bisected it.
https://github.com/neovim/neovim/commit/8b8ecf44f2cda43bbd710ec22ef99439b71888cd
is the bad commit.
https://github.com/neovim/neovim/pull/10898
You should report it in neovim issues.

@Shougo thank you for bisecting. I want to open an issue, but I'm not sure how on_path mechanism works in Dein, is it trigger by a specific event? which one? do you have any clue/intuition how it's related to neovim's jumplist changes?

is it trigger by a specific event?

Yes.  BufNew and BufRead are used.

do you have any clue/intuition how it's related to neovim's jumplist changes?

I don't know why.


Fixes issue #200

@GiantCrocodile : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@GiantCrocodile Thanks for your submission. Why do you think this needs to be changed? Thanks!

@MSFTMan I think this is quite obvious: The pricing page doesn't show you which subscription/plan you have. It shows you which you can buy but that is regardless of which you have.

@GiantCrocodile : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@KumarVivek : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman


Absolute positioning of the "New Page" button blocking the file explorer

Hi,
It seems that the file explorer entries at the bottom will be blocked by the "New Page" button:
Expected

Actual (can't see the "zplaceholder2.md" file)

I guess this is caused by the absolute positioning of the "New Page" button. IMHO, we can set the flex-direction: column-reverse property of the div.workspace-leaf-content element instead, which simply reverse the order of the nav header and the nav content in a cleaner way. The "expected" screenshot above was captured on my patch snippets with this approach, and it does what we want. :)
Please let me know how you think about this, thanks!

Thank you for your suggestion. I think your method is much better than mine! It might be a while (I'm busy with school right now) but I will definitely fix this along with #2 and #3. Thanks for pointing these out!


Feature/minor code cleanup

This pull request only contains cleanup and code formatting. I did this because I got some comments while trying to merge XCTest-Gherkin in another project.
Since ColorLog does not work anymore, I removed it. It's just dead code now, and people who come to the project may try it out to only find that it does not work in Xcode 8 anymore.

@nap-sam-dean can this be merged? it's been open for a while

@smaljaar Merged - I must have missed the notification, had no idea there was an open PR!


Add Spanish translation

Once the data file is ready to be added to, u/nick0413 has graciously volunteered to add a Spanish translation for Stellaru

Resolved by #66


Error when uploading the app to teams

I've followed this steps but if i want to upload the app to teams i get an error message that this was not successful but there is no reason why. gulp serve works fine, the settings and permissions are correctly set. I did not change anything in the code. Could somebody help me please, i could not debug this without the reason for why it is not working. The error message is: "Es ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut." (We use a german tenant)

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: 42e0cad5-f762-c253-7d3b-b23ae3cb5b1c
Version Independent ID: f1babe27-cbc7-f757-11b4-fc8fa1e36873
Content: Get started with the Yeoman generator for Microsoft Teams - Teams
Content Source: msteams-platform/tutorials/get-started-yeoman.md
Product: msteams
GitHub Login: @clearab
Microsoft Alias: anclear

Could you please try to sideload your app manifest in teams?

Thanks for your answer. I've already tried this out but if i add it to a team i get the message that something went wrong. Adding it to Teams instead of an existing team works, but this is not what i need.

This issue arises when sideloading is not enabled for your tenant. Do you see Upload a custom app for admin user or a normal user? Please share your app manifest so we can test it on our end.

Sideloading should be enabled... i did this with the global admin.
I dont know how to share this file so i paste it here (i changed my name and the name of the app, tab and bot):
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
"manifestVersion": "1.5",
"id": "4a0c8f50-fedf-11e9-b5f0-bdd2e31dc28b",
"version": "0.0.1",
"packageName": "teamsnc",
"developer": {
"name": "LR",
"websiteUrl": "https://{{HOSTNAME}}",
"privacyUrl": "https://{{HOSTNAME}}/privacy.html",
"termsOfUseUrl": "https://{{HOSTNAME}}/tou.html"
},
"name": {
"short": "Teams_nc",
"full": "Teams_nc"
},
"description": {
"short": "TODO: add short description here",
"full": "TODO: add full description here"
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#D85028",
"configurableTabs": [
{
"configurationUrl": "https://{{HOSTNAME}}/ncTab/config.html",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"staticTabs": [],
"bots": [
{
"botId": "553377f2-1cbb-400c-b3e9-e656577c55e4",
"needsChannelSelector": true,
"isNotificationOnly": false,
"scopes": [
"team",
"personal"
],
"commandLists": [
{
"scopes": [
"team",
"personal"
],
"commands": [
{
"title": "Help",
"description": "Shows help information"
}
]
}
]
}
],
"connectors": [],
"composeExtensions": [
{
"botId": "553377f2-1cbb-400c-b3e9-e656577c55e4",
"canUpdateConfiguration": false,
"commands": [
{
"id": "ncMeMessageExtension",
"title": "nc ME",
"description": "Add a clever description here",
"initialRun": true,
"parameters": [
{
"name": "parameter",
"description": "Description of the parameter",
"title": "Parameter"
}
],
"type": "query"
}
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"{{HOSTNAME}}"
]
}

@lre871 , Thanks for sharing the manifest, We are looking into it.

Thank you!

@Ire871, We tried to sideload your manifest in teams, it working fine. Could you please confirm your host, is it local ngrok or any other domain? Please make sure you are adding your site domain inside the validDomain list of your manifest.
Note: If you have enabled sideloading for your tenant recently please wait for some time, it usually take 7-8 hours to reflect the changes.

the host is ngrok (local) and i have enabled sideloading a view weeks ago. If i understood right, sideloading means loading the app to the store? this works fine. only adding it to the team does not work.

@lre871 , Please confirm few things,

Did you added Microsoft Teams channel while creating your bot ?
.

Is your Bot working in web chat emulator?

@Ire871, Please try to create a new bot Create a Bot and let me know if you still face this issue. It seems your bot is not listening on port.

Please re-open if you still face any issues.

I have the same error. Can't upload to Teams. Are there any variables that we have to enter in the env file? You mentioned adding the domain above "Please make sure you are adding your site domain inside the validDomain list of your manifest." Can you give instructions on this please.
I have validated the manifest in Teams and it has passed

I have the same error. Can't upload to Teams. Are there any variables that we have to enter in the env file? You mentioned adding the domain above "Please make sure you are adding your site domain inside the validDomain list of your manifest." Can you give instructions on this please.
I have validated the manifest in Teams and it has passed


hello!

im a nice user writing a nice issue without bad words!


Repeatedly switching and creating jsmpeg, the destroy () method fails to remove the previously created, resulting in more and more memory

Repeatedly switching and creating jsmpeg, the destroy () method fails to remove the previously created, resulting in more and more memory

Should be fixed with https://github.com/phoboslab/jsmpeg/commit/9cf21d34ec239ecdd398f3fc56d25a47da02c6a8


Add support for Windows Auth (Kerberos + NTLM)

Adds support for sending emails with Windows authentication protocols Kerberos or NTLM. This is only supported on Windows hosts due to its reliance on Windows APIs. Currently it also embeds an edited NSspi assembly that has been changed to include support for the SASL mechanisms needed by SMTP.
This is not really in a merge able position at the moment. It includes a custom NSspi assembly as the latest on nuget does not support channel binding token support https://github.com/antiduh/nsspi/issues/28 and the decryption mechanism will not work with how SASL requires it here. I've included a diff for the changes I've made to the assembly just to show what is needed on their end. The last commit made to that repository was in 2019 so I'm not sure if it's actively maintained (it may still be). Might be worth looking at different options here.
I've also switched up the parameter sets a bit more by including an -AuthType ... rather than a dedicated switch parameter for windows authentication. I didn't particularly want to add yet another parameter set to the parameters just for this feature but I'll let you decide on what you would like to do here.
Cross platform support could technically still be done but it's even more work. Ultimately the work that is required here is quite a lot and without a compiled build, it is not really feasible to do it in pwsh scripts.

I've started rebuilding Mailozaurr in C#

https://github.com/EvotecIT/Mailozaurr/pull/47

I got it mostly working for SMTP sending, including signature/encryption with SMIME - I guess it should be easier now. It's not yet ready, but at least most code for SMTP is C# now.

The code here works, it just required changes in the underlying NSSPI library (which seems to be dead) to achieve. The SASL used with Kerberos needs to sign the payload after the auth which the NTLM one does not need to do. This is why you were able to do it there. I'll eventually get back to my GSSAPI/SSPI C# library but it's sitting in a pretty big TODO pile right now :)


Unable to select text object when size is increased OL3

This is the mouseDown event that is currently being used when selecting text labels.
`this.mouseDown = function (e) {
var features = e.map._ModifySketch.getSelectedObjects();
if (features.getLength() === 0) {
return false;
}
                                var feature = features.getArray()[0];
                                if (feature) {
                                    clickedAnchor_ = getClickedAnchor(e.coordinate, feature);
                                    if (clickedAnchor_ !== ME.SKETCH_ANCHOR.NONE) {
                                        coordinate_ = e.coordinate;
                                        feature_ = feature;
                                        feature_._isEditing = true;
                                        if (clickedAnchor_ === ME.SKETCH_ANCHOR.SIZE) {
                                            origGeometry_ = feature.getGeometry();
                                            startY_ = e.coordinate[1];
                                            startFontSize_ = getFeatureTextSize(feature);
                                        }
                                        return true;
                                    }
                                }
                                return false;
                            };

Currently this is running on iOS, Android, and a Java Windows application. The iOS and Android are able to select the large text objects without any issues, but on windows once the text object has reached roughly 60% of the screen size it no longer becomes selectable.
Is there anything that can be done to improve the selection of text objects?

Configure the layer with a renderBuffer of e.g 200 pixels. The default is 100, meaning that text and icons more  than 50 pixels away from the geometry‘s coordinate won‘t be considered for selection.


AdvancedDataGrid Scroller Issue

System should only show scroll bar(vertical or horizontal when its needed when there is no record or when there are some record which can been seen in same grid then there is no need of scroll bar.

system should show veritcal scrolling when records exceeds in side grid

Example : https://paste.apache.org/agh32

Still Issue is not fixed.

@aharui Thanks


[types] Add StateProof type

Pretty basic refactor. Collects (LedgerInfoWithSignatures, EpochChangeProof, AccumulatorConsistencyProof) into one convenient StateProof package. Mostly, I got tired of making this type alias everywhere; now it's official!

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Changing JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.


HPC env setup is incorrect

Rather than re-open #7 ....
I'm finding that the instructions that I had are not working out as planned on denali and tallgrass.
Re-writing and testing....  commentary to follow.

First consideration... the docs on the ARC/HPC website suggest that conda is built-in -- but that turns out to only be true on yeti.  For denali and tallgrass, we have to install ourselves
[side note] is there a process to request a module be built so that we don't have to have every user do this?
Regarding a user-installed conda, the next question is miniconda (as per the HPC instructions) or micromamba ....  I could get both to work, but miniconda requires fewer hoops and scary-looking syntax.

Second -- does it make sense to publish our environment as a .yml if it really will only be installed on denali or tallgrass?  Seems like we could make a lock file instead, which would dramatically speed up the install process.

And so....  it sure seems like running jupyter-forward from the user's host sytem (PC, Mac) is the far easier way to spin up a server on denali and connect for notebook operations.  I ran into two problems with this that we'll need to sort out:

Coaching users to install jupyter-forward on their desktop. I suppose we could just point to that project's install docs and be done with it.
putting conda in the path on denali

The easy answer is to modify .bashrc on denali.  The ARC/HPC folks are clear that they don't want that to happen:
https://hpcportal.cr.usgs.gov/training/courses/Parallel_Python/Installing_parallel_packages.html
So it seems like I need to figure out how to manipulate the invocation on the PC to find conda.

another issue with jupyter-forward -- it looks like it always uses the same port number on the host.  What happens if two people are running at the same time?  Port will be occupied on denali. I need to test a little harder on that.

I am testing with other tech-savvy folks to see how hard it is to get jupyter-forward to work, and it is not going as smoothly as I had hoped.  Still working out bugs.  I question whether this is ready for gen-pop use.
A more promising starting position would be to use OnDemand.  See #34

Good news and bad news. . ..
I have got the jupyter-forward bits sorted out, with one exception.  I have one test user that just can't get it to work -- infinite loop on server end, executing conda as part of the spin-up process.  I still don't know why that is -- but he's the only user experiencing that.
The sequence seems to be:

On Denali:

Install miniconda per instructions from ARC/HPC.  They are very explicit to NOT allow conda to modify the .bashrc with a conda init. So don't do that.
Create a HyTEST environment from our HyTEST.yml
To activate a conda environment, a user must source directly (again, per the ARC/HPC docs): source ~/miniconda3/bin/activate hytest
Extend the user's PATH with an edit to their .bashrc:
export PATH=${PATH}:${HOME}/miniconda3/bin

On the PC:

Install jupyter-forward per instructions from https://pypi.org/project/jupyter-forward/
jupyter-forward --conda-env=hytest denali.cr.usga.gov
Connections to denali require that the PC be on the VPN or internal network.

In related news... the HPC folk have given me a developer's sandbox within which to create custom jupyter servers to execute within a tallgrass allocation.  This is part of the Open OnDemand system... and it makes the HPC jupyter experience MUCH more like the esip/qhub experience. .. no need to have the user take any action to set up their account -- the server I've created already has the right conda environment, etc.
In terms of user experience and simplicity, I think this is worth looking at as a team to evaluate. I will bring a demo to our next meeting. @sfoks

Argh....
I have found two different (conflicting) sets of instructions from ARC on using conda on the supers:
https://hpcportal.cr.usgs.gov/training/courses/Parallel_Python/Installing_parallel_packages.html#miniconda
https://hpcportal.cr.usgs.gov/training/environments/python/Python_Environment_Setup_with_Conda.html
I did all my testing with the miniconda approach... So need to re-test with that second approach.

I did all my testing with the miniconda approach... So need to re-test with that second approach.

Turns out that the advice in that second link is specific to the yeti host (although it does not say so).  The module load ... commands that it recommends do not work on denali or tallgrass, as those modules are not configured on those hosts.
Back to miniconda.

@rsignell-usgs
Would you have a chance to look this over and adjust as needed
https://github.com/hytest-org/hytest/blob/gt-078-fix-hpc-setup/environment_set_up/QuickStart-HPC.md


Fix: Wasmer.io publication and docs paths

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


chore(release): Automated agent release notes (v1.0.53)

Automated PR

testing automated release notes


Not compatible with fabric mod loader version 0.15.0

Mod isn't compatible with fabric mod loader version 0.15.0
so please update.
thankyou

what version do you need it fixed

what version do you need it fixed

1.20.1

what version do you need it fixed

that in my opinion is the most famous version for modding so please

ok should have a version up now

crash-2023-12-21_17.40.03-client.txt
I'm pretty sure this crash on 1.19.2 might also be connected.

@miyo6032


Does wandb_dir support GCP paths?

Does wandb_dir support GCP paths?
gcp_path=gs://path/
...
--logger.wandb_dir=gcp_path
...

Unfortunately it does not. W&B uses its own file access mechanism, so we cannot open the file with MLXU.


Can't activate multiple jar plugins via --plugins

Hi there,
I try to activate multiple local jar plugins (nf-test 0.8.4):
nf-test test my-test.nf.test --plugins path/to/my/nft-plugin.jar,path/to/my/nft-plugin2.jar

However, the list is not split:
Plugin 'path/to/my/nft-plugin.jar,path/to/my/nft-plugin2.jar' not found.

(I was assuming the same as --plugins nft-fasta<EMAIL_ADDRESS>

Nice, thanks!
Is it a typo in the documentation here? (I can't test the @ notation atm)


WIP: Make review_by easier to work with

Since the review_by date was introduced I've seen a few questions come up around what a good review date is (https://github.com/alphagov/govuk-developer-docs/pull/183 for example). I've also noticed that I find it hard to pick a good date (since it involves some arithmetic).
This PR tries make it easier by replacing review_by with last_reviewed_at and review_in. The idea is that you don't have to think about the dates anymore, just insert todays date.
Thoughts?

Seems like a sensible approach.
Looks like some of the content is being nuked (by the script?) as part of the PR though.

Seeing the hard coded Slack channels raises some questions for me about the ownership. The channels are tied to the teams, and the teams change so we'll need to review all of the ownerships in detail every quarter.
That doesn't affect this PR though - it's a good change.

Updated PR.

In Ruby-land, due to ActiveRecord, an _at suffix implies a datetime. For just a date, I'd prefer last_reviewed_on.


added file rick-dowd.txt

Added the text file rick-dowd.txt

Awesome job hitting MVP & Stretch goals and adapting to Lambda's git flow process. Keep it up!


Authentication does not work when setting HubImageNamePrefix

Describe the bug
When overriding the registry for images hosted on Docker Hub by setting a prefix, authentication via the DockerRegistryAuthenticationProvider against the new registry does not work.
To Reproduce
Steps to reproduce the behavior:

set TestcontainersSettings.HubImageNamePrefix to a private registry (e.g. my.azurecr.io)
configure authentication, e.g. via config.json:

{
   "auths": {
      "my.azurecr.io": {
         "auth": "{credentials_here}"
      }
   }
}

configure a container with an image hosted on Docker Hub, e.g. docker:stable
observe authentication not working

Expected behavior
Authentication works :-)
Additional context
The issue boils down to DockerImage.GetHostname not returning the hostname of the prefix, when configured.

I am working on a fix for this issue.


Implemented Step Signal Plot

Purpose:
Step Display is very useful to show digital signals.
New Functionality: This PR implements #1092

added function for StepDisplay (take-over from Scatter Plot)
added Cookbook example
all tests are passing

The step plot looks a little weird with dots drawn. I don't know if that's something that can/should be changed. Maybe just changing the demo to not draw marker points is all that should be done?

Hi @EmanuelFeru,
Good improvement, thanks for your contribution.
Unfortunately, SignalXY will inherit StepDisplays, but will not react to it in any way. There is no simple solution, I think it is better to leave it as it is for now.
It seems that the StepDisplay shows no respect for the existing signal fill above/below. At first glance, it looks easy, it is enough to transfer the already formed array to the code below, but in the process, difficulties may arise. At least it looks like it's worth at least a try.
What do you think?

The step plot looks a little weird with dots drawn. I don't know if that's something that can/should be changed. Maybe just changing the demo to not draw marker points is all that should be done?

It also immediately caught my eye, most likely the lack of symmetry gives such an effect.

Yes, it's the symmetry. I was looking strange at the beginning too 😃 the dots can be hidden by making the Markersize 0. What is your opinion for the example? I can put the Markersize to 0 to have a more natural look.
@StendProg, I did not fully understood. Do you mean it we do surface below for example then it still considers straight line between points?

@StendProg, I did not fully understood. Do you mean if we do surface below for example then it still considers straight line between points?

Exactly. The fill in the background will connect the dots and will probably be ugly. Maybe we don't need it, but most likely sooner or later this question will come up, it's up to you, I just noticed that the fill uses the old array of points in stepDisplay mode.

I see... Then it's better to have it done now. I will have a look in the next couple of days.

I quickly checked FillBelow. Indeed it does not draw well around the steps. Still investigating how to make it plot steps. I think a change is needed on the Rectangle fill:
https://github.com/ScottPlot/ScottPlot/blob/3ead8c204116ea95baed60df6715b70cd668beab/src/ScottPlot/Plottable/SignalPlotBase.cs#L428-L432

Code for the above plot:
public void ExecuteRecipe(Plot plt)
{
    double[] ys = DataGen.Sin(51);
    int sampleRate = 1;

    var sig = plt.AddSignal(ys, sampleRate);
    sig.StepDisplay = true;
    sig.MarkerSize = 0;
    sig.FillType = FillType.FillBelow;
    sig.FillColor1 = Color.Blue;

}

Also I am not sure if the fill is done correctly, it behaves strange when I move and looks diagonal. I would expect to fill similar to here:
https://swharden.com/scottplot/cookbooks/4.1.16/category/plottable-fill/#fill-under-curve

Fixed. I will do a commit.

Hi @EmanuelFeru, thank you for this PR! Thanks @bclehmann and @StendProg for your input along the way.
I'm going to refine this PR and merge it in shortly despite it not looking perfect with filled signal plots. It looks like filled signal plots have slight rendering errors already, and I'll work to investigate and hopefully fix that in a separate issue (#1163)

Thanks @EmanuelFeru, this looks great! This feature will be in the next release 👍🚀
I'll fix the error affecting the alignment of fills shortly (#1163)


Update Quacker on Izzy repo

Checklist

[X] I made sure that there are no existing issues - open or closed - which I could contribute my information to.
[X] I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise.
[X] This issue contains only one feature request.

Feature description
Izzy repo reports that Quacker 2.2.0 is the latest available version when 2.2.1 is the most recent
Why do you want this feature?
Allow installing of 2.2.1 through fdroil apps
Additional information
No response

closing as 2.2.2 made it into the repo


Enable custom k8s resource exclusions

Tied to https://github.com/konveyor/mig-operator/pull/379

From the golang docs it looks like reading a non-existent env var will result in an empty string. Splitting an empty string will result in an empty slice, so you'll just end up with an empty exclude list with no errors or crashes other than what might occur during the from not excluding problem resources.


Add ICD Codes in english trained Data

Your Feature Request
Hi,
As per our requirement we want International Statistical Classification of Disease [ICD] trained with eng.traineddata for the better accuracy. Also can we an extra attribute to know if text is bold or not etc,
Thanks,

Then why do you write an issue here?
Please use the Tesseract user forum for questions.

Hi !
We are using tesseract 5.3.0 with eng.traindata.
We are getting lots of issues like
for example
I10  becomes 110
I25 become 125


Remove mention of ngrok for npm start

I believe the information about ngrok is incorrect (probably outdated) for npm start.
The way to enable tunnelling is to use npm run start:tunnel, as described a few sections below.

@czak Maybe add doc for npm run start:tunnel instead?

@czak While you're at it, the "Production " section of this doc is incomplete. What it says about
npm run start:prod is correct, but npm run start:production must be run first to build the production code. see package.json

@czak Maybe add doc for npm run start:tunnel instead?

There's already a relevant section in this file, under Remote testing. I think it's sufficient. Would you expect more @tbash?

@czak While you're at it, the "Production " section of this doc is incomplete.

@gihrig Would it make sense to just replace mentions of start:prod with start:production in the doc?

@gihrig Would it make sense to just replace mentions of start:prod with start:production in the doc?

Let's explain what both commands do (see package.json) and recommend the usage of start:production!

I'm closing this PR as I will not be able to complete the requested tasks.
If needed, the single commit has just been rebased, remains helpful (I believe) and does what is promised: "Removes mention of ngrok for npm start".
I find the similarity of start:prod and start:production confusing and I don't think these need to be documented but instead should be more clearly separated. However, I am not using react-boilerplate at this time and can't perform this myself.
I don't like long-hanging PRs and thus I'm closing this one.


How to disable fields?

I need my input forms to be read-only until I put them in edit mode.
So I need to manage editable and disabled props of the fields.
InputField is easy:
<InputField
      placeholder='Namn'
      ref='contactName'
      editable={this.props.isEditable}
/>

SwitchField is not easy. I'd like to do like this:
 <WrappedSwitchField
  value={this.props.project.isActive}
  disabled={!this.props.isEditable}
  label='Active'
/>

or even
 <WrappedSwitchField
  value={this.props.project.isActive}
  editable={this.props.isEditable}
  label='Active'
/>

But the switch field doesn't propagate the disabled prop to the internal switch. I could make a custom field, of course. But it would be nice if all form-generator fields were disableable (is that a word?). It would also be great if the editable prop where used everywhere (instead of disabled for switches)
How about one new line in SwitchComponent.js?
//src/lib/SwitchComponent.js
render(){
  return(<Field {...this.props}>
    <View style={this.props.containerStyle}
      onLayout={this.handleLayoutChange.bind(this)}>

      <Text style={this.props.labelStyle}>{this.props.label}</Text>
        <Switch
        onValueChange={this.handleValueChange.bind(this)}
        style={this.props.switchStyle}
        value={this.state.value}

-->     disabled={ (typeof this.props.editable === 'undefined') ? false : !this.props.editable }/>

    </View>

  </Field>
  )
}

I'm going to check this.
The props passed to the parent component are propagated to the children so I guess it should work no matter what.
I'll include the change in the new version

sdfghj


Fix copying for MetricsStatusChecks

need to reset additional ids otherwise it'll just save the same check (instead of creating a new one)

trigger build

@stevenbuccini

@stevenbuccini this is the method django docs has for copying model instances https://docs.djangoproject.com/en/1.10/topics/db/queries/#copying-model-instances


Provide entity codecs for json4s Reader and Writer

These are similar in spirit to Argonaut's DecodeJson and EncodeJson.
Contains refactoring to DRY up the implementation across native and jackson.  Note that native support is being questioned on #171.
Closes #156.

We could also provide a Formats-based codec to handle types using json4s' reflection.  This is more idiomatic json4s, but less idiomatic http4s.  I am open to persuasion on this topic.

I cant see anything wrong but to be honest, I've not looked much at the JSON bits so I may have missed something.

I feel fairly confident in the implementation.  I think the more interesting question is whether anybody wants Formats support.  I guess that can be a separate ticket.


Documentation for aws-sdk-swift-core

Scripts to build documentation for aws-sdk-swift-core
Cleaned up code, where documentation indicated some mess.
Removed public from some objects that don't need to be public
Removed unused functionality
You can see the documention here https://adam-fowler.github.io/aws-sdk-swift-core/docs/current/index.html

merged latest master and tested with kinesis, lgtm!


Uncaught TypeError: Cannot read property 'pathname' of undefined

This happens to me when using HMR (only after I chnage something I'm working on). Strange enough but this happend on any action

I did not notice such behaviour with previous versions.
From package.json:
{
    "connected-react-router": "^4.2.1",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.1.1",
}

Could you inspect more whether which LOC causes that error and what's the value of state in your redux store?

Sure. It's the same as here: https://github.com/olegstepura/postcss-loader-test/blob/master/webpack.config.js
Actually whole config including package.json is almost the same.

I'm using hot modules replacement. The error does not appear before a hot module update happens. But if I edit source of some component and it hot updates, this happens.
Also looks like this exception is the cause why hmr does not work causing full page reload atm:

It's hard to trace what happens atm since hmr is broken.
I'll try to provide more details if I'll be able to debug this.

        var _toJS = toJS(getIn(context.store.getState(), 'router.location')),
            pathnameInStore = _toJS.pathname, // Looks like this code causes this
            searchInStore = _toJS.search,
            hashInStore = _toJS.hash;
        // Extract history's location

When this happens _toJS = undefined
State:

hmm, just before that I got a warning:
Unexpected key "router" found in previous state received by the reducer. Expected to find one of the known reducer keys instead: "form", [STRIPPED]. Unexpected keys will be ignored.

I just tried downgrading, seems like this is not related to the fact I did upgrade recently.
So my sentence

I did not notice such behaviour with previous versions.

makes no sence. I checked with previous versions of connected-react-router, react-router and react-router-dom, and the issue is still there.
Seems like router.location which is passed to  somehow is not actual in some case. Cannot find out why. Issue is located here: https://github.com/supasate/connected-react-router/blob/master/src/ConnectedRouter.js#L32

That's interesting. Could you provide me a minimal repo that reproduces this problem? I'll try working on it then.

Well, that's not easy, I'll try to provide one later this week.

not sure if related but I was having similar if not identical error due to importing the wrong ConnectedRouter.
import { ConnectedRouter } from 'connected-react-router/immutable'
instead of
import { ConnectedRouter } from 'connected-react-router'

Thanks, @dimatter but that did not help. :(

The problem is you don't have router in your state when HMR patch applying. You should wrap your rootReducer into **connectRouter** function.
store.replaceReducer(nextRootReducer); // your code now (probably)

to:
store.replaceReducer(connectRouter(history)(rootReducer)); // what to change

@iceekey Thanks a lot! The seem very reasonable. I tried this and after quick check did not face my issue. I'll work with this for some time and will report later if the issue is completely resolved.

Seems like issue is resolved. Thanks, @iceekey

I am getting this issue in my environment, but the suggested solution is not working in my case:
This is my setup:
My codes
Store.js
import { applyMiddleware, createStore, compose } from 'redux';
import thunk from 'redux-thunk';
import { createBrowserHistory } from 'history'
import { connectRouter, routerMiddleware } from 'connected-react-router';

import rootReducer from '../Redux/Reducers/RootReducer';

export const History = createBrowserHistory();

const initialState = {};

const middleware = [
    routerMiddleware(history),
    thunk
];

const enhancers = [];

if (process.env.NODE_ENV === 'development') {
    enhancers.push(window.__REDUX_DEVTOOLS_EXTENSION__ && __REDUX_DEVTOOLS_EXTENSION__())
}

const Store = createStore(
    connectRouter(history)(rootReducer),
    initialState,
    compose(
        applyMiddleware(...middleware),
        ...enhancers
    )
);

export default Store;

App.js
import React from 'react';
import { render } from 'react-dom';
import { Route, Switch } from 'react-router';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';

import Store, { History } from './Redux/Store';
import RaiseIssuePage from './Pages/Issue/New';
import HomePage from './Pages/Index';

const PageRoutes = () => (
<div id="PageRouters">
    <Switch>
    <Route exact path="/" component={HomePage} />
    <Route path="/issue/new" component={RaiseIssuePage} />
    </Switch>
</div>
);

class App extends React.Component {

render() {
    return (
    <Provider store={Store}>
        <ConnectedRouter history={History}>
            <PageRoutes />
        </ConnectedRouter>
    </Provider>
    );
}
}

render(<App />, document.getElementById('App'));

PageActions.js
import {INITIATE_PAGE } from '../Type';

export const initiatePage = (pageName) => (dispatch) => {
    console.log('initiatepageActions');
    dispatch({
        type: INITIATE_PAGE,
        payload: {pageName: pageName}
    });
}

PageReducer.js
import { INITIATE_PAGE } from '../Type';

const initialState = {
    pageName: '',
    issuePlace: {}
}

export default (state = initialState, action) => {
    switch (action.type) {
        case INITIATE_PAGE:
            const pageData = Object.assign({}, state, action.payload);
            return pageData;

        default:
            return state;
    }
}

RootReducer.js
import { combineReducers } from 'redux';
import PageReducer from './PageReducer';

export default combineReducers({
    page: PageReducer
});

Error
This is the error which I am getting:

More info
In my HomePage component, I have a call on initiatePage which is available in PageAction.js. This is what clearly gives me this error and the what I get a blank page in the browser. When comment out this line, everything went smooth, leaving couple of warning messages which are pretty mush same which you can see in the image above.
The error indication is exactly same as the the original thread, but the suggested solution is not working in my case (as you can see, I have already added it in my code).
I really lost here. Any help on this issue is really appreciated. Thank you.

+1

@progammer-rkt did you find a solution? Im having the same problem or similar problem, im getting Warning: Failed prop type: The prop action (and location) is marked as required in ConnectedRouter, but its value is undefined.

Ohh, well, 3 hours later ... I had these problems because i use a custom immutableJS solution, ie my top reducers are not Immutable but their children are. So my state looks similar to this:
jsObjReducer = {
  imJsObject: Map()
}

So i access my state by doing state.jsObjReducer.get('imJsObject'); not state.getIn(['jsObjReducer', 'imJsObject']). And i had accidentally converted the router state to an immutable so when ConnectedRouter tried to access those vars by doing router.location it threw an error of course since my accidental conversion to ImJs obj before.
The provided solution for ImJs with connected-react-router doesnt work in my case because my top level reducers arent immutable (i dont use combineReducers from 'redux-immutable'; for my top level reducers, instead i use it from redux).
My solution was rather simple when i finally understood what went wrong, simply to not convert router state to immutable. I check if it is router
    let plain = JSON.parse(unescape(window.__INITIAL_STATE__));
    for (const key in plain) {
      if (key !== 'router') {
        initialState[key] = Immutable.fromJS(plain[key]);
      }
    }

@progammer-rkt
I found a typo in your store. You declare the const History like this : export const History = createBrowserHistory();
then use it like this routerMiddleware(history), and connectRouter(history)(rootReducer),. shouldn't it be this routerMiddleware(History), and connectRouter(History)(rootReducer), ?

 ()} />
           (Miss)} />

Replace the code in index.js it will work

@progammer-rkt
Did you ever resolve this issue? I'm having very similar issue and very similar code.

can someone help me with the issue

can someone help me with the issue

I am getting the same code error as yours.
Did you fix the bug?

in line 11;

Hi All,
I am new in react, Please anyone help me,
how to resolve this error.
Thanks


Memoria is broken for FF5 (in a different way than for FF4) as of 2024/01/30

As of the latest Steam release, Memoria for FF5 is broken. Here's what I did to test this:

Completely uninstall FF5 and remove all files from the Steam FF5 directory.
Install FF5, then install Memoria (following the instructions on the Memoria page). This includes BepIn and the FF5 zip.
Start FF5 -- I did not extract resources, although this is possible.
Now, either load a save file or start a new game --the game will NOT allow you to walk around or open the menu. (If you start a new game, the game will respond to the first button press to close the Tutorial window, but that's it).
Memoria's key shortcuts (i.e., "no encounters") will still cause the notification ("e") to appear. And water animations on the world map still work. So the game's not frozen per se.

This is a different failure mode than was reported for FF4, FYI.

Fixed:
https://github.com/Albeoris/Memoria.FFPR/releases