Feat: add option to prioritize drops ending soonest

Personally, been using this for months and thought others might appreciate it.
This maximizes the amount of potential drops by focusing on drops ending soonest.
It still takes into account user's priority list and mines those drops first before moving onto any drops that aren't prioritized.

Hello o/
Interesting. I'm lost on it's function though. First of all, there's no need to sort campaigns with their ends_at, as that's already done during each and every inventory fetch:
https://github.com/DevilXD/TwitchDropsMiner/blob/d7c2c8d5c3fd8e258c90e70275bfe0fe0722f586/twitch.py#L1652-L1654
Upcoming campaigns are sorted by their starts_at, but since they can't be watched yet, the loop will just skip over them. linked is used as the last sort, to avoid looping over unlinked campaigns, and since Python's sort function is stable, the previous sorting orders remain in place. This also avoids decreasing the max_wanted_priority, whatever that represents.
The same campaigns order is then used to fetch the relevant channels for each campaign to progress, but since campaigns and channels aren't tied with each other, the order gets lost. If the order would be somehow preserved, the miner would always pick the very first channel to watch, as it'd have a game of the highest priority, and if no priority would be present (priority of 0), then the sorting by ends_at would ensure the first channel would be for a campaign that's going to end the soonest. But then again, the order between campaigns and channels isn't kept by anything other than the priority value.
Also, I can see this code actually modifies the priorities. How exactly is the priority list order kept in place and it prioritizes campaigns that's going to end soon?

Also, I can see this code actually modifies the priorities. How exactly is the priority list order kept in place and it prioritizes campaigns that's going to end soon?

Priority list is considered second to time ending soonest. This is intentional.
I want these drops from selected games, but I don't actually care about what order they're done in. By focusing on the order that they end in, you're less likely to miss a drop, by focusing purely on the name list.
Once the priority list is finished, then it does the same for non-priority games.

So essentially, when toggled on, it ignores the order on the priority list, but works only off the campaign's end date?
I mean, this was never the purpose of the priority list in the first place, and "priority" in the priority list stops making sense at that point. But I kinda like the idea a bit.
I'll need to think about this for a while. This isn't something that I can merge right away, but I'm not saying no to it. Could be something for #220 as well.

It doesn't fully ignore the priority list though. It still works on those games before any games not in the priority list.
A more major change is to add a third "top-priority" list that will work like the current logic no either way, but I fell like that's unnecessary as this has been working amazingly well for me

I actually thought that this was how the priority list worked - I didn't realize that the order listed in the priority list was the order the program would prioritize them in. I always assumed the system would prioritize in something like "If a priority campaign exists (regardless of location on the list), prioritize it over campaigns not on the list at all. Then, pick the one ending soonest that we can still get drops from."

Even better would be an algorithm maximizing the count of possible drops - like, make sure that few shorter are completed instead of one longer.
But this all would require writing some kind of actual scheduler and not just a simple sorting...

@jaredkotoff If you are willing to adapt this code to my new fixed fork, I would be willing to include it in that. Please only take the part, that prioritises end time, because as DevilXD said, the rest is redundant.

@Windows200000 i already have this code merged into a different fork, I was just trying to contribute back upstream

@jaredkotoff but it's broken now and DevilXD doesn't have the time to work on it, so I'm maintaining it in a fork for now.
I'm still not familiar with that part of the codebase, which is why it would make sense if you took the end-date priority and made a pull request in my fork, that works right now. Only if you want to, or if you were gonna adapt it for yourself anyways, of course.

@Windows200000 the fork I use has been working fine. So I'm not really interested in redoing the work. But like I said, this code is a bit hacky anyway. If you're going to maintain a new fork and want this feature, I would suggest having a different shape for the data that lets you sort these based on end time easier than how I did it here.

@Windows200000 the fork I use has been working fine. So I'm not really interested in redoing the work. But like I said, this code is a bit hacky anyway. If you're going to maintain a new fork and want this feature, I would suggest having a different shape for the data that lets you sort these based on end time easier than how I did it here.

@jaredkotoff Twitch changed the API recently and there is now no progress with code from the main repo. DevilXD expressed, that he would like to rewrite a big part sometime in the future anyways, but he doesn't have time now.
And I personally don't like working with python. If it was me I would make it in rust, work a lot more with defined variables, rather than hardcoded integers, compartmentalize a lot more, and have an SQLite db that allows simple access and use of all necessary data about streams and drops. But since my fork works, I have no motivation to write it entitely from scratch.

@Windows200000 I understand what you are saying. The other fork I use already pulled in your changes, as well as several features I've already contributed. You're free to pull in all this code too, there's no modification needed as it works as i expected it too.

@jaredkotoff would've moved it elsewhere, but you don't have issues on your fork
The comparison is interesting. The "starting" message is kinda pointless, because there is no terminal it could get printed to and I can't implement headless, because despite me having to leave my whole PC running, DevilXD is (rightfully) worried about people using that to make money/spam twitch.
I will look into the ending priority tho, I hope nothing collides with the dark mode I just added.

@jaredkotoff Oh you have 2 accounts, that confused me xD, is there a reason you don't have this priority in your main fork?

@Windows200000 i don't have tow accounts. I have an GitHub org I sometimes work under.
I have a fork from this repo there for the changes that don't conflict with this repos philosophies.
The fork under my account is to contribute to the others for (that I have not mentioned or linked to in respect for the philosophy of this repo).
If you're looking for this sorting code, this PR has the extracted and relevant code.
The branch on the fork for my personal code has some altered functionality. I forget I never actually got this code merged into a different fork because I was hoping this would get accepted here and wanted to avoid conflicts latest on.

Also, It might be a worthwhile venture to implement your own solution.
This code is kind of hacky. I added some comments to better explain things though.

@jaredkotoff  I don't see a good reason to add the unlinked stuff, so I think I will stick to this. I think that would just confuse people, it's not like you get anything without linking anyways.

@Windows200000 there is no unlinked stuff in this PR or fork.

@Windows200000 there is no unlinked stuff in this PR or fork.

it's not like you get anything without linking anyways.

You do. You get the drops.

@jaredkotoff But they can't get added to your game account without linking, or am I missing something? I mean you can link later, but there is no reason not to link right away if you want them.

@Windows200000 You are missing how time works...
Drops are a limited time event and games cost money. Not everyone owns every game the second they are released.
You can buy furniture for a house that you will move into someday, you don't have to own the house first.

Going to rework this code


Added running/testing instructions

Added running/testing instructions in run.md

Merged manually with master.


Update and re-enable stylelint and fix errors

[ ] Update stylelint from version 10 to version 15
[ ] Fix the >100 stylelint errors
[ ] Re-enable the stylelint check as part of CI (currently commented out in .github/workflows/ci-cd.yml)

We have a lot of errors, but they occur within 16 files
Grouped as follows:

Unexpected unknown unit "dvh"   unit-no-unknown (fixed already within this PR)
Unexpected duplicate - removed from three files

Rest of the rules to fix:
3.   Unexpected unknown property "container-type"   - property-no-unknown
4. Unexpected unknown at-rule "@container" (at-rule-no-unknown)   scss/at-rule-no-unknown
5. Expected selector "." to come before selector "." no-descending-specificity - most errors

https://www.npmjs.com/package/optimize-css-assets-webpack-plugin - webpack + 5 upate

Fixed a few linting errors:

Duplicates
Support for 'dvh' unit

Pausing it when we merge Webpacker issue (I would need to update it here as well, merge conflict alert)

Merged: https://github.com/RaspberryPiFoundation/editor-ui/pull/926

merged up and any other related tickets will be added separately


使用 pnpm 安装 vue create 会 报错

Version
5.0.8
Environment info
macos12.5  pnpm7.9.0

Steps to reproduce
vue create back
选择 pnpm  报错
What is expected?
正常能够使用pnpm构建项目依赖
What is actually happening?
安装使用pnpm 出现以下错误
command failed: pnpm install --reporter silent --shamefully-hoist --registry=https://registry.npmmirror.com/

Follow the tips my friend gave me
mkdir back && cd back && pnpm init && vue create .

still wrong

I have tried to use create-vue in slowly getting used to

You can add strict-peer-dependencies=false in .npmrc file and it may work

nope, same error

Yeah, I just found it that the error interrupted the process of installing, and the next process of generating files wouldn't execute. So the method won't work, maybe another solution is to degrade pnpm to 6.x because the installing is build-in.

You can start a new line in .npmrc and add auto-install-peers=true.  This works for pnpm v6 and pnpm v7.  👀

i try first

Wow, lowering pnpm to 6 works fine . amazing

thanks man

You can start a new line in .npmrc and add auto-install-peers=true.  This works for pnpm v6 and pnpm v7.  👀

That won't work because .npmrc file will be overwrite by cli🤣

Yeah

You can start a new line in .npmrc and add auto-install-peers=true.  This works for pnpm v6 and pnpm v7.  👀

That won't work because .npmrc file will be overwrite by cli🤣

There are two ways.
One is to submit a PR with additional processing auto-install-peers=true.  I'm still waiting for a friend who has permission to merge the PR to review and compare https://github.com/vuejs/vue-cli/pull/7265.
The other is to switch nodejs corepack to pnpm v6 to initialize the project, and then switch nodejs corepack to pnpm v7 to execute pnpm install, which also requires manually adding auto-install-peers=true.

So if I add that sentence to .npmrc first, it's fine

This issue was fixed in #7265 and should be closed.

ok thanks

pnpm i 提示这个错误
no such file or directory, stat<EMAIL_ADDRESS>这是什么原因


Plot for VegaLite

We need to add documentation to explain:

Similarities and differences between Plot and VL
Examples to illustrate differences (and how Plot is easier in a lot of cases to use and get started with)
When to use Plot over VL (and also when to not use Plot, where VL is better)
Examples to illustrate the utility of Plot

https://observablehq.com/@observablehq/plot-vega-lite


Cannot get the log view of the topic end of module 01

We can check that describing the topic one more time.

oc exec -it my-cluster-kafka-0 -- bin/kafka-topics.sh --zookeeper localhost:2181 --describe
does not return what is shown in the lab.
I get
[build@localhost strimzi-0.8.0]$ oc exec -it my-cluster-kafka-0 -- bin/kafka-topics.sh --zookeeper localhost:2181 --describe
Defaulting container name to kafka.
Use 'oc describe pod/my-cluster-kafka-0 -n voxxed' to see all of the containers in this pod.

Also the GitHub rendering is confusing and I did nto know I had to stop at the end of --describe. I ended up selecting the line below too

Likewise
oc exec -it my-cluster-kafka-0 -- bin/kafka-topics.sh --zookeeper localhost:2181 --list

does not return what is expected.
[build@localhost strimzi-0.8.0]$ oc exec -it my-cluster-kafka-0 -- bin/kafka-topics.sh --zookeeper localhost:2181 --list
Defaulting container name to kafka.
Use 'oc describe pod/my-cluster-kafka-0 -n voxxed' to see all of the containers in this pod.

Fixed in https://github.com/debezium/microservices-lab/pull/51

I'm still seeing this issue with one broker node.
Perhaps @ppatierno or @scholzj have an idea:
I'm getting this when running oc describe kafkatopic my-topic:
Events:
  Type     Reason  Age        From                                     Message
  ----     ------  ----       ----                                     -------
  Warning            io.strimzi.operator.topic.TopicOperator  Failure processing KafkaTopic watch event ADDED on resource my-topic with labels {strimzi.io/cluster=my-cluster}: KeeperErrorCode = Session expired for for path: /strimzi/topics/my-topic

Ok, so the issue is that the topic operator looses the connection to the ZK node when it gets restarted as part of the limit configuration. It's a known issue in Strimzi and should be fixed soon. I've filed https://github.com/debezium/microservices-lab/pull/58 for working around it.

Done.


">" character triggers intellisense

Typing ">" character always triggers intellisense function, thus i can not close a HTML tag and hitting ENTER for a new line without inserting the first suggestion!
https://imgur.com/hSOg5uq
So when i type "" for example and hitting ENTER i get: $_COOKIE

You can set "php.suggest.basic": false to prevent this from happening.

https://github.com/Microsoft/vscode/issues/37919


Disable history for windows

Currently in the save function in history.py it checks os.environ["SHELL"] which doesn't exist on windows. This is just a quick patch to stop an ugly traceback on windows.

Good point. I didn't test on windows. It looks like Powershell 5 supports a history feature (http://woshub.com/powershell-commands-history). But that sounds like and additional feature.

Merging this for now, but to @2mawi2 s point, should we experiment with (http://woshub.com/powershell-commands-history) for Windows? @EdwardTheLegend What do you think?

Absolutely. I wonder if there is a way to write to the history for cmd as well.


data/test/TestNodes.json not found

Hi guys,
I'm investing into the possibility to use NeuScraper for an open source software for which I'm contributing (ScrapeGraphAI)
Can you provide an example of TestNodes.json?

Hi, Lorenzo.
data/test/TestNodes.json was generated using step 2 of the Reproduction subsection of the README.
If you have any other questions, please feel free to let me know!

This is related to #3 in that this repo doesn't provide any documentation on how to use this model except if you download the 10 billion document clueweb22 dataset. An example of how to use this in a more general way would be very helpful


Improve usage of singleton configs

Configuration of used services were being kept in object instances that were really Sigletons. We're migrating these to classes.

Closed by #373


Vim copy/paste

Whith this option in .vimrc I can copy/paste between windows and wsl when i start vim from a wsl terminal.
" make yank copy to the global system clipboard (windows)
set clipboard=unnamed

But I cant when I start vim from vim.exe. What is the difference between the two start up methods? Is there a workaround or fix available?

Hi, probably it's too late for an answer. I took over this recently. The difference is that for vim.exe / emacs.exe etc the shell is not started with --login.
I haven't considered this scenario. I will think about it, maybe it makes sense to have  -l also for this situation.

but for me it works with both, I have  '''set clipboard^=unnamed,unnamedplus''' in my vimrc
https://github.com/mskyaxl/dotfiles/blob/master/vim/vimrc

closing as no reply was given.


adding default to exports for ES6 and updating TS definitions

removing anys

Thanks very much.
(nowDate: string): TimeAgoConstructor;
(nowDate: string, defaultLocale: string): TimeAgoConstructor;
register(locale: string, localeFunc: Function): void;

the defaultLocale and nowDate also can be timestamp or Date instance.

fixed #105


Does bold text mean anything in the checklist

The bold line are any record that is different to the original published catalogue. We can ignore this for GBIF.


21 on new infineon icons release trigger version update in infineon stencil library

By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---
CONTRIBUTING.md also tells you what to expect in the PR process.
Description
Test - on new infineon icons release create a PR in infineon stencil library

📦 Published PR as canary version: 1.1.8--canary.22.da4d6ee21f31cf2a3b2349ae41499048572fc0e9.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

trying to solve this using dependabot on the stencil-library repository


fix broken tests in windows

when running npm test on windows, a "PATH" variable was added to the environment while in windows the path variable is "Path".
This caused two path variables in the env object in the tests, which caused the expected and actual results to diverge.
Since the use of getPathVar was removed from the lib in previous commits, I thought it ok to remove it's use in the test cases.

[Current coverage][cc-pull] is 100%

Merging [#18][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #18   diff @@
===================================
  Files           1     1
  Lines          32    32
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits           32    32
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last updated by [22bf76d...6a7d87e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/kentcdodds/cross-env/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/kentcdodds/cross-env/compare/22bf76db754be5f68ddb4f7e25838c2f2a814ea7...6a7d87e8f1ae2bec61ea754f057c9c037f415f80?src=pr
[cc-pull]: https://codecov.io/gh/kentcdodds/cross-env/pull/18?src=pr

Sorry, this wont work. We need to add the Path environment variable when spawning the script so we can have ./node_modules/.bin in the path and anything else that npm puts in the path because the main use case is to use this in npm scripts. Merging this would cause a major regression across most users of cross-env
I would like to discuss the underlying problem you're describing though:

This caused two path variables in the env object in the tests, which caused the expected and actual results to diverge.

I'm not sure why/how this could happen. Could you elaborate?

"We need to add the Path environment variable when spawning the script" -
but you don't, it was removed in https://github.com/kentcdodds/cross-env/commit/187c068f9bb12e010eb22f30ba0b8778e9edd6ca but the test code was not similarly updated.
In windows, what happens is that in the test the path variable is named "Path" but in the test cases you add another parameter named "PATH" (like in linux), because getPathVar() needs to be passed the platform value.
What this causes is that the spawn spy is called with the real process.env but we compare it to an object that has both a "Path" attribute and a "PATH" attribute.
Basically all tests fail on windows. Try to run the tests on a windows machine.

Oh snap. My apologies!


[editor] - List of node choices gets too long.

Possible solution would be to make scrollable list of nodes or group them into multiple columns.

Done! I will just add some visual CSS arrow later. Right now its working on portal.


SSHException with latest testinfra

Issue Type

Bug report

Molecule and Ansible details
ansible 2.8.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/xxx/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Apr  9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
molecule, version 2.20.1

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Desired Behavior
molecule verify with the vagrant driver using virtualbox should successfully ssh into the guest vm created by molecule. This worked before upgrading to latest molecule & testinfra without changing anything else.
Actual Behaviour
The error is: SSHException: No authentication methods available. If I change the molecule generated ansible inventory files ansible_private_key_file key to ansible_ssh_private_key_file it works. Additionally, molecule login works without issue. This worked before upgrading to latest molecule & testinfra without changing anything else.
Another workaround in a simple test file is:
import os

import testinfra.utils.ansible_runner

testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')

def test_docker_run(host):
    current = host.backend.ansible_runner.inventory['_meta']['hostvars']['instance-1']['ansible_private_key_file']
    host.backend.ansible_runner.inventory['_meta']['hostvars']['instance-1']['ansible_ssh_private_key_file'] = current
    with host.sudo():
        assert host.run('docker run -t -d --name test alpine cat').rc == 0
        assert host.docker('test').is_running

I'm unsure if molecule or testinfra is at fault so posting here first. Let me know if I should post a testinfra issue.

Thanks for the report! AFAICT, both are still supported in Ansible:

https://github.com/ansible/ansible/blob/devel/lib/ansible/constants.py#L147

I did take a look into testinfra and it seems to be making a decision on this:

https://github.com/philpep/testinfra/blob/master/testinfra/utils/ansible_runner.py#L85

So, it looks like we have a mismatch from testinfra then? We should perhaps try to patch testinfra to support both Ansible advertises that as well. What do you think @sassoo?

Took a stab in https://github.com/philpep/testinfra/pull/448.

I took a quick glance at the ansible documentation here & only saw a reference to ansible_ssh_private_key_file.
Also, many of the other ssh related keys include 'ssh' in the name so for consistency & easy googling I'd probably migrate toward that. If it's a PITA then no big deal but it was the absence of any google results for ansible_private_key_file that made me think to test changing it.

Also, thanks for the rapid feedback & testinfra issue! Super cool.

Cool! Testinfra change is merged now so it's possible to test against latest Testinfra HEAD. I've asked for a release and will close this when that is officially on PyPi. Thanks again for this early testing and feedback.

Please reopen #2077 - its not a duplicate


ci: Override coverage source path for SonarCloud

Description
This change adds a new step to the code-test.yml workflow file to override the coverage source path for SonarCloud. The new step uses sed to replace the source path in the coverage.xml file, changing it from /home/runner/work/project-status-checker/project-status-checker to /github/workspace. This modification ensures that SonarCloud can correctly locate and analyse the source files during the scan process.
fixes #76

Merge activity

Oct 7, 3:44 AM EDT: @JackPlowman merged this pull request with Graphite.


Feature/no ref/update common resources

Describe your changes
Issue ticket number and link
Closes #xxxx (Replace xxxx with the GitHub issue number)
Checklist before requesting a review

[ ] I have performed a self-review of my code

Check the correct box. Does this PR contain:

[ ] Breaking changes
[ ] New functionality
[ ] Major changes
[ ] Minor changes
[ ] Bug fixes

[ ] Proposed changes are described in the CHANGELOG.md

[ ] CI Tests succeed and look good!

Requirements after merging

[ ] Need to regenerate common/ resources

[ ] Need to regenerate task-specific resources. Specify: <all or ...>

I'm inclined to close this PR and keep Viash 0.9 changes for the openproblems-bio/task_* repositories. wdyt?

This was before the other repos so agree


Error: Building package lzo:x86-windows failed with: BUILD_FAILED

Unable to build package with folowing commad:
 .\vcpkg install lzo:x86-windows
PS C:\prjfolder\vcpkg> .\vcpkg install lzo:x86-windows
Computing installation plan...
The following packages will be built and installed:
    lzo[core]:x86-windows
Starting package 1/1: lzo:x86-windows
Building package lzo[core]:x86-windows...
-- Using cached C:/prjfolder/vcpkg/downloads/lzo-2.10.tar.gz
-- Using source at C:/prjfolder/vcpkg/buildtrees/lzo/src/lzo-2-aab747ea28
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Restarting Build without parallelism because memory exceeded
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
    Command failed: C:/prjfolder/vcpkg/downloads/tools/cmake-3.14.0-windows/cmake-3.14.0-win32-x86/bin/cmake.exe --build . --config Release --target install -- -v
    Working Directory: C:/prjfolder/vcpkg/buildtrees/lzo/x86-windows-rel
    See logs for more information:
      C:\prjfolder\vcpkg\buildtrees\lzo\install-x86-windows-rel-out.log
      C:\prjfolder\vcpkg\buildtrees\lzo\install-x86-windows-rel-out-1.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/lzo/portfile.cmake:30 (vcpkg_install_cmake)
  scripts/ports.cmake:90 (include)

Hi @suvvenndu, thanks for reporting this issue!
I can't repro this issue, please provide failure log C:\prjfolder\vcpkg\buildtrees\lzo\install-x86-windows-rel-out.log and C:\prjfolder\vcpkg\buildtrees\lzo\install-x86-windows-rel-out-1.log.
Thanks.

We haven't been able to repro this; if more information comes up, or this issue appears again, please reopen.


"Resource not accessible by integration" error occurs with getResourceOwner method

I upgraded league/oauth2-github from 3.0 to 3.1 and now I get "Resource not accessible by integration" error occurs with getResourceOwner method (This may be unrelated, but I upgraded from PHP 7.4 to 8.1 at the same time).
Below is part of the code for my slim application login (It's a GitHub App).
$app->get('/login', function (Request $request, Response $response) use ($app) {
    $defaultReturnUrl = '/dashboard';
    $params = $request->getQueryParams();

    $container = $app->getContainer();
    $settings = $container->get(SettingsInterface::class);

    $provider = new League\OAuth2\Client\Provider\Github([
        'clientId' => $settings->get('githubClientId'),
        'clientSecret' => $settings->get('githubClientSecret'),
        'redirectUri' => $settings->get('url') . '/login',
    ]);

    if (!isset($params['code'])) {

        // If we don't have an authorization code then get one
        $authUrl = $provider->getAuthorizationUrl();
        $_SESSION['oauth2state'] = $provider->getState();
        return $response->withHeader('Location', $authUrl)->withStatus(302);

    // Check given state against previously stored one to mitigate CSRF attack
    } elseif (empty($params['state']) || ($params['state'] !== $_SESSION['oauth2state'])) {

        unset($_SESSION['oauth2state']);
        throw new HttpBadRequestException($request, 'Failed CSRF check!');

    } else {

        // Try to get an access token (using the authorization code grant)
        $token = $provider->getAccessToken('authorization_code', [
            'code' => $params['code']
        ]);

        // Optional: Now you have a token you can look up a users profile data
        try {

            // We got an access token, let's now get the user's details
            $user = $provider->getResourceOwner($token);

            // Use these details to create a new profile
//                printf('Hello %s!', $user->getNickname());

        } catch (Exception $e) {

            // Failed to get user details
            throw $e;
        }

        // ...
    }
});

Below are the details of the error.
Slim Application Error
Type: League\OAuth2\Client\Provider\Exception\GithubIdentityProviderException
Code: 403
Message: Resource not accessible by integration
File: /app/vendor/league/oauth2-github/src/Provider/Exception/GithubIdentityProviderException.php
Line: 51
Trace: #0 /app/vendor/league/oauth2-github/src/Provider/Exception/GithubIdentityProviderException.php(21): League\OAuth2\Client\Provider\Exception\GithubIdentityProviderException::fromResponse()
#1 /app/vendor/league/oauth2-github/src/Provider/Github.php(110): League\OAuth2\Client\Provider\Exception\GithubIdentityProviderException::clientException()
#2 /app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628): League\OAuth2\Client\Provider\Github->checkResponse()
#3 /app/vendor/league/oauth2-github/src/Provider/Github.php(74): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse()
#4 /app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(767): League\OAuth2\Client\Provider\Github->fetchResourceOwnerDetails()
#5 /app/app/routes.php(116): League\OAuth2\Client\Provider\AbstractProvider->getResourceOwner()
#6 /app/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(38): Closure->{closure}()
#7 /app/vendor/slim/slim/Slim/Routing/Route.php(358): Slim\Handlers\Strategies\RequestResponse->__invoke()
#8 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\Routing\Route->handle()
#9 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\MiddlewareDispatcher->handle()
#10 /app/vendor/slim/slim/Slim/Routing/Route.php(315): Slim\MiddlewareDispatcher->handle()
#11 /app/vendor/slim/slim/Slim/Routing/RouteRunner.php(68): Slim\Routing\Route->run()
#12 /app/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Slim\Routing\RouteRunner->handle()
#13 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\RoutingMiddleware->process()
#14 /app/vendor/slim/twig-view/src/TwigMiddleware.php(115): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#15 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Views\TwigMiddleware->process()
#16 /app/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#17 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process()
#18 /app/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#19 /app/vendor/slim/slim/Slim/App.php(199): Slim\MiddlewareDispatcher->handle()
#20 /app/public/index.php(89): Slim\App->handle()
#21 {main}
Tips: To display error details in HTTP response set "displayErrorDetails" to true in the ErrorHandler constructor.

I explicitly granted user:email as read-only in the Github App permissions and the error no longer occurs.
Is it now mandatory to specify this since 3.1?

Yes, the user:email permission is required since #20. It seems this was not properly documented.
@Gyvastis would you please create a PR that updates the README to describe the necessary permissions required?

Fixed be #23.


Removing global environment from concrete execution

The global environment is no longer used for concrete execution.

Would memoizing #inKeysgEnv improve efficiency?


Move Gitlab Pipeline to Concourse

Is your feature request related to a problem? Please describe.
Gitlab pipeline is always getting stuck due to a lack of workers. This could be fixed but since the price model is changing and we have Concourse resources available around then we should move the pipeline into it.
Describe the solution you'd like
Make sure that whatever is happening on Gitlab pipeline is replicated on Councourse, like:

Linting
Run the same tests that we are running today on Gitlab
Publish the artifacts to S3 bucket
Cleanup all Gitlab references on KubeCF repository

Describe alternatives you've considered
N/A
Additional context
N/A

Can we close this?


[gui error report] Error: Initializing daemon...

👉 Please describe what you were doing when this error happened.
Specifications

OS: win32 10.0.22621
IPFS Desktop Version: 0.24.1
Electron Version: 19.0.9
Chrome Version: 102.0.5005.167

Error
Error: Initializing daemon...
Kubo version: 0.16.0
Repo version: 12
System version: amd64/windows
Golang version: go1.19.1
Error: directory missing SHARDING file: C:\Users\yunus\.ipfs\blocks

    at errorTemplate (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\migration-prompt.js:78:49)
    at Object.loadWindow (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\migration-prompt.js:129:26)
    at startIpfsWithLogs (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\daemon.js:191:25)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async startDaemon (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\daemon.js:216:27)
    at async startIpfs (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\index.js:48:17)
    at async restartIpfs (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daemon\index.js:102:5)
    at async Object.restartIpfs (C:\Users\yunus\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\daem

i thinks this was permission issue, my  .ipfs folder  was belong to my  previous windows installation.  its solved when i deleted .ipfs folder i didnt have any important things from old setups.


Badge no longer works in v5.0.0

Same thing as in https://github.com/skclusive/Skclusive.Material.Component/issues/67 worked with 3.0.2-preview1, does not work with 5.0.0-rc2
<Badge Badge="@SomeProperty.ToString()"<EMAIL_ADDRESS>  <IconButton class="@IconButtonClass">
    <SomeIcon></SomeIcon>
  </IconButton>
</Badge>

SomeProperty.ToString() is "31", but no badge is displayed, just the icon. Again, this happens in application that has been updated as stated here: https://github.com/skclusive/Skclusive.Material.Component/issues/67#issuecomment-721133191

thats bad. will check the changes from 3.0.2-preview1 to 5.0.0-rc2 and get back to you.
if possible can you share minimal repo to reproduce?

Badge parameter was renamed to BadgeText. <Badge Badge="10" /> renamed to <Badge BadgeText="10" />
could you please if this is the issue.

That fixed the issue.
Thanks


Gradle verify on each pull request

You can increase trust by an automated Gradle verify on each pull request

I know: https://github.com/CanHub/Android-Image-Cropper/blob/3c7739f52ae314e9c86a2287e2c4eb70c41633aa/.github/workflows/build.yml#L18-L19


New API with Rx6 and without Promises

This will be another breaking change, but I think it will be worth it.
ToDos

Use new Pipe operator in the examples

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[API-1358] Make sure that the logger static lock mutex is not destroyed before any global client instance

Changed the logger lock mutex so that we can control its destruction order properly. We do not want it destroyed before the client is destructed. We need to control the order. static initialization and destruction order is not controllable if it is not a member of the logger class. It can be destroyed before the any global client instance is destroyed since global variables are also in static duration (https://www.learncpp.com/cpp-tutorial/introduction-to-global-variables).
See the related issue for a reproducer of the problem. Unfortunately, I could not write a unit test for it since i needed global variable and static variable destruction which would require a separate test binary. Hence, i tests manually using the test code in the issue.
fixes https://github.com/hazelcast/hazelcast-cpp-client/issues/976

Windows test FAILed.

Linux test FAILed.

Linux test FAILed.

verify-linux

Linux test FAILed.

Linux test FAILed.

Linux test PASSed.

Windows test PASSed.

I did not quite understand what we are doing. Is the cout_lock global variable now instead of a static variable? If so, how does it help?

Windows test PASSed.

Linux test PASSed.


Updated outdated, dependencies.

Tested by executing listed commands in the readme.

Great, thanks.

Pleasure is mine. is it okay to delete the branch now.

Yeah, it's fine to delete it now.


Where is the config file stored, on Windows?

I just installed on Windows. For whatever reason, I immedietly opened the config file, via the File menu, and saw that there was a setting to specify which shell to use. I typed in powershell and saved. Now hyperterm fails to bring up any shell, etc.
Where is this config file stored? I need to undo that change.

@ryancole It is stored in the default user directory : C:\Users{userName}.hyper.js . Just edit it and point to direct powershell path : C:\\Windows\\System32\\WindowsPowerShell\\v1.0

Thanks!

Also I found that the '--login' shell argument prevents powershell from opening. Try removing it and open the terminal again.

Looks like in hyper 3 the default location has changed to C:\Users\{userName}\AppData\Roaming\Hyper.  Just wanted to make note of that in case others run into same issue

Could anybody update the new path for windows in the guide? (https://hyper.is/)
Currently this is shown: $Env:AppData/Hyper/.hyper.js

Hi there, IMHO the new configuration location hardens its location and user backup. It is a quite annoying directory for a so important file. Why not something more obvious directory such as the previous C:\Users\USER\.hyper.js or C:\Users\USER\.hyper\hyper.js?
My C:\Users\USER\AppData\Roaming directory is 428MB. I don't think this is a "configuration" directory and I don't need to backup. If I want to move no a new environment is very annoying to locate every application configuration directory. I don't think Windows (or at least its applications) works or respect something like Linux XDG Base Directory Specification.
P.S. I'm just a newcommer to Hyper, and all I can say is 😍 😍 😍


[WINDOWS] Picker don't work in DrawerNavigation

Environment
Environment:
OS: Windows 10
Node: 9.11.1
Yarn: 1.6.0
npm: 5.6.0
Watchman: Not Found
Xcode: N/A
Android Studio: Version  <IP_ADDRESS> AI-171.4443003
Packages: (wanted => installed)
react: 16.3.0-alpha.1 => 16.3.0-alpha.1
react-native: 0.54.0 => 0.54.0
Description
When you use  component into a drawerNavigation, the picker appears but it don't work when you try to use it nothing append.
Reproducible Demo
You can try with the Picker exemple on the DOC

Can you expand your description and repro steps? We need more information, a code sample, etc.


ENH / Workflow: Notify on slack about peft + transformers main test results

As per title and discussed offline, this will send the results in our daily CI channel
cc @BenjaminBossan

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


"Months" not translate in Simplified Chinese

@leogcry22 That's because the translation is missing in the translation file (https://github.com/eternicode/bootstrap-datepicker/blob/master/js/bootstrap-datepicker.js#L1034). Please open a PR and provide a translation for monthsTitle. Thanks!


libtiff in Ubuntu 22.04 is unusable because of a missing dependency

Description
libtiff in Ubuntu 22.04 is unusable because of a missing dependency.
Ubuntu 22.04 itself has a missing dependency between these packages - libtiff requires webp.
This confuses configure scripts.
Platforms affected

[ ] Azure DevOps
[X] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] Ubuntu 24.04
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
2.317.0
Is it regression?
Probably not
Expected behavior
libtiff has all of its dependencies
Actual behavior
libtiff is missing libwebp
Repro steps
Compile the following program:
#include <tiff.h>
#include <tiffio.h>

int main() {
  thandle_t image;
  TIFFClientOpen("", "rb", image, nullptr, nullptr, nullptr, nullptr, nullptr,
                 nullptr, nullptr);
  return 0;
}

with
g++ -o test-tiff test-tiff.cc `pkg-config --static --libs libtiff-4`

Also
ldd /lib/x86_64-linux-gnu/libtiff.so.5

https://github.com/mmomtchev/ImageMagick/actions/runs/10195141340/job/28203226137

@mmomtchev Thank you for bringing this issue to us. We are looking into this issue and will update you on this issue after investigating.

@mmomtchev Could you please try the below

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build:
    runs-on: ubuntu-22.04

    steps:
      - uses: actions/checkout@v4

      - name: Create test-tiff.cc file
        run: |
          echo '#include <tiff.h>
          #include <tiffio.h>
          int main() {
            thandle_t image;
            TIFFClientOpen("", "rb", image, nullptr, nullptr, nullptr, nullptr, nullptr,
                           nullptr, nullptr);
            return 0;
          }' > test-tiff.cc
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y libtiff-dev libwebp-dev pkg-config
      - name: Compile the program
        run: |
          g++ -o test-tiff test-tiff.cc `pkg-config --static --libs libtiff-4`
      - name: Check dependencies of libtiff
        run: |
          ldd /lib/x86_64-linux-gnu/libtiff.so.5```

Yes, installing the missing dependency will obviously fix it

@mmomtchev Hopefully your issue is resolved, Closing this issue Thanks.


Expose Lexbor fragment parser

Currently any attempt to parse HTML fragments (such as for example
One

Two
) has to go through LexborHTMLParser which treats it as a HTML document and adds ,  and other unneeded tags.
Using LexborHTMLParser(fragment).body.child, which is shown in some examples gives a result that seems correct for common cases but for many edge cases is very different from the parsing algorithm used by browsers to parse HTML fragments.
Lexbor appears to have a special parser for HTML fragments (lxb_html_document_parse_fragment). It would be nice if this could be exposed in selectolax.

Hey, I just came across this issue too!
Context:
In django_components's components, I am given HTML which I do NOT know if it is full HTML document or a fragment.
If it is a fragment, like

    Hello

Then LexborHTMLParser wraps this fragment HTML within , ,  (extra lines added for clarity):

	    Hello

I found a workaround to discern HTML documents from fragments, which is that I check if the entirety of the HTML string is within  or . If so, then I'm dealing with a fragment, and I unwrap it.
However, there's a problematic edge case when the given HTML starts with tags that are permitted to be in the  (See explanation in https://github.com/lexbor/lexbor/issues/183#issuecomment-1611975340). E.g.:
<link href="https://..." />

    Hello

Which gets turned into

    <link href="https://..." />

	    Hello

Would the fragment parser work for this case, AKA would the fragment parser parse the HTML tags as is, without moving tags around nor adding extra tags?
And could I use the fragment parser to handle both full HTML documents and HTML fragments? Does the fragment parser keep e.g. <!doctype>, , etc, unchanged?
@lexborisov, these are probably questions on you.
If so, then I can help implementing this onto selectolax.

I played around this today. I tried different approaches, it compiled, but got seg faults at runtime. If someone more familiar with either this repo / Cython / C comes across this, let me know and I can share what I got.
One realization, though, is that the instantiation of the Node class requires the HTMLParser instance. So if I want to have a function like
node = lexbor_fragment("
...
")
assert isinstance(node, LexborNode)

Then internally lexbor_fragment still needs to instantiate the HTMLParser, and then pass that to Node.

Based on the return types, I think that what I want is the value of parser->root.
I tried using something like lxb_html_parse_fragment, but I think that I got seg faults because those functions also clean up after themselves.
So then I tried calling lxb_html_parse_fragment_chunk_begin, lxb_html_parse_fragment_chunk_process,  lxb_html_parse_fragment_chunk_end one-by-one, to see where the problem could be. But I didn't get farther.

@lexborisov Can you please give us some hints?

Hi @rushter @JuroOravec
I'm not quite sure what's required of me? The task itself seems strange: to identify a full or a fragment of a document.
I'd say the task is unsolvable.
In HTML, the , ,  tags are optional. They are created automatically during parsing.
In other words, for me the complete document is
Oh my
.

Oh my
 ==
Oh my
.
In general, only a person can decide whether they have a fragment or a full document.
P.S.: I didn't quite understand about the segfault.

Hey @lexborisov, basically I wonder if Lexbor / Modest has some function that parses HTML, but without inserting the , ,  tags.
That's why I was playing around with lxb_html_parse_fragment. But I'm new to Lexbor codebase, so it's all just assumptions on my end.
If there is a way to parse HTML without adding the extra tags, then for Selectolax we could write a function in Cython, and use the corresponding Lexbor API.
Otherwise, we would have to do the data manipulation to remove the extra tags in Python layer.

Btw, @rushter, what do you think about having these features defined in selectolax? I can have a go at it.
I also noticed the suggestion for new_tag("th") in #133. So new APIs could look e.g. like this:
lexbor_parse(html: str | bytes) -> List[Union[LexborNode, LexborHTMLParser]]
lexbor_tag(tag_name: str) -> LexborNode

modest_parse(html: str | bytes) -> List[Union[Node, HTMLParser]]
modest_tag(tag_name: str) -> Node

lexbor_tag / modest_tag

These would be just given a tag name, e.g. h2, and would create an empty Node. Same asdef lexbor_tag(tag_name: str):
    return lexbor_parse(f"<{tag_name}></{tag_name}>")[0]

lexbor_parse / modest_parse

This would be similar to the implementation code I wrote at the end of this comment.
The idea is that while HTMLParser wraps the HTML in , , etc, lexbor_parse would return
the nodes that corresponds to the given HTML. So it would return HTMLParser only if user gave the parser a proper HTML with  at the top-level. Otherwise it would return a list of Node.
To support multi-root HTML fragments, the results would be returned as a list.
Internally it would use HTMLParser to parser the HTML. Then it would somehow decide whether the given HTML was a fragment or not, and if so, would unpack HTMLParser into Node

def lexbor_parse(html: str | bytes):
    tree = LexborHTMLParser(html)
    if is_fragment(tree):
        return extract_fragment(tree, html)
    else:
        return [tree]

Btw, @rushter, what do you think about having these features defined in selectolax? I can have a go at it.
I also noticed the suggestion for new_tag("th") in #133. So new APIs could look e.g. like this:
lexbor_parse(html: str | bytes) -> List[Union[LexborNode, LexborHTMLParser]]
lexbor_tag(tag_name: str) -> LexborNode

modest_parse(html: str | bytes) -> List[Union[Node, HTMLParser]]
modest_tag(tag_name: str) -> Node

lexbor_tag / modest_tag

These would be just given a tag name, e.g. h2, and would create an empty Node. Same asdef lexbor_tag(tag_name: str):
    return lexbor_parse(f"<{tag_name}></{tag_name}>")[0]

lexbor_parse / modest_parse

This would be similar to the implementation code I wrote at the end of this comment.
The idea is that while HTMLParser wraps the HTML in , , etc, lexbor_parse would return
the nodes that corresponds to the given HTML. So it would return HTMLParser only if user gave the parser a proper HTML with  at the top-level. Otherwise it would return a list of Node.
To support multi-root HTML fragments, the results would be returned as a list.
Internally it would use HTMLParser to parser the HTML. Then it would somehow decide whether the given HTML was a fragment or not, and if so, would unpack HTMLParser into Node

def lexbor_parse(html: str | bytes):
    tree = LexborHTMLParser(html)
    if is_fragment(tree):
        return extract_fragment(tree, html)
    else:
        return [tree]

What's the benefit of lexbor_parse instead of a more explicit option like parse_fragment?

@rushter When I was writing previous message, I was thinking of having a function that would take some HTML, and would convert it to either HTMLParser or Node, depending on the structure of the given HTML (e.g. if it contains , then treat it as  HTMLParser, otherwise as a list of Nodes.
And my line of thinking was that if there was such a function that returned either A or B, then it shouldn't be called parse_fragment, but just parse.
Buuuuuut, I had a further look at the codebase, and I realized that:

Initially I wasn't sure whether it would be possible to convert HTMLParser to Node. Because if we wanted to have parse_fragment, then IMO it should ALWAYS return instances of Node. So even if I pass in a full HTML document with  ... , it should return Nodes. But I found that we can convert HTMLParser to Node via HTMLParser.root. So we can totally have parse_fragment

I also noticed that the API for Node and HTMLParser are almost identical (in Lexbor, it seems that Node is missing clone(). And I'm not sure what LexborHTML.selector does.
The reason why I was thinking about the function that would return either HTMLParser or Node was because I was under impression that HTMLParser might have some API that would not be available if we had the same underlying HTML, but wrapped in Node.
But IMO both HTMLParser and Node practically identical API, so IMO it's sufficient to have just parse_fragment(), and not the "smart" parse()

So to summarize I'm in favour of parse_fragment over parse.

And to recap:

lexbor/modest_tag() as mentioned above
lexbor/modest_parse_fragment(), which always returns a list of Nodes. Even if it receives a full document with


How to switch AOT model

The default AOT model is DeAOTL model. What if we need to switch to light-weight models such as DeAOTT? Can we download directly from https://github.com/yoxu515/aot-benchmark/blob/main/MODEL_ZOO.md? Is there anything we need to change inside the code?
Thank you!

+1, Is there a way, besides using the AOT method, to get a less accurate, but as fast as possible (close to real-time) tracker?


Prevent to join new links when $state.event is prevented

In my case I wanted to prevent adding the css link tag when I had to prevent moving to the next state (due to authentication). I don't know how to do pull requests (sorry, pretty much new to helping the community here), but this is what I did. You can just add this feature, ignore it or whatever you wish. Thanks!
        $rootScope.$on('$stateChangeStart', function (evt, toState) {
          if (!evt.defaultPrevented) { // Added this line
          // From current state to the root
          scope.routeStyles = [];
          for(var state = toState; state && state.name !== ''; state=$$parentState(state)) {
            if(state && state.data && state.data.css) {
              if(!Array.isArray(state.data.css)) {
                state.data.css = [state.data.css];
              }
              angular.forEach(state.data.css, function(css) {
                if(scope.routeStyles.indexOf(css) === -1) {
                  scope.routeStyles.push(css);
                }
              });
            }
          }
          scope.routeStyles.reverse();
        }
      });

But the current version listens for the $stateChangeSuccess event and not the $stateChangeStart  event. So if you do evt.prevendDefault() in your $stateChangeStart callback, the $stateChangeSuccess callback of this plugin is not triggered.

I have in my bower "angular-ui-router-styles": "~0.0.5", because it seems I cannot upload it more since you don't have new releases, although you have 10 commits more from the last release. Should I wait for new releases? Can I put in my bower no releases versions? if so, how? Thanks!

I've just made a new release, 0.0.6.
Try it and let me know :+1:

Yes, perfect! Thanks! You can close this ;)


wiki: Nixpkgs branch description

https://nixos.org/wiki/Nixpkgs_branch_description

Most of this seems unneeded, main branches documented in http://nixos.org/nixpkgs/manual/#idm140737318478448.


Add serviceworker.js to KnownPublicEntries

Fixes a wrong 302 redirect to the login page, see https://github.com/go-gitea/gitea/issues/11989. Also made it so the reserved username list is extended with those known entries so we avoid code duplication.
Should be backported to 1.12.

Please backport


Can we configure this datepicker for displaying only month and year without days?

Can we  configure this datepicker for displaying only month and year without days?
Thanks)

We add this feature in version 1.3.0.


Hover text in tab bar is incorrect after "Save As"

After saving a file to a different name/location, the text that renders when users hover over the file tab references the legacy file.
Repro:

Create a file called "file1.txt"
Save the file
Save the file as "file2.txt", at this point, the tab and file path at the foot of the window show that you're looking at "file2.txt"
Hover over the tab at the top of the screen. The text that appears will reference the path to "file1.txt"

Note:
I found that this only happens when the file is in the directory structure reflected in the window. If you open a file outside of the designated directory and follow the steps above, the bug does not appear.

This issue is a duplicate of https://github.com/atom/tabs/issues/189. Please subscribe there if you want updates on resolution, etc.


Native Oculus Support for Core

XRTK - Mixed Reality Toolkit Change Request
Overview
Native Oculus Support for Core
Target of the change:
Is this enhancement for:

Core (core framework, interfaces and definitions)

Changes:

New Oculus Submodule
Package link to new submodule
Added new extensions for InteractionMappings
Updated InteractionMappings definitions to support custom named inputs

Notes
Requires build pipeline setting up for Oculus repo prior to merge

Must not merge until the Oculus UPM package is registered and live.  Final step requires the UPM package registered with the Core XRTK for deployment.

Oculus repo now passing tests, Master/Release build submitted.  Once complete, this PR can move ahead and finally add Oculus support

@SimonDarksideJ build failed

Understood, needs updating post the UPM merge anyway, just testing


Searching for a way to implement Multibinding with localized enum value

Because lex:LocProxy is deprecated I try to refactor my code.
I tried the following:
<TextBlock Style="{StaticResource DSTextBlock}"  Grid.Row="3" Grid.Column="1">     <TextBlock.Text>         <MultiBinding StringFormat="{lex:Loc LocalizationView_FormatText1}">             <Binding Path="Number1" />             <Binding Path="String1" />             <lex:BLoc Path="Enum1Value" Converter="{lex:PrependTypeConverter}" />         </MultiBinding>     </TextBlock.Text> </TextBlock>
The value of LocalizationView_FormatText1 is: "This is a formated text with a number: {0}, a string: {1} and an enum: {2}."
Unfortunatly I get the following Exception: "Path not allowed for BLoc".
Am I missing something on how I could implement this?

I've just came accross a very similar issue today. Checking out the source code it looks like setting the Path property just causes an exception to be thrown. I was able to get around this by using the Key property instead.
So my exmple looks like <lex:BLoc Key="Assembly:Resource:Key" />
https://github.com/XAMLMarkupExtensions/WPFLocalizeExtension/blob/833970d3cd6dd97ca15a18bc38137147879d9b54/src/Extensions/BLoc.cs#L132-L141
Hope this helps,
Kind regards,
Andy


Outdated files in the dev-1.16-ko.5

This is a Bug Report
Problem
Outdated files in the upstream/dev-1.16-ko.5 branch.
19 files to be modified

[ ] content/en/docs/concepts/architecture/nodes.md 1 file changed, 3 insertions(+), 3 deletions(-)
[ ] content/en/docs/concepts/containers/container-lifecycle-hooks.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/concepts/overview/working-with-objects/names.md 1 file changed, 1 insertion(+), 2 deletions(-)
[ ] content/en/docs/concepts/workloads/controllers/daemonset.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/concepts/workloads/controllers/deployment.md 1 file changed, 22 insertions(+), 22 deletions(-)
[ ] content/en/docs/concepts/workloads/controllers/replicationcontroller.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/concepts/workloads/controllers/statefulset.md 1 file changed, 1 insertion(+)
[ ] content/en/docs/concepts/workloads/pods/init-containers.md 1 file changed, 4 insertions(+), 27 deletions(-)
[ ] content/en/docs/concepts/workloads/pods/pod-lifecycle.md 1 file changed, 5 insertions(+), 4 deletions(-)
[ ] content/en/docs/reference/_index.md 1 file changed, 2 deletions(-)
[ ] content/en/docs/setup/production-environment/container-runtimes.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/tasks/administer-cluster/cluster-management.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md 1 file changed, 6 insertions(+), 6 deletions(-)
[ ] content/en/docs/tasks/tools/install-minikube.md 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/tutorials/hello-minikube.md 1 file changed, 3 insertions(+), 3 deletions(-)
[ ] content/en/docs/tutorials/kubernetes-basics/_index.html 1 file changed, 2 insertions(+)
[ ] content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html 1 file changed, 1 insertion(+), 1 deletion(-)
[ ] content/en/docs/tutorials/kubernetes-basics/update/update-intro.html 1 file changed, 2 insertions(+), 2 deletions(-)

0 files to be renamed
0 files to be deleted
Proposed Solution
Use git diff to check what is changed in the upstream. And apply the upstream changes manually
to the content/ko of upstream/dev-1.16-ko.5 branch.
For example:
# checkout `upstream/dev-1.16-ko.5`
...
# check what is updated in the upstream
git diff upstream/dev-1.16-ko.4 upstream/dev-1.16-ko.5 -- content/en/docs/concepts/architecture/nodes.md
# apply changes to content/ko
vi content/ko/docs/concepts/architecture/nodes.md
...
# commit and push
...
# make PR to `upstream/dev-1.16-ko.5`

Pages to Update

/language ko

@seokho-son 실수로 1.15과 비교하신 것 같아요.

@seokho-son 실수로 1.15과 비교하신 것 같아요.

감사합니다. 미리 확인해보지 못했네요ㅠㅠ 다시 메시지 정정하였습니다.

/assign

@ysyukr 님. slack, Kubernetes-docs-ko 채널에서, novice 님 께서 해당 이슈를 처리해보 싶다는 의견을 주셨습니다. 먼저 assign 해주셨는데, 이번에는 novice 님께 PR 처리를 부탁드려도 될까요?

/unassign

This Issue has been assigned to a contributor who has Id: novice in the slack channel. Thank you !

/kind cleanup

/assign

제가 빠르게 assign 하지 않아서 혼란을 드린것 같아 죄송합니다. 작업 진행해볼 수 있게 배려해주셔서 감사합니다!
@ysyukr @seokho-son

머지가 되었으므로 /close 처리 하겠습니다 :)

/close


Document QuantizationTableType::Custom format

I want to re-encode a JPEG with the same settings it was encoded before. I have the quantization table extracted from the original image in it's either 8bit or 16bit format. But I'm failing to feed it back into jpeg-encoder such that I end up with a new JPEG that uses the same quantization table.
What exactly is the format that QuantizationTableType::Custom expects? Apparently it's not a QT scaled to u16. But u8 data also doesn't give the desired result.
I found this mysterious code
    fn get_user_table(table: &[u16; 64]) -> [NonZeroU16; 64] {
        let mut q_table = [NonZeroU16::new(1).unwrap(); 64];
        for (i, &v) in table.iter().enumerate() {
            q_table[i] = match NonZeroU16::new(v.clamp(1, 2 << 10) << 3) {
                Some(v) => v,
                None => panic!("Invalid quantization table value: {}", v),
            };
        }
        q_table
    }

that seems to limit the input value to 2048 and then left shifts the complete thing by 3. Is that the key to understanding what the input format is?

I noticed that the matrices still contain the same numbers before and after. They are just re-arranged. Does QuantizationTableType::Custom expect a different order than is used in the DQT segment?
1	1	1	1	1	1	1	1
1	1	1	1	1	1	1	2
1	1	1	1	1	2	2	2
1	2	3	3	3	3	3	3
3	3	3	4	5	4	3	3
4	3	3	3	4	5	4	4
5	5	5	5	5	3	4	6
6	6	5	6	5	5	5	5

1	1	1	1	1	1	1	1
1	1	3	2	1	1	1	1
1	1	3	3	4	5	3	3
3	1	1	1	1	1	2	3
4	3	5	6	6	5	3	5
3	2	2	2	3	4	4	5
5	6	5	5	3	3	3	4
3	5	5	4	4	6	5	5

Okay, looks like the input is in 8-bit and not in zig-zag sequence


Bots don't stop working when their energy reaches 0

We have a report that bots will continue to work even after their energy reaches zero.

Still an issue. Easy to replicate by doing tons of me.clearAndMove() around an area with tons of debris, like a new farm.


Build / sign: handle all owner kinds

Make the build / sign events reconciler handle any owner for jobs, not only Module.

Codecov Report
Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (c064f5d) 79.00% compared to head (e9a175a) 79.01%.
Report is 6 commits behind head on main.

Files
Patch %
Lines

...ternal/controllers/build_sign_events_reconciler.go
74.19%
6 Missing and 2 partials :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #673   +/-   ##
=======================================
  Coverage   79.00%   79.01%
=======================================
  Files          49       50    +1
  Lines        5069     5095   +26
=======================================
+ Hits         4005     4026   +21
- Misses        880      884    +4
- Partials      184      185    +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/lgtm


Bug: Date selector broken

On the new version of Kanboard (1.0.20), in Firefox & Chrome, I can't select start dates outside the current month - if I press the next month or previous month on start date (see screenshot) ,the dialog box disappears ...

see #1415

This issue is now fixed in master.


Release 0.4.0 on 2022-04-22

Motivation
We would like to release version 0.4.0 so that we can use the latest functionality.
Changes

Set release data in the CHANGELOG.md

Tests
None needed.

@bitdivine @mstrasinskis do you plan to release?
if so please improve the CHANGELOG.md with the new features and fixes that have been implemented (it's what I meant with my last comment - i.e. what I wanted to tackle next week)

@peterpeterparker Yes, a new release is going out today, using this.  Are there changes not recorded in the changelog?

@bitdivine there are not yet recorded

@bitdivine there are not yet recorded

@peterpeterparker @mstrasinskis I have gone through the commits and filled in the changelog.  Have I summarized the changes accurately?


MatMul and blocksparse matmul incorrect precision in some shape.

Using an Triton 2.0.0, Pytorch 2.0.0, Python 3.9.16, Cuda 11.6 on a pc running Centos release 7.4.1708 with an nvidia A100. I using the  matmul and blocksparse/matmul ops  in https://github.com/openai/triton/tree/main/python/triton/ops . And I using the test code like to [test_matmul.py](https://github.com/openai/triton/blob/main/python/test/unit/operators/test_matmul.py) and [test_blocksparse.py](https://github.com/openai/triton/blob/main/python/test/unit/operators/test_blocksparse.py).
Then I find some problem when I compare the tirton matmul with torch.matmul, the result is different by torch.allclose(atol = 1e-5, rtol=0) as follow:
Matmul Test
the tesing code as follow:
import torch
import triton

M, N, K = 2048, 2048, 2048
torch.manual_seed(0)
a = torch.randn((M,K), device = 'cuda', dtype = torch.float16)
b = torch.randn((K,N), device = 'cuda', dtype = torch.float16)
# compute torch
torch_output = torch.matmul(a, b)
# compute triton
triton_output = triton.ops.matmul(a, b)

# compare
diff = torch.sum(torch.abs(triton_output - torch_output))
print("total difference: {:10f}".format(diff))

if(torch.allclose(triton_output, torch_output, atol = 1e-5, rtol = 0)):
    print("✅ Triton and Torch match")
else:
    print("❌ Triton and Torch differ")

This code will print total difference more than 0.0, and the torch.allclose is return false.
Then I tried observed some character:

the diff increasing as the shape increase. I guess it maybe related from cumulative accuracy of the calculation. But when I using M,K,N = 4096,4096,4096 running this code in my machine, it's pass ✅  the allclose function and diff = 0.000000. It's also related with shape? Because only some shape will occur the problem.

Moreover, I had try some special data to test in shape M, N, K = 2048, 2048, 2048.

I take the a = torch.ones ,b = torch.ones to run the code, which result is always pass ✅.  So in some times this don't related from shape.

I take the  a = torch.ones ,b = torch.randn to run the code, which every row for the result matrix is same, also same in the incorrect elements.

Blocksparse Matmul Test
The incorrect precision also in blocksparse matmul function. the test code as follow, which only using the forward testing for [test_blocksparse.py](https://github.com/openai/triton/blob/main/python/test/unit/operators/test_blocksparse.py) :
def sparsify_tensor(x, mask, block):
    ret = torch.empty((x.size(0), mask.sum(), block, block), dtype=x.dtype, device=x.device)
    for idx, (h, i, j) in enumerate(zip(*mask.nonzero(as_tuple=True))):
        ret[:, idx, :, :] = x[:, h, i * block:(i + 1) * block, j * block:(j + 1) * block]
    return ret

def make_pair(shape, device="cuda", alpha=1e-2, beta=0., trans=False, data=None,
                 dtype=torch.float32):
    if data is None:
        data = torch.randn(shape, dtype=torch.float32, requires_grad=True, device=device)
    ref_ret = data
    ref_ret = ref_ret * alpha + beta
    ref_ret = ref_ret.half().to(dtype)
    if trans:
        ref_ret = ref_ret.t().requires_grad_()
    ref_ret = ref_ret.detach().requires_grad_()
    tri_ret = ref_ret.clone().detach().requires_grad_()
    return ref_ret, tri_ret

def mask_tensor(x, mask, block, value=0):
    ret = x.clone()
    for h, i, j in zip(*(mask == 0).nonzero(as_tuple=True)):
        ret[:, h, i * block:(i + 1) * block, j * block:(j + 1) * block] = value
    return ret

def test_blocksparsematmul(MODE, TRANS_A, TRANS_B, BLOCK, DTYPE, Z=3, H=2, M=512, N=384, K=256):
    seed = 0
    torch.manual_seed(seed)
    is_sdd = MODE == "sdd"
    is_dsd = MODE == "dsd"
    is_dds = MODE == "dds"
    do_sparsify = lambda x: sparsify_tensor(x, layout, BLOCK)
    do_mask = lambda x: mask_tensor(x, layout, BLOCK)

    # create inputs
    # create op
    a_shape = (Z, H, K, M) if TRANS_A else (Z, H, M, K)
    b_shape = (Z, H, N, K) if TRANS_B else (Z, H, K, N)
    c_shape = (Z, H, M, N)
    shape = {
        "sdd": (M, N),
        "dsd": (a_shape[2], a_shape[3]),
        "dds": (b_shape[2], b_shape[3]),
    }[MODE]
    layout = torch.randint(2, (H, shape[0] // BLOCK, shape[1] // BLOCK))

    # create data
    a_ref, a_tri = make_pair(a_shape, alpha=.1, dtype=DTYPE)
    b_ref, b_tri = make_pair(b_shape, alpha=.1, dtype=DTYPE)
    dc_ref, dc_tri = make_pair(c_shape, dtype=DTYPE)

    # compute [torch]
    a_ref = do_mask(a_ref) if is_dsd else a_ref
    b_ref = do_mask(b_ref) if is_dds else b_ref
    a_ref.retain_grad()
    b_ref.retain_grad()
    c_ref = torch.matmul(a_ref.transpose(2, 3) if TRANS_A else a_ref,
                         b_ref.transpose(2, 3) if TRANS_B else b_ref)
    c_ref = do_sparsify(c_ref) if is_sdd else c_ref
    # dc_ref = do_mask(dc_ref) if is_sdd else dc_ref
    # c_ref.backward(dc_ref)
    # da_ref = do_sparsify(a_ref.grad) if is_dsd else a_ref.grad
    # db_ref = do_sparsify(b_ref.grad) if is_dds else b_ref.grad

    # triton result
    a_tri = do_sparsify(a_tri) if is_dsd else a_tri
    b_tri = do_sparsify(b_tri) if is_dds else b_tri
    a_tri.retain_grad()
    b_tri.retain_grad()
    # op = triton.ops.blocksparse.matmul(layout, BLOCK, MODE, trans_a=TRANS_A, trans_b=TRANS_B, device="cuda")
    op = triton.ops.blocksparse.matmul(layout, BLOCK, MODE, trans_a=TRANS_A, trans_b=TRANS_B, device="cuda")
    c_tri = op(a_tri, b_tri)
    # dc_tri = do_sparsify(dc_tri) if is_sdd else dc_tri
    # c_tri.backward(dc_tri)
    # da_tri = a_tri.grad
    # db_tri = b_tri.grad

    # compare
    print("--------------------------------------------------------------")
    perf = lambda ms: 2 * M * N * K * Z * H * 1e9 / ( ms * 1e-3)
    total_op = 2 * M * N * K * Z * H

    print('''MODE={}, Z={}, H={}, M={}, N={}, K={}, total_op={}. '''
            .format(MODE,Z, H, M, N, K, total_op))

    diff = torch.sum(torch.abs(c_ref - c_tri))
    print('total diff = {:.10f}'.format(diff))

    if(torch.allclose(c_ref, c_tri, atol = 1e-5, rtol = 0)):
        print("✅ Triton and Torch match")
    else:
        print("❌ Triton and Torch differ")

    ms, _, _ = triton.testing.do_bench(lambda: op(a_tri, b_tri), rep = 20)
    print('''Triton: GFLOPS: {:.3f}, time: {:.6f}ms.'''.format(perf(ms), ms))

    ms_torch, _, _ = triton.testing.do_bench(
        lambda: torch.matmul(a_ref.transpose(2, 3) if TRANS_A else a_ref,
                            b_ref.transpose(2, 3) if TRANS_B else b_ref),
        rep = 20
    )
    print('''Torch: GFLOPS: {:.3f}, time: {:.6f}ms.'''.format(perf(ms_torch), ms_torch))

    return perf(ms), perf(ms_torch), diff

test_blocksparsematmul('dds', False, False, 32, torch.float16, Z = 1, H = 2, M = 64, K = 4096, N = 4096)

This code will print total difference more than 0.0, and the torch.allclose is return false.
Then I tried observed some character:

In small shape sunch as M, N, K = 256, 256, 256 , the code always pass ✅
I tried testing the shape in the range [1,1024] for M  and  N, K = 4096, 4096,  which show the more than half of the range print the ❌ Triton and Torch differ.

So what could be causing the incorrect precision and how to solute the problem?

I have also encountered this problem. Have you resolved it?

Unfortunately， I didn't find the reason.

I faced a similar issue when playing around with blocksparse matrix multiplication, here is my code:
    import torch
    import triton.ops

    device = torch.device("cuda")
    dtype = torch.float16

    # Parameters
    batch_size = 2
    head_size = 1
    sequence_length = 32
    d_model = 16
    block_size = 16

    use_int_tensors = False
    max_int_val = 20

    # Tensors
    if use_int_tensors:
        tensor_a = torch.randint(1, max_int_val, (head_size, batch_size, sequence_length, d_model), device=device,
                                 dtype=dtype)
        tensor_b = torch.randint(1, max_int_val, (head_size, batch_size, sequence_length, d_model), device=device,
                                 dtype=dtype)
    else:
        tensor_a = torch.rand((head_size, batch_size, sequence_length, d_model), device=device,
                              dtype=dtype)
        tensor_b = torch.rand((head_size, batch_size, sequence_length, d_model), device=device,
                              dtype=dtype)
    identity_matrix = torch.eye(sequence_length, device=device, dtype=dtype).unsqueeze(0).unsqueeze(0).repeat(
        (head_size, batch_size, 1, 1))
    sparsity_layout = torch.tensor([[[1, 1],
                                     [1, 1]],

                                    [[1, 1],
                                     [1, 1]]
                                    ])

    # Triton Matmul
    triton_matmul_sdd = triton.ops.blocksparse.matmul(sparsity_layout, block_size, "sdd", device)
    triton_result = triton_matmul_sdd(tensor_a, torch.transpose(tensor_b, -1, -2))
    triton_matmul_dsd = triton.ops.blocksparse.matmul(sparsity_layout, block_size, "dsd", device)
    triton_identity = triton_matmul_dsd(triton_result, identity_matrix)

    # Conventional Matmul
    conventional_result = torch.matmul(tensor_a, torch.transpose(tensor_b, -1, -2))
    conventional_identity = torch.matmul(conventional_result, identity_matrix)

    assert torch.allclose(conventional_result, conventional_identity)

    # Passes only up to max_int_val ~ 15 if computing with dtype float16 and integer values
    if not torch.allclose(triton_identity, conventional_identity):
        difference = torch.abs(conventional_identity - triton_identity)
        indices = torch.where(difference > 1e-6)

        # Print the differing values
        print("Conventional Identity at differing indices: ", conventional_identity[indices])
        print("Triton Identity at differing indices: ", triton_identity[indices])
        print("Number of differing values: ", len(conventional_identity[indices]))

In this I generate two tensors containing only integer (or floating values if use_int_tensors=False) and multiply the two matrices using torch.matmul and triton.ops.blocksparse.matmul (with a sparsity layout that corresponds to a regular "full" matrix multiplication). When using float32 as dtype I see numerical inaccuracies, with float16 everything seems to work fine.
Am I overlooking something here? For now I'll stick to float16, please let me know if there are other ways of achieving better accuracy!


Flow tests

Error in tests is caused by fact that before v6.5 for fn1:
const fn1 = (...args) => ();

fn1.name is ''.
I think it will be good to begin tests from node v6.5 otherwise it will be hard to see is PR or repo is broken or it's just metasync.flow on previous versions

For what it's worth, the 6.x LTS line starts with Node.js 6.9.0.

Landed in ef6a21c


Update: VMware.WorkstationPlayer version <IP_ADDRESS>89737

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@stephengillie - please assist here.  See above screenshot for proof that the package installs without issue.

@mdanish-kh Can you possibly have a look at this one as well, the package has been fixed as can be seen in the above screenshot but for some reason always fails validation and needs to be manually approved/merged.

@mdanish-kh Can you possibly have a look at this one as well, the package has been fixed as can be seen in the above screenshot but for some reason always fails validation and needs to be manually approved/merged.

Mods can't manually merge. You'll have to look towards stephengillie for that.

/azp run


Running Gitlab

Use as a location for source code and documentation. Error Tracking as an alternative to Sentry.

Authentication with SSO (using CognitoUserPool)
Validating Gitlab CI
Verify Error Tracking functionality

OneDev was adopted instead of Gitlab.


req: detect a bad choice of digest early

This is a regression against 1.1.1 when an unknown digest was detected early.
Fixes #15285

Something really weird is happening to the tests.  The failures aren't deterministic.  I.e. two sequential runs of the test produce different failing cases.  It's always case 15 in test_req but which of the four subtests fails varies.

Merged, thanks for the review.


"for in" and "for of" loops break React Native Android code

This repository contains several instances of for in and for of which breaks code execution on React Native Android apps.
Example: https://github.com/orionsoft/meteor-apollo-accounts/blob/3ce4f66b6cf294a96bb9d4c20d4ee43ecbb0a1be/client/src/store.js#L40
Attempting to login with password on android causes this error:
09-11 18:09:31.440  3541  3584 I ReactNativeJS: { [TypeError: undefined is not a function (evaluating 'onChangeCallbacks[typeof Symbol === 'function' ? Symbol.iterator : '@@iterator']()')]

See a similar issue logged in the css-to-react-native repo: https://github.com/styled-components/css-to-react-native/issues/31 - the problem was solved by eliminating these special loops in favor of more standard ES5 code.

More explanation here: https://github.com/facebook/react-native/issues/4676#issuecomment-163399041

Is this what is breaking the logout on android?

@acomito Yeah, this library doesn't really work on React Native android devices due to Android not natively supporting Symbol. You can polyfill it with core-js though:
// index.android.js
import 'core-js/es6/symbol';
import 'core-js/fn/symbol/iterator';

But beware, doing so seems to cause other issues.

@joncursi, I used the proposed solution at:
https://github.com/facebook/react-native/issues/4676#issuecomment-352815780

This will fail on react-native 0.56.0. It will trigger
https://github.com/facebook/react-native/issues/18542


Cargo Help

cargo help is missing some commands that show up in cargo --list
cargo --list seems odd in general as well, it seems like thats a command rather than an argument

It's currently intentional that cargo help doesn't show all the commands (there are quite a few!), it's largely just meant to show a sample selection.
I suppose I haven't thought too too hard about --list vs cargo list, but I think we can implement it either way!

There's probably a better, DRY way to do 3cb2c91, some functions probably need to be moved around.

Since the partial list in cargo help is working as intended, and the --list vs. list discrepancy has been resolved, should this bug be closed out? Or are there any remaining issues?

@JacobHenner Playing around with Cargo today, I was quite confused by seeing --list still wasn't a command, until I realized you never sent your change as a pull request! Were you still planning on getting it incorporated?

Is there still any work to be done for this issue?

Ah no I believe it's now been done, thanks for the ping!


Extension issue

Issue Type: Bug
Extension Name: python
Extension Version: 2020.7.94776
OS Version: Windows_NT x64 10.0.18362
VSCode version: 1.47.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Thanks for the bug report, but unfortunately we need some more information from you in order to triage this issue appropriately. Please edit your opening comment by providing a filled-in copy of our issue template. Once you are done please leave a comment to that effect.


how to display a image aws s3 link into the plugin?

Expected Behavior
Actual Behavior
Steps to Reproduce the Problem

Example Link
Please recreate your issue using JSbin, JSFiddle, or Codepen.

Link:

Specifications

Browser:
Version:

https://github.com/Foliotek/Croppie/issues?utf8=✓&q=is%3Aissue+s3


add alicloud

Preview snapshot:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: osswangxining
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rcaballeromx
If they are not already assigned, you can assign the PR to them by writing /assign @rcaballeromx in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @osswangxining. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

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

@osswangxining CI failed but have no matter with the cotent, you can make a new commit to trigger CI again.

/assign @rcaballeromx   I submitted one commit including your comments at /pull/2125#pullrequestreview-142997704, can you help review again? Thank you very much!!!

/assign @rcaballeromx  Thanks a lot for your great comments I submitted new version and can you help review again? Thank you very much!!! BTW You can see the preview form https://myistio.netlify.com/docs/setup/kubernetes/quick-start-alicloud-ack/

You just need to address the CI/Linter errors.
They include removing trailing whitespaces and adding Alibaba to the .spelling file for it not to be seen as a spelling error.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
If they are not already assigned, you can assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@osswangxining: PR needs rebase.

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

/assign @rcaballeromx Thanks a lot for your great help.  I have removed trailing whitespaces and added some terms into .spelling file in new commit. But in latest check, it looks that there are some files cannot be passed but these files are NOT submitted by me. Other check is interesting as below. Can you help check this one? I did not find how to fix it. Thanks a lot.
A detailed description of the rules is available at https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md
./public/docs/setup/kubernetes/quick-start-alicloud-ack/index.html:11:                MARKDOWN ERROR: page description doesn't end with a period


Media Query Conflict with Spaceing. Coloring

When the hero statement gets to 768px-950px the heading separates into two lines. The hero content overflows the height of its border-box and goes into the about me page. The hot fix was to put 100px margin on top of the about me section.
The coloring of the 2nd header title should be body text color.
TODO:

Fix hero content section sizing to stop overflowing.
Remove the margin of the about me. We will use a flex display on all sections to separate them equally with the gap property.
Change color of the 2nd header.

This was fixed with PR #15


Feature/Study Detail/Edit/Create [LEI-418]

Ticket
https://openscience.atlassian.net/browse/LEI-418
Purpose
Implement Study Detail and Study Edit Pages / Modify Study Create Page
Study Detail

Study Edit

Study Create

Manage Studies (some polishing)

thanks for the review @cwisecarver!


Visual Bug with money

🐛 Bug Report
Write a description of the bug here, give all the information you can about what it is, how it happened.
I believe I was given GP around the same time I diced, which autochuck lost but the funds I had before I was given gp stayed in the bank visually, eachtime i get more GP it is added together but shows more money then I actually have

Fixed


Support getters in EntitySchema property types

Describe the bug
When defining properties with getters using EntitySchema, TypeScript complains that 'getter' does not exist in type.
To Reproduce
import { EntitySchema } from '@mikro-orm/core';

class User {
  id!: number;
  firstName!: string;
  lastName!: string;
  get fullName(): string {
    return `${this.firstName} ${this.lastName}`;
  }
}

const schema = new EntitySchema<User>({
  class: User,
  properties: {
    id: { type: 'number', primary: true },
    firstName: { type: 'string' },
    lastName: { type: 'string' },
    fullName: { type: 'method', persist: false, getter: true },
    /* Type '{ type: string; persist: false; getter: true; }' is not assignable to type 'Property<string, User>'.
     * Object literal may only specify known properties, and 'getter' does not exist in type 'Property<string, User>'.ts(2322)
     */
  },
});

Expected behavior
Getters should be supported without needing to use decorators.
Additional context
The getter functions as expected if I add this type assertion to the fullName property definition: as EntityProperty<User>. I think the root cause is that EntitySchema's Property type is based on PropertyOptions from decorator which doesn't expose inferrable options like getter.
Versions

Dependency
Version

node
14.16.1

typescript
4.1.5

mikro-orm
4.5.4

your-driver
n/a

4.5.6-dev.6


Tunnel opts for http, tcp, and tls

Current dependencies on/for this PR:

master

PR #2

PR #3

PR #4   👈

This comment was auto-generated by Graphite.


[FEATURE] SearchTemplateResponse should include aggregations and suggest

The SearchTemplateResponse currently only includes hits, but would be useful if it also had the aggregations and suggest (optional) fields, same as the regular SearchResponse.

Is it available from the server? As in, is this a client parsing and response object issue, or is it a feature request on the opensearch server?

It is - from what I can tell the server response is pretty much the same as in a regular SearchResponse. Which makes sense, the template just gets resolved to a regular query (that can include suggestions and aggregations), the response wouldn't be different.

+1
@wbeckler
It is a client parsing and response object issue.
We're experiencing the same issue using the OpenSearch Java client - When we make a request using SearchTemplate, We cannot access to the aggregations filed by SearchTemplateResponse while the server response apparently has it.

+1 for aggregations (honestly, +1 for feature-parity with RHLC).
Would prefer using the java client, but the RHLC seems much more feature-complete.
Given the existing deprecation notice for the RHLC for OS 3.0.0, is there currently a timeline for feature-parity between the two clients?

The code generation project (see #318 and #366) should reach parity and some.


Update QGIS

Fix https://github.com/opengisch/QField/issues/1670
Additional fixes from freezer period leading to 3.18

(Could possibly fix crash from https://github.com/opengisch/QField/issues/1679 which I can't replicate locally)


Feature: support telos

Support telos feature
Added functionalities:

Primary purchase with MetaMask
Secondary purchase with MetaMask
Listing with MetaMask
Delisting with MetaMask
NFTs displayed on all pages

hey @RichardIrala I have left all my comments and focused on the addEthereumChainParams.js module that we have discussed ..!

Question: why chainId is "null" ? why don't use the real chainId?
Answer: I'm setting the chainId with a function. It's in the code. If you need any modifications, let me know, and I'll make them!

Question: why chainId is "null" ? why don't use the real chainId? Answer: I'm setting the chainId with a function. It's in the code. If you need any modifications, let me know, and I'll make them!

hey @RichardIrala for me it would look a bit better if we add it and it doesn't affect too much the logic you already have. Would it even be better for you, or how would you feel comfortable?


Add authentication and SSO to Web App with AuthJS

Since I want this to be usable by as many people as possible, I want to figure out how to programmatically add authentication strategies based on admin-user configuration that can be done inside an admin user interface. However, I also want to make sure that it gets cached and doesn't have to do a database call every time a user hits the middleware.


Add <column_name>__decimal column type to stitch_coalesce function

Describe the feature
We are using Stitch for our load and stitch_coalesce doesn't recognize <column_name>__decimal. We are currently using stitch-utils version 0.3.1.
Describe alternatives you've considered
The current solution is to coalesce the <column_name>__decimal column with the <column_name> column produced by the stitch_coalesce function.
For example:
with

source as (

   {{ stitch_utils.coalesce_fields(relation = source('schema_name','table_name')) }}

),

renamed as (

   select
      *, -- columns renamed in actual model

   -- stitch_coalesce produced "quantity" from "quantity__double" and "quantity__bigint"
   coalesce(
      "quantity__decimal"::varchar,
      "quantity"::varchar
   ) as quantity

)

select * from renamed

Additional context
Discovered using NetSuite SuiteTalk Stitch integration.
Are you interested in contributing this feature?
Happy to help with this feature request. Let me know what I can do to help contribute 👍

@cnlee1702 Thanks for opening the issue! We'd love to have you contribute the fix :)
It should be as simple as adding 'decimal' to this list:
https://github.com/dbt-labs/stitch-utils/blob/860322686f230f74564907228736a8c85a28cfca/macros/coalesce_fields.sql#L21


2.2.1 Released

Hi, Will 2.2.1 will be released soon :D?

There are issues in the 2.0.X version of JsonPath. Most of these are a result of vague specification. I'm working on a 3.0 that hopefully will solve these problems. No date set.

@kallestenflo IMO this should be closed.


http://armon.github.io/statsite/ is out of sync

hello! just opening an issue to sync README for http://armon.github.io/statsite/ on next release. thanks!

Fixed! Thanks!


crc setup   when run via a process api, not in a tty/pty terminal

General information

OS: Linux / macOS
Hypervisor: default
Did you run crc setup before starting it (Yes/No)? Issue is with crc setup

CRC version
version: 1.0.0-beta.5+f2aa58c
OpenShift version: 4.1.14 (embedded in binary)

CRC status
ERRO Error occurred: Machine "crc" does not exist. Use "crc start" to add a new one.

CRC config
# Result is blank

Host Operating System
# Put the output of `cat /etc/os-release` in case of Linux
NAME=Fedora
VERSION="29 (Workstation Edition)"
ID=fedora
VERSION_ID=29
VERSION_CODENAME=""
PLATFORM_ID="platform:f29"

Steps to reproduce

Run crc setup via a non-pty non-tty terminal. ie, through Runtime.exec(etc) in java as non-root user
Expect request for privilege escalation
Process stalls for > 2 minutes, then terminates

Expected
Expect to be prompted for root via sysin / sysout prompts.
Actual
level=info msg="Checking if running as non-root"
level=info msg="Caching oc binary"
level=info msg="Setting up virtualization"
level=info msg="Setting up KVM"
level=info msg="Installing libvirt service and dependencies"
level=info msg="Adding user to libvirt group"
level=info msg="Enabling libvirt"
level=info msg="Starting libvirt service"
level=info msg="Installing crc-driver-libvirt"
level=info msg="Removing older system-wide crc-driver-libvirt"
level=info msg="Setting up libvirt 'crc' network"
level=info msg="Starting libvirt 'crc' network"
level=info msg="Checking if NetworkManager is installed"
level=info msg="Checking if NetworkManager service is running"
level=info msg="Writing Network Manager config for crc"
level=info msg="Writing dnsmasq config for crc"
level=info msg="Will use root access: write dnsmasq configuration in /etc/NetworkManager/dnsmasq.d/crc.conf"
level=fatal msg="Failed to write dnsmasq config file: /etc/NetworkManager/dnsmasq.d/crc.conf: Failed writing to file as root: /etc/NetworkManager/dnsmasq.d/crc.conf: : exit status 1"
Logs
You can start crc with crc start --log-level debug to collect logs.
Please consider posting this on http://gist.github.com/ and post the link in the issue.

We are using sudo to try to get root access, I would not be surprised if it's not possible to redirect  stdin/stdout in order to use it.
Do you have any recommendations of how we could handel for priviledge escalation in a way that would work with what you are trying to do? policykit maybe?

Please run crc setup from a regular terminal, as the pty support is needed to enter credentials.
I believe crc start should work from a non-pty terminal (tested on Windows with git-bash).

It is possible to direct sudo output to standard in / out.  See man sudo
     -S, --stdin
                 Write the prompt to the standard error and read the password
                 from the standard input instead of using the terminal device.
                 The password must be followed by a newline character.

can you detail a little bit more about the expected experience and what therefore is needed from our end?

Because we are launching crc through Java Runtime.exec method, we have no tty access and adding the -S flag when running sudo should be ok for us. @robstryker can you confirm ?

It is possible to direct sudo output to standard in / out.  See man sudo
     -S, --stdin
                 Write the prompt to the standard error and read the password
                 from the standard input instead of using the terminal device.
                 The password must be followed by a newline character.

@gbraad
Current experience:

(in java)  use Runtime.exec(etc) to run crc setup
When crc attempts to escalate privileges, it fails entirely

Expected experience:

(in java)  use Runtime.exec(etc) to run crc setup
When crc attempts to escalate privileges, it puts the prompt to the standard output of the process
When a password is passed in via standard-in to the process,   crc setup command will properly make use of that input

Solution to get from current experience to expected experience:

Anywhere crc setup uses sudo,  please use sudo -S instead.
Test everything to make sure this solution doesn't break any other expected usecases.

Solution to get from current experience to expected experience:
1. Anywhere crc setup uses `sudo`,  please use `sudo -S` instead.
2. Test everything to make sure this solution doesn't break any other expected usecases.

Are there any security side-effects to be aware of when doing this?

@robstryker you can use an admin user to run crc setup. There is a specific cherck that you can disable which checks for the admin user. But be aware that we prefer to use a regular user as this allows us to determine which user to add to a group.
besides, we do hope a crc setup can be run outside of the scope of the IDE as part of a generic installer (or by an admin like in a corporate environment), since you can expect needed reboots. You do not want to be triggered inside the IDE experience.
using stdin and stdout will not work in the case of Windows, since UAC acts as modal on top of the user interface.

https://twitter.com/MrMohitSuman/status/1300794342408298498 reminded me of this issue, which is impacting that demo Mohit recorded. I would go for an additional crc setup argument so that sudo -S can be used.

Could we have a specific command that only run root commands so that we can do $ sudo crc setup --root-only then $ crc setup ?

That could be an option, though some checks have code I'd prefer not to run as root (hyperkit downloading followed by making it suid). It could also be made more complicated if we had some root checks that only make sense after a non-root check/fix, but I cannot think of one for now, so that's purely theoretical ;)


release 0.13

Signed-off-by: chengdehao<EMAIL_ADDRESS>

@wanjunlei @zhu733756 please help to review this

You should checkout branch release-0.13 from branch https://github.com/fluent/fluent-operator/tree/fluentbit-operator , and then submit your PR to release-0.13 of the main repo.  Branch fluentbit-operator is the master branch for fluentbit-operator @wenchajun

OK, I get it. Since that branch doesn't have a corresponding release, I'll commit to this branch first and I'll commit the next pr to the fluentbit-operator branch later.

Branch fluentbit-operator is one commit ahead of release-0.13.0: https://github.com/fluent/fluent-operator/commit/9476bac51b430f9afd5fed25ec3749e5957b810d
And its version file should be latest, while the version file of release-0.13.0 is 0.13.0
You cannot merge release-0.13.0 back to fluentbit-operator

@wenchajun not signed
x DCO — DCO


Add a command-line option for selecting environments

Add a command-line option --environment (or -E) for selecting what environment type and Python version to run, overriding what is specified in the configuration file.

This is useful e.g. when the configuration file is checked in a repository, and run by multiple users, some of which have conda and some not.
Supercedes the --python option, and makes it possible to specify what Python executable to run using ExistingEnvironment (which was not possible previously).
Add tool_name to the hash-name of the environments, so that it's possible to have conda and virtualenv at the same time without conflicts.
Move calls to environment.get_environments to the top-level command classes. (Previously, environments were instantiated in Benchmarks for benchmark discovery.)

Some fine tuning may still be needed (although this is in principle complete)

Looks good, other than my one comment above.

@pv: Sorry I've been incommunicado here for so long.  Want to fix the minor issue, rebase and I'll merge?

No problem, updated. The environment tool name is now included also in the result file names.

@mdboom: can you enable rolling builds http://www.appveyor.com/docs/build-configuration#rolling-builds in appveyor, so that it behaves more sensibly vs. updated PRs?

Merged.
I also enabled rolling builds on appveyor.


[Streaming, Engineering] Add integration tests for ChannelServiceRoutes

Fixes # 1727
Description
This PR Fixes a bug using del() method that has been deprecated in Express 4.x. and adds integration tests for ChannelServiceRoutes into the new bot-integration-tests folder.
More information can be found in the PR # 1492.
Specific Changes

Fix bug in ChannelServiceRoutes only using del() to register paths for DELETE methods.
Add TypeScript Integration tests for botbuilder with restify and express.

Testing
In the following images there is a sneak peek for bot-integration-tests.

Promoted