Is this still an active project?

Hello all,
Apologies if the title sounded critical, that's not the intent. I'm just wondering if there are still plans to support this tool going forward. It looks like awhile back there was push for version 2.0.0 and even 2.1.0 with send/recv support but it seems that was never finished.
I'm just now setting up my first zfs deployment with offsite backup (using openzfs on macos) and I'm looking at the current state for tools to manage as much of the automated snapshot and transfer as possible.
I'm just trying to understand where this project is in its lifecycle.
Thanks,
-- Arron

Hey @arronmabrey
No worries about the title. It's a fair question. :-)
I do have a lengthy todo list hanging around for when I get time to sink my teeth into zfsnap again. But, as can be seen, for two years now, I've been hoping that time is "soon."
If you're interested in helping out, I'm happy to review and merge patches. As for when I'll get back into it all, there is a good chance that a project at work in July will force me to spend a week or two on zfsnap. So there is hope indeed. :-)
Out of curiosity, are there any particular features you're in need of?
---Alex
PS, closing this issue as it's not a work item, but we can continue our conversation in here.

Wow thanks @aqw for the quick response!
The main issue I'm trying to figure out right now is the transferring portion (e.g. send / recv).
I have looked at a lot of solutions out there ranging from home-rolled to very comprehensive. I still haven't settled on anything yet. One of the bigest issues for me is portability, because I'm on macOS, everything out there seems to target other operating systems. Which is fair considering macOS is likely not a huge user base from them, it's just a bummer.
The other really nice to have features would be to support:

support zfs bookmarks.
support send/recv resume.

I'm not sure the status of support for these two features across different zfs flavors. I believe they are supported by all the OpenZFS flavors and maybe more.

The main issue I'm trying to figure out right now is the transferring portion (e.g. send / recv).

So, my plans are to keep send and receive simple, but try to make them smarter. The simple form is just getting the most recent, top-level snapshot of each, and just assume that the origin snapshot exists on both systems. This is very easy to do, and I just need to write it.
Smarter versions would include finding the most recent common snapshot and erroring if one cannot be found. Also having a flag to output the size of the data stream to be sent, so that way the admin can script decisions based off of how much data is being sent. One night, I had a... less than careful user generate 4 TiB in a non-scratch folder. I was less than amused and I had no scripts to warn me as everything got sent to the backup server. :-/

One of the bigest issues for me is portability, because I'm on macOS, everything out there seems to target other operating systems. Which is fair considering macOS is likely not a huge user base from them, it's just a bummer.

The core feature of zfsnap is portability. If it doesn't run on OS X 1) I'll be very surprised, and 2) it's a bug and I'll fix it right away. Our goal is to run on /every/ system ZFS can run on. Historical and otherwise.

The other really nice to have features would be to support:
support zfs bookmarks.

So, I would love bookmarks as well, but unfortunately (from what I understand) they don't work as nicely as they should. The key missing feature is that they aren't recursive. They're only for one level. If I'm missing something, I would /love/ to be corrected, because they would be a very useful feature.

support send/recv resume.

How do you see zfsnap supporting resumable send? I've never used it, but I envision zfsnap providing tools which make it easier to work with zfs send and receive, rather than acting as a replacement or something which sits over them and calls them for you. IMO, it's too complicated to anticipate all the possible deployments. Better to give admins to tools to make it easy and let them write the 3-liner script they need for their situation.

I'm not sure the status of support for these two features across different zfs flavors. I believe they are supported by all the OpenZFS flavors and maybe more.

Everything (except for Oracle's weird version) should now support bookmarks and resumable send/recv. I don't know about the OS X guys, but FreeBSD, ZoL, and the IllumOS guys are doing a really good job reducing the deltas and getting everyone back on the same page. They've put a lot of work into it and it's beginning to show.
---Alex


How to access a specific tenant directly (URL)

The document describes how to switch a tenant. It does not specify, how can you access a specific tenant directly, e.g. if there's a URL I can use to access a specific tenant without having to access the default one and switch to the target one.
This sounds like a minor inconvenience, but becomes a real issue, if access to admin center on my default tenant is blocked - then I have no way to get to the UI for switching it to the one where I should have that access.

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

ID: 7b378de4-ca71-a16b-6669-369e3e3ff9d4
Version Independent ID: 1a1a6ec6-8c04-2172-7afa-49d268191687
Content: Manage multiple tenants - Microsoft 365 admin
Content Source: microsoft-365/admin/multi-tenant/manage.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

@hilari0n Thank you for your feedback. I understand the inconvenience mentioned on the issue, however, Azure AD issues security tokens for the permitted tenant and if you are locked out of the default tenant then access to other tenants is also not possible using this method. Unfortunately, there is no direct URLs to Specific tenants available at the moment. You could request a design  change from the user voice forum -https://office365.uservoice.com/
Hope this helps!
Thanks
Sri

Azure AD issues security tokens for the permitted tenant and if you are locked out of the default tenant then access to other tenants is also not possible using this method.

I'm not sure I understand. Azure AD issues tokens for the tenant the application is requesting for or for auto-detected (default) tenant if the application does not indicate one (the "common" pseudo-tenant).
If by this you mean, that this is how Microsoft 365 admin page works, then that's clear. If you are saying, that it's not technically possible to work with a tenant if I don't have access for an application (M365 admin app in this case) in the default tenant, then that's not true - I have used (and wrote some) apps, which don't require you to have access to the app in the default tenant to be able to use it in other tenants.
If by "locked out of the default tenant" you mean my account being fully blocked there, then it's understandable that I can't access anything, as that's the tenant which is always responsible for authentication, but that's not the case I described (I only was talking about no access to that specific app in the default tenant, not being locked out of the default tenant completely).

Unfortunately, there is no direct URLs to Specific tenants available at the moment.

OK. Thanks for this clarification. It is sad how Microsoft does not seem to know how to support their own features (multi-tenancy, B2B) in their own solutions, but at least I know now there's no point in looking for a document on this. It'd be nice if this was clearly mentioned in the documentation.

You could request a design change from the user voice forum -https://office365.uservoice.com/

I could if the site worked. What I now see there is "This site is not currently active".

@hilari0n Thank you for your feedback. Looks like Microsoft will be moving away from UserVoice feedback sites throughout the 2021 calendar year.
https://support.microsoft.com/en-us/topic/uservoice-pages-430e1a78-e016-472a-a10f-dc2a3df3450a
Note there is a design change needed, you will need to provide feedback through one of our channels
1)https://support.microsoft.com/en-us/topic/uservoice-pages-430e1a78-e016-472a-a10f-dc2a3df3450a
2)Click on the Feedback button on the M365 Admin center.
I'm sorry we could not help you much in this case as this is more of a documentation team and can document as is.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @hilari0n Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


timer too slow

Hi Stefan,
this is a great extension! I am testing it right now.
This test shows that the timer is much slower than expected.
It looks in my JupyterLab 4.2.0 like this with just this set export JOB_RUN_TIME=1800

but it seems as if it takes a minute to show one second less.
Any idea?

I think that the call of setInterval() is simply not a precise way to measure a second. If the users system is on high load or the browser simply does not call the function every second for other reasons you get a bigger and bigger offset.
A more robust way could be to replace this lines
        // Update every second.
        setInterval(() => {
          timer = timer - 1;
          update_text();
        }, 1000);

        update_text();

by this ones
        const interval = 1000; // 1 second
        let expected = Date.now() + interval;

        function step() {
          const now = Date.now();
          const drift = now - expected;
          timer = timer - 1;

          update_text();

          // Schedule next step, adjusting for drift
          expected += interval;
          setTimeout(step, Math.max(0, interval - drift));
        }

        setTimeout(step, interval); // Start the first step

This will adjust any inaccuracy (drift).

Hi Stefan, this is a great extension! I am testing it right now. This test shows that the timer is much slower than expected.
It looks in my JupyterLab 4.2.0 like this with just this set export JOB_RUN_TIME=1800  but it seems as if it takes a minute to show one second less.
Any idea?

Thanks for reporting this and sorry for taking so long, I only pay attention to this every six months. The documentation was wrong, JOB_RUN_TIME is in minutes and the plugin displays only hours and minutes. Fixed in 0.1.2.

I think that the call of setInterval() is simply not a precise way to measure a second. If the users system is on high load or the browser simply does not call the function every second for other reasons you get a bigger and bigger offset.

Also thanks for reporting this. I chose a simpler fix by moving all of the time computation into the periodic function so that any drift does not affect the effective remaining time. Fixed in 0.1.2.


emacs26: install correct emacs version

Closes https://github.com/NixOS/nixpkgs/issues/95876
In #95169 Emacs was updated to version 27.
however this also changed the explicit emacs26 attribute.
This PR checks back expressions for building Emacs 26 under emacs26
attribute.

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is ready @lovek323 @peti @jwiegley @adisbladis

@turbomack Thanks for this PR.
I would however like to avoid full copies of essentially the same expression so I've made
https://github.com/NixOS/nixpkgs/pull/95878 instead.

Closing this in favour of https://github.com/NixOS/nixpkgs/pull/95878.


Liquidated collateral with multi-collateral

Problem
Before multicollateral, we had a single collateral and a single wrapped token. In liquidation_redeem we could simply reward the user with a fraction of the collateral stored in the liquidation vault, based on the amount of tokens that are being burned. With multicollateral, however, it becomes unclear how much collateral to award the user for the burning the tokens.
Similarly, we need to change how we deal with liquidated vaults in e.g. redeem_tokens. We used to release an amount of vault.data.liquidated_collateral * tokens / to_be_redeemed_tokens, but with the introduction of multiple collaterals this is wrong.
Solution
(effectively) use multiple liquidation vaults, one for each currency. This means that each collateral has their own issued_tokens bookkeeping.
Considered alternative
Reward based on the current exchange rate. Say that the liquidation vault contains 50 DOT, 100 KSM, and has 1000 issued tokens. If the current exchange rate DOT:KSM is 2:1, then the 50 DOT is worth 25% of the KSM. In other words, the ratio of the value of the DOT compared to the KSM is 1:4, so users can burn 200 interBTC for 50 DOT, or 800 interbtc for 100 KSM. This requires iteration and it's not clear that there is a big advantage.

Agree with the solution to effectively use multiple liquidation vaults where users specify which liquidation vault they want to use for a burn operation. Note that users can batch transactions on the JS level together to burn against multiple liquidation vaults atomically if they want to.
Thought process

In the current setup, the effective exchange rate that determines how much collateral is being given to a user calling liquidation redeem ("burn") is determined by the ratio of issued_tokens/liquidated_collateral. That ensures that on liquidation, users should have an immediate arbitrage opportunity as the value of liquidated collateral should always be greater than the liquidated interBTC as determined by the liquidation threshold.
Each collateral currency will have its individual liquidation threshold. The goal (and that should be added to the multi-collateral specification) is that collateral currencies are risk-equivalent. This means that based on the volatility and liquidity of a currency, we must find a liquidation threshold such that any currency is equivalent. For example, a more risky asset like KSM should have a higher liquidation threshold than DOT as a less risky asset. In the future, we need to develop a methodology to determine the exact thresholds similar to this: https://medium.com/gauntlet-networks/karura-parameter-recommendation-methodology-6ce7fe06cb77 and this https://arxiv.org/abs/2002.08099
Using the current exchange rate must not be allowed as that might run into the risk of early depletion of the liquidation vault. For example, if no immediate burn happens but the price of the collateral asset in relation to Bitocin keeps crashing, users would deplete the liquidation vault such that there were 0 collateral tokens left while there still might be issued_tokens in the liquidation vault.
Given that asset should be risk-equivalent, theoretically, it should not make a difference to users which asset to burn against. However, if there is a "confidence crisis" in a collateral asset, i.e., the expected value of the asset is assumed to go to 0 (e.g., due to a major bug in the implementation of the asset like a stablecoin losing it's peg), users will not burn with that asset. However, this problem is independent from the multi-collateral asset issue but rather related to the selection of suitable collateral assets in the first place.
Users will choose the most favorable assets to burn interBTC for. Likely, automatic arbitrage bots can be written and we as Interlay can even run our own. If the price crashes of the collateral asset are below secure_liquidation_threshold - 1 - slippage - tx_fees , these arbitrage bots should make a profit. As a next step, we should take that into consideration and model the thresholds based on that.


Defend against upcoming libmambapy v2

Checklist

[X] Used a static YAML file for the patch if possible (instructions).
[ ] Only wrote code directly into generate_patch_json.py if absolutely necessary.
[ ] Ran pre-commit run -a and ensured all files pass the linting checks.
[ ] Ran python show_diff.py and posted the output as part of the PR.
[X] Modifications won't affect packages built in the future.

xref https://github.com/conda/conda-libmamba-solver/pull/492

Ok the diff looks good now:
noarch
noarch::conda-libmamba-solver-22.6.0-pyhd8ed1ab_0.tar.bz2
noarch::conda-libmamba-solver-22.8.1-pyhd8ed1ab_0.tar.bz2
-    "libmambapy >=0.23",
+    "libmambapy >=0.23,<2.0a0",
noarch::conda-libmamba-solver-23.1.0-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-22.12.0-pyhd8ed1ab_0.conda
-    "libmambapy >=1.0.0",
+    "libmambapy >=1.0.0,<2.0.0a0",
noarch::conda-libmamba-solver-23.11.0-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.11.1-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.12.0-pyhd8ed1ab_0.conda
-    "libmambapy >=1.5.3",
+    "libmambapy >=1.5.3,<2.0.0a0",
noarch::conda-libmamba-solver-23.3.0-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.7.0-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.5.0-pyhd8ed1ab_0.conda
-    "libmambapy >=1.4.1",
+    "libmambapy >=1.4.1,<2.0.0a0",
noarch::conda-libmamba-solver-23.9.0-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.9.1-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.9.2-pyhd8ed1ab_0.conda
noarch::conda-libmamba-solver-23.9.3-pyhd8ed1ab_0.conda
-    "libmambapy >=1.5.1",
+    "libmambapy >=1.5.1,<2.0.0a0",

The CI failed due to a network issue for a different subdir, so I'll just merge now.


Correcting T-SQL

Correcting the T-SQL for creating database users and adding to rols

Hi @sahaj08, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (sahajs). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@JennieHubbard
Please review and approve, thanks.

#sign-off


Explicit nil receiver or doc update.

I want to revive https://github.com/golang/go/issues/30294
Currently, developers create methods that require pointer receivers to be initialized (not-nil). However, other developers use the perk of golang compiling and working anyway when they don't use any of the properties or methods of the receiver to effectively create a method that works and is expected to be called when a pointer receiver is nil.
We really do need some solution to create either some sort of explicit nil receiver type that way we can inherently depend that methods called with a pointer receiver are not nil and can even de-reference without a nil check if need be (e.g. in return of a non-pointer of that type).
Otherwise, the following go doc should be amended:
Method on values or pointers

Next is consistency. If some of the methods of the type must have pointer receivers, the rest should too, so the method set is consistent regardless of how the type is used. See the section on method sets for details.

This recommendation has led to warnings within large IDEs like JetBrains' GoLand when making different methods on the same type where some use value receivers and others use pointer receivers.
Why does this matter?
Because due to the unwritten rules and in-explicit nature of whether pointer receivers should or should not be expected to be nil or not nill when the method is called; I've recommended that:

When a method expects the receiver to be nil, use a value receiver.
When a method expects the receiver to not-nil, use a pointer receiver.

This eliminates a lot of confusion, doesn't require the language to make any changes, and lets us continue to develop our own internal best practices for dealing with certain uncertainties within the language. However, as previously mentioned, this go-doc has led IDEs to create warnings for this best practice. And whilst we could simply disable the warning for every project that uses this project, we think this represents a bigger issue and seek a more official solution.

It sounds like an issue with an overly strict IDE / linter config.
Methods with differing receiver types are valid,
there's a reason why it hasn't been a vet check or compiler error.
Changing the faq doesn't change the reality of differing method sets, and seems unlikely to affect the decision of IDE / linter authors.
See also #30177 for explicit nilable types.

If this is so then can we update the docs?

Next is consistency. If some of the methods of the type must have pointer receivers, the rest should too...

As this is a case where the rest should not?

@seankhliao
If this is so then can we update the docs?

Next is consistency. If some of the methods of the type must have pointer receivers, the rest should too...

As this is a case where the rest should not?


doc: add ReleaseHOWTO document

Hi @bk201, @guangbochen,
I add the document for release howto. Please help to review it.
Thanks!


Track id label fixes

Description
See #1134
Reference issue
Fixes #1134

Thanks for your comments, @at-wat!
I believe I've addressed all of your change requests.
Copying my comment from one of the code comment threads I'm about to mark as resolved:

I'm just not sure if there are any guarantees that a=msid section will always come before a=ssrc. If there are no guarantees, then we might have to keep a reference to last trackDetails, and update it when the a=msid section for the same track comes after a=ssrc.

Sorry for the slow review everyone :( honestly I am not sure either! I will dig now, but IMO it adds tests (and doesn't break any existing ones) so it is a merge from me!

IMO we really need to make the Pion media API match the browser. A lot of this confusion comes from the fact that we can't run our WASM tests against the media API.
A lot of bike shedding happened around DataChannels before the WASM stuff, and it all went away.

@at-wat & @Sean-Der  thanks so much for your help! I'm going to merge this and then I can push a fix if we realize that a=msid sometimes comes after a=ssrc.


feat:[CDS-92733]: Multiple runtime support for AWS Serverless and SAM

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

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

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a285aebc7eee73eb8874dc--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a730d976df8dfc2e5a25cc--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a73e47fa7205010d6553ca--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a73ed9225082fed4ad52e8--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a7724526091a19ced9e836--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a8cd22d1982200a1414803--harness-developer.netlify.app


Separate the emote options

Some channels using pajbot may not be affiliate/partner. It would be nice to be able to individually toggle each of the emotes commands.

The subemotes command even has a special case for when no emotes are available. Is that not good enough for you?

https://github.com/pajbot/pajbot/blob/37da06f4f18237486513e86eb2efcb80d5755bf4/pajbot/modules/basic/emotes.py#L70


fix replication operation table engine

Which problem is this PR solving?
The table engine of operation is wrong and the query is very slow.
Short description of the changes

Update the table engine of replication to be the same as the local table engine.

Nice catch! Given that the local version was already using SummingMergeTree, it's odd that this wasn't.

I've released this as 0.10.0. Thanks again!


[bugfix] escape whitespace for filepath. Use nodejs path to make path

There's a problem for parsing ipa file of which scheme has whitespace in it.
When the scheme name has whitespace, generated .ipa file has white-spaced .app file in it.
Because of this, several failure can occur on this library. So I escaped path before use, but when I try to escape spaces right before plist.readFileSync, it throws me an error. (I think it is because it escapes filename internally).
Other than reading plist, path are used for concatenating command forked by exec, so I think it will be fine in most cases. Consider this PR, and please fix this bug. Thanks.

Same Issue here.
Hope for Merge of this fix soon.


resize from (3328,1032) to (3752,1080) is slower than opencv4.5.1

Hi,
cv::resize is much faster than simd::resize. Is there any problem?
OS: Win10 Pro (1909)
CPU: i7-10700
RAM: 32G

method
cost(s)

cv::resize
0.003689

simd::resize
0.009789

Hi!
I think that main reason of this behavior is that Simd::Resize works at single thread but cv::resize uses multithreading.

Hi!
I think that main reason of this behavior is that Simd::Resize works at single thread but cv::resize uses multithreading.
P.S.
OpenCV is developed to achieve maximal performance at work station and maximal uses multithreading to minimize function execution time for single user. I developed Simd to work in server environment: it works mainly in single thread and avoids internal algorithm multithreading in order to achieve maximal utilization of CPU resources at multithread using.

Thanks for your explanation.


Not showing in settings

I've followed instructions and cloned into my idnoplugins folder. I'm able to see and enable the plugin under Site Configuration/Plugins, but Wordpress doesn't appear as an option under Account Settings. I've successfully installed several other plugins using the same technique, so I think I've configured it correctly, but it's not working

Hmm, been a long time since I've looked at this plugin. Wondering if there were some breaking changes to the Known codebase. I'll see if I can find out.

Hey, I appreciate the reply, but if it's essentially no longer supported,
seriously don't waste any time on it. There's a very real chance that it's
me failing to configure my known install properly in the first place!
On Fri, 1 Apr 2016, 16:00 Tim Owens<EMAIL_ADDRESS>wrote:

Hmm, been a long time since I've looked at this plugin. Wondering if there
were some breaking changes to the Known codebase. I'll see if I can find
out.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/timmmmyboy/WordPress/issues/6#issuecomment-204429623

...As evidenced by the fact I just deleted and then reinstalled the plugin and it appears to be working now. Sorry to have bothered you.

Well I'm certainly glad to hear this thing still has some life in it! Glad to hear it's working :)


Upgrade Dotnet SDK to v8

Upgraded Dotnet SDK to v8 and Updated NuGet Packages for Panzerfaust #395

Please update the README


What role does warmup.pth play and why is this model loaded during training

What role does warmup.pth play and why is this model loaded during training

That is a warm-up strategy, as illustrated in the training section of our paper. We first train an initialized transformer backbone for about ten epochs (warm-up.pth, only use bounding boxes ) and then add other modalities for the rest training process. Warm-up and training are conducted on the same datasets, the only difference is the input modalities.
We find warm-up can be very useful for training a transformer on a small dataset. If you directly train different modalities together, the training loss decreases slowly, the model may even collapse.

That is a warm-up strategy, as illustrated in the training section of our paper. We first train an initialized single transformer backbone (without cross attention or optical flow stream) for about 10 epochs (warm-up.pth, only use bounding boxes ) and then add other modalities and model components for the rest training process. Warm-up and training are conducted on the same datasets, the only differences are input modalities and model structure.
We find warm-up can be very useful for training a transformer on a small dataset. If you directly train different modalities together, the training loss decreases slowly, the model may even collapse.

Thank you for your reply. I understand. Thank you again
Thank you for your reply. I understand. Thank you again
同学
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "ericyinyzy/MTN_trajectory"                                                                                @.>;
发送时间: 2022年10月25日(星期二) 上午9:55
@.>;
<EMAIL_ADDRESS>主题: Re: [ericyinyzy/MTN_trajectory] What role does warmup.pth play and why is this model loaded during training (Issue #4)
That is a warm-up strategy, as illustrated in the training section of our paper. We first train an initialized single transformer backbone (without cross attention or optical flow stream) for about 10 epochs (warm-up.pth, only use bounding boxes ) and then add other modalities and model components for the rest training process. Warm-up and training are conducted on the same datasets, the only differences are input modalities and model structure.
We find warm-up can be very useful for training a transformer on a small dataset. If you directly train different modalities together, the training loss decreases slowly, the model may even collapse.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Potential security issue

Hey there!
I belong to an open source security research community, and a member (@ranjit-git) has found an issue, but doesn’t know the best way to disclose it.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper)

A simple SECURITY.md file has been created. Thank you.


Better color inference

Is your feature request related to a problem? Please describe.
Better colors (currently picks overly white or black colors)
Describe the solution you'd like
I recently made an app that used auto color picking from image as well.
A simple sort like (1-Math.abs(0.5 - c.luminance())) * ((a.length - i)/a.length)  (c is the color from chroma, which is used here as well, i is index and a is array of colors) gives much better results.
To explain, colorthief sorts the colors by most dominant to least dominant. However, covers often have large areas of black or white, which results in 'boring' colors set. Most colorful results are around 50% luminance (hence why the score here). Node vibrant uses this as well, but it ignores how common the color is (or maybe it does, but overly "boosts" vibrant colors), so this compensates for that by giving lower "score" to less common results.
The current algorithm seems to use colorthief and simply selects the first color that has luminance higher than 5% and lower than 90%, or uses the first color of no colors match the filter. My proposed solution should yield better or at least the same results.
Additional context
Node vibrant kind of solves this as well, but as specified in other issues, it sometimes picks colors that aren't that common.

Because of spicetify/spotify bug, it's hard to open DevTools right now, and I don't have time to correctly and thoroughly test the algorithm in dribbblish directly, hence why I didn't make this a PR instead.

Because of spicetify/spotify bug, it's hard to open DevTools right now

https://github.com/spicetify/spicetify-cli/issues/1518#issuecomment-1106851885

Because of spicetify/spotify bug, it's hard to open DevTools right now

spicetify/spicetify-cli#1518 (comment)

on macOS/Linux use https://github.com/spicetify/spicetify-cli/issues/1518#issuecomment-1060122063

That didn't work for me. Using the logout and restarting spotify works, but is cumbersome and I have other things to do.


Block rewards for validators are incorrect

In production we reached block 288 which includes the Coinbase transaction for fees and rewards for blocks 1 to 144.
The total rewards should be 1,330,560 coins. With 864,000 coins for Commons Budget and 466,560 coins for Validators (assuming no penalties). In block 288 the Coinbase transaction looks ok for the Commons Budget payout but the validators payouts are too small by a factor of about 10.

Mistakes were made copying validator values into the spreadsheet.
There is still a bug to fix as coins are still lost, but here is the updated values from block 288.

The block interval was incorrectly assumed to be 600 seconds for the Commons Budget payouts. Therefore in Production testing where we have 1 minute blocks the payouts are incorrect.

Now in block 288 in Production test with fix there is no loss of rewards. The 66.5762223 in red is the fees that were paid for the first 144 blocks.


Sync Up BaseHelmChartTest with Master

Sync up changes in BaseHelmChartTest.java from master->gh-pages to improve test stability.

https://github.com/oracle/coherence-operator/pull/197


task: Add drone build for backupstore

We don't have drone build for PR and releases in the longhorn/backupstore currently.

Done


SID claim in getting changed when authenticated with SSO

Describe the issue:
sid claim in the id token is always returns with a new value when user is getting authenticated with SSO using the same session. This happens after the introduction of JARM feature [1]
How to reproduce:

Create two service providers (application A and application B) with authorization code grant
Login into the application A using authorization code
Get the id token
Login into the application B with SSO
Get the id token
Two id tokens will contain two different sid claims
If a new authorize request is sent to the service provider of application A and get a new id token with same session, it will also contain a new sid claim value

Expected behavior:
Id token should contain the same sid value since the user is authenticated with same session.
Environment information:

Product Version: IS 6.1.0

[1] - https://github.com/wso2/product-is/issues/15527

This is fixed in master.


Invoke .html(), if present, from _escape

Allowing custom escaping of objects that "know what they're doing", so instead of {{! myobj.htmlify() }}, it's {{ myobj }}.
Thoughts?

I believe this is the code needed to enable this in your own application:
import bottle

def stpl_escape(x):
	html = getattr(x, '__html__', None)
	if html:
		return bottle.touni(html())
	else:
		return bottle.html_escape(x)

bottle.SimpleTemplate.settings['escape_func'] = stpl_escape


dont test reloading meshNetworks in xds_test

Testing xds using mesh networks handlers is still somewhat flaky. This reverts to setting up a new discovery server per meshNetworks config
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[X] Does not have any changes that may affect Istio users.

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-operator-controller-tests_istio
a46e4f6adc4fd8691c3ccf8d73a8a0024a7fcd80
link
/test integ-operator-controller-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


❌ if DCO check fails up

Basically, the DCO checks keep an eye on whether the commit is being signed off or not if not it gets failed up
How to pass those checks by simply signing of the Commit by using -s flag while committing
for eg : git commit -s -m "message"
Links to help :
https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
https://docs.pi-hole.net/guides/github/how-to-signoff/

Kindly assign this issue to me.


Alibaba/ali ecs sd fix 20200506

fix queryFromListTagResources bug when ECS with labels.

Can you explain what you're trying to do with this PR?
Note that it's not practical to have an ECS SD last we looked, the API quota limits are too low.

We have looked at this in the bug scrub and decided to close it based on the above comment. Thanks!


added option to use SMALL custom F5-TTS Model for infer_gradio

Allow to use "small" model from infer_gradio (only F5-TTS small, not E2-TTS small).

@mame82 hi, thanks there is also #534
we are kind of busy these days, but will definitely add these features.
will probably not do like that, but with the config files as you can see here, which will allow more flexible usage
and will see if could also make the tokenizer func customizable to allow more flexible design

Saw #534 before (also the quote mentioning the config files). Actually used the F5-TTS_small hydra file as basis for a customized version, there was just no easy way to use the resulting model (yet).
Considering the configs: The template files use date and time in the ckpt folder path, which prevented me from continuing a stopped training (model_last was ignored, if training is restarted, unless config is adjusted to use the same "save_dir" on each run). Maybe this could be fixed to.
I hope the idea you announced goes into the direction of packing vocab and training config into the checkpoint files, which would make finetuning and inference way easier for less experienced users.

the template files use date and time in the ckpt folder path, which prevented ...

many thanks for reporting this! will just fix

packing vocab and training config into the checkpoint files

not sure if work with weight_only option when loading (it's recommended by pytorch, and will probably as default in future torch updates), and also .safetensors
that's why vocab.txt is separated (common practice as previous other projects)

there was just no easy way to use the resulting model (yet).

the way you done is great, we will just update the way we mentioned to enable custom config asap

Thanks for the quick fix.
Another thing you should consider when relying on config files is to allow override of the batch_per_gpu value from the command line. If others - like me - train on "GPU on demand" services and split the same training/finetuning across multiple runs on different resources, especially available VRAM could vary greatly. This again means that batch size has to be adjusted "per run" depending on available resources (same for precision f32/bf16/fp16, which could be overwritten with accelerate already)

@mame82 two possible way:

make duplicate yaml files while having different batch_per_gpu there
you can just overwrite the hydra config: https://hydra.cc/docs/tutorials/basic/your_first_app/config_file/
e.g. accelerate launch src/f5_tts/train/train.py --config-name F5TTS_Small_train.yaml ++datasets.batch_size_per_gpu=19200

@SWivid What is this F5 TTS small ? Is it a pruned version of the F5 TTS base ? Where can I download the model ?

@mame82 two possible way:

make duplicate yaml files while having different batch_per_gpu there, and load with --config-name <different yaml>
you can just overwrite the hydra config: https://hydra.cc/docs/tutorials/basic/your_first_app/config_file/
e.g. accelerate launch src/f5_tts/train/train.py --config-name F5TTS_Small_train.yaml ++datasets.batch_size_per_gpu=19200

Wasn't aware of the hydra ++ overwrite. Not tested yet, but it is worth mentioning in the train/README.md.
Thx for the additional advise.
Btw. running small model training from scratch with 400h German (mix of Emilia+CommonVoice, retranscribed with FasterWhisper ... unfortunately not CrisperWhisper). Batch size 20k on 2x4090. First audible speech after 305k steps. LR was at 7.5e-5 but is dropping too fast, I guess (scheduler was set up with 150 epochs only).
Is there already code to split dataset into train+eval and do automatic eval during training (beside manual evaluation of tests samples stored with the ckpts)?

Side note on hydra parameter overwrite. I moved training from 2x4090 (20k samples per gpu) to a A100 80GB. While parameter overwrite works as you suggested, I also have to increase max_samples in order to fill the available VRAM (bf16 with AdamW8bit).
I used accelerate launch  --mixed_precision=bf16 src/f5_tts/train/train.py --config-name F5TTS_Small_train_german.yaml ++datasets.batch_size_per_gpu=80000 ++datasets.max_samples=96.
Not sure whats the impact of 4x higher frame coverage per update is (training is going on with same LR as before - as it is already scheduled in the model, while samples per update have doubled from 2x20k to 1x80k).

Wasn't aware of the hydra ++ overwrite. Not tested yet, but it is worth mentioning in the train/README.md.

thanks for advice, will add this

LR was at 7.5e-5 but is dropping too fast, I guess (scheduler was set up with 150 epochs only).

yes, the script under /scripts dir can be used to make simple calcul for proper epoch num, or just set a large enough one is fine
you can manually prune the ckpt to reset the scheduler (to clean up the .pt 👈 actually a dict after load, only leave the model weight and rerun the training)

Is there already code to split dataset into train+eval and do automatic eval during training (beside manual evaluation of tests samples stored with the ckpts)?

not yet, subjective evaluation fine for us. if want objective eval, you can just eval the wer/sim/utmos directly on train set, the loss is not that straightfoward (cuz edge of ground truth and predicted is not that strictly matched)

Not sure whats the impact of 4x higher frame coverage per update ...

at least not negative impact i thought, lol

@SWivid What is this F5 TTS small ? Is it a pruned version of the F5 TTS base ? Where can I download the model ?

@x4080 small model is the model size, fewer layers etc., check the configs/ dir

at least not negative impact i thought, lol

Okay, in this case I don't why you reduced max samples from 64 to 32 with small models? Doing so would cap VRAM usage to way less than the available 40GB (at least with AdamW 8 bit and fp16). Maybe that is caused by my dataset, where I stripped out samples >15s. You used standard Emilia with no length limit in your training?!. If I understand correctly in theory, samples up to 30s should be usable for training (as parts are masked out), but for inference the reference samples should be way shorter iot provide room for the generated audio ... did I get this right?

@mame82 the max_sample can go with batch, e.g. 32 with 19200 (it is mainly for not having too much extremely short samples in one batch)

I assume I have to strip the model to EMA iot get rid of optim state and set the LR back to 7.5e-5 again?

thought reset the optim state, set a large enough epoch and resume is fine

@SWivid What is this F5 TTS small ? Is it a pruned version of the F5 TTS base ? Where can I download the model ?

@x4080 small model is the model size, fewer layers etc., check the configs/ dir

Thanks @SWivid

Hi @mame82 , feel free to check the latest version~
will close here

Hi @mame82 , feel free to check the latest version~ will close here

Nice. Thx.
Infer-gradio: Works as intenteded. tested with small model and base model. Two cosmetic remarks:

It would be nice to have a "small" model config ready in the "config" field (as it is a dropdown field already) as second selection {"dim": 768, "depth": 18, "heads": 12, "ff_mult": 2 ...
(unrelated) If the "text to generate" input is not filled, no error message is reflected back to the gradio interface, maybe default generation text like "put your text here" should be prefilled to avoid errors due to missing gen_text argument (just cosmetic).

infer_cli: not tested
gradient checkpointing: not fully tested, but old config files (without model.arch.checkpoint_activations attribute) still work flawlessly ... great

Remark:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\mame82\AppData\Local\Temp\jieba.cache
Loading model cost 0.369 seconds.
Prefix dict has been built successfully.
Word segmentation module jieba initialized.

gets printed for each worker process now. I am pretty sure it was not like this before, but can't make out the code change this is related to.

Update on gradient checkpointing: For my testcase with bf16, AdamW8bit and batch_size of 6400 frames, VRAM usage goes down from ~8GB to 3.2GB, while update rate drops from ~2.4steps/s to 1.8steps/s.
With same hardware and gradient checkpointing:
10000 batches per GPU; update rate ~1.6steps/s; 3.8GB VRAM usage (~13000 processed frames per second)
20000 batches per GPU; update rate still ~1.6steps/s; 5.0GB VRAM usage (~26000 processed frames per second)
Wow, what a great update for mobile RTX 4000 GPUs, which have a bit of compute power, but lack VRAM.
Thank you so much folks, cheers

Without gradient checkpointing (RTX 4070 Laptop)

With gradient checkpointing (~4 times higher batch sizes, while steps per second is reduced to roughly 70%):

Seems jieba gets re-initialized for each data worker now.
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\mame82\AppData\Local\Temp\jieba.cache
Loading model cost 0.369 seconds.
Prefix dict has been built successfully.
Word segmentation module jieba initialized.

Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\mame82\AppData\Local\Temp\jieba.cache
Loading model cost 0.364 seconds.
Prefix dict has been built successfully.
Word segmentation module jieba initialized.

... and so on ...

Can't find the code change causing this, but I am pretty sure it wasn't doing this in older commits

thanks for the practical advices, added~

Seems jieba gets re-initialized for each data worker now.
...
Can't find the code change causing this, but I am pretty sure it wasn't doing this in older commits

Hi @mame82 it's here, 6a3659dbf8332a08819e249755517377b52d0bc1
https://github.com/SWivid/F5-TTS/blob/84978268f0db498bea97a6cb8cb2898da1a7c078/src/f5_tts/model/utils.py#L136-L137
will init jieba at first place
the previous version will init when call jieba.cut(text) (not sure if each worker will do init separately the same way)

Sure, also did some testing with Gradient Checkpointing but had to delete my comments. Was initially overwhelmed by the performance boost ... that was before noticed that tqdm output switched from steps/s to s/step.
Anyways for a RTX 4070 laptop the reduced memory consumption with Gradient Checkpointing allows to increase batches per GPU per some orders of magnitude, but computed steps/updates per second goes down in a "bigger" ratio.
Example:
6000 batches per GPU, ~2.5 udates/second w/o checkpointing (~15000 frames per second)
20000 batches per GPU (only possible w/ Checkpointing), update rate drops to ~1.6s per step (~12500 frames per second)
Not sure on the benefits of increased batch size (loss curve looks less "jumpy") and plenty of VRAM usage left for other tasks (even on a 8GB GPU).
With Gradient Accumulation of 3 steps and 5800 batches, update rate for a single step is ~2.6 steps/s (~15k frames per second) ... a bit faster compared to Gradient checkpointing, but more VRAM consumption (Gradient steps)
So I am not sure, what to choose for best training strategy. At least for fine tuning I had good results with small batch sizes (no checkpointing, no Accumulation), unless BNB isn't used ... because batch sizes of 1000 (as initially suggested for 8GB VRAM) would limit maximum sequence length of Audios in a badge to less than 11seconds per sample.
Leaving this comment here (less visible), but it would be nice to get more info on "best practice" from you ... lot if "trial and error" otherwise.
Thx for your patience and efforts in community communication 🙏

checkpointing will recompute intermediate activation when back propagate gradient (while we commonly just save these in memory when forward, that is the reason why lots gpu mem saved, and thus surely slow down, ~<2x times to train if switch the checkpointing on cuz recompute)
mainly checkpointing is for the case that the model size is extra large to device mem, and you could just barely squash the model weight itself, but no extra mem for data batch activation states.
so if gpu utilization ratio is full, just use gradient accumulation to adjust effective batch size is fine (e.g. if grad_accum=4, the saved ckpt at 4000 steps is effectively 1000 updates, thus equals to 1000 step ckpt with grad_accum=1)

Thx. I wasn't precise with my question. Let's leave checkpointing aside. What's the benefit of a larger effective badge size.
With batch size 1000, no accumulation and 1000steps, the model receives 1000 updates (with 1M frames).
With batch size 1000, 4 Accumulation steps, and 1000 steps, the model receives only 250 updates but 4k frames per update (still 1M frames regarded).
So what is the benefit of a larger effective badge size? More stable training in the same time? Avoid local minimums? I mean according to your paper, you just maxed out available VRAM with chosen batch size (8x 80GB). Sorry for asking kind of beginner questions, I guess it's about maximum diversity for a single weight update (thus large effective batch) ... but what is the "sweet spot" to target ?

Asked an LLM. Answer was "optimal effective batch size = sqrt(N)" where N is number of samples.
So for 100h data --> 100 * 3600 * 24000 / 256 = 33.750.000 frames per epoch --> sqrt(33.750.000) = ~5800 frames per update (aka effective batch size).
Likely that's why I had good results with batch sizes ~6000 with small datsets (less than 1000h audio), although the LR remained pretty huge if put into relation to the batch size reduction (batch size ratio compared to yours is 307200:6000, in theory same ratio should be applied to LR).

@mame82 yes, thought you just got it right way (small dataset with small batchsize and small learning rate, and sqrt ratio or linear ratio; but sometimes reversely counterintuitively)
basically it's like for scaling law? i'm also newbee and lack experiences to this
here is a blog but it's in chinese https://kexue.fm/archives/10542
maybe those papers mentioned in it could help, or a basic understanding is fine for us lol (otherwise would be very computation resource demanding to come up with an empirical results and it's after that with an ok scaling law)


rebrand nf-validation to nf-schema

This PR changes all nf-validation mentions to nf-schema (with exception of the changelog)

@awgymer can you also approve this since you requested changes?

Okay I'll merge this now, we can still open another PR if more small issues are found/resolved


[dv/otp] Change the order of cfg files

Looks like the order of the CFG coverage configureation files affect the coverage results.
The customized otp_ctrl_cover.cfg needs to be at the end.

Assuming you are overruling common_cov_exclusion?

Yeah. So I override the common_cov_exclusion by appending one more exclusion for otp_ctrl only.
The current order is otp_ctrl_cover.cfg+cover.cfg+common_cov_excl.cfg --> This somehow does not apply the otp_ctrl_cover.cfg.
But I tried changing the order to cover.cfg+common_cov_excl.cfg+otp_ctrl_cover.cfg and it worked ..lol


TASK: Remove property converter workaround with bugfix merged

https://github.com/sitegeist/Sitegeist.Archaeopteryx/blob/9322b9cb8e4824bcaf7aaa247c23b1244a2f1167/Classes/LinkToArrayForNeosUiConverter.php#L12C16-L12C78 will be obsolete with https://github.com/neos/neos-development-collection/pull/4638 merged and released.

Release with Neos 8.3.10


Feat/ml time series

This PR is in response to #247. A jupyter notebook was added to the time series model_example.
Changes

Hamilton - Time Series model.ipynb: created
model_pipeline: fixed warning
requirements.txt: added dependency
kaggle_submission_df.dot.png: updated

How I tested this
Run both run.py and the notebook successfully.
Notes
For demonstration purposes, the data used to train the model in the notebook was reduced.
Checklist

[x] PR has an informative and human-readable title (this will be pulled into the release notes)
[x] Changes are limited to a single goal (no scope creep)
[x] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

@flaviassantos is this ready for a review? It looks good to me so far!

@skrawcz , yes you can review it :)


Question about PingConnectionInterval and KeepAlive

Redisson: 3.12.1
Java: 1.8
In production we saw below error few times. As per some closed issues if we set pingConnectionInterval, will the excess idle connections be closed after idleConnectionTimeout ?
And also enabling KeepAlive solved the issue for any?
org.redisson.client.WriteRedisConnectionException: Unable to write command into connection! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=1, freeSubscribeConnectionsCounter=value:50:queue:0, freeConnectionsAmount=0, freeConnectionsCounter=value:230:queue:0, freezed=false, freezeReason=null, client=[addr=redis://<removed>:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@1929783894 [redisClient=[addr=redis://<removed>:6379], channel=[id: 0x3a9bcda0, L:/<<removed>>:6379], currentCommand=CommandData [promise=RedissonPromise [promise=ImmediateEventExecutor$ImmediatePromise@63c1de5f(success)], command=(BLPOP), params=[userqueue2, 60], codec=org.redisson.client.codec.StringCodec]], command: (BLPOP), params: [userqueue2, 60] after 3 retry attempts
    at org.redisson.command.RedisExecutor.checkWriteFuture(RedisExecutor.java:280)
    at org.redisson.command.RedisExecutor.access$100(RedisExecutor.java:60)
    at org.redisson.command.RedisExecutor$1.operationComplete(RedisExecutor.java:162)
    at org.redisson.command.RedisExecutor$1.operationComplete(RedisExecutor.java:159)
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
    at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
    at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
    at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
    at org.redisson.client.handler.CommandsQueue.channelInactive(CommandsQueue.java:83)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:260)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:246)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:239)

Config config = new Config();
		config.setCodec(StringCodec.INSTANCE);

		ReplicatedServersConfig replicatedServersConfig = config.useReplicatedServers()
				.setScanInterval(2000)
				.setReadMode(READ_MODE)
				.setTimeout(CacheConstants.TIMEOUT)
				.setMasterConnectionPoolSize(CacheConstants.MAX_TOTAL_CONNECTIONS)
				.setSlaveConnectionPoolSize(CacheConstants.SLAVE_MAX_TOTAL_CONNECTIONS);

As per some closed issues if we set pingConnectionInterval, will the excess idle connections be closed after idleConnectionTimeout ?

Yes, idle connections will be closed even with pingConnectionInterval setting.

And also enabling KeepAlive solved the issue for any?

It's worth to try it.

Thanks @mrniko for quick reply.

Hi @mrniko , after enabling pingConnectionInterval with 3 sec, we see below warnings in production, I think Redisson is trying submit PING command on the connection blocked by BLPOP. Is there a way to not submit the PING command on a busy connection or suppress the WARN log to be printed?
{"timestamp":"2020-03-23T19:59:14.022-0400","level":"WARN","thread":"redisson-netty-24-23","logger":"org.redisson.client.handler.CommandDecoder","message":"response has been skipped due to timeout! channel: [id: 0x63b7887b, L:/<removed>:57810 - R:<removed>/<removed>:6379], command: (PING), params: []","context":"default"}

this issue was already fixed in https://github.com/redisson/redisson/issues/1855 which version do you use in production?

Hi @mrniko, due to this PING timeout exception on busy connection, will redisson mark the respective connection as bad, and destroy it?
And also when we receive WriteRedisConnectionException even after 3 default retries, will redisson destroy the respective connection in the pool? After setting pingConnectionInterval to 3 sec, I saw this exception couple of times in production.

Closed channel is reconnected automatically.

Fixed


Remove "IKernel Status change" verbose log message

Codecov Report

Merging #11178 (deb1fc8) into main (2386c9c) will decrease coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff           @@
##            main   #11178   +/-   ##
======================================
- Coverage     63%      63%   -1%
======================================
  Files        485      485
  Lines      34118    34121    +3
  Branches    5563     5564    +1
======================================
- Hits       21653    21648    -5
- Misses     10401    10410    +9
+ Partials    2064     2063    -1

Impacted Files
Coverage Δ

src/kernels/kernel.ts
82% <ø> (-1%)
:arrow_down:

src/notebooks/outputs/tracebackFormatter.ts
93% <0%> (-7%)
:arrow_down:

src/kernels/variables/pythonVariableRequester.ts
55% <0%> (-6%)
:arrow_down:

src/kernels/jupyter/baseKernelConnectionWrapper.ts
35% <0%> (-3%)
:arrow_down:

src/kernels/helpers.ts
63% <0%> (-2%)
:arrow_down:

src/standalone/api/kernelApi.ts
72% <0%> (-2%)
:arrow_down:

src/platform/common/process/baseDaemon.node.ts
54% <0%> (-2%)
:arrow_down:

src/kernels/raw/launcher/kernelProcess.node.ts
71% <0%> (-1%)
:arrow_down:

src/kernels/common/baseJupyterSession.ts
80% <0%> (-1%)
:arrow_down:

src/platform/common/utils/localize.ts
76% <0%> (-1%)
:arrow_down:

... and 7 more


Add array_union Presto function.

Differential Revision: D33534138

Closing stale PRs. Feel free to re-open if decide to continue working on this.


Ignore is inconsistent with directory_indexes

Imagine a project with directory_indexes enabled, and the following structure:
source/
  about.html

The output file is build/about/index.html. However, if I were to want to ignore this file, I'd have to write:
ignore 'about.html'

instead of
ignore 'about/index.html'

That's kind of weird - in general I thought ignore took "output path", but in this case I've had to specify a path as if directory_indexes weren't on.
I'd like to write up a test case but I want to get this written down before I go to sleep.

Good catch, let's add some tests.
I've been wanting to refactor ignore into more a of callback system so various pieces of code can respond to it differently.


Update documents for release 3.0.0

Add --autodesktop example on README
Update patch version in examples
Add missing changes

Signed-off-by: Hiroshi Miura<EMAIL_ADDRESS>

Is https://aqtinstall.readthedocs.io/en/stable/ up to date? From the changelog entries, it looks like it has not been updated since aqt v2.1.0 was released in April.


Changes to Logo / title / subtitle #7

Description
I changed the  Logo / title / subtitle in issue #7 for Batch 6

Additional Information

[x] I have read the contributing docs (if this is your first contribution)
[x] This is not a duplicate of any existing pull request

Related Issues
Closes #{7}
Your ENS/address:0x84fF709680E9378734Bae1D3B55C6568d21671c3

Looks great! I'll leave this open for a few more days in case anyone would like to give feedback, then we can merge 🤝

I think this looks really good.
I only have one suggestion though. Can the scaffold-eth logo be added before the #6 in the image you shared. That way the #6 shows it's for scaffold-eth without having to describe it to anyone.

@derrekcolteman, thank you so much
@MayowaObisesan you mean like overlay this on the previous image?.
@kocaemre thank you for your review

Not overlay the image per se. I'm just suggesting that the scaffold-eth image is beside the #6 from the screenshot being shared.
I hope this is clearer.

oh, that.. I get it now

So, I tried to combine them together, but it does not seem to fit

That's fine @Okhayeeli . It's fine the way it is currently as well.
Let's go with what you have. 👍

Thanks for your patience, @Okhayeeli!
@carletex or @technophile-04, please merge when you have a moment.


Namespace/Project filter seems to persist between clusters

on 2.6-head commit id: a55f77f

Have two downstream clusters. In my case it was one rke1 and one rk2 cluster
As admin go to rke1 cluster or cluster1 and in the namespace filter/dropdown on the top, select Project Default
The tabs on the left get filtered.
Cluster tab will not be seen anymore.
From the left slide in panel, select cluster2 (in my case rke2) cluster
The Cluster tab will not be seen for this cluster even though the namespace/project dropdown/filter says All Namespaces

To get out of this, user has to select a namespace in cluster2 in the dropdown and unselect or select All namespaces

Confirmed this is a bug - there seems to be an issue with the namespace filter when switching between clusters

@richard-cox Can you take a quick look?

I am able to reproduce the issue with "cluster" disappearing after the rke1.

But the second part where the filter reads "All Namespaces" I am able to see the "cluster" option.

Numbered screenshots provided.

Screen shot of cluster gone in rke1 cluster:

I'm not getting the issue for the rke2 cluster. I might be missing a step.


:recycle: refactor PageWithSkillList.tsx

Closes https://github.com/Zenika/skillZ/issues/186
At the same time, I've refactored the page because they was duplicate code and useless network calls

Good catch! Should be working now

I've re requested but I just would approved this PR ooppps. It's ok for me ! It works good :100:


tmp permissions

tmp should be writeable otherwise you get problems if you deploy a development envorinment with enabled DebugKit. DebugKit isn't able to save the sqlite file without the correct permissions.

@jadb Any updates on this? Would be nice to have the tmp directory also writeable for DebugKit reasons, otherwise I need to login to the server after deploy and change the permissions manually :(

By default it sets them (and composer should too on post-install script). Do you have some custom linked_dirs defined?

Hmm... thats not really solve the problem for me. The problem is that the tmp directory gets 757 instead of 777. The permissions are correct in the shared directory. Do you have an idea. Especially 757 is strange.


Dotnet build task fails when command is specified at task level

When specifying the dotnet command at the task level, running the task fails with:

No executable found matching command "dotnet-/Users/Ben.Foster/Source/checkout-gateway/src/Gateway.Api/Gateway.Api.csproj"

VSCode Version: 1.13.0
OS Version: macOS 10.12.4

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "runner": "terminal",
    "showOutput": "always",
    "isShellCommand": true,
    "suppressTaskName": true,
    "tasks": [
        {
            "taskName": "dotnet: build",
            "command": "dotnet",
            "args": [
                "${workspaceRoot}/src/Gateway.Api/Gateway.Api.csproj"
            ],
            "showOutput": "silent",
            "problemMatcher": ["$msCompile"]
        },
        {
            "command": "${workspaceRoot}/build.sh",
            "taskName": "Cake: build",
            "args": [
                "--target",
                "__Build",
                "--configuration",
                "Debug"
            ],
            "isBuildCommand": true
        },
        {
            "command": "${workspaceRoot}/build.sh",
            "taskName": "Cake: test",
            "args": [
                "--target",
                "__Test",
                "--configuration",
                "Debug"
            ],
            "isTestCommand": true
        }
    ]
}

Same happens with the old output runner.

OK. The problem is that to build a dotnet project the correct command line is dotnet build 'project to build.csproj'. So the task for the dotnet build need s to look like this:
{
            "taskName": "dotnet: build",
            "command": "dotnet",
            "args": [
                "build",
                "${workspaceRoot}/src/Gateway.Api/Gateway.Api.csproj"
            ],
            "showOutput": "silent",
            "problemMatcher": ["$msCompile"]
        }

The bug is not related to the 1.13 version.


Refactor Session Token to be more extendable

Add Individual Contracts for Device, Root, Platform and Distributor
Add Event listeners for Changes to token wherever applicable

Changes for Add event listeners will be supported as part of https://github.com/rdkcentral/Ripple/issues/190


[hotfix][build] Release branch should use SNAPSHOT version

Purpose of the change
hotfix: fix version in release branch
Verifying this change
Please make sure both new and modified tests in this PR follows the conventions defined in our code quality
guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
(Please pick either of the following options)
This change is already covered by existing tests, such as (please describe tests).
(yes)
Significant changes
(Please check any boxes [x] if the answer is "yes". You can first publish the PR and check them afterwards, for
convenience.)

[ ] Dependencies have been added or upgraded
[ ] Public API has been changed (Public API is any class annotated with @Public(Evolving))
[ ] Serializers have been changed
[ ] New feature has been introduced

If yes, how is this documented? (not applicable / docs / JavaDocs / not documented)

CI passed, merging...


compress annotated vcf files

It would be a nice feature if the annotation module would output compressed vcf files.

It's now on my TO-DO list


Push notifications do not show on lock screen

Synopsis
My test devices receive push notifications when the app is in the background (they vibrate), however, the operating system does not show a notification on the lock screen or in the notification center.
Environment

Nexus 5
Android 6
Titanium 3.5.0.GA

Code
Mobile
require('it.caffeina.gcm').registerForPushNotifications({
    senderId: 'MY-GCM-SENDER-ID',
    callback: function () {
        // code to handle incoming notifications goes here
    },
    success: function (e) {
        // registration success code goes here
    },
    error: function () {
        Ti.UI
            .createAlertDialog({
                message: 'Error retrieving device token.'
            })
            .show();
    }
});

Server
$json = '{
  "registration_ids": ["MY-DEVICE-ID"],
  "data": {
    "data":{
      "alert":"ALERT",
      "title": "My awesome app",
      "sound": "default",
      "vibrate": true
    }
  }
}';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: key=MY-API-KEY', 'Content-Type: application/json' ]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
echo curl_exec($ch);
curl_close($ch);

Hi, welcome back :)
Can you post a result of your adb logcat | grep gcm (removing sensible informations if needed) while you subscribe to your server and when you send the push from your server?

@kopiro sure thing!
11-16 10:58:54.087   776  2312 I ActivityManager: Start proc 2931:com.drund.team/u0a93 for broadcast com.drund.team/it.caffeina.gcm.GCMBroadcastReceiver
11-16 10:58:54.509   776  1288 I ActivityManager: Start proc 2955:com.drund.mobile/u0a94 for broadcast com.drund.mobile/it.caffeina.gcm.GCMBroadcastReceiver
11-16 10:59:40.977  4491  4491 V GCMRegistrar: Setting the name of retry receiver class to it.caffeina.gcm.GCMBroadcastReceiver
11-16 10:59:40.978  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 10:59:41.009  4491  4607 D it.caffeina.gcm.CaffeinaGCMModule: (IntentService[GCMIntentService--1]) [395,8891] No notification in Intent
11-16 11:00:00.086  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:00:00.095  4491  4695 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [18662,27977] Push notification received
11-16 11:00:00.095  4491  4695 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [0,27977] No data found in the payload
11-16 11:01:41.437  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:01:41.442  4491  5014 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--3]) [101347,129324] Push notification received
11-16 11:01:41.442  4491  5014 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--3]) [0,129324] No data found in the payload
11-16 11:05:40.772  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:05:40.781  4491  5463 D it.caffeina.gcm.CaffeinaGCMModule: (IntentService[GCMIntentService--4]) [155,368663] No notification in Intent
11-16 11:06:10.665  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:06:10.671  4491  5595 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--5]) [29544,398553] Push notification received
11-16 11:06:10.672  4491  5595 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--5]) [1,398554] No data found in the payload
11-16 11:27:42.192  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:27:42.216  4491  6055 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--6]) [1291544,1690098] Push notification received
11-16 11:27:42.262  4491  6055 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--6]) [46,1690144] drawable.notificationicon not found; make sure it's in platform/android/res/drawable
11-16 11:27:57.126  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:27:57.132  4491  6181 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--7]) [14856,1705014] Push notification received
11-16 11:32:17.734  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:32:17.743  4491  6446 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--8]) [260603,1965625] Push notification received
11-16 11:32:17.743  4491  6446 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--8]) [0,1965625] No data found in the payload
11-16 11:32:37.477  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:32:37.483  4491  6571 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--9]) [19739,1985364] Push notification received
11-16 11:32:37.483  4491  6571 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--9]) [1,1985365] No data found in the payload
11-16 11:33:27.713  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 11:33:27.718  4491  6661 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--10]) [50235,2035600] Push notification received
11-16 12:44:27.164  7127  7189 W ProcStatsManager: No process com.google.android.youtube/10080 for service com.google.android.libraries.youtube.common.gcore.gcoreclient.gcm.impl.GcmTaskServiceDelegator
11-16 12:44:27.165  7127  7189 W ProcStatsManager: No process com.drund.mobile/10094 for service it.caffeina.gcm.GCMIntentService
11-16 12:45:47.499  1204  3184 D GCM     : GcmService start Intent { act=com.google.android.gms.gcm.PACKAGE_REPLACED cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.gms.gcm.PACKAGE_REPLACED
11-16 12:46:22.354  1204  2171 D GCM     : GcmService start Intent { act=com.google.android.gms.gcm.PACKAGE_REPLACED cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.gms.gcm.PACKAGE_REPLACED
11-16 12:52:11.016  4491  4491 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-16 12:52:11.022  4491  9960 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--11]) [4723298,6758904] Push notification received

It seems it's not be able to find the data property in your JSON.
Are you using the same PHP code you provided in the sample, right ?

Yes, that is directly from the source.

I pushed a new version with a debug log enabled.
Try to compile yourself, execute and posts the same adb logcat.
git clone git@github.com:CaffeinaLab/GCM.git
cd GCM
git checkout debug
cd android
ant

Hi, I'm working with @adammagana on this. Just noting, when sending through the SNS dashboard, they have me send this data through SNS to the device:
{
"GCM": "{ \"data\": { \"message\": \"Testing\" } }"
}

Which under the hood, might be sending the data in your example, but I'm unsure.

Those GCM is not clear.

That's just what I'm sending to SNS, what they require...
When I use the code provided in your example (and what Adam posted above) the device vibrates, but no notifications are shown on the lock screen.
When I send this to SNS:
{
"GCM": "{\"data\": {\"data\": {\"alert\": \"testing\", \"vibrate\": true}}}"
}

an in-app notification appears (in-app notification appears from your example code too) but just no lock screen or notification center.

As mentioned above, compile the debug branch and post the log.

11-17 15:16:10.615   776  1334 I ActivityManager: Start proc 21750:com.google.android.youtube/u0a80 for service com.google.android.youtube/com.google.android.libraries.youtube.common.gcore.gcoreclient.gcm.impl.GcmTaskServiceDelegator
11-17 15:16:11.124  1204  2171 D GCM     : GcmService start Intent { act=com.google.android.gms.INITIALIZE flg=0x10 pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService } com.google.android.gms.INITIALIZE
11-17 15:16:31.249  1204  2465 D GCM     : GcmService start Intent { act=com.google.android.gms.gcm.PACKAGE_REPLACED cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.gms.gcm.PACKAGE_REPLACED
11-17 15:16:34.089  1204  2990 D GCM     : GcmService start Intent { act=com.google.android.gms.gcm.PACKAGE_FULLY_REMOVED cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.gms.gcm.PACKAGE_FULLY_REMOVED
11-17 15:18:15.895 23378 23398 E linker  : warning: unable to get realpath for the library "/data/app/com.drund.team-1/lib/arm/libit.caffeina.gcm.so". Will use given name.
11-17 15:18:15.952 23378 23378 D it.caffeina.gcm.CaffeinaGCMModule: (main) [0,945] onAppCreate com.drund.team.DrundTeamApplication@61e5756 (false)
11-17 15:18:16.345  1204  3184 D GCM     : GcmService start Intent { act=com.google.android.gms.gcm.PACKAGE_REPLACED cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.gms.gcm.PACKAGE_REPLACED
11-17 15:18:16.645  1204  2171 D GCM     : GcmService start Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.c2dm.intent.REGISTER
11-17 15:18:37.468  1204  2465 D GCM     : GcmService start Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.c2dm.intent.REGISTER
11-17 15:18:37.958 23378 23378 V GCMRegistrar: Setting the name of retry receiver class to it.caffeina.gcm.GCMBroadcastReceiver
11-17 15:18:37.958 23378 23378 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-17 15:18:38.002 23378 23658 D it.caffeina.gcm.CaffeinaGCMModule: (IntentService[GCMIntentService--1]) [586,21414] No notification in Intent
11-17 15:20:49.735 23378 23378 V GCMBroadcastReceiver: GCM IntentService class: it.caffeina.gcm.GCMIntentService
11-17 15:20:49.740 23378 24017 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [128841,153152] Push notification received
11-17 15:20:49.740 23378 24017 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [0,153152] Debug intent -> data : {"alert":"ALERT","sound":"default","vibrate":true,"title":"My awesome app"}
11-17 15:20:49.740 23378 24017 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [0,153152] Debug intent -> from :<PHONE_NUMBER>80
11-17 15:20:49.740 23378 24017 D it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [0,153152] Debug intent -> collapse_key : do_not_collapse
11-17 15:20:49.752 23378 24017 E it.caffeina.gcm.GCMIntentService: (IntentService[GCMIntentService--2]) [12,153164] drawable.notificationicon not found; make sure it's in platform/android/res/drawable

Now it's all clear :D
Did you set the drawable icon like specified in the README?
The module sets the notification tray icon taking it from /platform/android/res/drawable.
It should be flat (no gradients), white and face-on perspective. You have to generate the icon with all resolutions.
22 × 22 area in 24 × 24 (mdpi)
33 × 33 area in 36 × 36 (hdpi)
44 × 44 area in 48 × 48 (xhdpi)
66 × 66 area in 72 × 72 (xxhdpi)
88 × 88 area in 96 × 96 (xxxhdpi)

You can use this script to generate it once you put the icon in drawable-xxxhdpi/notificationicon.png
convert drawable-xxxhdpi/notificationicon.png -resize 72x72 drawable-xxhdpi/notificationicon.png
convert drawable-xxxhdpi/notificationicon.png -resize 48x48 drawable-xhdpi/notificationicon.png
convert drawable-xxxhdpi/notificationicon.png -resize 36x36 drawable-hdpi/notificationicon.png
convert drawable-xxxhdpi/notificationicon.png -resize 24x24 drawable-mdpi/notificationicon.png

If you don't set an icon, no notification is shown.

Maybe the README wasn't clear at all.
I'll edit to make more clear that you must set an icon, this is an Android requirement.

I didn't know it was a requirement but I did set it anyways WITH THE WRONG NAME -_-

Ouch! :D

Thanks for helping. I'll go back into my hole now.


VS Code Jupyter Crash Ubuntu 24.04

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.89.1
OS Version: Ubuntu 24.04 LTS

Steps to Reproduce:

Install Jupyter extension
Create new notebook file
VS Code ask to force quit.

@thiago-umbelino do you think you can share the notebook to help troubleshoot?

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

Hello Peng Lyu,
the notebook was empty, from new file menu.
Best Regards,
Thiago Umbelino
On 23 May 2024, at 11:54, Peng Lyu @.***> wrote:
@thiago-umbelinohttps://github.com/thiago-umbelino do you think you can share the notebook to help troubleshoot?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/213312#issuecomment-2127347089, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVQYS6Y5RWP54KBTZE24GLLZDX7LPAVCNFSM6AAAAABIFNXJJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRXGM2DOMBYHE.
You are receiving this because you were mentioned.Message ID: @.***>

@thiago-umbelino Apologies for not getting back sooner.
Please can you try installing the latest version of VS Code insiders and see if that makes a difference.


PoC: Schematic Jobs

Just closing this. It's part of the Architect API and will be in a separate PoC PR.


[SPARK-37932][SQL]Fix DeduplicateRelations bug when using join in dup…

What changes were proposed in this pull request?

When the join with duplicate view like
SELECT l1.idFROM v1 l1
 INNER JOIN (
   SELECT id FROM v1
   GROUP BY id  HAVING COUNT(DISTINCT name) > 1
 ) l2
 ON l1.id = l2.id
 GROUP BY l1.name, l1.id;

The error stack is:
Resolved attribute(s) name#26 missing from id#31,name#32 in operator !Aggregate [id#31], [id#31, count(distinct name#26) AS count(distinct name#26)#33L]. Attribute(s) with the same name appear in the operation: name. Please check if the right attribute(s) are used.;
Aggregate [name#26, id#25], [id#25]
+- Join Inner, (id#25 = id#31)
   :- SubqueryAlias l1
   :  +- SubqueryAlias spark_catalog.default.v1
   :     +- View (`default`.`v1`, [id#25,name#26])
   :        +- Project [cast(id#20 as int) AS id#25, cast(name#21 as string) AS name#26]
   :           +- Project [id#20, name#21]
   :              +- SubqueryAlias spark_catalog.default.t
   :                 +- Relation default.t[id#20,name#21] parquet
   +- SubqueryAlias l2
      +- Project [id#31]
         +- Filter (count(distinct name#26)#33L > cast(1 as bigint))
            +- !Aggregate [id#31], [id#31, count(distinct name#26) AS count(distinct name#26)#33L]
               +- SubqueryAlias spark_catalog.default.v1
                  +- View (`default`.`v1`, [id#31,name#32])
                     +- Project [cast(id#27 as int) AS id#31, cast(name#28 as string) AS name#32]
                        +- Project [id#27, name#28]
                           +- SubqueryAlias spark_catalog.default.t
                              +- Relation default.t[id#27,name#28] parquet

Spark will consider the two views to be duplicates, which will cause the query to fail. We can add processing for filters in DeduplicateRelations.
Optimization plan after this change：
Aggregate [name#26, id#25], [id#25]
+- Join Inner, (id#25 = id#25)
   :- SubqueryAlias l1
   :  +- SubqueryAlias spark_catalog.default.v1
   :     +- View (`default`.`v1`, [id#25,name#26])
   :        +- Project [cast(id#20 as int) AS id#25, cast(name#21 as string) AS name#26]
   :           +- Project [id#20, name#21]
   :              +- SubqueryAlias spark_catalog.default.t
   :                 +- Relation default.t[id#20,name#21] parquet
   +- SubqueryAlias l2
      +- Project [id#25]
         +- Filter (count(distinct name#26)#29L > cast(1 as bigint))
            +- !Aggregate [id#25], [id#25, count(distinct name#26) AS count(distinct name#26)#33L]
               +- SubqueryAlias spark_catalog.default.v1
                  +- View (`default`.`v1`, [id#25,name#26])
                     +- Project [cast(id#27 as int) AS id#25, cast(name#28 as string) AS name#26]
                        +- Project [id#27, name#28]
                           +- SubqueryAlias spark_catalog.default.t
                              +- Relation default.t[id#27,name#28] parquet

Why are the changes needed?

Fix bug when using join in duplicate views.
Does this PR introduce any user-facing change?

Yes. When we join with duplicate view, the query would be successful.
How was this patch tested?

Add new UT

ping @gengliangwang @MaxGekk cc @cloud-fan


OnDone confused.

I confuse with OnDone function. My code is:
export default class App extends React.Component {
  _onDone = () => {
    render() <HomeScreen />
  }

  render () {
    return (
      <AppIntroSlider
        slides={slides}
        onDone={this._onDone}
      />
    );
  }
}

Please give example. Thanks.. :)

Please take a look at #18. I'll update the README examples to make it more clear

Thank you, that works! 👍


Improve display of stdout/stderr for command

Update git-xargs to write the stdout / stderr from the command directly to the logs, as plain text, rather than using structured logging / logrus fields. The problem with using fields, as we did before, is the log output gets shoved into JSON, with all sorts of characters escaped (e.g., newlines become \n), which makes it hard to read the log output when debugging.

Thanks for the review. Merging now.

https://github.com/gruntwork-io/git-xargs/releases/tag/v0.0.7


Rework keys to remove PemReader, user BC instead

PEM reader will error in unexpected ways because it is too permissive or poorly formed objects.
While I was reworking that, it made sense to just clean up the Keys stuff

this should fix some of the fuzzing issues in: https://bugs.chromium.org/p/oss-fuzz/issues/list?q=label:Proj-sigstore-java


DNS payload crash always!!

hi guys first thanks for this great job, but i have problem with DNS payload they always crashed and stop working fix this please !!

Should be fixed in latest commit

thanks i will give it a try

the problem of dns payload still crash !!!


beforeSave not fired ?

There is something strange with the latest master of zephir.
<?php

$di = new Phalcon\DI\FactoryDefault();

$di->setShared('db', function () {
    $connection = new Phalcon\Db\Adapter\Pdo\Mysql([
        'adapter'  => 'Mysql',
        'host'     => 'localhost',
        'port'     => 3306,
        'dbname'   => 'shop',
        'username' => 'root',
        'password' => '11111',
        'charset'  => 'utf8',
        'options'  => [
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
        ]
    ]);

    return $connection;
});

$rec = new \Shop\Models\UserSuccessLogins([
    "user_id" => 9,
    "ip_address" => "<IP_ADDRESS>"
]);

$rec->setUserAgent("my lovely user agent");

if ( false === $rec->save() ){

    var_dump($rec->getMessages());
}

in this case I get
array(1) {
  [0] =>
  class Phalcon\Mvc\Model\Message#36 (5) {
    protected $_type =>
    string(10) "PresenceOf"
    protected $_message =>
    string(22) "last_login is required"
    protected $_field =>
    string(10) "last_login"
    protected $_model =>
    NULL
    protected $_code =>
    int(0)
  }
}

Even tho i am not validation anything i guess its because in my table i set that last_login must not be null. However I have a function beforeSave in my model which works in earlier checkout of the master.
UserSuccessLogins.zep
class UserSuccessLogins extends \Phalcon\Mvc\Model {

    protected id {
         get
    };
    protected user_id {
        set, get
    };
    protected ip_address {
        set,get
    };
    protected user_agent {
        set, get
    };
    protected last_login {
        set, get
    };

    public function initialize(){
        this->setSource("user_success_logins");
    }

    public function beforeSave(){

        this->setLastLogin(time());
    }
}

Am I doing it wrong, or there is just an issue there ?
ubuntu 14.04
php 7.0.4
apache 2.4
myswql 5.7
CREATE TABLE `user_success_logins` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `ip_address` char(15) COLLATE utf8_bin NOT NULL,
  `user_agent` varchar(255) COLLATE utf8_bin NOT NULL,
  `last_login` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36947337-beforesave-not-fired?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

@Izopi4a This is Phalcon issue. Could you please opene an issue in appropriate repository?

I am not sure its a phalcon issue thats why I opened it here.
if I do
cd zephir;
git checkout master
git pull origin master

and compile my shop extension i get this error.
If I do
cd zephir
git checkout 58d81e22e88a8959a8ea0bf0ec32df2958a05116

which is this https://github.com/phalcon/zephir/commit/58d81e22e88a8959a8ea0bf0ec32df2958a05116 and i compile again. Its working for. Without touching phalcon in any way.
What do you think ? is It a phlaon or zephir issue :)

seems fine with latest 3.0.x branch in Phalcon.
Guess you were right ( as usual )  @sergeyklay  :D


Change custom color font in flutter not working for spec font

Steps to Reproduce

Download the font from https://www.dafont.com/pixeloid-sans.font 2.

Copy files to /fonts of app directory

Configure pubspec.yaml :
fonts:

family: Pixeloid Sans
fonts:

asset: fonts/PixeloidSans-Bold.ttf
asset: fonts/PixeloidSans.ttf

Uses the font at text widget

Text(
'This text must be RED.',
style: Theme.of(context).textTheme.headline5!.apply(color: Colors.red, fontFamily: "Pixeloid Sans"),
)
Expected results:
Red color for the text widget
Actual results:
Font color not changed

Hi @alexnaldo, Thanks for filing the issue. I see color changing But font not getting applied. Is this the same output for you? Also what platform are you targeting? Please share the output of flutter doctor -v.

code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Offset Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
          // fontFamily: 'Pixeloid Sans'
        ),
        home: const HomePage());
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Hello World',
              style: Theme.of(context)
                  .textTheme
                  .headline5!
                  .apply(color: Colors.red, fontFamily: "Pixeloid Sans"),
            ),
            const SizedBox(height: 20),
            const Text(
              'Hello World',
              style: TextStyle(fontFamily: 'PixeloidSans', color: Colors.red),
            ),
          ],
        ),
      ),
    );
  }
}

Output is same when using copyWith constructor instead of apply

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (20 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.51

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Thanks


"SPC w S" and "SPC w V" do not work anymore

All the actions prefixed with VimWindow do not work anymore.
I fixed almost all the actions under SPC w by replacing VimWindow actions with vim keys, for example VimWindowDown was replaced with <C-w>j.
The problem is with SPC w S and SPC w V.
https://github.com/MarcoIeni/intelli-space/blob/c0e2853a9526c202fe84cb29628cac3ff5dcc2f4/spacemacs/windows.vim#L51-L57
When I replace them with the following code it doesn't work.
" Split window below and focus
nnoremap <leader>wS    :action SplitHorizontally<CR><C-w>j
vnoremap <leader>wS    <Esc>:action SplitHorizontally<CR><C-w>j

" Split window right and focus
nnoremap <leader>wV    :action SplitVertically<CR><C-w>l
vnoremap <leader>wV    <Esc>:action SplitVertically<CR><C-w>l

What about nnoremap <leader>wS    <C-w>s<C-w>j?

This is partially solved by #6 , the problem is that it does not work when you have more than two windows.
Example

you press SPC w V

The expected behavior is that the focus goes to the window in the center.
This should be related to this ideavim issue, so I close this issue, since I think we cannot solve it completely for now.
If someone has additional thoughts on this, please add a comment even if the issue is closed. Thanks.


[libvpx] Add --disable-multithread option for libvpx

Add --disable-multithread option for libvpx

@microsoft-github-policy-service agree

@Joy1024 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Can you explain why this is a feature? See https://learn.microsoft.com/vcpkg/contributing/maintainer-guide#features
In particular, it seems likely that someone might need to assert that this flag is not used, which means it can't be a feature.


Add roles entity and roles table to the DB

The roles table should have at least three columns: username, team and role, where the team column can be left blank for so called "user roles" like admin.

Fixed in : https://github.com/Hyperfoil/Horreum/pull/1304


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In db08497, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 14652 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 3b25565.


feat: config and verify squidex webhooks

Your're missing the assignment of the variable here: https://github.com/yldio/asap-hub/blob/master/serverless.js#L58

You're a genious @JT you added a function but you didn't even bother to update the tests? 😂


Depend freerdp2-dev on libfreerdp-shadow2

Since freerdp2-dev contains libfreerdp-shadow.so symlink, I think it should also depend on libfreerdp-shadow2.

Totally missed that. @xhaakon thank you.