redraws while app is not focused on windows.

I am using this to create a console app that will have several Views that are showing ssh/telnet data.  I created a new view based on ScrollView.  I seem to have problems with the redraw getting called enough to show the flowing data.  I added a task that checked for new data every XX ms and called SetNeedsDisplay when needed.  This seems to work although if there is better way please let me know.  The issue I have not is that when the console window is not active/focused in Windows it does not update even though I am still calling SetNeedsDisplay .  Am I doing something wrong or what can I do to override and get draws during un focused time.

See the UICatalog Scrolling scenario which has some views in it and is redrawn as needed.

Thanks, I will look into that and see if it works for me.

I just looked at it but nothing on the scrolling scenario moves or changes when out of focus either.  Even the mouse position does not update unless the window has focus.   Do you have any examples that show long running updates of the text that might happen without user involvement?

You have to handle the scroll yourself when the focus has changed. Maybe take the current focused view's frame and change the scroll offset to reflect the new coordinates. It's not very easy indeed.

I am doing that and it works fine when the console window is active or focused on Windows, but when a different app has the Window focus it stops updating, but will update when focus is once again received.  I have tried going through the code but cannot find where the loss of Windows focus stops updates.  I have not tried this yet on Linux or mac but I plan to build for both.
From: BDisp<EMAIL_ADDRESS>Sent: Tuesday, February 02, 2021 3:14 PM
To: migueldeicaza/gui.cs<EMAIL_ADDRESS>Cc: tlemmons<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [migueldeicaza/gui.cs] redraws while app is not focused on windows. (#1105)
You have to handle the scroll yourself when the focus has changed. Maybe take the current focused view's frame and change the scroll offset to reflect the new coordinates. It's not very easy indeed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/migueldeicaza/gui.cs/issues/1105#issuecomment-772041184 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABR2J7UFXQNPJN7L4TF2PWDS5B2J5ANCNFSM4W7MF7DQ .  https://github.com/notifications/beacon/ABR2J7UV7IYJHDHGIQYFHSDS5B2J5A5CNFSM4W7MF7D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFYCGTYA.gif

Try the Application.MainLoop.AddTimeout to update periodicaly your view.
		bool timer (MainLoop caller)
		{
			yourView.Redraw(yourView.Bounds);
			return true;
		}

		Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (300), timer);

That seemed to work.  Thanks.  I will keep checking it out but I think it is fixed.
From: BDisp<EMAIL_ADDRESS>Sent: Tuesday, February 02, 2021 3:34 PM
To: migueldeicaza/gui.cs<EMAIL_ADDRESS>Cc: tlemmons<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [migueldeicaza/gui.cs] redraws while app is not focused on windows. (#1105)
Try the Application.MainLoop.AddTimeout to update periodicaly your view.
           bool timer (MainLoop caller)
           {
                   yourView.Redraw(yourView.Bounds);
                   return true;
           }

           Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (300), timer);

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/migueldeicaza/gui.cs/issues/1105#issuecomment-772057120 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABR2J7U5PLW3WFJVOBTNF7LS5B4UTANCNFSM4W7MF7DQ .  https://github.com/notifications/beacon/ABR2J7V7K2FO5FPBEXXPVLDS5B4UTA5CNFSM4W7MF7D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFYCKQIA.gif

@tlemmons can you confirm this is no longer an issue for you?

I will as soon as I can get back to that project.  Busy life right now but thanks for letting me know.
From: Charlie Kindel<EMAIL_ADDRESS>Sent: Monday, March 08, 2021 9:27 AM
To: migueldeicaza/gui.cs<EMAIL_ADDRESS>Cc: tlemmons<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [migueldeicaza/gui.cs] redraws while app is not focused on windows. (#1105)
@tlemmons https://github.com/tlemmons  can you confirm this is no longer an issue for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/migueldeicaza/gui.cs/issues/1105#issuecomment-792876752 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABR2J7QZWQMFO3PVQL72OCTTCT3GBANCNFSM4W7MF7DQ .  https://github.com/notifications/beacon/ABR2J7TRGT5H5FAQYCC5M2DTCT3GBA5CNFSM4W7MF7D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF5BFNUA.gif


tfsec: 1.19.0 -> 1.19.1

Description of changes
https://github.com/aquasecurity/tfsec/releases/tag/v1.19.1

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

1 package built:

tfsec


Explanation request / possible hack for difficulty alignment between stratum and MPOS

Hi there,
I'm looking in to the possibility to display proper values in MPOS while running multiple instances of stratum.
Setup: one node instance (not accounting the backups), 4 x stratum instance, one DB instance, one MPOS instance
The background is that our token has some specialities inside - so the network hash rate currently varies between 4 GH/s and 100 GH/s Scrypt.
This requires our "small" ones like CPU/GPU miners to be able to connect as well as rushing in with a tremendous amount of rent power, for example from Nicehash. Now equalising the POOL_TARGET throughout all stratum instances is not an option since it's the starting diff and there for necessary to be set high for Nicehash & Co. But the small ones starting at this high diff are going to get disconnected since they are unable to produce a single share in reasonable time so that they could be re-targetted. There for I need at least one instance running on lower target.
Now I'm searching for a way to work around this problem, did some unsuccessful tests on the stratum side already. But I do not totally understand how this POOL_TARGET is effectively going into the frontend since we are using VarDiff. Probably some guys here can help me out.
BTW it's a great piece of frontend what you have pulled off here, have stocked up my BTC holdings yesterday and will of course shortly show my gratitude.
Thx

If you are storing with vardiff and it's inserted into the database there isn't anything to do with MPOS. It's been used for Litecoins in the past using variable diff without issues.

PS: Thanks for the offer of a donation! I'd have to check that my BTC address is till valid :-) Or I could offer a broker address I use since it'll be easier for me than downloading the entire chain again.

yep, gib mal addi
http://www.pm-tech.at http://www.pm-tech.at/
Ing. Michael Polzer
Schoßbachstraße 21
9400 Wolfsberg
UID: ATU60129328
Tel. +43 664 28 68 800
Email<EMAIL_ADDRESS>
On 28 May 2017, at 12:27, Sebastian Grewe<EMAIL_ADDRESS>wrote:
PS: Thanks for the offer of a donation! I'd have to check that my BTC address is till valid :-) Or I could offer a broker address I use since it'll be easier for me than downloading the entire chain again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/MPOS/php-mpos/issues/2561#issuecomment-304502847, or mute the thread https://github.com/notifications/unsubscribe-auth/AZXnLfYDkHu36YaQ4yhX_-we9x_en3-Mks5r-T4HgaJpZM4NomFj.

Great and thanks :-) I'll grab the Keychain and check for it :-)


[PE-D][Tester A] Adding Students to the same group

As a tutor, I might have added a few more spaces between Alex's and Group and this has resulted in John being assigned a new group although he is in the same group as Alex. Perhaps this is a small inconvenience on the part of the tutor to ensure they always type the correct number of spaces.

Labels: severity.Medium type.FeatureFlaw
original: Ansel-Ch/ped#4

I think this is not an issue. It is immediately displayed and this allows the teacher to input more than one spaces if they so please.


[FR] Support custom tasks statuses to integrate with Obsidian Tasks

Some themes provide custom styling for non-standard characters between task square brackets, like these:
- [X] Checked
- [-] A dropped/cancelled task
- [?] A question
- [/] A Half Done/In-progress task

Obsidian Tasks, probably the most used task manager in Obsidian, supports such custom checkboxes, given that one has a theme or css snippet to do the styling. See this page: https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/statuses/custom-statuses/
It would be nice if Polka was one such theme, with some minimal styling in the same style that characterizes the theme.
This could be an option set in Style Settings.
I understand if this is not a high priority, though.

Thanks for the request. This is certainly a feature that I've considered before. I'll probably take a look in a day or two.


[Event Request] Sales Post - New event OnFillInvoicePostingBufferOnBeforeGetSalesAccount

Please add a new event OnFillInvoicePostingBufferOnBeforeGetSalesAccount to function FillInvoicePostingBuffer.
I know this code is under construction to be moved to the new codeunit Sales Post Invoice. However, at this moment the new implementation can't be used (at least not in production) and we need this event to remove the final piece of footprint.
Please consider adding this event to Sales Post Invoice as well, in function PrepareLine, which is almost a carbon copy of the function in codeunit Sales-Post.
#if not CLEAN19
    [Obsolete('Moved to Sales Invoice Posting implementation.', '19.0')]
    local procedure FillInvoicePostingBuffer(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; SalesLineACY: Record "Sales Line")
    var
        GenPostingSetup: Record "General Posting Setup";
        InvoicePostBuffer: Record "Invoice Post. Buffer";
        SalesPostPrepayments: Codeunit "Sales-Post Prepayments";
        AdjAmount: Decimal;
        TotalVAT: Decimal;
        TotalVATACY: Decimal;
        TotalAmount: Decimal;
        TotalAmountACY: Decimal;
        AmtToDefer: Decimal;
        AmtToDeferACY: Decimal;
        TotalVATBase: Decimal;
        TotalVATBaseACY: Decimal;
        DeferralAccount: Code[20];
        SalesAccount: Code[20];
        InvDiscAccount: code[20];
        LineDiscAccount: code[20];
        IsHandled: Boolean;
        InvoiceDiscountPosting: Boolean;
        LineDiscountPosting: Boolean;
    begin
        IsHandled := false;
        OnBeforeFillInvoicePostingBuffer(SalesHeader, SalesLine, SalesLineACY, TempInvoicePostBuffer, InvoicePostBuffer, IsHandled);
        if IsHandled then
            exit;

        GenPostingSetup.Get(SalesLine."Gen. Bus. Posting Group", SalesLine."Gen. Prod. Posting Group");

        InvoicePostBuffer.PrepareSales(SalesLine);

        TotalVAT := SalesLine."Amount Including VAT" - SalesLine.Amount;
        TotalVATACY := SalesLineACY."Amount Including VAT" - SalesLineACY.Amount;
        TotalAmount := SalesLine.Amount;
        TotalAmountACY := SalesLineACY.Amount;
        TotalVATBase := SalesLine."VAT Base Amount";
        TotalVATBaseACY := SalesLineACY."VAT Base Amount";

        OnAfterInvoicePostingBufferAssignAmounts(SalesLine, TotalAmount, TotalAmountACY, SalesLineACY, TotalVAT, TotalVATACY, TotalVATBase, TotalVATBaseACY, TempInvoicePostBuffer, InvoicePostBuffer);

        if SalesLine."Deferral Code" <> '' then
            GetAmountsForDeferral(SalesLine, AmtToDefer, AmtToDeferACY, DeferralAccount)
        else begin
            AmtToDefer := 0;
            AmtToDeferACY := 0;
            DeferralAccount := '';
        end;

        InvoiceDiscountPosting := SalesSetup."Discount Posting" in
           [SalesSetup."Discount Posting"::"Invoice Discounts", SalesSetup."Discount Posting"::"All Discounts"];
        OnFillInvoicePostingBufferOnAfterCalcInvoiceDiscountPosting(SalesHeader, SalesLine, InvoiceDiscountPosting);
        if InvoiceDiscountPosting then begin
            IsHandled := false;
            OnBeforeCalcInvoiceDiscountPosting(
              TempInvoicePostBuffer, InvoicePostBuffer, SalesHeader, SalesLine, TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY, IsHandled);
            if not IsHandled then begin
                CalcInvoiceDiscountPosting(SalesHeader, SalesLine, SalesLineACY, InvoicePostBuffer);
                if (InvoicePostBuffer.Amount <> 0) or (InvoicePostBuffer."Amount (ACY)" <> 0) then begin
                    IsHandled := false;
                    OnFillInvoicePostingBufferOnBeforeSetInvDiscAccount(SalesLine, GenPostingSetup, InvDiscAccount, IsHandled);
                    if not IsHandled then
                        InvDiscAccount := GenPostingSetup.GetSalesInvDiscAccount;
                    InvoicePostBuffer.SetAccount(InvDiscAccount, TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY);
                    InvoicePostBuffer.UpdateVATBase(TotalVATBase, TotalVATBaseACY);
                    UpdateInvoicePostBuffer(InvoicePostBuffer, true);
                    OnFillInvoicePostingBufferOnAfterSetInvDiscAccount(SalesLine, GenPostingSetup, InvoicePostBuffer, TempInvoicePostBuffer, SalesHeader);
                end;
            end;
        end;

        LineDiscountPosting := SalesSetup."Discount Posting" in
           [SalesSetup."Discount Posting"::"Line Discounts", SalesSetup."Discount Posting"::"All Discounts"];
        OnFillInvoicePostingBufferOnAfterCalcLineDiscountPosting(SalesHeader, SalesLine, LineDiscountPosting);
        if LineDiscountPosting then begin
            IsHandled := false;
            OnBeforeCalcLineDiscountPosting(
              TempInvoicePostBuffer, InvoicePostBuffer, SalesHeader, SalesLine, TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY, IsHandled);
            if not IsHandled then begin
                CalcLineDiscountPosting(SalesHeader, SalesLine, SalesLineACY, InvoicePostBuffer);
                if (InvoicePostBuffer.Amount <> 0) or (InvoicePostBuffer."Amount (ACY)" <> 0) then begin
                    IsHandled := false;
                    OnFillInvoicePostingBufferOnBeforeSetLineDiscAccount(SalesLine, GenPostingSetup, LineDiscAccount, IsHandled);
                    if not IsHandled then
                        LineDiscAccount := GenPostingSetup.GetSalesLineDiscAccount;
                    InvoicePostBuffer.SetAccount(LineDiscAccount, TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY);
                    InvoicePostBuffer.UpdateVATBase(TotalVATBase, TotalVATBaseACY);
                    UpdateInvoicePostBuffer(InvoicePostBuffer, true);
                    OnFillInvoicePostingBufferOnAfterSetLineDiscAccount(SalesLine, GenPostingSetup, InvoicePostBuffer, TempInvoicePostBuffer, SalesHeader);
                end;
            end;
        end;

        OnFillInvoicePostingBufferOnBeforeDeferrals(SalesLine, TotalAmount, TotalAmountACY, SalesHeader.GetUseDate());
        DeferralUtilities.AdjustTotalAmountForDeferralsNoBase(
          SalesLine."Deferral Code", AmtToDefer, AmtToDeferACY, TotalAmount, TotalAmountACY);

        OnBeforeInvoicePostingBufferSetAmounts(
          SalesLine, TempInvoicePostBuffer, InvoicePostBuffer,
          TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY, TotalVATBase, TotalVATBaseACY);

        InvoicePostBuffer.SetAmounts(
          TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY, SalesLine."VAT Difference", TotalVATBase, TotalVATBaseACY);

        OnAfterInvoicePostingBufferSetAmounts(InvoicePostBuffer, SalesLine);

        //  NEW EVENT >>
        IsHandled := false;
        OnFillInvoicePostingBufferOnBeforeGetSalesAccount(SalesHeader, SalesLine, GenPostingSetup, SalesAccount, IsHandled);
        if not IsHandled then
            // NEW EVENT <<
            SalesAccount := GetSalesAccount(SalesLine, GenPostingSetup);

        OnFillInvoicePostingBufferOnBeforeSetAccount(SalesHeader, SalesLine, SalesAccount);

        InvoicePostBuffer.SetAccount(SalesAccount, TotalVAT, TotalVATACY, TotalAmount, TotalAmountACY);
        InvoicePostBuffer.UpdateVATBase(TotalVATBase, TotalVATBaseACY);
        InvoicePostBuffer."Deferral Code" := SalesLine."Deferral Code";
        OnAfterFillInvoicePostBuffer(InvoicePostBuffer, SalesLine, TempInvoicePostBuffer, SuppressCommit);
        UpdateInvoicePostBuffer(InvoicePostBuffer, false);

        OnFillInvoicePostingBufferOnAfterUpdateInvoicePostBuffer(SalesHeader, SalesLine, InvoicePostBuffer, TempInvoicePostBuffer);

        if SalesLine."Deferral Code" <> '' then begin
            OnBeforeFillDeferralPostingBuffer(
              SalesLine, InvoicePostBuffer, TempInvoicePostBuffer, SalesHeader.GetUseDate(), InvDefLineNo, DeferralLineNo, SuppressCommit);
            FillDeferralPostingBuffer(SalesHeader, SalesLine, InvoicePostBuffer, AmtToDefer, AmtToDeferACY, DeferralAccount, SalesAccount);
            OnAfterFillDeferralPostingBuffer(
              SalesLine, InvoicePostBuffer, TempInvoicePostBuffer, SalesHeader.GetUseDate(), InvDefLineNo, DeferralLineNo, SuppressCommit);
        end;

        with SalesLine do
            if "Prepayment Line" then
                if "Prepmt. Amount Inv. (LCY)" <> 0 then begin
                    AdjAmount := -"Prepmt. Amount Inv. (LCY)";
                    TempInvoicePostBuffer.PreparePrepmtAdjBuffer(
                        InvoicePostBuffer, "No.", AdjAmount, SalesHeader."Currency Code" = '');
                    TempInvoicePostBuffer.PreparePrepmtAdjBuffer(
                        InvoicePostBuffer, SalesPostPrepayments.GetCorrBalAccNo(SalesHeader, AdjAmount > 0),
                        -AdjAmount, SalesHeader."Currency Code" = '');
                end else
                    if ("Prepayment %" = 100) and ("Prepmt. VAT Amount Inv. (LCY)" <> 0) then
                        TempInvoicePostBuffer.PreparePrepmtAdjBuffer(
                            InvoicePostBuffer, SalesPostPrepayments.GetInvRoundingAccNo(SalesHeader."Customer Posting Group"),
                            "Prepmt. VAT Amount Inv. (LCY)", SalesHeader."Currency Code" = '');
    end;
#endif

    // NEW EVENT >>
    [IntegrationEvent(false, false)]
    local procedure OnFillInvoicePostingBufferOnBeforeGetSalesAccount(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; GenPostingSetup: Record "General Posting Setup"; var SalesAccount: Code[20]; var IsHandled: Boolean)
    begin
    end;
    // NEW EVENT <<

There are already 3 events around this small patch of code, are you sure you really need another one and with IsHandled pattern at that?
OnAfterInvoicePostingBufferSetAmounts
OnAfterGetSalesAccount inside the GetSalesAccount
OnFillInvoicePostingBufferOnBeforeSetAccount
Please consider using any one or combination of those. We can add a param to one of those if you are missing a particular one

Yes, I need this.
The reason that the other events don't work is that GetSalesAccount can't be skipped. However, we have a situation where the sales account is not filled, but an account from a custom field must be used.
When the sales account field is empty, an error occurs. So any event after GetSalesAccount is too late.
And any event before GetSalesAccount must be able to skip the function.
By the way, the requested event is in line with earlier events to get the discount account. For example:
OnFillInvoicePostingBufferOnBeforeSetLineDiscAccount(SalesLine, GenPostingSetup, LineDiscAccount, IsHandled);
                    if not IsHandled then
                        LineDiscAccount := GenPostingSetup.GetSalesLineDiscAccount

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


i have tried to  run my project in spyder but it doesnot  display anything it says run only runfile('C:/Users/luela/untitled1.py', wdir='C:/Users/luela') please help me what can be the problem

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
What steps reproduce the problem?

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

Hey @luelagebre, thanks for reporting. You need to print something in your code to see a result in the console.
For instance, if you run this code
1+1

you will only see the runfile command. However, if you run
print(1+1)

then you'll see 2 in the console.
Let us know if that helps you to solve your problem.

Closing due to lack of response.


(PUP-3750) Use tmpfile to generate temporary path

Use tmpfile to generate a cross-platform temporary file path for
verifying mailalias file include.

CLA signed by all contributors.


How can set default value to title field in popup?

Summary
I`m trying to set value into subject field by default (e.g: Apple)
but I can't find that option
please help me.
Screenshots

Version
Latest version

@chief0825
TLDR: You can't.
Long version: Please refer this.


How to download the 25fps features for challenge?

I have download the 25fps for train, valid, and test. However, when I try it for challenge, it's failed. I want to know how can I download the 25fps features for challenge?

Sorry, we have not extracted the 25fps features for the challenge, only the 2fps.
Have a look at our feature extraction code to extract your own version of the features. In particular, have a look at this script and set the parameter --FPS=25.0.
I hope that will help.

okay, I will try, thanks for your reply.


Fix bug for build

i ran the command pnpm build and the console show me a simple error of dependencies in the useEffect, i think maybe is this that you searching. this also it in the pr


[GLUTEN-7311][CH] Support grace aggregate algorithm in partial aggregating stages

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Fixes: #7311
For aggregations involve distinct, use grace aggregate algorithm in partial aggregating stages, instead of streaming aggregating algorithm.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
unit tests,  manual tests
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Is there any performance improved with this pr ?

Run Gluten Clickhouse CI

Is there any performance improved with this pr ?

It's not for performance


Remove unused param tpu_core_idx

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
Removed unused parameter tpu_core_idx.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hi
Did you actually test this?
I'm getting
Exception in device=TPU:0: tpu_train() takes 2 positional arguments but 3 were given
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/torch_xla/distributed/xla_multiprocessing.py", line 119, in _start_fn
    fn(gindex, *args)
TypeError: tpu_train() takes 2 positional arguments but 3 were given

in the MNIST TPU example
https://colab.research.google.com/drive/1-_LKx4HwAxl5M6xPJmqAAu444LTDQoa3
could we fix this asap, I'd like to test my PR #1756 to make sure TPU works

Note that we don't have TPU tests yet, so we need to always test it manually in the notebooks.


Comment:Chat-Authentication

I have a problem. Everytime when I try to do this in Postman:
POST "localhost:3030/authentication"
{ 	"strategy": "local", 	"email"<EMAIL_ADDRESS>	"password": "secret" }
it returns:
{   "name": "BadRequest",   "message": "Authentication strategy 'local' is not registered.",   "code": 400,   "className": "bad-request",   "errors": {} }
The same happens if I try this from front-end and from curl
Additional I have finished the tutorial. But there is no possibility to authenticate...
Could sb please help me? I'm new in NodeJS. Previously I just coded in PHP, a little bit JS, css and HTML
Herobone

Did you select the "Username + Password (Local)" option when generating authentication?

Yep

Please post the contents of authentication.js.

Having same issue....
contents of authentication.js in my case..
const authentication = require('feathers-authentication');
const jwt = require('feathers-authentication-jwt');
module.exports = function () {
const app = this;
const config = app.get('authentication');
// Set up authentication with the secret
app.configure(authentication(config));
app.configure(jwt());
// The authentication service is used to create a JWT.
// The before create hook registers strategies that can be used
// to create a new valid JWT (e.g. local or oauth2)
app.service('authentication').hooks({
before: {
create: [
 authentication.hooks.authenticate(config.strategies)
 ],
 remove: [
 authentication.hooks.authenticate('jwt')
]
}
});
};
PS: am new to feathers and just following the guideline provided.

The local strategy isn't configured in that code you posted, @ray-man.
I just tried this with the current generator and it's configured correctly for me:
const authentication = require('feathers-authentication');
const jwt = require('feathers-authentication-jwt');
const local = require('feathers-authentication-local');

module.exports = function () {
  const app = this;
  const config = app.get('authentication');

  // Set up authentication with the secret
  app.configure(authentication(config));
  app.configure(jwt());
  app.configure(local(config.local)); // You're missing this

  // The `authentication` service is used to create a JWT.
  // The before `create` hook registers strategies that can be used
  // to create a new valid JWT (e.g. local or oauth2)
  app.service('authentication').hooks({
    before: {
      create: [
        authentication.hooks.authenticate(config.strategies)
      ],
      remove: [
        authentication.hooks.authenticate('jwt')
      ]
    }
  });
};

@ray-man did Marshall's answer fix your problem?

Hello, I seem to be having the same issue. Using what I believe is the latest version of feathers-cli ( 2.2.4): feathers g authentication in the shell and selected only the defaults.
The generated authentication.js does not include either
const local = require('feathers-authentication-local');
or
app.configure(local(config.local));
If I insert those lines manually then it won't start: Error: Cannot find module 'feathers-authentication-local'. Yet that module is listed under the devDependencies in the package.json of the feathers-authentication folder.
Sorry if this has an obvious fix. I'm just following the guide and don't know what I'm doing.

Hi, first thanks for helping us. Feathers looks fabulous 👍
I was having the same issue and I added
const local = require('feathers-authentication-local');
and
app.configure(local(config.local));
lines to my authentication.js file, as suggested @marshallswain
Then I ran npm install feathers-authentication-local --save, as it was neither on the dependencies nor in the devDependencies. And it worked.
Hope that will help anyone following the tutorial feathers-app.

This keeps coming up so to make sure there wasn't a bug that snuck in I re-ran with the latest CLI (v2.3.0) and everything was working fine. The only explanation I have is that people keep forgetting to confirm the local authentication prompt with the space key but it does state that in the guide:

In this guide we will only cover local authentication so let's select the first entry using the Space key and then confirm the selection with enter.

One solution would be to make the selection the default so you can continue by just pressing enter.

Thank you for the reply. That clears it up.
I would suggest changing the guide so that "using the Space key" is in bold. Those following the guide just did the app and service generator steps, so it's natural to skim this section thinking it should be the same routine. Just need to bring the reader's attention to it.


Colored name like a blue,green,orange

And so how?

This is not only a duplicate, but this is also a client sided issue.

okay client sided

stop
in the server only how?

or server sided?

This is a client sided issue.

Most clients these days are older ones that still have a main_out.js file. If you have your own client, look in said file for what gives each cell a name, and look for what defines the color of the name.

okay

Its usually done by a text engine named UText or something along those lines.

@Agarian i have Luka967/Cigar

and one issue
How to make that by nick was the userrole "admin"
bad english

@Fan7asy

@ArixProject I assume the line is here  if you want to change the color of the text.

Please elaborate on your other issue

@Fan7asy thanks)

No problem, do you still require help with your other issue?

yes of course

Do you mean: make the nickname be set automatically by userrole?

yes

One moment.

kk

and????

One moment, I'm trying to sort out two issues at once.

okay

First you will need to put the UserRoleEnum variable into global focus.
In order to do this move Line 75 to the top (somewhere about here);
Next replace this line with:
    if (this.userRole === UserRoleEnum.ADMIN)
    this.setName("A NAME");
    else
    this.setName(name)

thanks

and one issue :D (in color name)

how to make color name on other name?

Yes?

i tried but not working

I don't use Cigar, so you are going to have to ask @Luka967

oh okay((

wow shit :D

Did it work then?

@Fan7asy ummm.. nope


In iOS, after login, the application only loads when the user has no assigned dashboard

Problem Summary
The issue occurs for users logging in from an iOS device. After login, the dashboard does not load in most cases, and the application remains stuck loading indefinitely. The first time the user logs in, the dashboard appears correctly, but upon closing and reopening the application, the issue persists.
Problem Description

Observed Behavior:

First login: The dashboard loads correctly.
Reopening the application: Upon closing and reopening the application, the dashboard fails to load, and the application remains stuck loading indefinitely.

Additional Details:

Affected platform: iOS
Related functionality: Notifications
Notification status:
On Android: They work correctly.
On iOS: They work, but there are issues with the dashboard loading.
Possible Cause
This problem started occurring after configuring notifications in the application. While notifications work correctly on both operating systems, the dashboard loading issue only occurs on iOS.
Steps to Reproduce

Install the application on an iOS device.
Log in for the first time and verify that the dashboard loads correctly.
Close the application.
Reopen the application and log in again.
Observe that the application remains stuck loading indefinitely.

Question
What could be the explanation for the dashboard failing to load on iOS after configuring notifications?
Any help or suggestions to resolve this issue would be greatly appreciated.

Hello @solano-juanjo!
Thank you for the detailed description. We are aware of this issue and are actively working on a fix.

Hi ybeshkarov,
I was hoping that the latest update would solve this problem but it didn't. At least, I haven't been able to make it.

Hey @ybeshkarov , I had a similar problem, you closed the issue with your last update to fix it, but it still doesnt work unfortunately

Hello all,
Please recheck this issue with the 1.3.0 release.
@solano-juanjo @Sekiro-kost

When I tried a few days ago with your PR 1.3.0, before the merge, I had lots of dependency compatibility problems, ios18, Swift problems etc.

It's an issue with Xcode 16, not the IOS 18 or something. You need to add what's described in the comment there https://github.com/pichillilorenzo/flutter_inappwebview/issues/2221#issuecomment-2348119737
Xcode 15.x works fine.

It's an issue with Xcode 16, not the IOS 18 or something. You need to add what's described in the comment there pichillilorenzo/flutter_inappwebview#2221 (comment)
Xcode 15.x works fine.

Yes sorry, I meant Xcode, not IOS
Thx for your reply, I will try tomorrow to build your new version


Disable all typographic replacements in markdown renderer

Previously we only disabled some of them. This disables all the default replacements that goldmark's typographer extension offers, matching GitHub's renderer.
Ref: https://github.com/yuin/goldmark#typographer-extension
Fixes: https://github.com/go-gitea/gitea/issues/11001
Before:

After:

ping LG-TM


Multisig UI: Display data inputs as options under an advanced setting

Closing to consolidate to a single issue: https://github.com/FuelLabs/sway-applications/issues/592


Allow to specify which's the success response for an endpoint

As API designer I want to use this specification to explain to my clients how to use my API. For some endpoints, a success status will be a 2xx, for some other a 3xx.
The current specification just lists all the possible responses. The responsibility to know what's a success status is delegated to the client.
I was wondering if it makes sense to allow to the API designer to specify what's the success status of an endpoint

Generally speaking "success" is determined by the client depending on if the response code is expected.  For HTTP 2XX are success, and that is the end of the story, if you weren't using a RESTful API, and instead designed your own methodology/protocol then it is unlikely this specification can help you.  I would expect this spec to respect the meanings of the status codes as dictated by the HTTP standard.

The last answer (in 2016) seems pretty definitive so I'm going to close this.


PE-3003: Stay on Page ArConnect Warning on snapshot creation

Changes:

Makes the prepare and sign phases to retry it -if the tab wasn't focused- after focused again when utilizing ArConnect.
Adds an extra phase to the modal UI: "Finishing things up!" where it's preparing/singing.

In the case of ArConnect, this phase will have a warning asking the user to do not leave the page til' finished.
In the case of a JSON wallet, there's no warning.
Hides the CANCEL button in this stage, as the action is not cancellable at this point.

Adds unit tests for this new behavior on the cubit.
Refactors the focus methods at html_util.dart to be more meaningful on its names

The change for isBrowserTabHidden to be named isTabFocused implied a negation on the logic (when true, it's now false and vice-versa)

Here I show the UI for the new modal stage: "Finishing things up!" where we prepare and sign the transaction, which comes after "Determining size and cost of snapshot".

JSON wallet (to the left)

Description doesn’t change: "This may take a while…"

ArConnect wallet (to the right)

Description: "Your Web3 wallet is signing your transactions. Please stay on this page while we finish things up!"

For both cases the CANCEL button gets hidden as the prepare/sign stage is not cancellable.

https://user-images.githubusercontent.com/22564541/220997958-2efd86c3-db57-4457-9964-d55a4c3d3283.mov


Add the Tor Browser

Microsoft Reviewers: Open in CodeFlow

The publisher part in the ID (TorBrowser) does not match the publisher you specified (Tor Project).

Weird install and uninstall experience.  Looking into this as well as 1517.

I sadly cannot push to this branch anymore, will have to be reopened


DSJAS freaks out when on XAMPP

I got this error when using XAMPP (MySQL and Apache started)

Warning: require(C:/xampp/htdocs/include//install/Utils.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\banking\include\Bootstrap.php on line 30

Fatal error: Uncaught Error: Failed opening required 'C:/xampp/htdocs/include//install/Utils.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\banking\include\Bootstrap.php:30 Stack trace: #0 C:\xampp\htdocs\banking\Index.php(19): require() #1 {main} thrown in C:\xampp\htdocs\banking\include\Bootstrap.php on line 30

not under xampp

Warning: require(C:\Users\Jakub\Downloads\php/include//install/Utils.php): Failed to open stream: No such file or directory in C:\Users\Jakub\Downloads\php\semicolon3\include\Bootstrap.php on line 30

Fatal error: Uncaught Error: Failed opening required 'C:\Users\Jakub\Downloads\php/include//install/Utils.php' (include_path='.;C:\php\pear') in C:\Users\Jakub\Downloads\php\semicolon3\include\Bootstrap.php:30 Stack trace: #0 C:\Users\Jakub\Downloads\php\semicolon3\Index.php(19): require() #1 {main} thrown in C:\Users\Jakub\Downloads\php\semicolon3\include\Bootstrap.php on line 30

Hello. What version of php is generating this error? If you try opening this file using the run dialog (press Win+R) does a file open or does the file indeed not exist?

they all exist. bootstrap, utils, etc

and mamp works.. but it complains due to " Minimum PHP Requirements Not Met DSJAS requires that PHP has the following optional modules enabled:
mysqli - for database connections
exif - for upload handling
curl - for theme archive downloads
intl - for currency formatting
zip - for theme archive unpacking

Please enable all of these modules and try again. Remember to restart your webserver after editing php.ini. "


"See details in connector article"

At several places in this article, the documentation states: "See details in connector article" (I.e. See details in connector article -> Copy activity properties section.).
Seeing this is the Connector article, (At least in the treeview it shows up as "How to Guides -> Connectors -> Delimited Text Format"), shouldn't this be where we can find the information? If not, could the text be changed to a link to the actual location to look for the details?

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

ID: 2309a152-b9bc-7876-e010-b3bde6945d42
Version Independent ID: 751c7679-b01c-301d-8211-30f43ff50c54
Content: Delimited text format in Azure Data Factory
Content Source: articles/data-factory/format-delimited-text.md
Service: data-factory
GitHub Login: @linda33wj
Microsoft Alias: jingwang

@pes-kapacity Thanks for bringing this to our notice. We are investigating into the issue and will update you shortly.

Why was the issue closed?

@pes-kapacity I just fixed the doc and sent a PR. The PR was merged into master and you should be able to see the changes in production very soon. Hence the issue was automatically closed as it was referenced by a PR which was merged.

Ah, cool. Thanks! I'll try and be patient until the fix shows up :)

@pes-kapacity It definitely will show up very soon. I do not have an exact ETA but please expect the changes to show up within the next 24 hours.


Be careful about the order

I.e. [1, 2].include_all?([2, 1])

Thanks for the feedback. Hopefully, I fixed it in v1.0.1: https://github.com/AndyObtiva/array_include_methods/tree/v1.0.1

The fix was simple I think, you needed to compare with the argument instead of self. Your current implementation assumes elements are sortable so wouldn't work with [1, nil]...

Not true. I have that as a test case.

There are alternative solutions. I picked one that yielded the best performance for an informal performance test I was doing in irb. Again, my needs are small, so this works well enough for an app I used this library in. For Ruby, you know better.

Oh, right, you're first sorting by classes, I see. Then it won't work for unsortable elements of the same class, say [{}, {a:1}]. An implementation using Sets would be shorter, faster and work in all cases. In any case, have fun!

It actually still works according to a quick test I just ran in IRB.
Still, that's besides the point. As a software engineer, I start from the
requirements, and I don't have the requirements you stated.
Also, I've already stated in the Ruby issue I knew about Sets already. I am
not sure why you're not acknowledging that. I'd hate to repeat myself.
Also, Set has the trade-off of requiring the Set library, which may not
desired by everyone in every situation.
If you don't want to implement, that's OK. It was only a feature
suggestion. I hope my tone came across that way at least.
On Tue, Jun 2, 2020 at 2:24 PM Marc-André Lafortune <
<EMAIL_ADDRESS>wrote:

Oh, right, you're first sorting by classes, I see. Then it won't work for
unsortable elements of the same class, say [{}, {a:1}]. An implementation
using Sets would be shorter, faster and work in all cases. In any case,
have fun!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/AndyObtiva/array_include_methods/issues/1#issuecomment-637723895,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAFUDAND7XYJDHU6RCBDBTRUU7VBANCNFSM4NP64MAQ
.

--
Andy Maleh
LinkedIn: https://www.linkedin.com/in/andymaleh
https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva
Phone:<PHONE_NUMBER>

OK, actually you're right. From more testing, I found an issue with
unsortable hashes. Thanks for mentioning that. I guess I'll look into it in
case I face this in the future.
On Tue, Jun 2, 2020 at 2:45 PM Andy Maleh<EMAIL_ADDRESS>wrote:

It actually still works according to a quick test I just ran in IRB.
Still, that's besides the point. As a software engineer, I start from the
requirements, and I don't have the requirements you stated.
Also, I've already stated in the Ruby issue I knew about Sets already. I
am not sure why you're not acknowledging that. I'd hate to repeat myself.
Also, Set has the trade-off of requiring the Set library, which may not
desired by everyone in every situation.
If you don't want to implement, that's OK. It was only a feature
suggestion. I hope my tone came across that way at least.
On Tue, Jun 2, 2020 at 2:24 PM Marc-André Lafortune <
<EMAIL_ADDRESS>wrote:

Oh, right, you're first sorting by classes, I see. Then it won't work for
unsortable elements of the same class, say [{}, {a:1}]. An
implementation using Sets would be shorter, faster and work in all cases.
In any case, have fun!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/AndyObtiva/array_include_methods/issues/1#issuecomment-637723895,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAFUDAND7XYJDHU6RCBDBTRUU7VBANCNFSM4NP64MAQ
.

--
Andy Maleh
LinkedIn: https://www.linkedin.com/in/andymaleh
https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva
Phone:<PHONE_NUMBER>

--
Andy Maleh
LinkedIn: https://www.linkedin.com/in/andymaleh
https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva
Phone:<PHONE_NUMBER>


Cloud Deployment: Fix MVD cloud deployment health check failure

What this PR changes/adds
Cloud deployments are failing during health check steps. So far what we have observed that it is due to Azure Container Instance taking longer to start up or getting restarted initially which make the curl health check call to fail.
curl is supposed to be retyring in such scenario but it doesn't retry in case of a connection is reset by peer (more in the linked issue). To overcome these two things are added in this PR:

Update Azure Container Instance liveness check probe to give container more time before it is ready for a health check.
curl request is done now with --retry-all-errors flag which retries on more error codes, so it covers the above-mentioned situation when connection is reset by peer. But in order to have this flag available for curl we need to have curl version at least 7.71.0 which is not available on ubuntu-latest runners (20.04 version), that's why we have added a shell script to upgrade curl version for the jobs where it is needed.

Further notes

Didn't found a curl version >=7.71.0 package which we can directly download and use on ubuntu, hence doing the installation from the source.
Tried to use ubuntu-22.04 runner which has latest curl version, this runner version is in beta right now from GitHub. While using this runner two times we observed terraform and curl check getting stuck in an indefinite loop. Not sure what was causing that but can because of a runner issue as it is in beta. So, to avoid confusion decided not to use it and do curl update manually with 20.04 runner.

Linked Issue(s)
Links #215
Checklist

[ ] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[ ] documented public classes/methods?
[x] added/updated relevant documentation?
[ ] added relevant details to the changelog? (skip with label no-changelog)
[ ] formatted title correctly?

Successful downstream run is: https://github.com/agera-edc/MinimumViableDataspace/actions/runs/2739886546


[FEATURE] Option to disable auto commit after data ingestion

Description
Currently, versions are made upon data ingestion with the following code: https://github.com/activeloopai/deeplake/blob/2ad84c139e91fe6f81da9c8b6d4f48c9d3ee8e73/deeplake/core/vectorstore/deeplake_vectorstore.py#L294
It seems like every time the commit is made, the full dataset of current state is captured as a corresponding version. So, if the user commits a lot, the storage the versions consumes blows up rapidly.
It becomes problematic if the user ingest small data incrementally, i.e., the dataset between versions are almost the same, so consumes space inefficiently.
The canonical solution for this would be to capture only the diff data for each version, but as I'm not acquainted the codebase, don't know whether it is feasible.
So, instead, I suggest to offer an option that users can choose whether they want "auto-commit" or not when ingest a data.
Use Cases
No response

Hey @HyunggyuJang, thanks a lot for raising the issue. We're already working on this, and I'll be sure to let you know when the updates are released.


remove py & html files

[x] closes #3
[ ] we can always generate these files
[ ] add them to .gitignore

@shirubana  if you're okay with these changes can you merge this pr? thx


Command-line argument enhance

Is your feature request related to a problem? Please describe.
I'm always frustrated when I have to batch decrypt pdf files, because I can't specify password via command line arguments. And it would be better that if you skip the argument OutputFile, the program would replace the original pdf with decrypted pdf if decryption succeeds.
Describe alternatives you've considered

Add an argument -p/--password, which allows password input, so the program won't have to ask for password.
Omitting OutputFile argument would result in the program to replace the original pdf if decryption succeeds.

Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Are you willing to resolve this issue by submitting a Pull Request?

[ ] Yes, I have the time, and I know how to start.
[ ] Yes, I have the time, but I don't know how to start. I would need guidance.
[X] No, I don't have the time, although I believe I could do it if I had the time...
[ ] No, I don't have the time and I wouldn't even know how to start.

I tried to upload this program to PyPI, but there was a name conflict and it failed to upload and left me hanging. I have moved it to https://github.com/34j/decryptpdf. You can post issues for original pdfdecrypt to gitlab.com/pdftools/pdfdecrypt. If you want to use this program, please use decryptpdf (pipx install decryptpdf). decryptpdf has the features you mention.


Function to check network connection status.

Is it in roadmap to implement a function for checking network connection status?
Expected Behaviour
Actual Behaviour
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version
Sample Code that illustrates the problem
Logs taken while reproducing problem

What's the use-case for this? IIRC Apple deprecating the methods for checking network status in favor of just attempting to send the network request and retry if needed.
Currently, I'm not aware of any extension that checks network status before sending a network status. The current recommendation would be to attempt to send the network request if it fails for any reason, retry at a later time.
@shalehaha thoughts?

It's been checked in ACPMedia before sending media analytics hit. If the recommendation from Apple is to let it fail, then we can think about implementing that way.

It'd better to just try and fail. Reachability is not 100% reliable either.


Add primitive type to OpenAPI generation

What type of PR is this?
Improvement
What does this PR do / why is it needed ?
Today we cannot generate Open API for models with decimal properties. This fixes that.
Which issue(s) this PR fixes:

Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?

/easycla


Unable to select 0 as a stop position.

Hiya,
I'm loving this tool and I think I've found a small bug. Initially I thought this was something I had done but i also realised that it appears on the demo site too.
When dragging the stop position in the selector, I'm unable to drag it down to 0, the lowest available value seems to be 1. On the other end i can go up to 100 without issue.
This is also an issue when typing in a value if I type 0 is doesn't register, but other values are fine. So I'm guessing it's some kind of validation going on that sets the range from 1 to 100 rather than 0 to 100.

@M-J-Robbins Interesting I haven't seen this one yet. Will try and patch ASAP.

@M-J-Robbins this should be fixed as of 3.0.10


Error importing pattern3.en

While trying to import pattern3.en, the compiler throws generic indentation error in pattern3.text.tree.py.
Here is the traceback:
>>> import pattern3.en
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/singh/anaconda/envs/venv123/lib/python3.6/site-  packages/pattern3/text/en/__init__.py", line 22, in <module>
    from pattern3.text import (
  File "/Users/singh/anaconda/envs/venv123/lib/python3.6/site-packages/pattern3/text/__init__.py", line 28, in <module>
    from pattern3.text.tree import Tree, Text, Sentence, Slice, Chunk, PNPChunk, Chink, Word, table
  File "/Users/singh/anaconda/envs/venv123/lib/python3.6/site-packages/pattern3/text/tree.py", line 37
    except:
         ^
IndentationError: expected an indented block

For anyone else facing the same issue, @markus-beuckelmann's comment on issue #62 is the solution.
Currently pattern3 hosted on PyPI is deprecated.
Using the development branch (with python 3 support) solves the problem.
It can be cloned by git clone -b development https://github.com/clips/pattern and installed using pip or conda .
Thank you @markus-beuckelmann .

For anyone else facing the same issue, @markus-beuckelmann's comment on issue #62 is the solution.
Currently pattern3 hosted on PyPI is deprecated.
Using the development branch (with python 3 support) solves the problem.
It can be cloned by git clone -b development https://github.com/clips/pattern and installed using pip or conda .
Thank you @markus-beuckelmann .

For anyone else facing the same issue, @markus-beuckelmann's comment on issue #62 is the solution.
Currently pattern3 hosted on PyPI is deprecated.
Using the development branch (with python 3 support) solves the problem.
It can be cloned by git clone -b development https://github.com/clips/pattern and installed using pip or conda .
Thank you @markus-beuckelmann .

How should it be working if you use anaconda

when I follow the above solution I am getting another set of error. related to mysql
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-install-v5curwlr/mysqlclient/setup.py'"'"'; file='"'"'/private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-install-v5curwlr/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-record-1td1v1mv/install-record.txt --single-version-externally-managed --compile --user --prefix=
cwd: /private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-install-v5curwlr/mysqlclient/
Complete output (30 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.8
creating build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/init.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/exceptions.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/compat.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/connections.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/converters.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/cursors.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/release.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
copying MySQLdb/times.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb
creating build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/init.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.9-x86_64-3.8/MySQLdb/constants
running build_ext
building 'MySQLdb.mysql' extension
creating build/temp.macosx-10.9-x86_64-3.8
creating build/temp.macosx-10.9-x86_64-3.8/MySQLdb
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -Dversion_info=(1,4,6,'final',0) -D__version=1.4.6 -I/usr/local/Cellar/mysql/8.0.18_1/include/mysql -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c MySQLdb/_mysql.c -o build/temp.macosx-10.9-x86_64-3.8/MySQLdb/_mysql.o
gcc -bundle -undefined dynamic_lookup -arch x86_64 -g build/temp.macosx-10.9-x86_64-3.8/MySQLdb/_mysql.o -L/usr/local/Cellar/mysql/8.0.18_1/lib -lmysqlclient -lssl -lcrypto -o build/lib.macosx-10.9-x86_64-3.8/MySQLdb/_mysql.cpython-38-darwin.so
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-install-v5curwlr/mysqlclient/setup.py'"'"'; file='"'"'/private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-install-v5curwlr/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/pp/5_z3l23d2rxc2y9274mb2cwh0000gn/T/pip-record-1td1v1mv/install-record.txt --single-version-externally-managed --compile --user --prefix= Check the logs for full command output.


[ Istio V2 ] Add warning message / info message for Kiali Dashboard link

Need to add a warning or info message (not sure which would be best)
Background: The Rancher Istio chart has the following chart annotation catalog.cattle.io/requires-gvr: monitoring.coreos.com.prometheus/v1 which points to a prometheus CRD and expects it to be there before installing istio. The purpose of this was to ensure that monitoring was installed prior to istio getting installed to ensure kiali would have data to display. Unfortunately, this CRD can be installed by other charts and is not a required crd for all prometheus setups.
Solution: I will be removing this annotation from the chart, but still need to inform / warn the user that they need to setup monitoring if they want kiali to work.
Add a warning / info banner (potentially inside link box with kiali) that says "For Kiali to display data, you need prometheus in the cluster or to install monitoring"
It would be nice to have a link to rancher-monitoring on the "install monitoring" wording to make it easier for users install if they need to

Append to the text:
For Kiali to display data, you need Prometheus installed. If you need a monitoring solution, install Rancher's monitoring.
The words Rancher's monitoring should link to the instlal page for our monitoring.

rancher/rancher:v2.5-head 9d38821

The warning/info text is correct, but the link takes the user to the cluster's v1 Monitoring page: https://url/c/cluster-id/monitoring instead of the v2 Monitoring install page
The link should instead take the user to https://url/dashboard/c/cluster-id/apps/install?repo-type=cluster&repo=rancher-charts&chart=rancher-monitoring&version=9.4.201#readme (or whatever the latest version is)

rancher/rancher:v2.5-head cc777eb
The monitoring link now correctly takes the user to the Dashboard Monitoring page.


POC: Enable Istio sidecar injection in NATS Pods

Context:
Currently, the sidecar injection to NATS Pods are disabled due to performance reasons. Meaning that the NATS Pods are not part of service mesh.
We want to now enable sidecar injection to NATS Pods due to security concerns. For that we need to do a POC to check if the NATS will work with sidecars and also will there be any side effects like performance etc.
Task(s):

Check official NATS documentation for any guidance for running NATS inside a service mesh (Istio).
Update nats-manager to deploy NATS with sidecar injection enabled.

Changesidecar.istio.io/inject label to true (reference).
Do not merge these changes to nats-manager main branch. Keep it into your fork.

Check if sidecars are injected into NATS Pods and check if NATS is working end-to-end. Make sure everything is working as expected.

Manual tests + load tests
If NATS is not working, then investigate the reason and any possible solutions.

Check the upgrade flow of existing clusters which have sidecar disabled, to version with sidecar enabled.

Test the upgrade with load tests deployed.
Do we need any extra step for it.
Would there be any downtime? or any risks?

Evaluate if we should have a flag in NATS CR to enable/disable sidecar injection or should we enable it by default on all existing and new clusters.

Enabled the mTLS for  NATS cluster:

manual tests worked
load test gave the following log output that looks good
nats-clsuter.txt
here is the draft PR for the changes

I've tested that upgrade worked with two steps:

Having PeerAuthentication in PERMISSIVE mode, which allows non tls traffic too
Change it have STRICT mode, which only allows mTLS

I again tested that directly going to STRICT mode breaks the NATS cluster.

I've tested that upgrade worked with two steps:

Having PeerAuthentication in PERMISSIVE mode first, which allows non tls traffic too
Change it to have STRICT mode, which only allows mTLS

Allowing non tls allows NATS nodes with sidecars to build cluster first. I again tested that directly going to STRICT mode breaks the NATS cluster.

Findings looks good.


Browser doesn't open

Whenever I try to start it, I get those and no browser window opens.
I have tried both the current x32 and x64 versions of chromedriver with python 3.12

seems I already had newer versions of selenium installed that isn't compatible anymore.
but I got it solved

seems I already had newer versions of selenium installed that isn't compatible anymore. but I got it solved

@Tibsi how did you manage to get it working?

I just went with the newest chromedriver and switched the packages to selenium 4.9.0, beautifulsoup4 4.8.2 and tqdm 4.64.1.
thats seemed to work with chrome 117 that I head at the time.
That being said, it's really slow and inefficient so I made my own slightly modified version of this fork:
https://github.com/beerpiss/fakk-u-downloader
There are no instructions on it yet, but it's basically the same thing. So the "How to Launch" stays the same. Except that you have to create a cookies.txt after logging into the Fakku website with your Chrome Addon of Choice (I use this one https://chrome.google.com/webstore/detail/get-cookiestxt-clean/ahmnmhfbokciafffnknlekllgcnafnie) and put it in the program folder.


Add support for persisting CLI settings.

Persist CLI settings (CLISettings structure) as json file under $HOME/.paraglider/settings.json for the CLI to use.

@aviweit I see another PR tackling the same issue : https://github.com/paraglider-project/paraglider/pull/362

@praveingk , I noticed that in parallel to this PR, @smcclure20 had opened a very similar one to my PR, so maybe there is no need for this one and I can close it?
@smcclure20 , what do you think?

@aviweit Thanks for finding and working on this issue, and sorry about the confusion. I think this PR can be closed now.


What is the meaning of 'activetx' in the apache predvar table?

hello!
I want to know the meaning of 'activetx' in apachepredvar table.
Because i am doing the machine learning research right now and 'activetx'is the most important variable after the analysis of the machine learning model, but there are less explanation of this character.
Your answer will help me a lot! !

Hi @tohokulgq,
activetx is short of 'active treatment'.  A list of the active treatments can be found here:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6232310/
The variable was originally created to distinguish between patients in the ICU for monitoring (lower risk) versus those requiring ICU treatment.
Jesse


changed navbar background color issue while scrolling with some other…

Resolved an issue with an additional background layer in the navbar that caused visual inconsistencies during scrolling. Improved the background color, backdrop, and icon display for a more polished appearance. (also updated for dark theme)
before updated navbar:
websiteGym-Junkies updated nav
after updated navbar:
websiteGym-Junkies

yes this is great

merge this already


Refactored probe.await usage into doAndAwait

Btw! as a general rule, pls Resolve the comments that are already addressed. Trivial responses like Done are redundant. Only leave the thread unresolved if there's a non-trivial response and/or further replies from reviewers are needed.


Change Cache::set to accept time object with seconds for backward compatability support in Laravel 5.7/5.8

This issue is invalid for Redis object


18.12 REL: All services doubled

Describe the bug
In 'Services' all entries are doubled, e.g. accounting and accounting.pkgnew.
All files in /etc/rc.d and /etc/init.d seem to be the same, * and *.pkgnew, same size and date and content.
Please note that this is observed on an upgraded installation (from 18.12 PR2).
This was confirmed by another user of 18.12 REL (also upgraded).
To Reproduce
Expected behavior
Services with name *.pkgnew should probably not exist.
Screenshots

OS Version:
OS Version: 18.12-RELEASE
Build Date:<PHONE_NUMBER>3435
Additional context
I currently can't tell if this can be observed with a fresh installation.

this is a trueos issue
https://github.com/trueos/trueos/issues/214


Numericality fails to validate decimal number starting with a dot

In javscript (and in real life), .2 is considered a number and is equivalent to 0.2.
The entire numericality validator fails though if you input .2. To check numericality, you could simply do:
import Base from 'ember-validations/validators/base';

export default Base.extend({
  call() {
    let number = this.model.get(this.property);
    if (isNaN(number)) {
      this.errors.pushObject('not a number');
    }
  }
});

Is it an intended behaviour? Can you fix it or would you accept a patch?

@karellm, the base numericality pattern is more forgiving than isNaN (with the exception of this issue) in that it also allows for values like "5,000,000.25" - although you can't use parseFloat on that number without removing the commas first.
The existing check (in patterns.js) is:
/^(-|\+)?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d*)?$/

I think this captures your use case:
/^(-|\+)?(?:(?:(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d*)?)|(?:\.\d+))$/

I ran a quick test and it seems to work perfectly! Are you taking care of fixing it or do you want a PR?

@karellm PR done! :)

I couldn't find the PR. Are you a collaborator on the project or just helping out?

Sorry, I missed a step. Just helping out! :)

I am going to close this issue for now, feel free to reopen this issue if you feel like it's still relevant and we should take a look at it.

@martndemus It definitely is relevant though non blocking

@karellm Fixed by #424


Xdebug not working in VSCode

Preliminary Checks

[X] I have searched the existing issues for similar bug reports and found none.
[X] I have checked 'open' AND 'closed' issues and this is not a duplicate.

Current Behavior
When i follow th steps to run Xdebug i see that Xdebug is listening on the port but the there is nothing served on that port. http://localhost:9003 returns nothing. The website which is found on http://localhost:63359/ is working just fine.

Expected behavior
Functioning Xdebug
Steps to reproduce

start vscode
click on run and debug
start debugging fox xdebug
auto forwarded port is activated
open the page on port 9003
no page in browser
when debugger is stopped i see the following in browser "stop -i 1�"

Operating System
Linux
Browser
Other
Additional Information / Failure Log if available
No response

Got it resolved in xdebug.ini the value was "xdebug.client_port = 9000" and i changed it to "xdebug.client_port = 9003".
Now it is happy debugging time


[BUG] Docker image won't run on ARM64 systems with non 4KB page size

Describe the bug
Running the official Docker image on any ARM64 systems with non 4KB page size gives a seg fault.
To Reproduce
On any ARM64 Linux system (where getconf PAGESIZE is not 4096), run:
ctr run --rm -t ghcr.io/dojoengine/dojo:v0.7.0-alpha.0 test katana

(or with Docker, doesn't matter)
Expected behavior
katana runs.
Actual behavior
<jemalloc>: Unsupported system page size
memory allocation of 16 bytes failed

Additional context
This is because the default build option in jemalloc uses the host page size, even when cross-compiling. See https://github.com/jemalloc/jemalloc/issues/467#issuecomment-2054282344 for details.
The --with-lg-page option must be set to fix this.
This affects lots of ARM64 devices like Macs with Apple Silicon and Raspberry Pi 5 running Raspberry Pi OS (Ubuntu on RPI 5 uses 4KB page size so it still works).

how should we support this @glihm ? should we do two linux aarch64 builds, one with 4k and 16k pagesize ?

This affects lots of ARM64 devices like Macs with Apple Silicon and Raspberry Pi 5 running Raspberry Pi OS (Ubuntu on RPI 5 uses 4KB page size so it still works).

havent tested yet but is it an issue on macs as well? i thought bcs we're building the macos artifacts on a macos runner, it should have the correct pagesize.
if jemalloc isn't a requirement, then we can consider doing separate docker build without jemalloc.

Related: https://github.com/eqlabs/pathfinder/issues/1982

Actually, you could do pagesize-specific images, because while 64KB builds work for everyone and should be the default, devices would gain a small performance benefit running the binary compiled with its own page size. So it might make sense to have, say a 0.7.0 tag that contains a linux/amd64 image and a linux/arm64 with 64KB, and then something like 0.7.0-arm64-4kb for people that really want that little bit of performance.
I haven't benchmarked though so I can't tell what the performance difference is gonna be like. However, it should be pretty clear that the default image should work for everyone, not just a subset of ARM64 devices.

one with 4k and 16k pagesize

Please don't do that. ARM64 software builds are not supposed to be pagesize-specific. As long as you compile targeting a 64KB page size it would automatically work on 4K and 16K too. It's just not true the other way around.

macos artifacts on a macos runner

I did say Macs but not macOS (macOS doesn't even support Docker anyways). It's about running Linux on Macs with Apple Silicon via Asahi Linux, which only supports 16KB page size. See k3s-io/k3s#7335 (comment). Many other ARM64 devices are 64KB too.

separate build for Docker without jemalloc

This is unnecessary though. jemalloc itself is not the problem. It's that its default build option targets 4KB. Since Dojo uses jemalloc via jemalloc-sys, you'd just have to set the JEMALLOC_SYS_WITH_LG_PAGE to 16 when (cross-)compiling and you should be good.

make sense. thanks for the pointers!

i wonder if the change may potentially cause this bug https://bugzilla.mozilla.org/show_bug.cgi?id=1091515 because katana is using mdbx for database.
i dont know much about mmap/munmap so not sure if it could get affected.

how should we support this @glihm ? should we do two linux aarch64 builds, one with 4k and 16k pagesize ?
i think configuring the --with-lg-page flag should as easy as setting the JEMALLOC_SYS_WITH_LG_PAGE env var when building katana.

This affects lots of ARM64 devices like Macs with Apple Silicon and Raspberry Pi 5 running Raspberry Pi OS (Ubuntu on RPI 5 uses 4KB page size so it still works).

havent tested yet but is it an issue on macs as well? i thought bcs we're building the macos artifacts on a macos runner, it should have the correct pagesize.
if jemalloc isn't a requirement, then we can consider doing separate build for Docker without jemalloc.

Thanks for the report @xJonathanLEI. 🙏
Agree, let's definitely go with 64KB to have higher compatibility. And if in the future we see measurable improvement on Apple Silicon chips, we could have an other build for 16KB specifically. 4KB makes little sense to me nowadays.


Allows ITEX to view feedback from excursions.

What kind of a pull request is this?
Bug fix

QA / Code Review

Code Checklist

[x] The code follows dotkom code style
[x] The code passes the defined tests
[ ] I have added tests for the code I added
[ ] I have provided documentation for the code I added
[x] The code is ready to be merged

(Possible) Breaking Changes

[x] The changes are backwards compatible

[ ] I have updated the build configuration
[ ] These changes requires changes to configuration in production

[ ] I have applied the required changes in production
[ ] I cannot apply the required changes in production before this is deployed.

Description of changes
As stated in title.  #2126

As it stands right now, Ekskom has access to all that for ITEX already?
It was mostly done this way to keep it with how it is done previously.
As this was resolved by giving the results directly to the responsible person in ITEX as a PDF, we can revert this, and hope that we get to fixing permissions before ITEX needs access next year?

Good catch, that's correct. I think it has been circumvented before by not
using "Ekskursjon" for ITEX-events, though.
Also, currently all events and their permission (for the rest of the site)
goes through permissions rather than group membership, so that might be a
more interesting approach if this is to be refactored.
On Fri, Oct 5, 2018, 15:58 Ole Anders Stokker<EMAIL_ADDRESS>wrote:

As it stands right now, Ekskom has access to all that for ITEX already?
It was mostly done this way to keep it with how it is done previously.
As this was resolved by giving the results directly to the responsible
person in ITEX as a PDF, we can revert this, and hope that we get to fixing
permissions before ITEX needs access next year?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dotkom/onlineweb4/pull/2131#issuecomment-427375422,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFK962J5INfrPQA6U1OQVsAOXyezEzUWks5uh2WOgaJpZM4XGwpf
.

I think we would like to do that as part of the #1209.
Switching everything that can be switched to permissions, to keep things more consistent and manageable.
I will set up a pull request to revert this one.


remove all terraform related code from DeployService

DeployService class is a central class which only routes to the actual deployer for deployment tasks.
But currently there are some terraform related tasks within the deployer.
https://github.com/eclipse-xpanse/xpanse/blob/main/modules/deployment/src/main/java/org/eclipse/xpanse/modules/deployment/DeployService.java#L85
https://github.com/eclipse-xpanse/xpanse/blob/main/modules/orchestrator/src/main/java/org/eclipse/xpanse/modules/orchestrator/deployment/Deployment.java#L20

I‘ll fix it.


fix that prevents from building on Mac.

This is part of the solution, check wiki for change in dependencies.

@jikembo Would you mind trying to build with the latest directions on the wiki?


Adding magic kernel launch parameter mapping to ROCM.

This is an experimental feature and not exposed in HIP. I'm not sure I like anything about it, but it does seem to work. The string expressing the mapping is a compiler-only thing and something we can change (pull off arg/result attrs, etc).
To use, an external executable export can be annotated with a rocm.parameter_mapping string attr that defines the type of each parameter and how it's mapped from IREE's ABI to the kernel ABI. The string is composed of comma-delimited operations that define the parameter type (b for buffer, c for constant), byte size, a source specifier, and a target specifier.
For buffers: b8:1:2:56 means a 64-bit buffer in set 1 binding 2 gets stored in the parameter buffer at byte offset 56.
For constants: c4:32:40 means a 32-bit constant at push constant byte offset 32 gets stored in the parameter buffer at byte offset 40.

What's the status of this PR? If we're removing the ROCm HAL (and using HIP instead), could this be closed, or should it be ported to HIP?

it should probably be ported if we think someone will use it - if not, we can close it and leave it as a paper trail for the next time we may need an escape hatch like it


Add service client accessor to azblob.Client

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

I know we had talked about naming this NewServiceClient() however I didn't for the following reasons.

We have this same pattern for the specialized clients (example)
The method doesn't allocate a new client which is important to communicate (the other New*Client() ctors do)

I see you point. I can live with this but I do have a thought: We have a pattern all over the SDK of getting clients from clients via NewXxxClient methods. It feels to me that this method might be leaking an implementaiton detail in that it just happens to use a ServiceClient internally and perhaps someday it won't (unlikely I admit). Also, we could have this method allocate a new ServiceCelient and perhaps we should in case the design of clients every because mutable (also very unlikey). My point though, is that there are a bunch of assumptions built into the method name and it could tie our hands in the future.


1922: Default values for environment variables

Initial drop for https://github.com/redisson/redisson/issues/1922
@mrniko, could you take a look, please?

@mrniko
Reworked. Check it out, please.
But for me, adaptor is needed. What if we have several sources of environment variables or values to substitute? For example property files? Like Spring does.

@mrniko
Reworked. Check it out, please.

Thank you for contribution!

But for me, adaptor is needed. What if we have several sources of environment variables or values to substitute? For example property files? Like Spring does.

We will refactor it in this case.

@mrniko when we can expect this to be merged? It blocks us a bit )

@aaabramov it's been merged an hour ago.

@aaabramov it's been merged an hour ago.

Merge = release in your case, am I right?

😃 sorry I meant the github status of the PR. Didn't realise it was a new version release you are referring to.


Fix Bad Metrics Server Schema

Issue #, if available:
N/A
Description of changes:
EKS Anywhere Curated Packages accept configuration parameters that are passed in to the underlying helm chart as values.
The packages controller validates these parameters using the schema.json, which is base64 encoded, compressed, and published
as a package attribute in the packagebundle object.
This change was verified by building the helm chart locally and grabbing the schema field from requires.yaml.
I then plugged this schema value into the TestPackageValidate unit test in eks-anywhere-packages repo.
By verifying that the test passed, I was able to confirm that the schema was valid.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


max_iteration parameters is not respected in the ValueIteration Algorithm

Using the forest example from the quickstart guide and modifying the max_iter does not seem to work.
It looks like it always defaults to 39 and stops.
import mdptoolbox.example
P, R = mdptoolbox.example.forest()
vi = mdptoolbox.mdp.ValueIteration(P, R, 0.9, max_iter=100)
vi.run()
vi.policy
print vi.V
print vi.max_iter

(5.051970000000001, 8.291970000000001, 12.291970000000001)
39

I am experimenting with number of iterations to see how the algorithm is performing and it would be very beneficial to collect values at each iteration
Update:
Setting MDP to verbose shows that only 4 iterations were executed. So what does 39 means here?

  Iteration		V-variation
    1		  4.0
    2		  2.43
    3		  0.81
    4		  0.0
Iterating stopped, epsilon-optimal policy found.
(5.051970000000001, 8.291970000000001, 12.291970000000001)
39

Hi, this is actually a feature.
There is a method on the ValueIteration class called _boundIter that computes the upper bound of how many iterations the algorithm will need to complete given a certain tolerance. This tolerance is called epsilon in the code.  Since you didn't pass any value for epsilon the default of 0.01 is used. _boundIter uses a theorem from the Puterman 1994 book to calculate a bound on the number of iterations needed. However, the actual number of iterations needed until the value function converges may be fewer. In the forest example case it will always converge to the optimal policy in four steps because V-variation is 0 at iteration 4 which means the optimal policy is found.
However using the small example might help here: epsilon can control the tolerance you are willing to accept in the epsilon-optimal value function.
import numpy
import mdptoolbox.example
numpy.random.seed(0)
P, R = mdptoolbox.example.small()
vi = mdptoolbox.mdp.ValueIteration(P, R, 0.96, epsilon=0.001)
vi.setVerbose()
vi.run()  # takes 36 iterations
vi = mdptoolbox.mdp.ValueIteration(P, R, 0.96, epsilon=0.00001)
vi.setVerbose()
vi.run()  # takes 62 iterations

You will notice that the smaller epsilonwill cause the iterations to stop at smaller V-variations. So using epsilon you can control the precision of the optimal value function. This is why it is called epsilon-optimal, because it depends on the value of epsilon.
I would suggest that max_iter is mostly useful to limit the time that you are willing to wait for a solution to be found. This basically stops the algorithm from running forever and not returning anything.
Hope this helps.

Thanks for the explanation. It is very useful.
The reason I wanted to specify the max_iterations is that I can observe the convergence of each algorithm and not all of them have epsilon.
What worked for me is setting the max_iter after the object has been initialized, like
vi = mdptoolbox.mdp.ValueIteration(P, R, 0.96)
vi.max_iter = 10

In this case it wont go beyond those 10 iterations.
Great job, I liked playing with the forest example

A yes, that is a good solution. Another option that might work is to modify the _bellmanOperator method in the base MDP class to save the value function to disk or database or something each time it is called. You can use self.iter to store which iteration it is up to. You can use self.__class__ to store the name of the class. If you also want to save the policy then line 262 on mdp.py might give you some pointers.