Enhanced Session Mode Supports Autologin

Hi, just to inform you that I had problem with auto-login in Ubuntu 16.04. I used a user with auto-login enabled, so when I started the VM, it automatically logged the user in. I then tried to use the enhanced session, but when I logged in (I used session Xorg) and tried to launch Terminal application (which I pinned to panel from normal session some time before), I saw strange crashes inside VM and later the Windows host froze itself. When I disabled auto-login in /etc/lightdm/lightdm.conf, the enhanced session login went fine and I saw no crashes (I saw a send-problem dialog, but it did not influence the work - maybe some earlier crash).
Same with Ubuntu 18.04 beta 2 (Desktop installation, minimal version), where I do not know how to disable the auto-login. Maybe I will try to install it once again, but now with auto-login disabled.

Hey, thank you for the feedback. What are you expecting to happen in this scenario? The autologin is for the X11 monitor :0. Which VMConnect displays as the 'Basic Session'. When you create the enhanced session xrdp creates a new X11 Session starting (typically) at monitor :10. So this account needs to acl the user trying to connect. I'm not sure we can do much better than this. I will follow up with some people at Canonical and see if they have any ideas.

Linux usually does not have any issues with the same user logged-in into multiple X sessions. I would expect that when the user is auto-logged to the native X session, the Enhanced Session is able to log in without any issues too - having the user logged-in twice in fact (once in native X, once Enhanced Session - RDP). Enhanced Session login should be independent on what is happening in other user sessions on the Linux machine.

With Windows 1803 latest preview taken yesterday, version 17134.5, I was stuck on the xRdp logon page using session Xorg , finally corrected by following dankseman's thought above and not auto-logging in my id.  Unfortunately I could not unlock my id to stop auto-logon for some reason, so did a reinstall of 18.04.

I can confirm the problem with autologin.
I had to disable Enhanced VM Support on HyperV to be able to get back to the machine, then I edited the /etc/gdm3/custom.conf file and removed autologin (it would not allow me to do it through the account settings window from Gnome).
After that I shut the VM down, reenabled Enhanced mode for the server, and I was able to use enhanced mode with Ubuntu.
I am on Windows 10 1803 stable and Ubuntu 1804 stable.

Same here. I'd suggest modifying the installer to disable autologin

@cwilhit Why was this closed? Is it fixed?

No, auto-login will not work withe enhanced session mode. So, current recommendation is to disable auto-login. Reopening and tagging as "feature" to track req.

What about pam_xauth? It looks like it could do the trick. Execute the following:
grep pam_xauth /etc/pam.d/xrdp-sesman || echo "session optional pam_xauth.so" >>/etc/pam.d/xrdp-sesman

And... Enjoy even with autologin enabled. Tested with Ubuntu 16.04 LTS.

Have anybody tried to add the line session optional pam_xauth.so to /etc/pam.d/xrdp-sesman as described above? I would like to know if it works just for me or also others, so I could prepare a pull request to update the installation steps.

I will give it a crack but still not certain it will work reliably as
Hyper-V does not even like Windows autologging in - it seems to get in a
tizzy starting new sessions.
On Wed, 8 Aug 2018, 09:37 Oldřich Jedlička<EMAIL_ADDRESS>wrote:

Have anybody tried to add the line session optional pam_xauth.so to
/etc/pam.d/xrdp-sesman as described above? I would like to know if it
works just for me or also others, so I could prepare a pull request to
update the installation steps.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/linux-vm-tools/issues/22#issuecomment-411331306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjkSfnzBgY-aPnw2HkeZDnEKEdPOpn98ks5uOqNJgaJpZM4TLmew
.

This particular issue has nothing to do with Hyper-V, you would have the same issue on normal PC with Linux. Sharing the xauth token (from running X session) is necessary when you are already logged-in.

I think you miss my point - Hyper-V gets tangled up when you try to
autologin - nobody has ever been able to start a hyper-v session using any
OS that I am aware, without hyper-v usually throwing a fit.  It just gets
in a loop restarting new sessions BUT occasionally works - so there seems
to be a timing issue somewhere.  I will try it though.
On Wed, 8 Aug 2018, 09:50 Oldřich Jedlička<EMAIL_ADDRESS>wrote:

This particular issue has nothing to do with Hyper-V, you would have the
same issue on normal PC with Linux. Sharing the xauth token (from running X
session) is necessary when you are already logged-in.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/linux-vm-tools/issues/22#issuecomment-411334684,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjkSfilf-AnEjU10Q6cOV95_xK_AHF2Fks5uOqY6gaJpZM4TLmew
.

I understand your point, but this is Linux and it has different culprits. This is not magic, Hyper-V just tries to connect to the virtual machine via Remote Desktop connection, which is on Linux handled by started XRdp. So at the end you need to solve problem of running one X session (auto logged-in user) and another X session for the same user, but started from XRdp. When you try to play with multiple X sessions on Linux, you need to play also with xauth tokens and this is why I tried pam_xauth, which shares xauth between logins.

What about pam_xauth? It looks like it could do the trick. Execute the following under user root:
grep pam_xauth /etc/pam.d/xrdp-sesman >/dev/null || echo "session optional pam_xauth.so" >>/etc/pam.d/xrdp-sesman

And... Enjoy even with autologin enabled. Tested with Ubuntu 16.04 LTS.

Not working on Ubuntu 18.04.1 LTS as created via Quick Create. I executed that as root, restarted VM, and on login via enhanced session, same issues appears where xrdp just crashes.

I will try it this week as the time permits.

Indeed, there is something seriously broken in 18.04. The release by itself looks broken (like switching of keyboard mapping does not work without updating). Maybe the problem is caused by Wayland, but even when I disabled it, it did not help. Somebody with more knowledge on this is needed... :-( Anyway, a first-class-citizen for Ubuntu on Windows 10 as promised does not happen obviously...

@oldium Is this a fresh 18.04 VM? 18.04 uses Xorg by default

@sundhaug92 Definitely, new one - I created it in the morning and now let it run for a while without "Enhanced session" to enable pam_xauth as mentioned above. I also installed updates (they prompted after several minutes), without them the Ubuntu experience was broken (like mentioned keyboard layout switching). Auto-login enabled, pam_xauth in place, but xrdp server crashes when you try to login. Wayland was just an idea, I am not sure whether it was actually was running, but definitely with it disabled it did not make any difference.

/etc/gdm3/custom.conf

This worked for me just had to set the
AutomaticLoginEnable=false

@porkstoners That is just a workaround. Trick with passing xauth tokens should fix the issue independently on AutoLogin status.

Here's some feedback on Arch testing:

I'm in the same camp as other people who would like to bypass the session manager prompts and just autologin.
Audio can be good on some sites and quite late on other sites.  Examples: cbsnews' A/V sync is pretty good; youtube's audio is visibly and annoyingly late.
If the host goes into sleep mode, one must reconnect to the guest.  The session resumes where it left off, but audio is dead and it seems nothing can be done to revive it short of rebooting the guest.
Overall, performance is very good.

This should be listed as a Bug, not a Feature. The default for the new Quickstart Ubuntu 18.04.1 image is to have Autologon set to on, and it currently does not work.
Wasted an hour on this trying to get it to fullscreen and setting Autologon to off is a workaround. The bug needs to be made more visible seeing that it is the default.

I had a look at the issue of failed logins and found out that pam_xauth is failing (I added a debug option to pam.d). The following is in the auth.log log:
user has no DISPLAY, doing nothing

That means that pam_xauth is not doing anything, because simply the DISPLAY environment variable is not set in the xrdp session. There has to be some difference in the startup of 16.04 and 18.04, hopefully somebody finds the root cause.

Hm. Strange is that on my old 16.04 the pam_xauth is not used and Enhanced Session is able to login even when being logged-in with the same user already...

Newest git master of xrdp on 18.04 still fails to start when the user is logged in (without and with pam_xauth - same error) - I tried compilation from 16.04 script (new package pkg-config needed to be installed), I just removed 16.04-specific part.

Newest git master of xrdp on 18.04 still fails to start when the user is logged in (without and with pam_xauth - same error) - I tried compilation from 16.04 script (new package pkg-config needed to be installed), I just removed 16.04-specific part.

What is the 16.04 specific part?  I'd like to try your fix, as I'm on 18.04 and nothing above your comment has worked for me.

Did you try this in 20.04? Does 20.04 even support enhanced session yet?

Ubuntu 20.04 is in pull #106. It works, I am using it without auto-login.

You mean the autologin thing?

Yes, by autologin I mean automatic user login when Ubuntu starts-up. This does not work, I have no workaround/fix for this.
When you try it you end up with black screen in Enhanced Session. Windows opened in Basic Session start opening in Enhanced Session.

This repo is being archived, so closing this issue.

This repo is being archived, so closing this issue.


Added a test to prove that contact email validation works

Codecov Report

Merging #169 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #169   +/-   ##
========================================
  Coverage    96.22%   96.22%
========================================
  Files           35       35
  Lines         1191     1191
  Branches        75       75
========================================
  Hits          1146     1146
  Misses          35       35
  Partials        10       10

Continue to review full report at Codecov.

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


Some unit tests are executed for too long

Context
The following list of unit tests are being executed for too long, like if they were to generate files with more than hundreds of thousands of lines of code.
List
SwiftTemplate__has_same_templates_in_outputs_as_in_inputs (98.837 seconds)
SwiftTemplate__return_all_outputs_values (97.162 seconds)
SwiftTemplate__with_existing_cache__and_missing_build_dir__generates_the_code (27.950 seconds)
SwiftTemplate__has_no_stdout_json_output_if_isDryRun_equal_false___also_default_value_ (23.111 seconds)
SwiftTemplate__rethrows_template_runtime_errors (18.461 seconds)
SwiftTemplate__rethrows_template_parsing_errors (17.133 seconds)
SwiftTemplate__handles_file_includes_without_swift_extension (14.707 seconds)
SwiftTemplate__handles_includes_without_swifttemplate_extension (14.581 seconds)
SwiftTemplate__handles_file_includes (14.430 seconds)
SwiftTemplate__handles_includes (14.331 seconds)
SwiftTemplate__handles_includes (14.301 seconds)
SwiftTemplate__handles_file_includes (14.204 seconds)
SwiftTemplate__handles_includes_without_swifttemplate_extension (14.133 seconds)
SwiftTemplate__handles_file_includes_from_included_files_relatively (14.129 seconds)
SwiftTemplate__handles_file_includes_from_included_files_relatively (14.109 seconds)
SwiftTemplate__handles_includes_from_included_files_relatively (14.093 seconds)
SwiftTemplate__handles_free_functions (14.074 seconds)
SwiftTemplate__handles_free_functions (14.060 seconds)
SwiftTemplate__handles_includes_from_included_files_relatively (14.057 seconds)
SwiftTemplate__handles_file_includes_without_swift_extension (14.019 seconds)
SwiftTemplate__rethrows_errors_thrown_in_template (13.725 seconds)
SwiftTemplate__generates_correct_output (13.454 seconds)
SwiftTemplate__generates_correct_output__if_isDryRun_equal_true (13.121 seconds)

Can't really do anything about this, this is due to SwiftTemplates being actual compiled programs, when I work on Sourcery I usually just turn them off for TDD workflow and only run them at the end to make sure everything is still fine (usually is since we cover most stuff via normal tests)

I don't feel like it's worth it TBH, those are more like integration tests anyway, they are order of magnitude slower so it wouldn't be fast enough for TDD workflow anyway

Thanks, well noted. 👍


Filter on nested collections of collections

Thanks for an excellent library.
I've read through the code and couldn't see any examples of filtering from the base collection where there are nested collections inside collections.
Eg is something like this possible without isolating each collection, Filter = "Level2List_Level3List_Property1 >= 3.0"?
I would still want to return items of type Level1 but filter on properties of Level3.

using Gridify;
using System.Collections.Generic;
using System.Linq;

namespace GridifyNestedProperties
{
    class Program
    {
        static void Main(string[] args)
        {
            Level1 level1 = new Level1()
            {
                Id = 1,
                Name = "Level1Name",
                Level2List = new List<Level2>()
                {
                    new Level2() { Id = 101, Name = "Level2_1", Level3List = new List<Level3>() { new Level3() { Property1 = 2.0, Property2 = 100.0, Level = 0 } } },
                    new Level2() { Id = 102, Name = "Level2_2", Level3List = new List<Level3>() { new Level3() { Property1 = 3.0, Property2 = 200.0, Level = 0 } } },
                    new Level2() { Id = 103, Name = "Level2_3", Level3List = new List<Level3>() { new Level3() { Property1 = 4.0, Property2 = 300.0, Level = 0 } } }
                }
            };

            Level1[] array = new Level1[1];
            array[0] = level1;
            var ds = array.AsQueryable();

            // Multi Nested Property
            var gq2 = new GridifyQuery { Filter = "Level2List_Level3List_Property1 >= 3.0" };
            var gm2 = new GridifyMapper<Level1>()
               .GenerateMappings()
               .AddMap("Level2List_Level3List_Property1", q => q.Level2List.SelectMany(x => x.Level3List.SelectMany(y => y.Property1)));

            var actual2 = ds.AsQueryable()
               .ApplyFiltering(gq2, gm2)
               .ToList();

        }
    }

    public class Level1
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public List<Level2> Level2List { get; set; }
    }

    public class Level2
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public List<Level3> Level3List { get; set; }
    }

    public class Level3
    {
        public int Level { get; set; }
        public double Property1 { get; set; }
        public double Property2 { get; set; }
    }
}

I would still want to return items of type Level1 but filter on properties of Level3.
Hi, In your example filtering on the nested collections doesn't make sense because you have only one Level1 item in your collection (ds) so you can not filter anything here. but I am trying to add a feature to support these kinds of scenarios that you have multiple Level1 items in your initial DS.

I'm planning to release this feature in the next version2 alpha version.

My example only added a single Level1 item but I can see scenarios where I might want to filter a base single object with nested collections and also a base collection with nested collections.
Thanks for looking into this as it will make it an even more powerful library.
Another thing I thought about which may improve performance would it be possible to add options to pre-compile the filter expressions eg Expression.Compile Method

My example only added a single Level1 item but I can see scenarios where I might want to filter a base single object with nested collections and also a base collection with nested collections.
Thanks for looking into this as it will make it an even more powerful library.

Yes, you are right. your welcome.

Another thing I thought about which may improve performance would it be possible to add options to pre-compile the filter expressions eg Expression.Compile Method

I think we should discuss this in another issue because gridify usually been used alongside an ORM like EF so gridify doesn't even use the expression and compiled expressions can not be used in the EF but in other cases (without any ORMs) maybe this feature can be usufull.

This feature is available in 2.0.0-beta.1.
It would be awesome if you can give me your feedback about this.
usage:
 var gm = new GridifyMapper<Level1>()
            .GenerateMappings()
            .AddMap("prop1", l1 => l1.Level2List.SelectMany(l2 => l2.Level3List).Select(l3 => l3.Property1));

Thanks for such a fast update. For simple logic this works brilliantly.
After testing I do have a few scenarios where this could be improved further but not sure how complex this is?
Say I wanted to filter to find where BOTH Level2List_Id=101 and that same item has Level2List_Level3List_Property1>=3.0
the filter Filter = "Level2List_Id=101, Level2List_Level3List_Property1>=3.0" doesn't work as the AND is finding two separate instances of Level2.
Is there a way to introduce chained logic so that there can be sub filters?
Eg something like Filter = "Level2List_Id=101 => Level3List_Property1>=3.0"
Ie are there any records with Level2.Id==101 and that same item also has Level3List_Property1>=3.0?
The example below returns 1 item as both conditions are met but in the above example it should return zero items as there is no data with Level2.Id == 101 and also the Level3 Property1 >= 3.0.
        static void Main(string[] args)
        {
            Level1 level1 = new Level1()
            {
                Id = 1,
                Name = "Level1Name",
                Level2List = new List<Level2>()
                {
                    new Level2() { Id = 101, Name = "Level2_1", Level3List = new List<Level3>() { new Level3() { Property1 = 2.0, Property2 = 100.0, Level = 0 } } },
                    new Level2() { Id = 102, Name = "Level2_2", Level3List = new List<Level3>() { new Level3() { Property1 = 3.0, Property2 = 200.0, Level = 1 } } },
                    new Level2() { Id = 103, Name = "Level2_3", Level3List = new List<Level3>() { new Level3() { Property1 = 4.0, Property2 = 300.0, Level = 2 } } }
                }
            };

            Level1[] array = new Level1[1];
            array[0] = level1;
            var ds = array.AsQueryable();

            // Multi Nested Property
            var gq2 = new GridifyQuery { Filter = "Level2List_Id=101, Level2List_Level3List_Property1>=3.0" };
            var gm2 = new GridifyMapper<Level1>()
            .GenerateMappings()
            .AddMap("Level2List_Level3List_Property1", l1 => l1.Level2List.SelectMany(l2 => l2.Level3List).Select(l3 => l3.Property1))
            .AddMap("Level2List_Id", l1 => l1.Level2List.Select(l3 => l3.Id));

            var actual2 = ds.AsQueryable()
               .ApplyFiltering(gq2, gm2)
               .ToList();
        }

hmm, Interesting you are absolutely right. I'm thinking about using parenthesis to separate chain filtering from normal filtering.  something like (Level2List_Id=101, Level2List_Level3List_Property1>=3.0) , Id < 10.
I'll look into this for the next beta version. probably 2.0.0-beta-3


Traffic Ops golang api/1.2/hwinfo endpoint requires servername

I missed the servername in the hwinfo endpoint -- required for compatibility with perl endpoint.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/434/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/390/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/437/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/393/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/439/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/395/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/453/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/409/


helm: add namespace to notes (envoyproxy#1176)

Bumps k8s.io/api from 0.26.2 to 0.26.3.

Release notes
Commits

updated-dependencies:

dependency-name: k8s.io/api
dependency-type: direct:production
update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>Co-authored-by: dependabot[bot]<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@ffee2ed). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #5   +/-   ##
=======================================
  Coverage        ?   63.25%
=======================================
  Files           ?       79
  Lines           ?     9809
  Branches        ?        0
=======================================
  Hits            ?     6205
  Misses          ?     3187
  Partials        ?      417

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Hire A Certified Cryptocurrency Recovery Expert // Digital Web Recover

Imagine the fear that comes with discovering that your well-earned money has been stolen. Suddenly losing $100,000 in cryptocurrency can be a terrifying experience. But fear not, for there is a hero in the digital realm who can assist in recovering your lost funds and bringing back peace of mind. Meet Digital Web Recovery - the solution to your worries. The prevalence of cryptocurrency theft is on the rise, as cyber criminals constantly develop new tactics to target innocent individuals. Whether it be through phishing schemes, breaching exchanges, or exploiting weaknesses in digital wallets, anyone is susceptible to falling victim to crypto theft, regardless of their level of caution. As I rolled out of bed one morning and checked my crypto wallet, I was greeted with the harsh reality that $100,000 had magically disappeared. Panic ensued as I pondered how to reclaim such a hefty sum. Would I have to wave goodbye to it forever? In my hour of need, I stumbled upon Digital Web Recovery - the crypto superheroes who specialize in rescuing stolen funds. With their genius minds and top-notch tech, they vowed to assist me in reclaiming my lost funds and putting the bad guys behind bars. No grass grew under the sleek shoes of Digital Web Recovery as they sprang into action. With the determination of a bloodhound on a scent, they dove headfirst into unraveling the mystery of the stolen funds. Following the digital breadcrumbs through the intricate world of blockchain, they skillfully unmasked the dastardly hackers behind the heist. Through a dazzling display of analytical prowess and seamless teamwork with the authorities, they managed to retrieve every last penny of my $100,000. What wizards, indeed. By leveraging the expertise and technology of Digital Web Recovery, you can turn the tide against crypto theft and emerge victorious. Don't let hackers get away with your hard-earned money - take action now and protect your digital assets. Remember, when it comes to crypto security, prevention is always better than cure. Talk with a representative of Digital web recovery on<EMAIL_ADDRESS>Telegram user; @digitalwebrecovery
website https://digitalwebrecovery.com/
Thanks.

Imagine the fear that comes with discovering that your well-earned money has been stolen. Suddenly losing $100,000 in cryptocurrency can be a terrifying experience. But fear not, for there is a hero in the digital realm who can assist in recovering your lost funds and bringing back peace of mind. Meet Digital Web Recovery - the solution to your worries. The prevalence of cryptocurrency theft is on the rise, as cyber criminals constantly develop new tactics to target innocent individuals. Whether it be through phishing schemes, breaching exchanges, or exploiting weaknesses in digital wallets, anyone is susceptible to falling victim to crypto theft, regardless of their level of caution. As I rolled out of bed one morning and checked my crypto wallet, I was greeted with the harsh reality that $100,000 had magically disappeared. Panic ensued as I pondered how to reclaim such a hefty sum. Would I have to wave goodbye to it forever? In my hour of need, I stumbled upon Digital Web Recovery - the crypto superheroes who specialize in rescuing stolen funds. With their genius minds and top-notch tech, they vowed to assist me in reclaiming my lost funds and putting the bad guys behind bars. No grass grew under the sleek shoes of Digital Web Recovery as they sprang into action. With the determination of a bloodhound on a scent, they dove headfirst into unraveling the mystery of the stolen funds. Following the digital breadcrumbs through the intricate world of blockchain, they skillfully unmasked the dastardly hackers behind the heist. Through a dazzling display of analytical prowess and seamless teamwork with the authorities, they managed to retrieve every last penny of my $100,000. What wizards, indeed. By leveraging the expertise and technology of Digital Web Recovery, you can turn the tide against crypto theft and emerge victorious. Don't let hackers get away with your hard-earned money - take action now and protect your digital assets. Remember, when it comes to crypto security, prevention is always better than cure. Talk with a representative of Digital web recovery on<EMAIL_ADDRESS>Telegram user; @digitalwebrecovery
website https://digitalwebrecovery.com/
Thanks.

CONTACT     EMAIL. Danielmeuliweberecovery @ email . com          WhatsApp. +<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>
Are you among the many who fell victim to Bitcoin investment scams, losing a substantial amount of money in the process?  Look no further, for Daniel Meuli Web Recovery is here to assist you. I am excited to share my own success story with you - thanks to the expertise of Daniel Meuli Web Recovery, I was able to recover $75,000 of my hard-earned money. Trust in our team to help you navigate through the recovery process and bring back what is rightfully yours. Don't let scammers get away with your savings - take action now and let us guide you towards financial restitution. My journey began when I made the choice to dabble in the world of Bitcoin investing. Seduced by the possibility of significant profits and effortless wealth, little did I realize that I was on the brink of becoming prey to a cunning scam. With high hopes, I poured a substantial amount of money into this venture, only to discover later that it was nothing more than a well-orchestrated deception. The devastation I felt was immeasurable - not only had my savings vanished, but I also felt like a naive victim of manipulation. Let my story serve as a cautionary tale to others, urging them to exercise caution and discretion in their investment decisions. Realizing the impact of my losses, I felt a deep need to take action. I began exploring ways to recover my lost Bitcoin investments and stumbled upon Daniel Meuli  Web recovery. Although hesitant at first, the abundance of positive reviews and testimonials convinced me to give them a chance. I reached out to them, sharing my situation with a glimmer of hope for a solution. The anticipation of a possible miracle filled my heart as I waited for their response. I was pleasantly surprised by the Daniel Meuli Web recovery team's ability to work their magic and kickstart the recovery process. Their professionalism, efficiency, and commitment to delivering on their promises were truly exceptional. With their expert knowledge of the cryptocurrency realm, they successfully traced my missing funds and managed to recover $75,000 of my hard-earned savings. Finding a reliable company that could deliver results left me immensely grateful and relieved. My Bitcoin recovery odyssey was a rollercoaster of emotions, from despair to relief. Thanks to Daniel Meuli Web recovery, I was able to recover a significant portion of my lost savings and move forward with peace of mind. If you have been a victim of a Bitcoin investment scam, do not lose hope. Reach out to professionals like Daniel Meuli Web Recovery with the expertise and experience to help you recover your funds. Your journey to financial recovery starts now.
Thanks for the time to read, Daniel Meuli web recovery is worth the time.
Canfield.

It could prove horrible in cryptocurrencies to lose ownership of your digital holdings. It can be frightening to ponder losing the money you've worked tirelessly for, whether it's because of a broken device, a forgotten password, or an account hack. I was in a similar situation lately after losing my Ethereum (ETH) wallet credentials. I started to get scared because I thought I would lose everything I had invested in ETH. At that point, I sought assistance from Daniel Meuli Web Recovery, and I'm glad I did. Daniel Meuli Web Recovery is a team of experts specializing in retrieving lost or inaccessible cryptocurrency assets. With years of experience and a proven track record of success, they have earned a reputation for recovering lost funds quickly and efficiently. I reached out to Daniel Meuli Web Recovery and provided them with all the necessary information regarding my lost ETH. They immediately got to work, using their advanced techniques and tools to trace and recover my digital assets. Within a few days, they had successfully retrieved my lost ETH, much to my relief. Daniel Meuli Web Recovery lived up to its reputation and successfully retrieved my lost ETH. Their expertise, efficiency, and professionalism set them apart in the world of cryptocurrency recovery services. Are you ready to experience the magic of Daniel Meuli web recovery for yourself? Look no further than Daniel Meuli web recovery for all your cryptocurrency recovery needs. Remember, your digital assets are safe in the hands of the experts at Daniel Meuli Web Recovery. Don't let lost cryptocurrency assets cause you stress. Contact Daniel Meuli Web Recovery today and let them work their magic to retrieve your valuable funds. If you ever find yourself in a similar situation, don't panic. Reach out to Daniel Meuli Web Recovery, and let them work their magic to retrieve your lost cryptocurrency assets. Trust me; you won't be disappointed. Email:   Danielmeuliweberecovery At email. c om
Website: www.danielmeulirecoverywizard.online
Salutation.

I cannot begin to describe the immense relief and joy I felt when I discovered FAYED HACKER and their incredible ability to retrieve stolen cryptocurrency. Just a few weeks ago, I was distraught after hackers managed to steal 82,000 dollars worth of crypto from my digital wallet. I felt helpless, certain that my hard-earned savings were gone forever. In a moment of sheer desperation, I turned to the vast expanse of the internet in search of a way to reclaim my lost crypto. Through the twists and turns of cyberspace, I discovered the mysterious FAYED HACKER recovery and their legendary reputation for restoring stolen digital assets. Hesitant yet filled with a glimmer of hope, I bravely reached out to their expert team and shared my harrowing tale. The compassionate wizards at FAYED HACKER listened intently, promising to wield their magic and retrieve my precious funds. With a heart full of both caution and excitement, I made the daring decision to place my fate in their hands. Crowned with determination, I embarked on this daring quest to reclaim what was rightfully mine. The swift and skillful FAYED HACKER experts sprang into action, harnessing their technical prowess to track down my stolen crypto. Within days, they uncovered my funds and triumphantly restored the entire $82,000 worth of cryptocurrency back into my custody! I was left awe-struck and jubilant. I cannot thank FAYED HACKER enough for their diligence and skill in getting back my stolen crypto. They are true experts in digital asset recovery, and I will be singing their praises for a long time to come. When hackers took my savings, I felt powerless and afraid. But this incredible company gave me back hope and security. I will be forever grateful. This recovery saga restored my faith in the wild world of cryptocurrency. It proved that with the right tools and a sprinkle of magic, even the most dire situations can have a fairy-tale ending. Cheers to reclaiming trust in the crypto realm. Get FAYED HACKER on Email :   fayedexperthack (AT) solution4u (DOT) com
TELEGRAM:@fayedexperthacker

Over the years, I had made significant investments totaling more than $92,000 in the Bitcoin cryptocurrency. When I checked my digital wallet one day, I was shocked to see that hackers had taken all of my Bitcoin investment. When I realized that my life savings were vanished overnight, I felt sick to my stomach. I went into panic mode trying to figure out how to get my stolen cryptocurrency back when the immediate shock subsided. I got in touch with the Bitcoin exchange I had previously used to ask for assistance. Regretfully, they were powerless to take any action. I then began searching anxiously for information on "how to recover stolen Bitcoin" online and discovered Lee Ultimate Hacker, a business that specialized in doing just that. When I was out of options, I contacted Lee Ultimate support staff, who were very helpful and confident, and guided me through their proprietary process and technology to track where my stolen funds had transferred to. Ultimately, using their sophisticated crypto tracking methods, Lee Ultimate successfully recovered and returned my $92,000 in stolen Bitcoin. I was ecstatic to receive back my life savings, which I had assumed were lost forever. My stolen cryptocurrency was saved by the LEE ULTIMATE HACKERS team, who I felt were heroes. I learned from this experience to secure digital assets with more caution and that decent individuals are putting a lot of effort into helping victims of cryptocurrency theft. I have no words to express my gratitude to Lee Ultimate for their valiant efforts and for returning my misplaced money when all appeared lost. You may relax knowing that Lee Ultimate Hacker's team of professionals is working nonstop to assist you in getting your hard-earned money back.  Speak with a representative by using: LEEULTIMATEHACKER@ AOL. COM or<EMAIL_ADDRESS>telegram:LEEULTIMATE or wh@tsapp +1  (715) 314  -  9248 https://leeultimatehacker.com Thank you.

Consult the Best Cryptocurrency/Assets Recovery expert at RECOVERYBUREAUC @ GMAIL COM
One morning I was surfing through the web and I saw multiple ads about an investment platform where you can invest and make profits daily. I decided to give it a try cause everyone wants to gain financial freedom. I started with low funds and the profits started rolling in so I was convinced it’s a legitimate investment. I had to put in most of my savings about $145,000 so as earn higher profit not knowing I just got a stranger enriched. The website went blank and became unreachable I became perplexed wondering if I was in a dream. I got troubled and quickly made my findings on the web on how to genuinely recover my stolen funds I was fortunate to have found RecoveryBureauC @ gmail c0m whom I hired through a lady’s referral on how this specialist rescued her. I hastily reached out to this genius and told him about my situation.  He’s the real deal
Contact info:

RECOVERYBUREAUC @ GMAIL COM
WhatsApp: +44 7586 868096

I almost lost about $858,000 of my inheritance funds in a pig butchering scam on a Chinese trading platform after I got contacted by a stranger who pretended to be my friend using the new AI technology I fell for the deceit when I got a phone call with the same voice as my friend I thought it was a great investment project as she’s already benefiting from the profits of the investment so I decide to invest not knowing I’ve just been tricked. After few days of losing the money I found the best cryptocurrency recovery specialist at RecoveryBureauC @ Gmail c0m so I hired them and told the team about my situation to my surprise I got my funds retrieved within few hours I reported my case to this firm. The service was seamless and perfect without any hassle.  Kindly send a detailed report to this amazing cryptocurrency retrieval firm and get all your troubles fixed.
Contact info<EMAIL_ADDRESS>WhatsApp: +44 7586 868096
This firm offers other services such as
Remotely monitoring a suspected cheating partner’s phone

Website hacks

Clearing of criminal records

Boost of credit scores

Rescue from a blackmailer (sextortionist) etc

THE BEST WAY TO RECOVER YOUR LOST, MISSING, STUCK AND SCAMMED CRYPTOCURRENCY IS TO CONTACT RECOVERYBUREAUC @ GMAIL COM

Sometimes in February I lost about 15 BTC and $105,000 worth USDT to a fake MT5 trading platform. I got lured to this trading platform with the intent to earn 15percent of my investment in each trade I thought it was a good trading platform not knowing they were sneaky and manipulating to take away all my funds. After weeks of being sad I found the best cryptocurrency recovery pundit at RECOVERYBUREAUC @ GMAIL . COM whom I hired and spoke to their support team about my situation. They requested for some certain information and they swing into actions immediately. To my surprise within 12 hours they were able to trace and track my stolen funds then subsequently they recover each and every penny of my money back to me without hassle or hidden charges. This is the best recovery specialist to hire to recover all your stuck, missing or scammed funds and digital assets. They are the real deal, send a detailed email to this team at

RECOVERYBUREAUC @ GMAIL COM
WhatsApp: +44 7586 868096

HIRE THE BEST CRYPTOCURRENCY RECOVERY EXPERT AT RECOVERYBUREAUC @ GMAIL C0M
I lost about 75,655 USDT in a romance scam to a fraudulent individual sometimes in January whom I met on some dating site when I was lonely and needed a companion. We spoke for few weeks then he lured me to a cryptocurrency investment where he’s currently earning massive profits as at that time. I thought it was real cause he showed me how it works and his daily earnings which convinced me to invest on the trading platform. This took all my savings and all attempts to reach him via social media apps that we chatted was unreachable. I became worried then I started searching the internet for a legitimate way to recover my losses. While searching I saw great positive recommendations about RECOVERYBUREAUC @ GMAIL C0M whom I hired and he was able to totally recover my lost funds using his advanced digital assets recovery software. This was done within few hours I reached out to this expert and I’m forever grateful for this amazing service. Have you been defrauded via internet romance scam, investment scams, forex scams, advanced fee scams, hookup scams, wire scams, BEC scams and you want to genuinely recover your losses speedily contact RECOVERYBUREAUC @ GMAIL C0M
WhatsApp: +44 7586 868096


chore(main): release frontend 0.0.6

:robot: I have created a release beep boop
0.0.6 (2024-06-27)
Bug Fixes

minor typos (e19014c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

frontend-v0.0.6
:sunflower:


Posterior net input

In the original code in tensorflow, before concatenating image with segmentation ground truth, there is a line of code seg-=0.5. But I do not see it in the Pytorch version. Is it necessary to do it before feeding into the posterior net?

I am not sure why that is there, but that shouldn't be necessary.


NoMethodError in PaymentsController#new

When I call Atos.new.request I get this error in the browser "NoMethodError in PaymentsController#new", if I run it in console I get this "NameError: uninitialized constant Atos"
Then gem is in Gemfile, bundle install run, application restarted. Any idea what is happening?
It's a rails 3.1.3 app.
Thanks
Hutch

I have the same probleme

When I try to do Atos.new.request in my OrderController I get this error :
uninitialized constant OrdersController::Atos


Rails.cache.fetch + other blocks hide typing information.

In my codebase I have lots of code that uses blocks.
Rails.cache.fetch and Appsignal.instrument for example.
These basically mask the typing of the given input, but it's always different.
For example:
# typed: true
sig { returns(Integer) }
def foo
  Rails.cache.fetch('test') do
    5
  end
end

I'm getting around this by writing code like this:
# typed: true
sig { returns(Integer) }
def foo
  Rails.cache.fetch('test') do
    foo_impl
  end
end

sig { returns(Integer) }
def foo_impl
    5
end

Is there a better solution for this?
I can't type Rails.cache.fetch (afaik) since the return type can be a bunch of different things.
Problem

Proposed solution

I tried looking into this but I can't figure out a way to do this. The only other (I won't say better, because it's really not lol) way I can think of to do this is to use T.cast, but that doesn't really add typechecking in any meaningful way since it still doesn't actually have the ability to check what's returned by the inside of the block.
sig { returns(Integer) }
def foo
  T.cast(Rails.cache.fetch('test') do
    5
  end, Integer)
end

I'd be interested in this as well since there are a few places where this kind of pattern would be useful.

I think you simply want to ensure that the fetch method is given a signature that says it returns whatever the block returns.
You can provide such a signature with generic methods.
sig do
  type_parameters(:U)
    .params(
      key: String,
      blk: T.proc.returns(T.type_parameter(:U))
    )
    .returns(T.type_parameter(:U)
end
def fetch(key, &blk)
end

To provide that type annotation, you'll need to use an RBI file. Someone might have written an RBI file annotation for that Rails method. You can look in either the sorbet-typed repo or Shopify's rbi-central repo if you're using Tapioca.


403 Client Error getting vehicles

Anyone with the same problem?
2021-02-03 09:04:00 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry ddb20384-ce31-4bce-a9f9-af6d2186a990 for renault
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 231, in async_setup
result = await component.async_setup_entry(hass, self)  # type: ignore
File "/config/custom_components/renault/init.py", line 27, in async_setup_entry
await pyzeproxy.initialise(config_entry.data)
File "/config/custom_components/renault/pyzeproxy.py", line 73, in initialise
vehicles = await self._hass.async_add_executor_job(self._kamereon.get_vehicles)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/pyze/api/credentials.py", line 29, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/pyze/api/kamereon.py", line 123, in get_vehicles
response.raise_for_status()
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 941, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/vehicles?country=GB

Duplicate of #120, changes on Renault servers
Please try https://github.com/hacf-fr/hassRenaultZE/releases/tag/v3.0.6

thanks @epenet


[STORM-1523] util.clj available-port conversion to java

Please note this is a small change when compared to a bigger util.clj to java PR.
It is being put first as the work needed to convert the entire file is taken care and will be up soon.
Just did not want to depend on other patches so putting this up first.

@revans2 @abhishekagarwal87 fixed the issues I presume. Let me know if you have any concerns

@abhishekagarwal87 @knusbaum please take a look at it, it must go into Utils.java

Just a moment, will test it once more

+1

+1 lets squash

@revans squashed

@abhishekagarwal87 Good catch. I doubt it has any practical effects, but it's good to be consistent.

Although, if we want to be consistent with the original code, removing the if and the final return statement is the solution.

If there is an exception, tests are going to fail nonetheless. If the exception is bubbled up, test failure will show the right error. Though yes I agree, that in practice binding to port zero is not likely to result in an exception.

Trying with value 0 on failure was a potentially important behavior of the previous implementation.
Exceptions will still bubble up if it fails if my solution is implemented.

The original implementation would return -1 in any case if the port is not bound yet. If we not changing the final outcome and unless we are concerned about throwing an exception when the port is not bound, I guess it would be fine. Moreover, removing if condition would keep trying to find the port recursively until it finds it I presume. The original code only tries once as per my understanding.

Yes. Original code tries only once and if condition should definitely be kept. It's fine with me.

@revans2 @knusbaum @abhishekagarwal87 still +1 ? Hope it is languishing too long out here.

Yes still +1

+1

@redsanket can you upmerge.

@harshach upmerged and squashed


can't access STX in my wallet: TooMuchChaining

I can't seem to send or use STX in my wallet after they've been unlocked from the cycle 12 boombox, I keep getting the following error: "transaction rejected: TooMuchChaining"
please advise

update: uninstalled chrome extension and reinstalled and problem seems to have gone away for now.


BUY / SELL Buttons in UI

Is it possible to add BYU / SELL buttons in GUI ????

If you are able to code, definitely yes!
Sorry! That was a must have for this with question-mark gang

Ok, I understand fellow, anyway many thanks for this excellent product !!!


Require Explicit kind signatures

See: https://www.tweag.io/blog/2020-03-12-expl-spec/
There are two types of syntax for kind signatures: {a :: Type} and (a :: Type).
We should only use the latter.
The library should be scanned for the former and fixed, and this should be added to STANDARDS.md here and on notion.

Closed as completed.


change version to 2.0.3-rc03-var03

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Add extra instructions to the devguide on installing a canary image

We should provide steps on how to do a local build with an alternative registry set, push it, and then update your deployment to use the canary image
e.g.
make push REGISTRY=carolynvs/
helm upgrade --name catalog --set image=carolynvs/service-catalog:canary --set imagePullPolicy=Always

https://github.com/kubernetes-incubator/service-catalog/blob/master/docs/devguide.md#advanced-build-steps
+
https://github.com/kubernetes-incubator/service-catalog/blob/master/docs/devguide.md#deploying-to-kubernetes
but adding pull policy of always could be a good change to add to it.

Yeah I eventually pieced all of that together but it would have really helped to have it in one place as "here is the commands to run to use your own local build" under:
https://svc-cat.io/docs/devguide/#deploying-to-kubernetes


Testing 2.17.2 - do not merge ⚠

This PR is to test a 2.17.2 point release with the Maxar imagery layers restored.
We don't want to actually merge it into the 2.x branch - instead we'll cherry-pick 9b78e6bd9.
re: #7355 / https://github.com/osmlab/editor-layer-index/pull/752

This tests out ok on the netlify deploy, so I released it as 2.17.2 on the release branch, and cherry-picked it as 086cade06 on the 2.x branch.


Setup missions page and render missions list

Space Traveler's Hub: Setup and render missions list
🌟Features:

[ ] - Missions component modified to render mission list.
[ ] -  Missions page styled with Missions.scss file.
[ ] - missionsSlicer is used to fetch data from API.
[ ] - Mission reducer added to redux-store.

 🚀 Project Demo

Hi @til2to  👋,
Thank you so much 🙏  for reviewing my pull request.


Git Graph Extension Broken

Steps to reproduce

Install Git Graph from Extensions tab

Reload VSCode

Open Git Graph

Git Graph showes you broken ui with nothing showing

Git graph broked right after upgrading to 3.7.1. Tested in Chrome, Firefox.
Log after opening git graph
GET https://url-of-code-server/webview//vscode-resource/file///root/.local/share/code-server/extensions/mhutchie.git-graph-1.27.0/media/out.min.css net::ERR_ABORTED 404 (Not Found)

GET https://url-of-code-server/webview//vscode-resource/file///root/.local/share/code-server/extensions/mhutchie.git-graph-1.27.0/media/out.min.js net::ERR_ABORTED 404 (Not Found)

GET https://url-of-code-server/webview//vscode-resource/file///root/.local/share/code-server/extensions/mhutchie.git-graph-1.27.0/media/out.min.js net::ERR_ABORTED 404 (Not Found)

Web Browser: Chrome 86.0.4240.198 / Firefox Nightly 85.0a1
Local OS: Windows 10 Pro x64 / macOS Big Sur
Remote OS: Ubuntu 16.04
Remote Architecture: x86_64
code-server --version: 3.7.1 2bf91ff6a6d1f29a8a93f97684177ccf5388cf34

This seems to be a general problem with resolving webview URIs; I'm seeing the same issue with multiple extensions.

@pfitzseb sorry for capturing this issue, but could this also affect vscode.image-preview ? I cannot view PNG files, which are in the project folders.

Most likely. Basically every bit of custom UI you can find in VSCode is implemented as a Webview, all of which are broken if they try to load local resources.

Seems to be that #2336 is going to fix this, isn't it ?

Fixed, will be in the next release!

Thanks for the prompt fix!

This seems to still be an issue in 3.11.0 4e8cd09ef0412dfc7b148b7639a692e20e4fd6dd

It's possible it was re-introduced, we had a bit of a snafu with the
patches.

It's possible it was re-introduced, we had a bit of a snafu with the patches.

3.11.1 CSS is still incorrect.

@lz1998 I think it has to do with resources being blocked due to CSP.
See https://github.com/cdr/code-server/pull/4131
This should be resolved in the next release.


[GMGridView insertObjectAtIndex] wrong assertion

Maybe I'm not reading it right, but it seems that insertObjectAtIndex has a wrong assertion at the beginning.
- (void)insertObjectAtIndex:(NSInteger)index
{
    NSAssert((index >= 0 && index <= _numberTotalItems), @"Invalid index specified");

When calling insertObjectAtIndex then it's expected that since a new object is inserted, then index is > than _numberTotalItems (the number of total items should increase). That's at least how things work in UITableViewController, so I expected similar behavior here as well.
Maybe my expectation is not in place though... what do you think?

I think it's ok.
That means that inserted index may be in range from 0 (beginning of the gridview) up to _numberTotalItems - that index corresponds to a new item at the end of the gridview.
Anything less than 0 or more than _numberTotalItems has no sense.

Mark, evidently when using nsfetchedresultscontroller then I get elements
added in positions that could be greater than numTotalItems. Could be my
mistake so I'll need to verify and update the issue.
I've been out of office for a few days and I will still be out for a few
more so I apologize that it's going to take a few days before I can report.
On Thursday, February 16, 2012, Mark Trubnikov wrote:

I think it's ok.
That means that inserted index may be in range from 0 (beginning of the
gridview) up to _numberTotalItems - that index corresponds to a new item at
the end of the gridview.
Anything less than 0 or more than _numberTotalItems has no sense.

Reply to this email directly or view it on GitHub:
https://github.com/gmoledina/GMGridView/issues/48#issuecomment-4008302

--
/Ran
http://tavory.com

I checked again and it seems that when using NSFetchedResultsController, the method controller:didChangeObject:atIndexPath:forChangeType:newIndexPath: with type NSFetchedResultsChangeInsert, does not report the insertion in an ascending order.
It would indeed separately report the insertion of every new element in the results, but it would not do so in ascending order, so for example if you had 100 elements added the order might be 22, 44, 43, 98, 99, .... Strange, I know... maybe it's related to the way RestKit is loading objects in the background...
The documentation of NSFetchedResultsController doesn't clearly specify that it may or may not report insertion of new elements in specific order.


Update cats-effect to 3.2.8

Updates org.typelevel:cats-effect from 3.2.1 to 3.2.8.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-effect" } ]

labels: library-update, semver-patch

Superseded by #219.


Styling for handlebars

this PR gives Styling to the handlebars-template (#37)
postcss via postcss-loader
autoprefixer
stylelint and stylelint-webpack-plugin
stylelint-config currently standard, for airbnb it gives a pull request, but the config´s are very simular

@danielbayerlein it´s done :)


Suppor low cost instances(a.k.a. Processing Units)

What you want to add
Supports processing units as well as today's node count.
Currently, SpannerAutoscaler custom resource has node count related fields.

minNodes: Minimum number of Cloud Spanner nodes.
maxNodes: Maximum number of Cloud Spanner nodes. It should be higher than minNodes and not over quota.
maxScaleDownNodes(optional): Maximum number of nodes scale down at once. Default is 2.

and status.currentNodes, status.desiredNodes
They should be enhanced to support Processing Units.
We want to maintain backward compatibility.
Why this is needed
Processing Units for low cost instances are announced and seems to be launched as Private Preview.

https://cloudonair.withgoogle.com/events/summit-data-cloud/watch?talk=t1_s5_getting_started_cloud_spanner
https://cloud.google.com/blog/products/databases/get-more-out-of-spanner-with-granular-instance-sizing

spanner-autoscaler should support Processing Units.
References
Client library already supports ProcessingUnits.

https://github.com/googleapis/google-cloud-go/releases/tag/spanner%2Fv1.21.0
https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/instance/v1#Instance

Processing Units are now Public Preview.
https://cloud.google.com/spanner/docs/release-notes?hl=en#July_20_2021
https://cloud.google.com/spanner/docs/compute-capacity?hl=en


Improve code quality

Codecov Report

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

@@          Coverage Diff          @@
##           master     #9   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines          71     59   -12
=====================================
- Hits           71     59   -12

Impacted Files
Coverage Δ

lib/src/utils/log.dart
100% <ø> (ø)
:arrow_up:

lib/src/utils/payload.dart
100% <100%> (ø)
:arrow_up:

lib/src/ravepay.dart
100% <100%> (ø)

lib/src/utils/encryption.dart
100% <100%> (ø)

Continue to review full report at Codecov.

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


Upgrade test syntax

Just refactored tests, so not replying to PR template.
FWIW, this was all done using Regex, so there should be no mistakes. Plus tests still pass so surely that's something.

There are a few tests still using the old syntax e.g.

repeated-hydrated-fields-on-the-same-level.yml
repeated-hydrated-fields-on-the-same-level-overlapping-fields-in-the-query.yml
repeated-hydrated-fields-on-the-same-level-when-using-batch-hydration.yml

That's because they're actually bugged. Bugs don't exist in nextgen so not bothering with a fix for now.


Update source code to contain Comcast Copy right license - Closes #3

Closes #3

 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.Strokin, Eugene seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


ProgressBar doesn't invisible when database is blank

If firebase's database is blank, progress bar doesn't gone.

change to mProgressBar.setVisibility(View.INVISIBLE);


Native notification

i just have an idea
i think it would be good to have the option to toggle to enable native notification instead of bootstrap notification inside webview
so mac notofication on mac gnome notification on ubuntu
if you interest to have this i m able to do the PR

sure, sounds an interesting idea

this is good news!
i will working about putting PR together and let you know when to review

completes with this prs
https://github.com/KomodoPlatform/Agama/pull/229
https://github.com/KomodoPlatform/EasyDEX-GUI/pull/126


Running "npm run pce-install-foreach" adds repetitive "pce-foreach"

Running "npm run pce-install-foreach" adds repetitive "pce-foreach" in  "pre-commit" array. It should not add "pce-foreach" again if there is a "pce-foreach" in "pre-commit" array.

The same problem for "pce-batch"


OSK105

i have this dongle, could be possibly you make for that version plugin ??

It's a Blanc model.
For  now now solutions.


operations in the BrowserWindow showing delayed

operating dialog / drawer / menu-page showing delayed ...

I need to take a look at the dynamic effect diagram
Or an example or address used

cef.BrowserWindow.Config.Url = "https://pro.eleadmin.com/"
and like this

@Edward923
Enable GPU acceleration option
`
appCfg := cef.NewApplicationConfig()
appCfg.SetEnableGPU(true) // open gpu acceleration
cefApp := cef.NewApplication(appCfg)
`

so much 3Q!!!


feat: kick off the Python course (upstream branch)

Closes https://github.com/apify/apify-docs/pull/1023. It's the same PR, but from an upstream branch, not from my fork. As discussed on Slack, this works around unauthorized npm token on CI.
Additional changes:

I addressed @TC-MO's comment from the previous PR and added a link to Beautiful Soup docs.
After the Docusaurus upgrade, I moved the code responsible for skipping front matter modifications to partials from patches to Docusaurus config.
I fixed two typos, as we now have typos checking on the repo.
Although I don't think it provides better user experience than plain HTML, I now use the new <Details /> component (because otherwise I've been getting build errors). I filed https://github.com/apify/apify-docs/issues/1199

I believe this is now ready. Except for one link and two typo fixes there are no additional changes to the text, so not asking Michał for another review. I'd like to see a final rubber stamp from @mnmkng and/or @metalwarrior665 that I addressed their previous concerns about how the course rolls.

Yay! ❤ 🎉


Error: Content type text/html does not have a factory registered to be parsed

Hey !
I've been stucked with an issue just after running npx ts-node index.ts
(followed this guide https://learn.microsoft.com/en-us/openapi/kiota/tutorials/typescript-azure?tabs=portal)
I get the error: Error: Content type text/html does not have a factory registered to be parsed
Here is my repo : https://github.com/naelob/test-sdk

Steps to reproduce:
kiota generate -l typescript -d api-doc.json -c Client -o ./client
npx ts-node index.ts (of course I manually tried to use the sdk client by creating an index.ts file)
Thanks !
@baywet

Hi @naelob,
This is most likely caused because you're initializing your client with an anonymous authentication provider when from reading the quick start of the API this API seems to require two authentication related headers:

the API key generated from their portal
the connection_token
I recommend that you implement the authentication provider interface to set those two headers on the request information and pass an instance of that implementation to the request adapter.

Let us know if you have further questions.

Hi @naelob, This is most likely caused because you're initializing your client with an anonymous authentication provider when from reading the quick start of the API this API seems to require two authentication related headers:

the API key generated from their portal
the connection_token
I recommend that you implement the authentication provider interface to set those two headers on the request information and pass an instance of that implementation to the request adapter.

Let us know if you have further questions.

Thank you for the answer. I actually built the api so only the api key is mandatory on certain routes (the / route is not protected). Connection token is used only at certain routes too.
I still decided to check to implement a provider and found this https://learn.microsoft.com/en-us/openapi/kiota/authentication?tabs=typescript#:~:text=In getAuthorizationToken%2C the url parameter is the URL of the abstract request to be executed. The return value is a Promise that holds the access token%2C or null if the request could/should not be authenticated.
I don't get it, I may have missed something but I'd like to use it like const authProvider = new BaseBearerTokenAuthenticationProvider('my_api_key');.
I have to build a specific url route so AccessTokenProvider can retrieve through this route ?

yes, the way this is designed:

implement the AccessTokenProvider
derive from BaseBearerTokenAuthenticationProvider in a new authentication provider class, this will pass your access token provider to the base.

You can check how AzureIdentity authentication and access providers work (same repo) to get a better idea.

AzureIdentity
Thanks !

I still face the issue:

right, from reading the docs, I think this is only half the work here.
You also need to set the connection_token request header.
Since this is really specific to this API, I suggest you :

change your auth provider to implement authentication provider instead
move the logic for the access token into the authentication provider, you can copy some of the logic from base bearer authentication provider to get the full authorization header
add logic for the connection_token request header

With all those pieces in place, this should solve your authorization issue.
If that still doesn't work, please get in touch with the API provider to get clarity on the authentication requirements


doc: settings: fix inline sample code

Fix a couple of issues in the code examples for the settings
subsystem.
Signed-off-by: Henrik Brix Andersen<EMAIL_ADDRESS>

Codecov Report

Merging #9759 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9759   +/-   ##
=======================================
  Coverage   52.24%   52.24%
=======================================
  Files         212      212
  Lines       25950    25950
  Branches     5593     5593
=======================================
  Hits        13557    13557
  Misses      10159    10159
  Partials     2234     2234

Continue to review full report at Codecov.

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


Master prints unnecessary warnings about bulk import _SUCCESS and loadmap.json files

Saw the following in the monitor (coming from the master logs) while testing 2.0.0 with accumulo-testing's bin/cingest bulk:
hdfs://burninator:8020/tmp/bt/15/files/_SUCCESS does not have a valid extension, ignoring
hdfs://burninator:8020/tmp/bt/15/files/loadmap.json does not have a valid extension, ignoring

I'm pretty sure these files are expected, and shouldn't trigger any warnings.

I believe this is coming from PrepBulkImport code below.  Only ".map" and ".rf" files are good to process.  Maybe to best this is to remove the "warning message" completely since we know that other types of files will be there or change the message to something like "{} exempt from processing, ignoring", fileStatus.getPath()
for (FileStatus file : files) {
      final FileStatus fileStatus = file;
      final Path originalPath = fileStatus.getPath();
      String[] fileNameParts = originalPath.getName().split("\\.");
      String extension = "";
      boolean invalidFileName;
      if (fileNameParts.length > 1) {
        extension = fileNameParts[fileNameParts.length - 1];
        invalidFileName = !FileOperations.getValidExtensions().contains(extension);
      } else {
        invalidFileName = true;
      }
      if (invalidFileName) {
        log.warn("{} does not have a valid extension, ignoring", fileStatus.getPath());
        continue;
      }

Maybe to best this is to remove the "warning message"

Could also log it at debug instead of removing it.

If they are created by the bulk import code itself, it definitely shouldn't give warnings about files it creates itself, but we don't want to lower the warning to "DEBUG" if it sees other unexpected files.
I don't know who created these files, or if they have a choice to put them elsewhere. Are these files created by the bulk import code or the testing code?

Bulk import creates the loadmap.json file.    We could create a list of "expected files to ignore" but would need to figure out what they all are.

#1255 is related

so...based on the 'like' should I look into implementing the "expected files" set?

@hkeebler I haven't looked into it enough to know what the refactor should look like, but it would make sense for the checks in the master/fate code to be consistent with those in the clientImpl. However, looking at the change in #1255 , I'm not sure it's a good idea to have all unknown files logged at debug. I think some actually warrant warn.
There appear to be a few different file types and each probably requires a different action:

Expected files to bulk import: *.rf. (I'm not even sure we support map files anymore)
Directories (do we recurse or log that we're ignoring? I'm not sure the current behavior)
Well-known files that are not ours, but common from MapReduce and safe to ignore (_SUCCESS,  _logs?); logging these at debug probably makes sense
Files we create ourselves (or expect the user to provide): JSON loadmap files or rename mapping files; these can be ignored or we could log (at debug) that we're using them when we actually read them.
Completely unknown files that are not expected or typical. These should probably log at the warn level.

Based on a "refactor" of the process should this be moved to 2.1, not hold back 2.0 release.

My suggestion for now.  Maybe a refactor later.
Update BulkIMport.filterInvalid to public and change as below and replace the for loop that is checking in PrepBulkImport with a call to this.
**public** static List<FileStatus> filterInvalid(FileStatus[] files) {
    ArrayList<FileStatus> fileList = new ArrayList<>(files.length);

    for (FileStatus fileStatus : files) {

      String fname = fileStatus.getPath().getName();

      if (fname.equals("_SUCCESS") || fname.equals("_logs")) {
        log.debug("Ignoring file likely created by map reduce : {}", fileStatus.getPath());
        continue;
      }

      if (fileStatus.isDirectory()) {
        log.debug("{} is a directory, ignoring.", fileStatus.getPath());
        continue;
      }

      **if (!FileOperations.getWorkingFiles().contains(fname) {
        //no logging necessary or maybe a debug
        continue;
      }**

      String[] sa = fname.split("\\.");
      String extension = "";
      if (sa.length > 1) {
        extension = sa[sa.length - 1];
      }

      if (!FileOperations.getValidExtensions().contains(extension)) {
        **log.warning("{}** does not have a valid extension, ignoring", fileStatus.getPath());
        continue;
      }

      fileList.add(fileStatus);
    }

    return fileList;
  }

Update FileOperations with
private static final HashSet<String> workingFiles =
          new HashSet<>(Arrays.asList(Constants.BULK_LOAD_MAPPING, Constants.BULK_RENAME_FILE));

After running some of the Bulk load IT tests I saw that it also created a hidden version of files - prefixed with a "." and extension ".crc".  We could filter out hidden files or just extension .crc?  I could see that advantages to the former is in the future we could make any working files hidden files.

The previous comment is specific to the SharedMiniClusterBase.  I'm unable to find a current test that will exercise the code on a real instance.

The previous comment is specific to the SharedMiniClusterBase.

I think that is the behavior of the Hadoop LocalFilesystem.   I suspect when you are listing files using the LocalFilesystem APIs you will never see these crc files.  May only see them when doing ls.
The Hadoop distributed filesystem also computes crcs for blocks and stores them on the local filesystem.  When you poke around in a datanodes local dir you will see them.

Used the accumulo-testing cingest bulk to test this and did not receive any messages of "crc" files.  The approach I suggested will likely cover everything for now.

A refactor might cause things to wait until 2.1, but I think it'd be good if we could clean up the user experience here for 2.0... bulk ingest is pretty important for Accumulo, and spamming the logs with unnecessary entries will be a big pain point for users.


Yatin: Watch 86<PHONE_NUMBER>0

Yatin requests the watch of the watch_number 86<PHONE_NUMBER>0. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Makyen in Charcoal HQ


on Windows when setuptools is imported, appdirs is imported and in turn will lock pywin32's dlls

Summary of changes
on Windows when setuptools is imported, appdirs is imported and in turn it will import pywin32 if available, which will lock pywin32's dlls and because of that pywin32 cannot be updated anymore (your pip install command will fail too)
fix is to apply the same patch as the pip project did in     https://github.com/pypa/pip/pull/4992
Sample error output:
Consider using the `--user` option or check the permissions.
Traceback (most recent call last):
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\commands\install.py", line 347, in run
    use_user_site=options.use_user_site,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\__init__.py", line 49, in install_given_reqs
    **kwargs
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\req_install.py", line 941, in install
    use_user_site=use_user_site, pycompile=pycompile,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\req_install.py", line 526, in move_wheel_files
    warn_script_location=warn_script_location,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\wheel.py", line 324, in move_wheel_files
    clobber(source, lib_dir, True)
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\wheel.py", line 295, in clobber
    os.unlink(destfile)
WindowsError: [Error 5] Access is denied: 'D:\\temp\\test_venv\\v27\\Lib\\site-packages\\win32\\win32api.pyd'

Pull Request Checklist

[ ] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

Can this patch be pushed upstream? It seems like in the 6 months or so since the pip patch no one has submitted a PR to appdirs.

This disable support for using pywin3, I imagine there's a reason it's the default? Also the _get_win_folder_with_pywin32 is dead code now. So I don't thing this can be upstreamed (or that it will be accepted). Can you give more detail about the exact use case? What's the command being used?

@benoit-pierre
This is quite a nasty issue for Windows users. It's really easy to run into it, and when you run into it the only solution is to either recreate the virtualenv (not possible if you do this in the main interpreter) or to poke through the virtualenv and manually delete pywin32's dll-s and pyd-s before trying again.
The issue happens when you have one version of pywin32 installed and you wish to upgrade it, or instead of upgrading you install a package that requires a different pywin32 version.
For most of the people it's probably not an issue to delete and recreate the venv, but for some (like my use case) who have a deploy pipeline where large virtualenvs are upgraded in place with new package version, this issue is a show stopper.
So to give an example, let's say you have pywin32 already installed:
D:\temp\test_venv>v27\Scripts\python.exe -m pip install pypiwin32==219
Looking in indexes: [...]
Collecting pypiwin32==219
  Downloading https://pypi.[...]/root/wheelhouse/+f/561/8522ad9c2b229/pypiwin32-219-cp27-none-win32.whl (
6.7MB)
    100% |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 6.7MB 3.9MB/s
Installing collected packages: pypiwin32
Successfully installed pypiwin32-219

and then you wish to upgrade it, or you wish to install/upgrade a package which requires a different pywin32 version:
D:\temp\test_venv>v27\Scripts\python.exe -v -m pip install -vvv pywin32==223
[...]
Installing collected packages: pywin32

Could not install packages due to an EnvironmentError.
Consider using the `--user` option or check the permissions.
Traceback (most recent call last):
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\commands\install.py", line 347, in run
    use_user_site=options.use_user_site,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\__init__.py", line 49, in install_given_reqs
    **kwargs
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\req_install.py", line 941, in install
    use_user_site=use_user_site, pycompile=pycompile,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\req\req_install.py", line 526, in move_wheel_files
    warn_script_location=warn_script_location,
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\wheel.py", line 324, in move_wheel_files
    clobber(source, lib_dir, True)
  File "D:\temp\test_venv\v27\lib\site-packages\pip\_internal\wheel.py", line 295, in clobber
    os.unlink(destfile)
WindowsError: [Error 5] Access is denied: 'D:\\temp\\test_venv\\v27\\Lib\\site-packages\\win32\\win32api.pyd'
Cleaning up...
Removed build tracker 'c:\\users\\myuser\\appdata\\local\\temp\\pip-req-tracker-vwsv63'

It's unfortunate that there are many places that during a pip install could load the pywin32 dlls.
It used to be in pip, but they patched their appdirs module to not do so.
But unfortunately pip imports setuptools whose appdirs module (inside pkg_resources) does load the pywin32 dlls. So you're stuck.
Another example of code that loads pywin32 dlls during pip install is the platform module from Python's stdlib. A setup.py I had used the platform module, but I managed to remove the usage.

But pip does not import setuptools, and has its own vendored copy of pkg_resources.

What version of pip are you using?

I'm using pip 10.0.1 and 18.0.
I've been a bit unclear, it's not about pip directly importing setuptools, it's about setuptools being imported in the pip process.
This can happen when you have a setup.py which imports (as recommended) setup from setuptools:
from setuptools import setup

setup(
    name='funniest',
    version='0.1',
    install_requires=[
        'pywin32==223',
    ],
    zip_safe=False,
)

In this example, this funniest package is even requesting a newer minimum version of pywin32 compared to what I have in the venv already (219), and when I install this via v27\Scripts\python.exe -v -m pip install -e pkg I get:
Looking in indexes: https://pypi.[...]/rendezvous/dev, https://pypi.[...]/rendezvous/dev, https://pypi.[...]/rendezvous/dev
Obtaining file:///D:/temp/test_venv/pkg
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "D:\temp\test_venv\v27\lib\site-packages\setuptools\__init__.py", line 12, in <module>
        import setuptools.version
      File "D:\temp\test_venv\v27\lib\site-packages\setuptools\version.py", line 1, in <module>
        import pkg_resources
      File "D:\temp\test_venv\v27\lib\site-packages\pkg_resources\__init__.py", line 73, in <module>
        from pkg_resources.extern import appdirs
      File "D:\temp\test_venv\v27\lib\site-packages\pkg_resources\extern\__init__.py", line 43, in load_module
        __import__(extant)
      File "D:\temp\test_venv\v27\lib\site-packages\pkg_resources\_vendor\appdirs.py", line 510, in <module>
        raise Exception("this should not execute during pip install because it locks pywin32 dlls")
    Exception: this should not execute during pip install because it locks pywin32 dlls

    ----------------------------------------

I added this exception to show appdirs.py from pkg_resources gets imported during a pip install.

Indeed setup.py files are import from a subprocess created by pip to fetch the egg info, Perhaps my impression that they were run from the same process is from a much older codebase of pip.
The first time I debugged this was a couple of months ago and it was in pip 9 (so pip didn't had the appdirs patch at that time) and that is when I first saw appdirs being imported which in turn would import the pywin32 dlls.
But I kept investigating today, and something is still wrong, because if I have a venv with pywin32 219 already installed, and then I install pywin32 223, then not all dlls are updated:
$  ./install.sh
+ v27/Scripts/python.exe -m pip install -U pywin32==223
Looking in indexes: https://pypi.[...]/rendezvous/dev, https://pypi.[...]/rendezvous/dev, https://pypi.[...]/rendezvous/dev
Collecting pywin32==223
  Downloading https://pypi.[...]/root/pypi/+f/42f/48567e36b7879/pywin32-223-cp27-cp27m-win32.whl (6.8MB)
Installing collected packages: pywin32
Could not install packages due to an EnvironmentError: [Error 5] Access is denied: 'D:\\temp\\test_venv\\v27\\Lib\\site-packages\\win32\\win32api.pyd'
Consider using the `--user` option or check the permissions.

+ rc=1
+ echo ---- rc=1
---- rc=1

MINGW64 /d/temp/test_venv
$  ./verify.sh
+ py -3.6 find_pywin32_version.py v27
---------- VENV: v27 -----------------
{'wheels\\pypiwin32-219-cp27-none-win32.whl': ['pythonwin\\mfc90.dll',
                                               'pythonwin\\mfc90u.dll',
                                               'pythonwin\\mfcm90.dll',
                                               'pythonwin\\mfcm90u.dll',
                                               'pythonwin\\scintilla.dll',
                                               'pywin32_system32\\pythoncomloader27.dll',
                                               'win32\\_win32sysloader.pyd',
                                               'win32\\_winxptheme.pyd',
                                               'win32\\win32api.pyd',
                                               'win32\\win32clipboard.pyd',
                                               'win32\\win32console.pyd',
                                               'win32\\win32cred.pyd',
                                               'win32\\win32crypt.pyd',
                                               'win32\\win32event.pyd',
                                               'win32\\win32evtlog.pyd',
                                               'win32\\win32file.pyd',
                                               'win32\\win32gui.pyd',
                                               'win32\\win32help.pyd',
                                               'win32\\win32inet.pyd',
                                               'win32\\win32job.pyd',
                                               'win32\\win32lz.pyd',
                                               'win32\\win32net.pyd',
                                               'win32\\win32pdh.pyd',
                                               'win32\\win32pipe.pyd',
                                               'win32\\win32print.pyd',
                                               'win32\\win32process.pyd',
                                               'win32\\win32profile.pyd',
                                               'win32\\win32ras.pyd',
                                               'win32\\win32security.pyd',
                                               'win32\\win32service.pyd',
                                               'win32\\win32trace.pyd',
                                               'win32\\win32transaction.pyd',
                                               'win32\\win32ts.pyd',
                                               'win32\\win32wnet.pyd',
                                               'win32\\winxpgui.pyd',
                                               'win32comext\\adsi\\adsi.pyd',
                                               'win32comext\\authorization\\authorization.pyd',
                                               'win32comext\\axcontrol\\axcontrol.pyd',
                                               'win32comext\\axdebug\\axdebug.pyd',
                                               'win32comext\\axscript\\axscript.pyd',
                                               'win32comext\\bits\\bits.pyd',
                                               'win32comext\\ifilter\\ifilter.pyd',
                                               'win32comext\\internet\\internet.pyd',
                                               'win32comext\\mapi\\mapi.pyd',
                                               'win32comext\\propsys\\propsys.pyd',
                                               'win32comext\\shell\\shell.pyd',
                                               'win32comext\\taskscheduler\\taskscheduler.pyd'],
 'wheels\\pypiwin32-219-cp27-none-win_amd64.whl': ['win32\\mmapfile.pyd'],
 'wheels\\pywin32-223-cp27-cp27m-win32.whl': ['isapi\\PyISAPI_loader.dll',
                                              'pythonwin\\dde.pyd',
                                              'pythonwin\\win32ui.pyd',
                                              'pythonwin\\win32uiole.pyd',
                                              'pywin32_system32\\pythoncom27.dll',
                                              'pywin32_system32\\pywintypes27.dll',
                                              'win32\\odbc.pyd',
                                              'win32\\perfmon.pyd',
                                              'win32\\perfmondata.dll',
                                              'win32\\servicemanager.pyd',
                                              'win32\\timer.pyd',
                                              'win32\\win2kras.pyd']}

(invoked from git-bash on windows so I can see the exit code easier)
Because there is no sane way to know which pywin32 is attributed to each dll from the virtualenv I made my own script which finds the dll sizes and for reference I attached it.
install.sh
#!/bin/bash

set -x

# v27/Scripts/python.exe -v -m pip install -e pkg 2> stderr.log 1> stdout.log
# v27/Scripts/python.exe -v -m pip install -U pywin32==223 2> stderr.log 1> stdout.log
v27/Scripts/python.exe -m pip install -U pywin32==223

rc=$?
echo ---- rc=$rc

verify.sh
#!/bin/bash
set -euxo pipefail
py -3.6 find_pywin32_version.py v27

find_pywin32_version.zip
What's also interesting is that if I run with python -v -m pip install ... so -v to python not pip, then in stderr I can see which modules are imported, and even though this is from pip 18, win32api.pyd and others are imported:
import pip._internal.commands.wheel # precompiled from D:\temp\test_venv\v27\lib\site-packages\pip\_internal\commands\wheel.pyc
import win32api # dynamically loaded from D:\temp\test_venv\v27\lib\site-packages\win32\win32api.pyd
# D:\temp\test_venv\v27\lib\site-packages\win32\lib\win32con.pyc matches D:\temp\test_venv\v27\lib\site-packages\win32\lib\win32con.py

My investigation will continue tomorrow ...

I'm loathe to accept patches to vendored code. This project is not interested in maintaining forks of vendored code. Only official releases are allowed in the vendored code. We do this in part because setuptools supports devendoring these packages.
Therefore, I recommend one of two approaches:

Shepherd the changes upstream. Once a release is made, setuptools will happily update its vendored code.
Setuptools should monkeypatch the undesirable behavior in its own code.

I'm going to decline this patch, but I welcome a patch that takes one of the above approaches, assuming an investigation reveals that this is still needed.


fix for Add Risk Acceptance on Finding List dropdown Not Working

[sc-7768]
Fixes issue#11010
Update path for Full Risk Acceptance when clicking the ... and choosing Add Risk Acceptance... next to a finding in the finding list.

Fixes #11010


Proposal to Replace the Beer Mug Emoji with a Coffee Cup

Verification

[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

Provide a detailed description of the proposed feature
I’d like to propose a change to the Brew logo by replacing the beer mug emoji 🍺 with a coffee cup ☕.
What is the motivation for the feature?
Here are a few reasons for this change:
Aligning with Brew's Mission: Brew is primarily focused on coffee, and using a coffee cup in our logo reinforces the project's identity and purpose. It better represents what our community is all about.
Inclusivity for All Users: By using a coffee cup, we create a more welcoming environment for everyone, including those who avoid alcohol for personal or health reasons, such as those in recovery.
Respecting Cultural Beliefs: A coffee cup aligns better with the values of many cultures and religions, including Islam, which prohibits alcohol. This change would demonstrate our commitment to inclusivity and respect for diverse beliefs.
Broader Appeal: Coffee is a universally loved beverage that resonates with a wider audience, helping to reinforce Brew’s image as a community-focused project.
Positive Community Impact: By promoting a sober-friendly image, we can attract and support users who prioritize wellness and healthy lifestyles.
How will the feature be relevant to at least 90% of Homebrew users?
I believe this small change can have a significant positive impact on our community
What alternatives to the feature have been considered?
none

Not a maintainer, but I doubt your proposal would be accepted, because naming in this project has always been beer-related:

the project name "Homebrew" is itself a beer-related term - no one talks about "homebrew coffee"
there are many beer-related terms ("tap", "keg", "cask", etc.) that permeate the entire codebase, and "leak out" to the user anyway

No, sorry. Homebrew's entire naming scheme revolves around beer. If it helps: you can consider the beer in the cup to be one of the 0% alcohol beers 😁


Texture Colours turn Weird as soon as i use this mod

Hello there,
I struggled for some time now, to get to the ground of a big texture "Problem" i had in Minecraft...
I'm Using a whole Bunch of Mods and had the Problem that, for example, the Grass Textures in many Biomes turned Blue all of a sudden... (like visible here: there are 4 Biomes.... Seasonal Orchard(the one with the bluest Grass)/Highlands(where the Pumpkins(orange Spots) are)/Forest(above the Highlands...in the middle-right part) and the Plains.... (top right part)

And Water inside of Cauldrons turned Brown....

after Many trial and Errors, i Finally found out that it is exactly the Textrue Rubidium Options Mod that is causing this Problem....
Is there any Possible Solution for this? or just the Phrase "Just don't use the Mod"?

In no way do I think this is a problem that TRO can cause, are you sure?

yes I am Sure
I even created a New Modpack and only kopied the Mods ... no Configs, Saves ect..
And the The Textures only got to normal again when i deactivated all rubidium and Magnesium related Mods (what where almoste the last ones, because i didn't think either that these are the onse causing this)... then i tried activating all Mods leaving out only the Magnesium + Rubidium(and related) and the Textures still kept their normal look... even when activating magnesium and Rubidium,.... only when i got to the Textrues Rubidium Options Mod got the Textures weird again....
and i still don't know what of the Mod could even cause this

I don't think it's a TRO issue, it could be other mods causing this problem.


Is there a way to tell where a symbol used in an expression came from?

Question, possibly a dumb one:
I'm investigating the idea of using FSharp.Compiler.Service to build a tool which could be used to analyze closures.
Given this code:
let outerFunc a =
    let b = 2
    let fn c =
        let d = 3
        a + b + c + d
    fn 1

When I use a visitor on the expression "a + b + c + d", I would like to be able to distinguish, for example, that c is a parameter to fn (the function I'm in now) but b was bound outside of fn, therefore fn is a closure.
I can't find anything in FSharpMemberOrFunctionValue which would give me the information I'm looking for.  Am I looking in the wrong place?
Thanks!

Not really, you can determine that its a closure or nested function via the following convoluted method of elimination:

If its not a constructor (name starts with '.ctor')
Its FullType property Isfunctiontype is true but not IsPropertygetter or IsPropertysetter
Its not an operator or active pattern (Its name starts with '(')
The property IsModuleValueOrMember is false

Then its a closure or nested function.
This is one area where the API really could be cleaned up, getting this info is like pulling teeth.  Both VFPT and the FSB have some active patterns around detecting these things.  A standard set of patterns to operate correctly over the symbols would be a great addition.  Alternatively additional type could be added as subclasses of symbol and then a simple type pattern match would suffice.

@ericsink There is no such information from FSharpMemberOrFunctionValue. But there is now typed ASTs exposed via a set of active patterns, which are suitable to use in closure analysis (see e.g. http://fsharp.github.io/FSharp.Compiler.Service/typedtree.html#Walking-over-expressions).

@dungpa Thats only available on a full project analysis isn't it?  I wanted to take advantage of that for something but at the point I wanted to use it I only had a types parsed result for a single file.

Closing, see @dungpa's comment


Spamming get_view_projection: Condition "!running" is true. Returning: false when VR headset doesn't output tracking info

Godot version
4.1.stable
System information
Godot v4.1.stable.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2070 SUPER (NVIDIA; <IP_ADDRESS>18) - Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 Threads)
Issue description
I'm using an Oculus Rift S. When the presence detection sensor doesn't detect it's on someone's head, it disables tracking and display output. This causes godot to spit out
E 0:00:01:0517   get_view_projection: Condition "!running" is true. Returning: false
  <C++ Source>   modules/openxr/openxr_api.cpp:1509 @ get_view_projection()

until the headset is put on.
Steps to reproduce
Run any project in editor that uses OpenXR with an oculus headset, but not on your face.
Minimal reproduction project
ViewProjectionExample.zip

cc @BastiaanOlij

Hmm, it's supposed to skip rendering that frame alltogether at this point. I'll have a look as soon as I can.

I've got the same error with my Rift S when it's not on my head and I run a VR project.
System information
Godot Engine v4.1.stable.official.970459615 - OpenXR runtime:  Oculus 1.87.0 - Microsoft Windows 11 Pro - AMD Ryzen 7 3700X 8-Core - Vulkan API 1.3.242 - Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1660 SUPER

Hmm, it's supposed to skip rendering that frame alltogether at this point. I'll have a look as soon as I can.

I've got the same error.
System information
v4.1.1.stable.official [bd6af8e0e] - OpenXR runtime: Oculus 1.87.0 - Microsoft Windows 10 - AMD Ryzen 5 3600X 8-Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 3060 TI

While not wearing the headset, I get the same error when using a Quest connected via link cable.
OpenXR run-time is set to Oculus.
Godot v4.1.2.stable.mono - Windows 10.0.19044 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3080 Laptop GPU (NVIDIA; <IP_ADDRESS>99) - AMD Ryzen 9 5900HX with Radeon Graphics (16 Threads)

I have the same error on my Rift S.


Update LayoutManager.java

simplify binary search mid calculation. It's the little things .... ;)

The suggested change would cause an integer overflow for large values of min/max, whereas the existing one avoids that.


[20.09] mopidy-local: init at 3.1.1

Motivation for this change
@mweinelt mentioned:

As the mopidy-local-{sqlite,images} packages are broken on 20.09 I think this is worth backporting to release-20.09.

This is a backport of https://github.com/NixOS/nixpkgs/pull/93400.
Things done

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

[ ] NixOS
[ ] macOS
[x] 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"
[x] 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)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I also tested compiling a buildEnv with mopidy-local and mopidy-iris and running the resulting mopidy binary.

Pinging @NixOS/nixos-release-managers as well.


fix(utils.js): update debug prints with [EPSAGON]

:tada: This PR is included in version 1.81.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


--all only exporting 250 events

Hey,
I'm running python3.7 generate_feeds.py --all -vv and getting this output:
6034 checkins to fetch
Fetched 1-250
Fetched 251-500
Fetched 501-750
Fetched 751-1000
Fetched 1001-1250
Fetched 1251-1500
Fetched 1501-1750
Fetched 1751-2000
Fetched 2001-2250
Fetched 2251-2500
Fetched 2501-2750
Fetched 2751-3000
Fetched 3001-3250
Fetched 3251-3500
Fetched 3501-3750
Fetched 3751-4000
Fetched 4001-4250
Fetched 4251-4500
Fetched 4501-4750
Fetched 4751-5000
Fetched 5001-5250
Fetched 5251-5500
Fetched 5501-5750
Fetched 5751-6000
Fetched 6001-6250
Fetched 6034 checkins from the API
Generated file ./foursquare.ics
This all looks perfect but when I import, it only imports 250 events.  Any ideas why?
Thanks,
Neil

@philgyford  I think this is sort of my fault. I don't think Python Anywhere was serving the correct version of the output file.  I've changed tactic and created a new calendar and manually imported all events into it and then set up IFTTT to add new checkins directly to that calendar.  Sorry for the confusion!!!


Review

Review
Originally posted by @LKS121 in https://github.com/maticnetwork/polygon-cli/pull/52#pullrequestreview-2140456285

Quick review done, a few amends in code comments, not quite sure what you wanted, please let me know if something else, thank you :D