BotState clear should clear any durable state

In the C# implementation the bot state is replaced (with a new CachedBotState) rather than cleared and so the cache state will not be saved that looks like a bug.
However the new DI changes (as of merged in yesterday) for the Integration layer seems to makes plugging the state in more awkward not less. The state is needed to set up the options and to create the bot. But the options are set in a callback that doesn't get handed the DI service provider. This needs more work.
And note the TurnState collection is next to useless because the object it contains is private and this has caused confusion. To add to this confusion the TurnContext is handed to the error handler. So despite the "god object" nature of the TurnContext it still manages to not have all the objects you actually need.
The JavaScript looks OK in terms of the Clear implementation. But the fact that everything is public isn't really making things simpler longer term. The samples need to just Clear (with the await.)

@drub0y can you comment. I think you had a pattern in mind to at least get rid of the accessors pattern in the samples. Anyhow, in the mean time I have been experimenting with the botFactory and the options callbacks - the problem is I need the state in both. So the question is where is the best place to create the state now.
@sgellock see comments regarding JavaScript. You should just be able to call Clear and it should work. I need to do a little more testing before we update samples across the board.

In the C# implementation the bot state is replaced (with a new CachedBotState) rather than cleared and so the cache state will not be saved that looks like a bug.

Yes, that is what we observed as well. So, I want to be restate what I believe is being proposed here to make sure we're on the same page:
A call to BotState::ClearStateAsync should result in loading any latent state entries in that scope, walk through each entry and clear each value such that a subsequent call to SaveAllChanges will end up deleting those values from the backing store.
That right? If so, that would be a breaking change from the existing behavior which simply clears any state that has been loaded from the cache such that any read that might follow would cause the latest state to be read from the backing store again, thuse getting fresh values. The only way to actually remove state from the backing store is an explicit call to BotState::DeletePropertyValueAsync or, more directly, IStatePropertyAccessor<T>::DeleteAsync.
Let me say that I support both behaviors, but perhaps the current behavior of BotState::ClearStateAsync should be moved to a new method BotState::ClearCachedState (non-async... it doesn't need to be) and then the new implementation of actually deleting all state in the scope could then be moved into BotState::ClearStateAsync.
This is technically a breaking change so this should be considered strongly, but I would think it's the best thing to do.

However the new DI changes (as of merged in yesterday) for the Integration layer seems to makes plugging the state in more awkward not less. The state is needed to set up the options and to create the bot. But the options are set in a callback that doesn't get handed the DI service provider. This needs more work.
And note the TurnState collection is next to useless because the object it contains is private and this has caused confusion. To add to this confusion the TurnContext is handed to the error handler. So despite the "god object" nature of the TurnContext it still manages to not have all the objects you actually need.

I only somewhat follow this, but it seems tangential to the topic at hand (clearing vs resetting state), right?
However, yes, as far as the whole XXXAccessors pattern and DI registration, I plan to PR you guys a cleaner version of what that could look like now that we have the new factory methods and decide on a solution to #1164. So maybe we can just table this part of the conversation for now and resume it on that PR once I get it in?

Yes @drub0y  two topics somewhat conflated here but related.

The behavior of BotState. Just to revisiting the goal: @vishwacsena @sgellock @Stevenic intended the "clear" method to mean "clear all state both cache and durable" where the "durable" aspect is deferred until the execution of the autosavemiddleware. The aim is to call this method from the default implementation of the OnTurnError handler. So I think the C# just clears the cache. And I think the JavaScript does that and clears on save. (I'm verifying this morning.) Agreed this is change of behavior but its a bug in the C# and the method was not intended to apply to the cache only. Though i guess its not ridiculous to add an extra method if we really thought it necessary.

The DI in the integration layer is still quite awkward. We should work out want the clean pattern is. It's OK if that involves adding more overloads or modifying the last one you added which we haven't shipped yet. It would be great to flesh out asap how we want Startup.cs to look.

Having said that, we are seeing that a bunch of people will just go with building a regular MVC application and, naturally, we want to also make sure things are good for them. The minimum that means is keeping HTTP hosting dependencies out of the Adapter which we are doing. Beyond that we not providing much help, other than showing that it is simple and easy to go that way if that's what fits your needs.

Ok, so I agree we need to iterate a bit and arrive at something more palatable for 2. Let's continue to follow up on that separately and keep this focused on 1. Fair?
For 1, do we agree that separate methods are needed so that you can explicitly clear the cache (i.e. the functionality there today), independent of actually clearing actual persisted values? If so here's a PR that does that: #1169

Once we land on an approach and agree on behavior, we need to ensure we're doing the same thing correctly on JS.  If so, then can @johnataylor open an issue in the js repo?

@drub0y yes absolutely, lets focus on 1 for starters.
OK actually drilled into this a little further the situation is really not too bad. And we think the behavior is definitely a bug, it is not intended nor expected behavior, according to @stevenic who designed this.
Basically in the following:
                    options.OnTurnError = async (turnContext, exception) =>
                    {
                        await conversationState.ClearStateAsync(turnContext);
                        await conversationState.SaveChangesAsync(turnContext, true);
                    };

The problem is that you must add the true (forced) to the SaveChanges in this scenario. This makes no sense as clearing the state surely must be interpreted as a change if there was actually something there. The bug is that this isn't the case but only because of the slightly careless way it's implemented.
The good news is the behavior is actually the same in both JavaScript and C#. That was a surprise because we thought the JavaScript was good, but I just tested this and it isn't.
So the plan is to fix the bug. We can discuss the need for additional methods as a DCR. In fact @stevenic is promising to write a DCR to simplify the overall behavior but it would be a change in the desired behavior too.
It is also worth taking into account the implication demonstrated in sample 42 that its pretty straight forward to build your own state solution all up if you happen to have sightly different requirements.

So throwing out my 2 cents... I don't know that we need separate methods for clearing the cache versus clearing the backing object... In general we'd like the cache to be hidden from the caller and if anything I'd re-consider even having the force flag.
As I was digging into this I realized that the bigger issue here is that we don't expose any direct way letting the developer delete the states backing storage object so as you call clearStateAsync() everywhere you're just leaving empty objects in your store. I've submitted a DCR which proposes that we add a BotState.deleteAsync() method and that this is what we start recommending to developers that they call.

fix for the current clear is checked in now. @stevenic DCR to add a delete is still active and we are hoping to get that in for 4.2.


Make sure the orgnization correct after login redirect

Each resource has a organization, if the url is like this: https://cloudland.pic.cdl.ibm.com/instances/368, instance 368 may belong to another org, so lookup database according to path (.../instance/...) and id and make sure the correct org is set in the session, also needs to check the permission, if the user doesn't have the permission for the resource, display correct error on the page

Fixed


Updates & corrections to APIManagement docs

Updated backup validity period from 7 days to 30 days.
Updated incorrect sourcePort requirement for NSG for API Management in VNET

Hi @KedarJoshi, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@steved0x (api-management-howto-disaster-recovery-backup-restore.md) @antonba (api-management-using-with-vnet.md) Please review these contributions and sign off when review is complete. Thanks.

#sign-off

@KedarJoshi @solankisamir It looks like this is waiting for the CLA to be signed before content can be merged.

@jomolnar How do I sign CLA? I signed the CLA but how do I get the lable cla-already-signed?

@KedarJoshi Thanks for asking, Kedar. I'm checking into this issue.

@KedarJoshi - I think you need to update your GitHub profile to include your Microsoft email address. I believe that should remove the CLA requirement from this PR; you might have to close and reopen it after you update your GitHub profile.

sounds good.  thanks  will close this PR and reopen.


Enhance Enforce Dist capabilities to fix, sub optimal bad plans

Which issue does this PR close?

Closes #.
Rationale for this change
Current EnforceDistribution rule produces optimal plans, when physical plan at its input is single partitioned plan (E.g physical plan doesn't contain any distribution changing operator). This assumption is valid for datafusion physical optimizer.
However, others may want to use this rule with their existing plans, that is already distributed.
In these cases, EnforceDistribution used to produce valid plans, generated plans sometimes were not optimal.
In this PR we extend capabilities of the EnforceDistribution rule, so that even if existing plan is already multi-partitioned, physical plan produced by EnforceDistribution is still optimal.

What changes are included in this PR?
The approach to accomplish this as follows.

Analyze input physical plan to determine requirements at the output of the query (Such has it has single distribution requirement, or it expects output to have a ASC ordering etc.).
Add an ancillary operator(GlobalRequiringExec) so that requirement of the query is not lost across rules.
In the EnforceDistribution rule, ignore-remove any distribution changing operator at its input.
Then satisfy distribution requirements of the operators using existing algortihm.

Are these changes tested?
Yes, new tests are added. To show that intentionally bad, multi-partitioned physical plans can be fixed by EnforceDistribution rule.

Are there any user-facing changes?

The name GlobalRequirements initially implied to me that it tracked something global to the entire plan, but upon reading more I realize it is modeling the requirements of the output / root of the plan. Maybe a name like OutputRequirements or RootRequirements might better capture the notion.

I agree that, current name is a bit vague. Changed name to OutputRequirements.


config file getting locked

Error observed with Git things within ThingWorx, things stop running and giving an error 'Things[] is not running'.
Noticed an error in logs mentioning  GitRepository//.git/config file is locked, once the locked config file is deleted from ThingworxStorage/repository/GitRepository//.git/ and the instance is restarted the issue gets fixed temporarily.
Unable to find the root cause.

Hi @srijithkrishnan1 ,
Could you please provide more details about this error?
First of all, what version of the Git extension and ThingWorx are you using?
Secondly, what steps have you performed before you have reached this error?
Thanks.
Costin

closed due to lack of response


Upgrade GameSalad.app to v0.13.24

Thank you for the contribution. It was merged directly as<PHONE_NUMBER>15f03fd1cc14046c9345c10b70caaf to keep commit history cleaner. Your contribution is still credited to you.


Consider migrating from resumable.js to something else

From https://github.com/23/resumable.js/issues/533 seems that resumable.js not maintained anymore. Flow.js if a fork of resumable.js, which has added functionality and seems to be actively maintained. The latest version of resumable.js on npm (1.1.0) is from Nov 2017, and latest version of flow.js on npm (2.14.1) is from June 2020.
There could be also some other interesting options.
I am open to suggestions, if anyone knows better than me what is out there.

It sounds very reasonable to me. There is also https://www.dropzonejs.com/ and https://github.com/pqina/filepond.
Personally, I am more interested in large batch compatibility than image previews and editability.
Though in general moving on from something that is not maintained anymore will be necessary at some point anyway.
Uppy also seems worthwhile looking at as described in this article. It can also get files from Dropbox/Google Drive, maybe a bit out of scope though.

It sounds very reasonable to me. There is also https://www.dropzonejs.com/ and https://github.com/pqina/filepond.
Personally, I am more interested in large batch compatibility than image previews and editability.
Though in general moving on from something that is not maintained anymore will be necessary at some point anyway.
Uppy also seems worthwhile looking at as described in this article. It can also get files from Dropbox/Google Drive, maybe a bit out of scope though.

I started a branch for v.0.5.0 which might contain some bigger changes. This is a candidate issue on it. So, if someone wants to experiment using some other library than resumable.js, better starting point (than master branch) would be https://github.com/np-8/dash-uploader/tree/0.5.0

Thanks for the tips, @soerendip 🙏
I had time to look a bit around. I also agree with you, and think that the top priorities for dash-uploader JS component would be

Ability to upload large files in small chunks. This is the selling point and reason dash-uploader exists.
Ability to upload many files at once. This is a feature request already on dash-uploader (https://github.com/np-8/dash-uploader/issues/20) and resumable.js seems to have a bug related to this. Preferably, user could just drag & drop a folder.
Robustness. The upload component must be robust for example when there are problems in internet connection.
Well documented API & easy to integrate with React
Fair amount of user / developer base & some recent commits

Points 1-3 are needed from the user perspective, points 4 is a developer-friendliness points and point 5 guarantees that the solution will last for some time.
Some thoughts on different options

Dropzone.js: Does not seem to be possible to fulfill points 1 & 2 at once, as chunking option is not possible with uploadMultiple(?). Not sure but as it is not clear, not the first choice.
filepond: Point 1 ok, "accepts directories" so I assume point 2 also ok (see issue 27 here). Nothing said about robustness (point 3). Seems well documented and has a react wrapper (point 4). Also point 5 ok. Seems very promising. Should check out the robustness, and not sure if resumable.
Uppy: Point 1 ok (big files), there was demo with multiple files (question mark if folders can be selected), it is said to be robust and resumable (point 3), is well documented and has React components (point 4).  Point 5 ok. Has also other goodies, like uploading directly to AWS S3. Definitely one candidate. (check: What does is mean "Uppy is not backend-free"?). Directory uploads seem not to be possible: issues  447 & 1027.
Meteor-Files: Point 1 looks ok (chunks), multi-file uploads possible, but are folder uploads?, is robust (3), points 4 and 5 ok.
Uppload: I could not find absolutely anything about chunks from the website. Could be that point 1 not fulfilled, as "Uppload is a better JavaScript image uploader." --> Not considering now.
tus-js-client: Points 1 & 3 clearly met. Question remains on point 2: is uploading a folder structure possible? More about tus protocol here.
react-dropzone: This is what the dcc.Upload component uses -> no.
flow.js: Originally fork of resumable.js. Points 1 & 3 ok. Also 4 & 5. Not sure about uploading folders. This page says uploading a folder is possible, but here is this issue. -> Should Try
Simple-Ajax-Uploader: Interesting but no recent activity in the project (point 5).
Plupload: Point 1 ok, uploading folders possible (point 2). Resumability is a question mark. See their issue 57.
Dropit: No references to points 1-3 --> dropping it.
blueimp/jQuery-File-Upload: Seems to fulfill the points, but has jQuery dependency (dash-uploader JS components are created using React) -> Not considering first.

Summary
At first glance, looks like filepond and flow.js are strong candidates here. Perhaps also Plupload.  These should be tested for (1) the ability to upload directory structures and (2) how they handle interrupts in the internet connection.
Am I missing something else here?

If anyone has expertise & time to check if any of the candidates (flow.js, filepond, Plupload, Meteor-Files, or others) meet the requirements -especially, uploading a folder full of files, it would be a great help. After that dash-uploader could start migration process.

Started a branch for flow.js. One of the first things should be to check if there is issue when uploading more than 100 files, as mentioned in github.com/flowjs/flow.js/issues #89.

Seems all essential components are working in the FlowJS branch of my pull request. The last thing to add would be automatic tests. But, I am not sure how to do that. The test in the repo is actually not testing anything yet. But manual testing worked.

upload multiple files
resumable
cancel button works
continuous progress bar for multiple files

That was a great learning experience.

Also, after the tests are added, we could clean up the code? There are still left overs from the resumable.js in there.

The code was updated to the latest Dash version. So, it will not be compatible with older versions due to the different imports. E.g.
from dash import html

I think this issue can be closed as the consideration is done. Next step is to finish the flow.js implementation in the flow-dev branch.


Removed toggles/conditionals around Franz paid plans features to make them permanently available to Ferdi users.

Pre-flight Checklist

Please remember that if you are logging a bug for some service that has stopped working or is working incorrectly, please log the bug here
If you are requesting support for a new service in Ferdi, please log it here
Please remember to read the self-help documentation - in case it helps you unblock yourself for issues related to older versions of recipes that were installed on your machine. (These will get automatically upgraded when you upgrade to the newer versions of Ferdi, but to get new recipes between Ferdi releases, this documentation is quite useful.)
Please consider supporting Ferdi!
👉  https://github.com/sponsors/getferdi
👉  https://opencollective.com/getferdi/donate
Please ensure you've completed all of the following.

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Description of Change
Removed toggles around the Franz paid plans features

serviceLimit
planSelection
trialStatusBar

and other Franz features that were for different tiers of subscription.
Motivation and Context

Remove unnecessary processing/logic when the app is running since these features are always on for the Ferdi users equivalent to the top tier of Franz.
Cleanup of code.
Better maintainability
Smaller download of the installer file (for macos x86, size of the .app went from 335 MB to 310 MB)

Screenshots

Checklist

[x] My pull request is properly named
[x] The changes respect the code style of the project ($ npm run lint && npm run reformat-files && npm run manage-translations && npm run apply-branding)
[x] npm test passes
[x] I tested/previewed my changes locally

Release Notes

Removed all references to Franz's paid features. Everything is available free and without ads (as before).

This is a draft - I want to release 5.6.0 first and then merge this PR.

Haven't had the time to run this yet, but it looks really cool!
One thing to think about would be what we should do if someone logged in to Ferdi with a non-premium Franz account. Perhaps the easiest thing would be to show a banner that this is not fully supported, and the users should migrate to a Ferdi account or use Ferdi without any account instead.

Looks good so far. Great work - I didn't know that this could reduce the app size by 25MB!

Sorry @vantezzen - looks like I missed a '1'. it went from 313.5MB to 310MB - so, a much smaller gain :(

Haven't had the time to run this yet, but it looks really cool!
One thing to think about would be what we should do if someone logged in to Ferdi with a non-premium Franz account. Perhaps the easiest thing would be to show a banner that this is not fully supported, and the users should migrate to a Ferdi account or use Ferdi without any account instead.

Yes - that is a good idea @kris7t . Is this even supported in the current version of Ferdi? ie, if such a user logs in, even then will they not get all the benefits of the full/premium account in Ferdi? (like > 6 services, no delay, etc)?

I think they'll get the full benefits of Ferdi, but that might still be surprising, since the Franz server (I think) would refuse to save things that require a premium account (more than 6 services, workspaces, spell checker settings).

I think they'll get the full benefits of Ferdi, but that might still be surprising, since the Franz server (I think) would refuse to save things that require a premium account (more than 6 services, workspaces, spell checker settings).

True - but, isn't that the current behavior as well? I mean to find out whether this behavior is because of changes in this PR or existing prior?

As far as I remember, Franz validates most premium features on the client side (like service limit, spell checker etc.) and at least ca. 1 year ago there were no such checks on the server-side (It could however be that these have since been added).
Franz's server does however not save Ferdi-specific data like Service hibernation settings as their database tables just don't have these columns.
Due to this, we should still show an info banner but most features should still work as if the user were premium.

Yes - that makes sense @vantezzen - but, isn't that extraneous to this PR? If so, I will put that as an info text in the appropriate screen outside of this PR, and push those changes - they seem valid for 5.6.0 itself.

Ferdi does actually already display such a banner when switching to Franz's server: https://github.com/vraravam/ferdi/blob/77df4f03eb428ac1bf7b711f33486448ab3624bc/src/components/auth/ChangeServer.js#L105-L110
So there shouldn't be a need to modify that behaviour. Just wanted to add that info so we don't remove those info texts.

So there shouldn't be a need to modify that behaviour. Just wanted to add that info so we don't remove those info texts.

Thanks @kris7t - i haven't removed that file/changed those lines in the code. So, this behaviour should continue as before.

Now that 5.6.0 has been released, we can look at merging this - please approve @vantezzen @kris7t


The meal_price_outlier_classifier classifier is broken

What is the problem?
There is an error executing the script pipenv run ansible-playbook update.yml.
This script runs weekly to update the Câmara dos Deputados data and classify suspicious invoices. As defined in the data update procedure.

File serenata-de-amor/rosie/rosie/chamber_of_deputies/classifiers/meal_price_outlier_classifier.py, line 105, in __normalize_string

nfkd_form = unicodedata.normalize('NFKD', string.lower())",
"AttributeError: 'float' object has no attribute 'lower'"

How can this be addressed?
Type validation can be done by ensuring that a String object is being manipulated.

In the Chamber of Deputies adapter, we only enforce a couple of fields to be read as strings:
    DTYPE = {
        'applicant_id': np.str,
        'cnpj_cpf': np.str,
        'congressperson_id': np.str,
        'subquota_number': np.str
    }

Probably because in most cases Pandas would read the column recipient as strings as well. The error suggests it doesn't (the traceback leads to a single call of the __normalize_string method with is called using the dataset recipient column).
Also, the adapter creates the recipient column from the supplier column. So, my best guess to try to fix this bug would be to enforce the np.str as the dtype of the supplier, adding a single line to block I pasted above:
    DTYPE = {
        'applicant_id': np.str,
        'cnpj_cpf': np.str,
        'congressperson_id': np.str,
        'subquota_number': np.str,
        'supplier': np.str,
    }

However it's extremely unlikely that Pandas is reading this column as a numeric one for no reason. We should make sure the CSV inputs still consistent to whatever we're expecting from them.

I wanted to give it a try fixing this problem but I'm having a hard time to start Rosie, since it requires a lot of memory. I'll keep working on get it running tonight, but don't hesitate (anyone) on working on this issue too, since it might take some time for me to get it running.

I was able to make Rosie work on my machine with some Macgyver.
I'm able to reproduce the issue using only the reimbursements from 2019. I followed @cuducos approach to enforce the dtype for supplier on the adapter, still to no avail.
Since the issue is happening on meal_price_outlier_classifier.py, I added a print command to __normalize_string so it prints the value when it's not a string. Here's the result:
type:<class 'float'> ; val: nan
From my check, some suppliers are actually empty but shouldn't cause the issue.

From my check, some suppliers are actually empty but shouldn't cause the issue.

You nailed (even without knowing it): np.nan is a float indeed!


added code for deactivating customer UI

Codecov Report

Merging #149 (4fa2e5a) into master (8ee2d83) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #149   +/-   ##
=======================================
  Coverage   95.45%   95.45%
=======================================
  Files           8        8
  Lines         506      506
=======================================
  Hits          483      483
  Misses         23       23

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 8ee2d83...4fa2e5a. Read the comment docs.


Release 0.12.6

d7d98880ce62bad6fcab946a65648ecdc74e79c9 and 689280ebad11c168883841fa0b7f068fd1c36159 should be added to this release.
0.12.X has several issues that can prevent one from upgrading from <= 0.11.X (see #2026, #1934, #1794, #1785). All but one (#1785) of these are fixed in 0.13.X. Since there are going to be 0.12 patch releases I see no reason why these shouldn't be added. It will only make folks lives easier.

d7d9888 and 689280e are now included in 0.12 branch on Github.

Hey all,
Quick updates:

Compiled changelog for 0.12.6
Draft of the blog post

@padrino/collaborators can you review / update the changelog and blogpost and/or apply any additional backported fixes we want before release. Make sure all the tests pass, etc. When I get the green light from you, I can push out 0.12.6! Thanks.

Released 0.12.6: blog post. 🎉


#1 fix: :wheelchair: Removing all outline: 0 overrides

For now, chisel will leave all browser defaults for outlining active or focused elements.

Fixes outline: 0 accessibility issues (#1 )
For now we're sticking with browser default focus states.  It may be worth revisiting this later to restyle the outlines while keeping them accessible


What happened to @andy.mtp:matrix.org's avatar?

It's absent throughout the app, too.

the image download failed.
It is the default image.


Process is terminated due to StackOverflowException.

I encountered a Process is terminated due to StackOverflowException when using version 13.6.0 again. There is no problem for me to put the generated json into the validation tool.As shown in figure: Process is terminated due to StackOverflowException..My josn generated about 20,000 lines, and I tried to use 2,000 lines without reporting an error

"JToken": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JToken"
}
},
Circular reference leads to

FYI, I too encountered this error after I added this code to one of my dto's.
public IDictionary<string, JToken> IgnoredData
{
return Debugger.IsAttached ? OrphanData : null;
}
private IDictionary<string, JToken> OrphanData;
I guess the JObject creates Circular references

Maybe you can create a PR in njsonschema with a test to repro this? I think jobject should be treated as object and you should not der a SO


Update fastpfor source and header files to incorporate changes made since 2018.

Hello @searchivarius,
Please consider this pull request to update the source and header files for fastpfor. I have copied in the source and header files from the most recent fastpfor commit --- 8e67fbd3418e27c8b593cc94335fc584c5e937cb --- made on June 5 2023.
I am motivated to update these files because I am using both PyFastPFor and lemire/FastPFor in my projects, and I would like the results to match. There have been small tweaks to the encodings made since your last checkpoint in 2018, so I am currently unable to use PyFastPFor to decode files I have written using FastPFor.
I was able to swap in the new files without too many problems. The only substantive change I made to the code is to instantiate a CODECFactory in the IntegerCODECWrapper since the formerly static methods getFromName() and allNames() now require an instance of the factory to call.
If you're willing to accept this pull request, that would be awesome. If you'd like to add lemire/FastPFor as a submodule, I'd be happy to set that up as well.
Regards,
Jordan Ford

This is great! @jsford could we have some at least basic test to check if things are working?

Cool, sure. I ran the test_basic1.py script on my machine without errors. What additional tests did you have in mind?

@jsford are you submitting test_basic as a part of pull request? You can add tests to setup.py.

@searchivarius --- this confused me, but I think I figured out the issue.
test_basic1.py already existed in your repo. My pull request doesn't list the test_basic1.py file because I didn't need to make any changes to it. As far as I can tell, you should be able to accept this pull request and continue to use the pre-existing test script that is already in your repository.
I've actually never submitted a pull request before, so if I've got this all wrong, just let me know!

@jsford sorry about the confusion. Indeed, there's a test.
Did you add new codecs too? The test is only for a bunch of old ones.

Hi @jsford please see my question above!

Hi @searchivarius
I've updated the test script to cover all codecs returned by getCodecList(). I also made some changes to the formatting of the test output, and I changed the filename from test_basic1.py to test_codecs.py. Let me know what you think!

@jsford sorry about delays. This is awesome, I will look into merging the PR soon!

Hi @searchivarius, just a reminder to look into this. Thanks!

Hi @jsford : just being overloaded, sorry.
Anyways, it all seems to be working (all tests pass) and the new version is uploaded to PyPi. I think buiding needs an update potentially, std=C++-11 flag doesn't work with MAC OS (despite there's a check in setup.py). However, it's possible to install on MAC with some hacks, and it's just fine on Linux.


Thread parking

I coundn't help but notice this crate uses spinlocks while thread parking exists. Why not use thread parking instead?

Spinlocking is required, as far as I'm aware, to achieve the sleep timing accuracy needed. If there is a better way, I'm all ears.

Not sure about the accuracy of other methods besides spinlock. What timings and accuracy are we talking about here?
I have looked up the precision of Instant and it seems like it is implemented to provide very accurate timing data - however there's also OS scheduler that can delay even the spinlock for the durations much longer than the precision of the Instant... So, a statement on the accuracy goals might be a good idea to analyze this further.

The issue is with sleep, not Instant. I'm pretty ignorant about thread parking, but my understanding is it uses a sleep, and it may not even wake on time. The spinlock I'm using emits instruction to the CPU that we are in a spinlock, which helps with power use significantly. With framepace, you should see extremely low CPU use - that was one of the motivating features. Using a naive spinlock eats up a lot of resources, but this plugin hasn't done that for quite a while.

I mention instant as the lower bound for the required accuracy - spinlock uses instant, and thus it is good enough - lower bound of accepted accuracy.

The spinlock I'm using emits instruction to the CPU that we are in a spinlock, which helps with power use significantly. With framepace, you should see extremely low CPU use - that was one of the motivating features. Using a naive spinlock eats up a lot of resources, but this plugin hasn't done that for quite a while.
doc.rust-lang.org/std/hint/fn.spin_loop.html

Yep, I've seen the instructions.  Much better than the usual spinlock?

The difference is pretty significant - it makes it possible to keep CPU use in the single digits when frame time is very low.


Need loibffmpeg.so

The existing kickflip sdk is not allowing recording past 35mins
Hello guys, I made the modifications according to this message
https://github.com/Kickflip/kickflip-android-sdk/issues/35#issuecomment-149854977
But I am not able to create a .so file, can some one upload one. Thanks in advance.

I created myself


r11s-driver: implement persistent caching for RestLess HTTP requests

RestLess requests are not compatible with Browsers' built-in cache because they are all POST requests. We can use IndexedDB to replace the built-in browser cache when needed.
Bonus: previous additions of in-memory cache were a bit haphazard and not well-thought-out. This PR also cleans those up.

Somewhat similar topic popped up for ODSP, and internet suggests that POSTs could be cached. Not clear if it's browser specific, etc. Have you had chance to look into it (and conclude that's not possible / not an option)?

It would be great to have a mini spec describing this feature.
Some questions:

Do we give control to hosts re indexDB caching? What is the implication for user leveraging Fluid app on public PC? The min requirement I've heard is that when user logs out, all cached data should be deleted. Do we provide right documentation and tools for app developers to be able to do so?
You will likely need ability to clear all cache info for a file. It's not a big issue if all the content stored there is content addressable, but if not, you are likely to find yourself in a situation in future where file was overwritten / reset (let's say due to data center fall-over / restore) where cache needs to be reset.
Hosts should be able to provide their own implementation of caching interface. I do not remember the details, but Fluid/ODSP users on iOS/Android (I believe) want to use their own storage (assuming usage of WebView to run JS code).
In practice, we are finding that indexDB perf is all over the place. For example, please see https://github.com/microsoft/FluidFramework/issues/9177, where we see doing rest call is actually faster in many cases than getting data from indexDB. We do not fully yet understand these cases, but data suggests indexDB can be terribly slow (likely if CPU is overscheduled / other players on machine use indexDB).

Somewhat similar topic popped up for ODSP, and internet suggests that POSTs could be cached. Not clear if it's browser specific, etc. Have you had chance to look into it (and conclude that's not possible / not an option)?

Yes, I had looked into this before when implementing RestLess because I was really hoping I wouldn't have to implement manual caching (especially for Shredded summaries w/ Git storage where everything is content addressable by URL). Technically, the response of a POST request is cacheable, however, in order to access the cached resource, the next request  to that resource would have to be a GET, so we would still need to implement some method for storing and retrieving information about what has been cached so that we can disable RestLess for any follow-up requests to that resource. That seemed like as much or more effort than just implementing a manual cache, especially since the manual cache would be extensible for non-content-addressable resources (e.g. WholeSummaries w/ Antler/PragueGraph).

@vladsud I found this article about IndexedDB performance saying that "many small transactions" is slow, while "few large transactions" is fast. This article links to some of the resources you mentioned in #9177, and seems to line up with what you're saying about many transactions for reads being a problem. I'm wondering if leveraging idb-keyval's getMany() method for specific scenarios (ops and summary-blobs caches) where we know many requests will likely happen in quick succession. Thoughts?

I do not have much info here, other than what's shared above. in ODSP stack we basically try to (as much as possible) push decisions for some of these problems to hosts that use us. I.e. we ask to provide cache implementation (object implementing some small interface), but defer all the management and concerts to hosts, and some of the things I shared re public PC usage is what I've heard from Bohemia. @AndreiZe might be right person to chat about security / privacy aspects here.
in ODSP stack the problem that caused us to re-evaluate it is slightly different - it's usage of tokens in query parameters and push back from clients that it's less secure than alternatives. We are evaluating switching to POST or GET with OPTIONS calls. I think the latter is what we will chose, especially for calls that are cachable (like blob reads)

Closing this to take a different approach in a future PR when this can be prioritized again. Thanks Vlad for all the feedback and info offline!


Option programs.neovim.enable is broken by hardcoded script path

Describe the bug
programs.neovim.enable = true; in configuration.nix will cause an error:
error: getting status of '/nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/make-etc.sh': No such file or directory

After digging in trace message, I found the hardcoded make-etc.sh script is modified 2 days ago: https://github.com/NixOS/nixpkgs/pull/131102
So this issue is just a notification to the module maintainer,
because I'm not found another personal contract.
Steps To Reproduce
Steps to reproduce the behavior:

Adding programs.neovim.enable = true; to NixOS system configuration file. (The only option neovim related)
Do nixos-rebuild switch or something else to activate the configuration.

Notify maintainers
@teto
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.13.7-zen1, NixOS, 21.11pre305784.151c2f5a20c (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4pre20210707_02dd6bb`
 - channels(root): `"nixos-21.11pre305784.151c2f5a20c"`
 - channels(vanilla): `"home-manager, nixpkgs-21.11pre304626.8ecc61c91a5"`
 - nixpkgs: `/home/vanilla/.nix-defexpr/channels/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

Ping @dasJ @Mic92

Wow that's a regression I surely didn't see coming…
Looking at this, can't we just replace this with a linkFarm?
That way we wouldn't have a random module depending on the internals of make-etc

Draft PR that does this: https://github.com/NixOS/nixpkgs/pull/132522


GROOVY-7420 Add a failing test

A trick we use to be able to add such tests into the build is to use notYetImplemented which is an available method in your test class, e.g. add the following as the first line of your test:
if (notYetImplemented()) return

Also, you might like to update the comment header from one of the other recent Groovy source files - we are getting ready to release under Apache guidelines and have tweaked the wording slightly.

Thanks Paul, I've updated the license in the header and added the notYetImplemented() call to the (otherwise failing) method.

@paulk-asert I guess it's functionally equivalent, but even even easier/more obvious to annotate the test method with @NotYetImplemented (http://docs.groovy-lang.org/latest/html/gapi/groovy/transform/NotYetImplemented.html)?

I like that, I've pushed the modified version.

Yep, that's good too. I tend to always use the annotation version with my JUnit 4 tests but often use the old version with my JUnit 3 style tests - but maybe that's just out of habit. Using the annotation is good in that case too.

Thanks!


Syntax highlighting breaks insude of objects / arrow functions

Haven't narrowed down what the exact cause is yet, but it appears that functions inside of an object break syntax highlighting:

Note the lack of highlighting for let and the inline comment

Can you disable other plugins and try it with a minimal vimrc? I guess this is something related to #100

Yeah will do

Probably something conflicts.
https://github.com/HerringtonDarkholme/yats.vim/issues/100#issuecomment-473001151


searching is "stuck" on liked images only.

So, when I click to view images "walk img2img" I see all the images.  as soon as I click to search, it will only search images I have liked, not all the images.  This has suddenly made searching useless.

Did you add the "like" tag to "Exact Match"? Or did you specify the Search Scope? I cannot replicate this issue.

First off, thank you for taking the time to reply.  I did make sure that "Like" was not added anywhere.  However I did manage to solve the issue.  Since you were kind enough to reply to me, I thought I would let you know it is resolved, and how I resolved it.  Both for you, and for anyone that may find this in the future.
The solution I just happened by accidently.  I added another pic to my "like" from another folder in the walk section that I had added, and the problem went away.  Don't know if it was because I was in a a different folder or not, but thought I would mention the complete resolution I had.


AppCreation script fails because of bad file path

Run Configure.ps1 script
Enter credentials etc.

Actual: the provisioning works, but the script cannot update the sample file because of a bad path.
The correct path is: C:\g\sample\others\ms-identity-java-devicecodeflow\src\main\java\DeviceCodeFlow
Get-Content : Cannot find path 'C:\g\sample\others\ms-identity-java-devicecodeflow\java\DeviceCodeFlow' because it
does not exist.
At C:\g\sample\others\ms-identity-java-devicecodeflow\AppCreationScripts\Configure.ps1:93 char:14

Note the file to change is the sample.json (not the script directly)

Ok cool, I’ll try to fix it then.
From: Jean-Marc Prieur<EMAIL_ADDRESS>Sent: Wednesday, December 11, 2019 1:27 PM
To: Azure-Samples/ms-identity-java-devicecodeflow<EMAIL_ADDRESS>Cc: Bogdan Gavril<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Azure-Samples/ms-identity-java-devicecodeflow] AppCreation script fails because of bad file path (#3)
Note the file to change is the sample.json (not the script directly)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure-Samples%2Fms-identity-java-devicecodeflow%2Fissues%2F3%3Femail_source%3Dnotifications%26email_token%3DAC5UN2F6F6FYD6BDQPO3T63QYFLJZA5CNFSM4JZVIDDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGUUAMY%23issuecomment-564740147&data=02|01|Bogdan.Gavril%40microsoft.com|9670152200d04f066d7a08d77e80d7b6|72f988bf86f141af91ab2d7cd011db47|1|0|637116964156304909&sdata=P%2BLxCg5oyQpbuYPTGKqRR4xD6Rn8e%2B5Kwpus43cuBhw%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC5UN2HR4M3ZM3H5B45ORDLQYFLJZANCNFSM4JZVIDDA&data=02|01|Bogdan.Gavril%40microsoft.com|9670152200d04f066d7a08d77e80d7b6|72f988bf86f141af91ab2d7cd011db47|1|0|637116964156314903&sdata=qA84LwJ6mxw0Sahmld3VbnxGsdGlxnDeG4qppRXZgOI%3D&reserved=0.

A friendly reminder that the powershell wont change the code settings automatically because currently we don't have a function that reads and replace values in .java extensions.

What do you mean, @TiagoBrenck ?
We can use text substitution? I've written Java / Python sample.json that do work in the initial samples?

I remember when Ramya was struggling with an error on Configure.ps1 because the function UpdateTextFile couldn't read the file. If you have it working in other samples, then ignore my comment.

This is probably because that was the wrong file :(
We need to re-add the code in the samples.json where this was removed:
cc: @navyasric @sangonzal

CC: @abhidnya13 Had this same issue in app creation script for https://github.com/Azure-Samples/ms-identity-python-webapp


Godot 4.3 Steam version fails to integrate with Blender and Visual studio code and sometimes crashes on Ubuntu Linux 24.04

Tested versions

Reproducible on Godot 4.3 stable Steam version , on Ubuntu Linux OS v 24.04

System information
Ubuntu 24.04 - Godot 4.3 stable - Steam version
Issue description
Hello everyone:
I'm testing the Godot 4.3 version obtained from Steam on Ubuntu Linux 24.04, and I'm trying to integrate it with Visual Studio Code and Blender (also the Steam version), following the steps to configure, which I'll attach below, I found that:

When trying to open a script, Visual Studio Code DOES NOT OPEN even though I configured both the editor and Godot.

When passing the path of the Blender executable (located in Steam) I get the following error (see attached image):

Unexpected --version output from Blender executable at:  /home/${USER}/snap/steam/common/.local/share/Steam/steamapps/common/Blender/blender

Where ${USER} is the user

Godot seems to freeze and craches the system sometimes

Thank you for your attention and excuse the English
Steps to reproduce
For integrating  with Visual Code:

In Visual studio Code

1.1 Install "godot-tools" extension
1.2 In the settings of the estension configure:
1.2.1 Godot Tools > Editor Path:Godot4 :
   /home/${USER}/snap/steam/common/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64

1.2.2 Godot Tools > Lsp:Server Host : <IP_ADDRESS>
1.2.3 Godot Tools > Lsp:Server Port : 6008
1.3 Restart Visual studio Code

In Godot

2.1 Go to Editor > Editor Settings > External
2.2 I used this settings:

2.3 Go to Editor > Network > Language Server
2.4 I used this settings:

2.5 Restart Godot
For integrating with Blender:
In Godot

Go to Project > Project settings > FileSystem > Import

I used this settings:

Go to Editor > Editor Settings > FileSystem > Import

I used this settings:

Restart Godot

Minimal reproduction project (MRP)
FPS_Multiplayer_v1.zip

Can you share the output of /home/${USER}/snap/steam/common/.local/share/Steam/steamapps/common/Blender/blender --version?
I also note you installed Steam through the Snap package manager, which adds restrictions on what snap applications can do. I don't know how the interfaces with Steam, and with applications instead through Steam, but that might be part of the problem.

Of course: this is the output:

I am running into the same issue for VSCode. It used to work with Godot 4.2 but doesn't seem to work anymore. Trying to open files just doesn't do anything.

@dsychin Did you install Steam with snap?

@adamscott No, I installed it using the .deb file from Steam's website.

I tested again with older branch versions (4.2 and 4.0) and it is the same thing. So it looks like the cause is probably something that changed with Steam?

Same issue on Pop Os, Steam installed via their .deb and VSCode installed via their apt repository.

Will add to this and mention that running just the Godot executable instead of launching it via steam allows you to use external programs thru Godot. So clearly it is Steam interfering somehow. @dsychin solution worked for me. I wonder if it works with the Flatpak release of steam..?


EC:1.18.1.- xrefs

EC:1.18.1.- is a grouping term for "Oxidoreductases -> Acting on iron-sulfur proteins as donors -> With NAD(+) or NADP(+) as acceptor.  But it's currently on three GO terms - see below.  First one is OK, other two need some changes, indicated with '=>'
[Term]
id: GO:0016731
name: oxidoreductase activity, acting on iron-sulfur proteins as donors, NAD or NADP as acceptor
namespace: molecular_function
def: "Catalysis of an oxidation-reduction (redox) reaction in which an iron-sulfur protein acts as a hydrogen or electron donor and reduces NAD or NADP." [GOC:jl]
xref: EC:1.18.1.-
is_a: GO:0016730 ! oxidoreductase activity, acting on iron-sulfur proteins as donors
[Term]
id: GO:0008937
name: ferredoxin-NAD(P) reductase activity
namespace: molecular_function
def: "Catalysis of the reaction: reduced ferredoxin + NAD(P)+ = oxidized ferredoxin + NAD(P)H + H+." [EC:1.18.1.-]
synonym: "ferredoxin reductase activity" BROAD []
xref: EC:1.18.1.-
is_a: GO:0016731 ! oxidoreductase activity, acting on iron-sulfur proteins as donors, NAD or NADP as acceptor
=> remove EC from def
=> remove EC from xref (<IP_ADDRESS> and <IP_ADDRESS> are correctly on the GO child terms)
[Term]
id: GO:0015046
name: rubredoxin-NADP+ reductase activity
namespace: molecular_function
def: "Catalysis of the reaction: reduced rubredoxin + NADP+ = oxidized rubredoxin + NADPH + H+." [RHEA:13949]
xref: EC:1.18.1.-
xref: RHEA:13949
is_a: GO:0015045 ! rubredoxin-NAD(P)+ reductase activity
=> change EC xref to EC <IP_ADDRESS>

GO:0015046; no EC:1.18.1.- found. May have been removed via previous/other ticket (ie, RHEA alignment with NAD vs NADP reactions.
EC removed from  GO:0008937

Thanks!


please release babel files as @ngtools/babel

With build-optimizer being deprecated now, having to install @angular-devkit/build-angular with a rather chunky dependency tree - nearly all depedencies pinned to a specific version - is unfortunate.
Do you plan to release https://github.com/angular/angular-cli/tree/master/packages/angular_devkit/build_angular/src/babel as @ngtools/babel just like @ngtools/webpack? Or as @angular-devkit/build-babel in the vein of @angular-devkit/build-webpack.

Hi @sod, @angular-devkit/build-optimizer is not really considered a public API. It's experimental on NPM (not yet 1.0.0) and is effectively an implementation detail of the Angular CLI. The extra package wasn't really necessary, so we folded it into @angular-devkit/build-angular since the only supported usage is through the CLI itself. Refactoring this directory out of @angular-devkit/build-angular and into another package is just making it easier for users to depend on private implementation details which could change in the future.
If users really want to depend on these private APIs anyways, they can deep import from @angular-devkit/build-angular. The package is bigger than it needs to be for that purpose as you mentioned, but that is the nature of leveraging private APIs. Even then, we may end up adding Node.js exports in the future, which could break deep imports as well. The most maintainable solution would probably involve forking the repository and deleting the unnecessary pieces or vendoring the NPM package and altering it to meet your needs.
I think the more important question is about your actual use case. Is there something in particular you're trying to do that requires this package? Problems like optimizing Angular output for production builds are exactly the kind of things the CLI is intended to solve. Is there a reason you can't use the CLI and need to directly leverage these private APIs?

your actual use case

Build angular without the cli.
I don't want to have to install an npm kitchen sink to be able to even run angular in node.js for tests.

forking the repository and deleting the unnecessary pieces

Thats kinda what I do right now.

As copying those 6 source files into our project is way less burden then adding @angular-devkit/build-angular to our dependency tree. And as that copy was rather easy, thats why I created this ticket, if you intend to create a distinct package for it.

your actual use case

Build angular without the cli.
I don't want to have to install an npm kitchen sink (speaking of @angular-devkit/build-angular) to be able to even run angular in node.js for tests.

But what is your use-case of not wanted to build your application using the Angular CLI in the first place? You would still need to install most of the dependencies of @angular-devkit/build-angular to build and optimize an application without the Angular CLI.
More over, without the Angular CLI, you will be missing out on other things considering how complex Webpack configuration can be, the CLI also has other improvements such as using a combination of ESBuild and terser to performance CSS and JS minification, deduplication of duplicate modules, forces SASS/SCSS compilations to be sync because async compilations can be 2x as slow etc..

considering how complex Webpack configuration can be

I like webpack. And putting @angular/cli in front of webpack doesn't make it less complex. Especially if I got a build issue at hand and now have to battle webpack + the facade on top.

You would still need to install most of the dependencies of @angular-devkit/build-angular to build and optimize an application

Thats not true. I cobbled together a minimum viable angular@13 build:
package.json https://github.com/sod/angular-webpack/blob/master/packages/build/package.json
webpack.config.js https://github.com/sod/angular-webpack/blob/master/packages/build/webpack.config.js

Beyond @alan-agius4's points, one of the biggest challenges with this kind of use case is that it is significantly harder for the Angular team to provide support and minimize breakages, especially around our ng update tooling. Any necessary alteration to the build becomes a breaking change which is infeasible for us to fix automatically and results in a lot more churn for users (especially those who may not understand Webpack as well as you do).
Were there any technical reasons for choosing this format, or does it mostly come down to your existing knowledge of Webpack and wanting to have more control/transparency into how your build works under the hood?

I don't wanna waste your time. If publishing those 7 files as a distinct package isn't feasable, then I'm fine with copying them into our project. Thank you for answering.


Use HttpSolrClient to talk to Solr instead of CloudSolrClient

This PR changes the internal client to HttpSolrClient instead of CloudSolrClient. There are a number of reasons for this change:

CloudSolrClient requires direct access to Zookeeper which may not be a good idea for security reasons because Zookeeper could be managing other applications besides Solr.

CloudSolrClient requires a stateful persistent connection with ZooKeeper which can make it brittle if the network connection is not very reliable.

Streaming Expressions will eventually have full support in non-SolrCloud mode.

Load balancing is quite easy to accomplish with nginx servers so using CloudSolrClient as a load balancer is not really needed from inside Zeppelin itself.

Really excited to see this patch...    I can't use Zeppelin Solr with SearchStax's hosted Solr due to ZK having internal to AWS IP addresses...   Not externally accessible addresses ;-(
As an interesting hack, I figured out I could grab the ZK hosted config file, change the internal addresses to external addresses, push it back, and then the CloudSolrClient would connect!   Seems to last about six hours and then gets reset ;-)
This speaks to the challenge of having the "internal" network layout bleed out to the client....   And the frustration of using Zookeeper directly instead of HTTP with Solr....

Yeah this is an exciting fix. I think this just about ready to merge and release.


NetQASM interfaces for QNE/QNOS integration

Interfaces for NetQASM programs intended to run in multiple environments (e.g. SquidASM and QNodeOS) with identical code.

Hi Casper, thanks for your PR!
The interface seems simple enough and therefore I see no issues with it.
I do have some more general questions regarding the intention of this interface:

How does this relate to the Application class in netqasm.runtime.application?
How will programs be instantiated and executed? Will this also be defined in this interface in the future?
Is the intention to port current application source code in this repository to use this new interface?
Is the interface intended to be used only with the "multithreading" variant of SquidASM? The "stack" variant requires the programmer to put yield keywords in the source code, which makes the application code not be exactly the same as one would write for say, QNodeOS.

Looking forward to hear your thoughts.


Rasa X Install Script

Description of Problem:
The docker install script cannot but run from RASA_HOME. There also seems to be an assumption that you might be running it from the home directory of an existing Rasa bot. Is that right?
In step two of the docker install instructions, the user is told to run install.sh. That script will copy a credentials file to the RASA_HOME/credentials directory. If you're RASA_HOME this will fail.
Also, there's no mention before step #2 about copying an credentials file.
Overview of the Solution:
Document the fact that it cannot be run from RASA_HOME. Document copying of an existing credentials file and any other assumptions about migrating existing files/content.
Ideally, start over with a better documented install based around a couple of docker-compose files (CE & Enterprise). Don't use python and ansible. Tell the developer more details about the containers, images and volumes.
The bash and ansible scripts create more problems than they solve.

Thanks for submitting this feature request 🚀@gausie will get back to you about it soon!✨

@rgstephens @tczekajlo Is this issue still relevant?

@rgstephens @tczekajlo Is this issue still relevant?

@rgstephens @tczekajlo Is this issue still relevant?

@TyDunn AFAIK nothing's changed (nothing that resolves described issue) in the ansible/install.sh script since @rgstephens created this issue.

@rgstephens @tczekajlo Is this issue still relevant?

@TyDunn AFAIK nothing's changed (nothing that resolves described issue) in the ansible/install.sh script since @rgstephens created this issue.

@tczekajlo Is this one actionable in a sense that we know what we want?
I think with the helm changes incoming and the work on a dead simple way to deploy (e.g. all in one docker container) i am not sure there will be a need for the ansible / single line install scripts is there? Instead we should have good documentation on the helm charts as well as the all-in-one-docker. I don't think docker compose is a setup we'd want to support once we have the other two in place.

It's a great question, I think the docker-compose and ansible is something that we'd like to drop at some point. I'll put the issue on hold for now until we clarified the future for ansible and docker-compose.

This method is going to be dropped.


python312Packages.aiosomecomfort: 0.0.25 -> 0.0.26

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.aiosomecomfort is: AsyicIO client for US models of Honeywell Thermostats
meta.homepage for python312Packages.aiosomecomfort is: https://github.com/mkmer/AIOSomecomfort
meta.changelog for python312Packages.aiosomecomfort is: https://github.com/mkmer/AIOSomecomfort/releases/tag/0.0.26
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.0.26 with grep in /nix/store/xsgb2c0vycsqzgff37nlz632xying6nn-python3.12-aiosomecomfort-0.0.26
found 0.0.26 in filename of file in /nix/store/xsgb2c0vycsqzgff37nlz632xying6nn-python3.12-aiosomecomfort-0.0.26

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

home-assistant-component-tests.honeywell
python311Packages.aiosomecomfort
python312Packages.aiosomecomfort

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xsgb2c0vycsqzgff37nlz632xying6nn-python3.12-aiosomecomfort-0.0.26 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.aiosomecomfort https://github.com/r-ryantm/nixpkgs/archive/c0a949f73d93e4f37648d6187fb0435cafabdad9.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c0a949f73d93e4f37648d6187fb0435cafabdad9#python312Packages.aiosomecomfort

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xsgb2c0vycsqzgff37nlz632xying6nn-python3.12-aiosomecomfort-0.0.26
ls -la /nix/store/xsgb2c0vycsqzgff37nlz632xying6nn-python3.12-aiosomecomfort-0.0.26/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 5 packages built:

home-assistant-component-tests.honeywell
python311Packages.aiosomecomfort
python311Packages.aiosomecomfort.dist
python312Packages.aiosomecomfort
python312Packages.aiosomecomfort.dist

Maintainer pings
cc @dotlambda for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 359499

x86_64-linux

:white_check_mark: 5 packages built:

home-assistant-component-tests.honeywell
python311Packages.aiosomecomfort
python311Packages.aiosomecomfort.dist
python312Packages.aiosomecomfort
python312Packages.aiosomecomfort.dist


IEnumerable keys doesn't work

Hi there!
thanx for awesome project! It makes my unity development much easier :tada:
well, I'm trying to create GenericDictionary<string[], string> in my project, however it doesn't work - reffering to the key always returns KeyNotFound exception.
Atm, I'm working it around by using this code:
           foreach (var key in myDict.Keys)
                if (key.SequenceEqual(query))
                {
                    Debug.Log("query found");
                }

but it would be nice to have it in the package

Hey thanks!
Using arrays as keys is something I've never tried, but I suspect since you can't have arrays of arrays in Unity inspector this is most likely what it boils down to.
I would probably suggest laying out your data in some other way that might end up being more logical, but I suppose there are use cases where an array is the key is the most logical layout, it's just that Unity doesn't support this and by extension this project neither.
I'll leave this open and mull it around the old nogging and see if I can come up with something in the meantime.
Thanks again for your support!

but I suspect since you can't have arrays of arrays in Unity inspector this is most likely what it boils down to.

no, it is possible to have array of arrays in unity inspector

(at least since 2020.3.22, which i'm running on)

Okay cool I didn't know this works, I'll have a look and see if I can make this use case work nicely!

thank you! looking forward to see the solution ;-)

Hey again sorry for taking time to get back to you!
I've tested this out today and it seems to work as intended from what I can tell:
public GenericDictionary<string[], string> dict;    // populated in inspector with key { "a", "b", "c" }

void Start()
{
    print(dict.ContainsKey(new string[]{ "a", "b", "c"}));    // prints false since I create a new object
    var keyEnumerator = dict.Keys.GetEnumerator();
    keyEnumerator.MoveNext();
    print(dict.ContainsKey(keyEnumerator.Current));      // prints true since I look for the existing object
}

I've not very similar with LINQ but I see that SequenceEquals checks equality using the type's default equality comparer per element.
This dictionary also uses each types default equality comparer, but does so per Key (regardless if key is enumerable or not).
I guess I could add branching that would check if the Key type is enumerable and then perform per element comparisons to check for equality.
But this is opinionated and would conversely break for someone expecting reference equality rather than value equality.
Are you still using this implementation with string[] as Key and would like to see this change? Perhaps it's an opinion that should be implemented but I'd rather tread slowly here and hear peoples thoughts on this.
Anyways thanks for your support and encouraging me to get back at improving this project!

I tested this out some more and see what you mean, looking in the inspector it seems logical that enumerable keys should be value compared rather than reference (notice there's no warning about duplicate keys):

I'm not sure if there are edge cases where you do want reference based enumerable types though so I'm investigating this closer.
Regardless it seems the dictionary key lookup would go from ~O(1) to O(N) when using enumerable key types, but I suppose there's no way around that?

Quick follow up.
I've found that it's quite easy to check if the key is enumerable (serializedProperty.isArray) - but this flag is true for strings, so I'm wary that there are other properties that behave this way.
Currently the best solution for having enumerable keys would probably be to create a class and override the Equals and GetHashCode methods to get the desired behavior. This way the user can choose, with the drawback of added ceremony whenever enumerable keys with value based comparisons are desired.
I'll be digging a bit deeper though so will leave this issue opened.


Update sonar file

sonar.projectName=xn2v
version and name are no longer correct

That is relative to the SonarCloud project, not the Github repo. We can take 30 minutes (tops) to create a new SonarCloud project and update its references.

duplicate with #219


_contract_densitymatrix not working correctly with QNITensors

There seems to be a bug with the density matrix MPO*MPS algorithm for QN-conserving tensors, probably just related to the proper use of dag and QNIndex arrows. I'm happy to fix it; just putting it here as a reminder.

Great! That will help me out. I was working on some tests for this (using the new QN randomMPS to strengthen the tests by the way), but actually ran into a number of other minor bugs having to do with the randomMPO function and MPO(sites) constructor when QNs are used. (Happening when generalizing the existing unit tests in mpo.jl to the QN case.)


Release: hwc-buildpack 3.1.17

Dependency Changes:
No dependency changes

New Commits on Develop:
ce24114 Update libbuildpack
ffd4469 Update libbuildpack
Refer to release instructions.

Because there are only 2 libbuildpack updates since the last release and no dependency updates, we will not release this buildpack this week.


[0.5pt] Set up the project with Webpack and Jest- group task

Set up Gitflow
Set up webpack
Set up a JavaScript testing library (Jest)

https://github.com/Log-benjamin/Microverse-Javascript-Capstone/pull/44


Feature request: Extend wilayaProjection to project nested fields

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Extended wilayaProjection to project nested fields.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ X ] New feature (non-breaking change which adds functionality)
[ X ] This change requires a documentation update

Checklist:

[ X ] I checked that there's no dataset update (can be done by running npm run update-dataset)
[ X ] npm test passes on my machine
[ X ] npm run lint passes on my machine

My friend @makeBread helped me with this.

I don't know how to fix 6 eslint errors.

Thank you @InternetRamen and @makeBread ! You got this ESLINT error as we are using a sonarjs plugin for ESLINT and that flagged that your function is hard to read > hard to maintain.
I believe that we can do it in a better and a fancy way, I can help you with it, we can have a call where we share our screen and code it together 😄 , does this sound good for you?

@Fcmam5 I'm not sure I would be able to call as my coding times are unpredictable based on my school work. Are there any main improvements that could be added to the code?

@Fcmam5

This code is too complex, and that's why ESLINT reported a  Cognitive Complexity error. I'm looking for a library (or probably create one) that makes it easier to do this. I will get back to you as soon as I find something.

@Fcmam5 Alright, thank you!


  puts "I got some JSON: #{push.inspect}"

https://github.com/github/platform-samples/blob/master/hooks/ruby/configuring-your-server/server.rb#L6

@Jurek54321,
Please take a look at issue, issue1 may help you. Thanks!

Doesn't seem related to TF.


[BUG] Fail to start pyprland-2.4.1

Pyprland version
Which version did you use? (copy & paste the string returned by pypr version)
2.4.1
Describe the bug
A clear and concise description of what the bug is.
On NixOS; install pyprland with flake
⯁ flake git:(master) ❯❯❯ pypr
Error loading plugin pyprland:
Traceback (most recent call last):
  File "/nix/store/f7dmgvmi8y0085pj5rmlv31n3fv4n2qs-python3.11-pyprland-2.4.1/lib/python3.11/site-packages/pyprland/command.py", line 141, in _load_single_plugin
    await plug.init()
  File "/nix/store/f7dmgvmi8y0085pj5rmlv31n3fv4n2qs-python3.11-pyprland-2.4.1/lib/python3.11/site-packages/pyprland/plugins/pyprland.py", line 37, in init
    version_str = version_info["version"]
                  ~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'version'
Command failed.
⯁ flake git:(master) ❯❯❯

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Configuration (provide following files/samples when relevant):

pyprland.toml
hyprland.conf

Additional context
Add any other context about the problem here.

Can you provide the output of hyprctl -j version ?

Your hyprland build is unsupported, it should have a version and/or a tag, yours have nothing.
There was a fallback, assuming "latest version" when nothing is available, I guess this broke, I'll keep this bug open for this fix.

The git version should contain the fix

The git version should contain the fix

Cool, let me have a try. Thanks for the kind support!

The git version should contain the fix

Cool, let me have a try. Thanks for the kind support!

It is now working like a charm!
# flake.nix
input = {
    pyprland = { url = "git+https://github.com/hyprland-community/pyprland?tag=2.4.2"; };
}


Change test method name regex to have leading 'test' be optional

Fixes #3
Seeing arc unit test results now get property parsed for projects using Quick. I am not sure if this works correctly for plain XCUnitTest projects. It should in theory.

I signed it! The CLA that is.

Looking at this meow! Patching locally to ensure it works for us.

I've tested this locally and it appears to work as expected. Merging in now; thank you!

This patch is now available in the v3.0.4 release.


update xgboost

Hi,
when do you plan to upgrade to 0.6.X versions of xgboost?

Thanks for the report! We've made the requirements a bit more lenient in https://github.com/sigopt/sigopt_sklearn/pull/6 and released in version 1.4.2


chore(STONEO11Y-28): deploy to infra-deployments on push

In order to get updates in infra-deployments
for changes in the o11y repo, a PipelineRun
should be created on-push which use the
update script of infra-deployments.

@Omeramsc do you have some sort of reference file from another repo which we can use as baseline for comparison?


Incorrect calls to the game environment

There is a bug in the following lines:
https://github.com/alexis-jacq/LOLA_DiCE/blob/ec3f3f620a67df0a3e72f8e9227d09e4543dbb99/ipd_DiCE_om.py#L148-L150
https://github.com/alexis-jacq/LOLA_DiCE/blob/ec3f3f620a67df0a3e72f8e9227d09e4543dbb99/ipd_DiCE_om.py#L161-L163
In both cases, the agent object passes its action in the first position.
This is correct when the call happens in the context of the first agent, however, this is incorrect for the second agent.

I will try to provide a PR later today

Yes, all agents are training to play in the first position, it would be incorrect for a non-symmetric game. I am working on a coin-game version (which is asymmetric) and I had to correct these calls. However, in the IPD, this would change nothing, as the game is symmetric.


Cannot execute ipython notebook (menpo library issue)

I tried to run the source code that you uploaded but it's not working.
The error looks like this.
/usr/local/lib/python3.5/dist-packages/menpo/io/input/base.py:26: MenpoDeprecationWarning: normalise is no longer supported and will be removed in a future version of Menpo. Use normalize instead.
 MenpoDeprecationWarning)
Traceback (most recent call last):
 File "run.py", line 81, in <module>
   im = crop_face(im, shape=(200, 200))
 File "run.py", line 35, in crop_face
   pc = img.landmarks[group]
 File "/usr/local/lib/python3.5/dist-packages/menpo/landmark/base.py", line 199, in __getitem__
   "landmark groups".format(self.n_groups))
ValueError: Cannot use None as a key as there are 0 landmark groups

The error above is caused by menpo library. I think it is because version issue.
Can you tell me which version of menpo do you use?
And as far as I know, the roll of menpo is just crop the face and resize it to feed the network.
Is there any way to NOT use menpo? cause I prefer opencv.

The code assumes that each image comes with a predefined set of landmarks (so I can easily crop the face/visualise the result). As the image you are trying to import has no landmarks attached the code breaks down.
You can use an existing image with landmarks by im = mio.import_builtin_asset.breakingbad_jpg()
or use the menpodetect to detect the face bounding box and extract landmarks. You can simply crop the image your self and resize it to (200, 200) pixels, so you don't have to do any of this.


"Copy notebook ID" doesn't populate clipboard

First off, thanks for making this great plugin! It's a really useful tool to streamline note creation in Joplin.
Joplin Version: 2.5.1 (pre-release)
OS: Fedora Linux 34
Plugin version: 2.1.1
Issue:  When I right-click a notebook and select "Copy notebook ID," nothing happens. The context menu closes but there is nothing copied into my clipboard.
Here is the relevant excerpt from log.txt:
2021-10-08 13:34:56: "DecryptionWorker: starting decryption..."
2021-10-08 13:34:56: "DecryptionWorker: completed decryption."
2021-10-08 13:34:58: "SearchEngine: Updating FTS table..."
2021-10-08 13:34:58: "SearchEngine: Updated FTS table in 1ms. Inserted: 0. Deleted: 0"
2021-10-08 13:35:08: "CommandService::execute:", "copyFolderID", "["36a42692ddbf47df94ffaf6dbc295c96"]"
2021-10-08 13:35:08: PluginRunner: "Got message (3): joplin.commands.execute", "["editor.focus"]"
2021-10-08 13:35:08: "CommandService::execute:", "editor.focus", "[]"
2021-10-08 13:35:08: "CodeMirror: execCommand", "{"name":"editor.focus"}"
2021-10-08 13:35:18: "ResourceService::indexNoteResources: Start"
2021-10-08 13:35:18: "ResourceService::indexNoteResources: Completed"
2021-10-08 13:35:18: "ResourceService::deleteOrphanResources:", "[]"

And here is the console output:
Logger.ts:214 13:34:58: SearchEngine: Updated FTS table in 1ms. Inserted: 0. Deleted: 0
Logger.ts:214 13:35:08: CommandService::execute: copyFolderID 36a42692ddbf47df94ffaf6dbc295c96
Logger.ts:214 13:35:08: PluginRunner: Got message (3): joplin.commands.execute editor.focus
Logger.ts:214 13:35:08: CommandService::execute: editor.focus
Logger.ts:214 13:35:08: CodeMirror: execCommand
{name: 'editor.focus', value: undefined}
Logger.ts:214 13:35:18: ResourceService::indexNoteResources: Start
Logger.ts:214 13:35:18: ResourceService::indexNoteResources: Completed
Logger.ts:214 13:35:18: ResourceService::deleteOrphanResources:

I'm not sure if this is an issue with this plugin or with the main Joplin application, but I thought I'd try reporting it here first. If this looks like an issue with the main application please let me know and I can open an issue there instead. Thanks!

Thanks for the quick response!


Add support for multiple HTML5 windows or embeds on the same page

ExternalInterface.addCallback does not work with multiple HTML5 embeds: called by the second instance, it adds callbacks to the root element of the first instance. I reported it in #967.


Skip Flaky Test

Details in: https://github.com/dotnet/aspnetcore/issues/23118

Dependency update has gone through without this test. Will re-open if necessary.


Autocomplete Items not showing recent data in dropdown

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request/question

Current behavior
In our component, we have set API call to backend to fetch autocomplete suggestions on type of each letter in tag input. We expect ng2-tag-input to wait and display the data after the backend call gets completed. But the component displays previously stored data (even before call gets completed)which is not expected.
Say for example, when we type "TE" a call will be triggered to backend and it might take sometime to receive response. But after receiving response, no data are displayed as autocomplete dropdown suggestions. When we further type "TES", another call will be triggered to backend. In the meanwhile, component displays autocomplete data based on the result received for "TE" and it doesn't wait and show the results received for "TES".
Expected behavior
We expect the component to show autocomplete after we receive response from backend (dynamically)
Minimal reproduction of the problem with instructions (if applicable)

What is the motivation / use case for changing the behavior? (if applicable)

What do you use to build your app? (SystemJS, Webpack, angular-cli, etc.). Please specify the version
Webpack
Angular version:

ng2-tag-input version:

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Hi, do you have some code you can show?

Hi Gbuomprisco,
Sample demo code is given below. Please help.
HTML :
<tag-input [ngModel]="tagValues" [clearOnBlur]="true"
(onAdd)='addElement($event)' (onRemove)='removeValue($event)' [onlyFromAutocomplete]="true" (onTextChange)='onTextChange($event)'>
<tag-input-dropdown [autocompleteItems]="tagOptions" >

TYPESCRIPT :
onTextChange(event) {
this.tagOptions = [];
if(event && event.length > 1){
this.suggestionFetch(event.toUpperCase()).subscribe(
data => {
this.tagOptions = data.suggestions;
}
);
}
}

Hi, I would suggest trying out the autocompleteObservable option. It is suitable to your use case. Look at the demo in this repository and the doc to see how to implement it

Hi Gbuomprisco,
Thanks for your suggestion. The same scenario we faced and we used autocompleteObservable and it worked fine as expected. But We are facing one more problem here.
For ex, when we type "TE", a call will be triggered to the backend and when user types "TES" another call will be triggered. Now the first call for "TE" needs to be canceled since that is unnecessary also if the results come after "TES", then it will show data in screen only for "TE" and not for "TES".
So, please suggest us how to cancel previous service call, if another service call is triggered.

Hi @bbholtest,
I think you'd need to play with the rxjs operators to cancel subsequent calls. Try debounce/switch operators for instance.

@Gbuomprisco thanks for the awesome work,
small question why this guy [autocompleteItems] does not have two-way data binding, it seems it only works on initial time only,
in my case, I'm populating the data on the client side I don't have a response of type
Thanks in advance .

Because it's not a model, just a property to pass down a list of options