Refactoring project config

In response to our early discussion on refactoring the config,  I have been working on creating a config python module to define project parameters and reduce the redundancies of the study region JSON file.
With that, I created setup_config.py to define general project parameters. We can run this script to prepare each study region-specific parameters in JSON. I believe this makes the process of creating the config files more transparent and reproducible. So for example, if we want to make changes to general project parameters, we can just work with this  setup_config.py, rather than revising each individual study region JSON.
So if we run setup_config.py, we will produce study region config like this for example adelaide.json. I kept only the unique study region features in JSON and stores other repetitive parameters in setup_config.py. We can also import this config python module to reuse and define to parameters in the project scripts or notebook like 0_setup_config.ipynb.
I personally think that's a better approach to define config despite it is not perfect. Would love to hear your thoughts on this? Or anything other ways we can improve on?
I made a PR #30 with this update.

Apologies for not commenting sooner Shirley; I think this is great, since as you point out many of the parameters are project- not city-specific.  I think this is a useful tool; thanks for taking the time to code it!

@shiqin-liu I noticed this issue was still open. It appears to have been resolved by #30, correct? If so, that PR has been merged, so is it ok to close this issue now?

Yes! I think we can this issue.


Feat | CI

What's the purpose of this pull request?
This PR adds CI bots using github actions. All actions were copied from the autogenerated actions from tsdx.
These actions basically runs lint, tests and a build for each commit we do on this repo.
I had to make all tests and lint to pass too
Why am I doing this?
Tests and lint are very difficult to maintain if there is not a bot that enforces them. With this, I hope to remove some of the work we do on our machines and move them into a organized CI infrastructure
How to test it?
Describe the steps with bullet points. Is there any external link that can be used to better test it or an example?
References
Spread the knowledge: is there any content you used to create this PR that is worth sharing?
Extra tip: adding references to related issues or mentioning people important to this PR may be good for the documentation and reviewing process

How about splitting each check into a single action?
It might be easier to spot in which one a PR or a commit is not passing.

What about now?

Currently, we spend some time by building the monorepo twice. However, I think we can remove this time by moving nginx plugin into tsdx. I'll try to do it

That looks awesome 😍


Allow change of authentication on SMTP server

When you are an Admin,
The authentication for the SMTP server is not editable anywhere...
the auth of the SMTP server is not always the same as the auth of the IMAP or POP3 server. thus would be usefull to be able to specify auth details for it.

I have this same problem. The issue is that I want to use a different SMTP provider than my own server. I want to auth to Dovecot with different credentials than to 3rd party SMTP. I can't set the passwords explicitly for both of the servers separately. Is there a workaround for this?


[DOCKER][API] add api

Thanks for sharing your code, but I'm not looking to turn this library into an API that depends on flask. That's more suited for a separate github project that just pulls in this library as needed.


Weapons action tags (sheathe, retrieve, etc)

I just noticed on my PCs character sheets the tags for action on weapons show the entire path instead of just retrieve, change grip, drop, draw, etc. This is what is showing.  Might have been a small issue form the last update 6.1.3.

This won't be an issue with the release itself: try a hard refresh or uninstalling and reinstalling the system.


Allow to pass directory to figma connect create

Hey, when generating components it is quite annoying to go into each directory.
I would love to have an option to pass a relative directory:
$ npx figma connect create 'https://...' # generates file in current directory

$ npx figma connect create /components/button 'https://...' # generates file in [current_dir]/components/button

Nice, great suggestion. We'll look into supporting this. We'd likely implement it as a flag, like --outFile or similar


V0.5rc yeejfe

Coverage decreased (-0.4%) to 81.504% when pulling 0d2e1b6434af14b13556a32cbbbc93381067a6f6 on V0.5rc-yeejfe into 20b56436e59ba846349905ef13f6754f3598c522 on V0.5rc.

nice, shall we merge this to master first then i can rebranch out?


Undefined is not an object while running sample app

Version of react-native-iap
"react": "16.3.2",
"react-native": "0.55.3",
"react-native-iap": "^1.0.1",
Platforms you faced the error (IOS or Android or both?)
Android 5.1
Expected behavior
App should work properly
Actual behavior
While running sample app given here, I am getting error message "Undefined is not an object evaluating..."
Tested environment (Emulator? Real Device?)
Real device
Steps to reproduce the behavior
Run sample app given here & click on "Get Available Purchases" button:

@AgNm I'll look into this one. Currently, the example may not work as expected because it isn't up to date. Android IAP policy has changed since then.
Below information will be helpful to actually implement yourself. I'll look at the example when I have time. Also, example may not work in ios and android because they might need release bundle key for android and provisioning for ios. Will check how would it be possible to share the experience.
Thank you for the report. Will come back to you.
---- MAY BE HELPFUL
Do's
1)Create sign apk for your application.
2)Upload your apk on Google play store.
3)Create product for your application.
4)wait for 6-12 hour for update item's on store.
5)Give Billing permissions in Manifest.xml
               Don't

1)Don't use emulator for testing its does not support Billing Services.
2)Don't use unsigned apk for Billing services.
Read more: http://www.androidhub4you.com/2013/03/how-to-inegrate-in-app-purchase-billing.html#ixzz5DqRctVJp

I have same issue,
I have implement "react-native-iap" in my project but it gives error :
undefined is not an object (evaluating 'RNIapModule.prepare')

I have try to detach expo and link iap but, its gives same error.

I have also try to manual installation and everything but same problem

Note: My project config with expo
So, Whats problem hear ???
Thanks.

@dooboolab quick note: you need to upload an apk with the Billing permission enabled before you can create IAPs.

@rikur That is already in the readme. What's the point of mentioning this one?


Doesn't properly handle props of functional components

Version
1.0.0-beta.24
Reproduction link
https://github.com/riophae/vue-test-utils-bug
Steps to reproduce
Clone the repo, install dependencies, and run npm test.
What is expected?
vue-test-utils should generate the same markup as what vue does, i.e., all tests should pass.
What is actually happening?
vue-test-utils generates different markup than vue.
Test
props: { a: undefined }
    1) vue-test-utils
props: { a: 'aaaa' }
    ✓ vue

  1 passing (275ms)
  1 failing

  1) Test
       vue-test-utils:

      AssertionError: expected '

' to equal '
aaaa
'
      + expected - actual

      -

      +
aaaa

      at Context.it (dist/webpack:/tests/unit/Test.spec.js:24:1)

You need to pass props in a context object when you mount functional components:
const wrapper = mount(TestComponent, {
  context: {
    props: {
      'a': 'aaaa'
    }
  },
})

Note there's a feature request to support propsData in functional components #918


Storybook Component Documentation Update - Refactor the Dropdownable component story

Description
The Dropdownable component's story is configured so that it is wrapped in the <DropdownStory />. This is used to manage the state and functionality of the component.
The Code option in the component Docs page serves as a reference for how to use the component. With this HOC component wrapping it we cannot see the example of how to use this component.
To fix this, we can remove the file containing the DropdownStory wrapper component and move that logic into the component story, so that it allows for the Dropdownable component code to fully display.

For an example of how a component was refactored in a similar way you can reference this work: https://github.com/d2iq/ui-kit/pull/989
If this is your first experience working with Storybook stories, they have great documentation to reference, along with the other story files we have throughout the project.
Acceptance Criteria
Update the Dropdownable.stories.tsx file so that the code example will display how to use the component.

Contribution Guide
If this is your first time contributing to UI Kit, please review the How to Contribute guide beforehand.

Can this issue be assigned to me?


fix: correct permissions on edit aggregate role

What this PR does / why we need it:
The edit aggregate cluster role gave read only permission on challenges and orders resources. This permission is already given by the read aggregate cluster role. This PR replaces the read only permission with a write permission (which was the author’s original intention I guess).
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Correct permissions on edit aggregate role

/kind bug
/approve
/ok-to-test
/lgtm

/retest


Savegames get corrupted after the match goes on for a while

after about 30 minutes saving a Skirmish match leaves an unusable savegame it will jus crash during loading, it seems to happen right before renderering. , Since all savegames after that point crash makes it seem like not a random occurencet It could be a time out issue or maybe something in the match happened that is not compatible with the original game engine which can not be saved
PS it happens on ALL maps

🤔 , could you give us the lobby settings such as the enabled mods and the number of AIs and/or players? A replay would also be nice just to make sure that we can reproduce it properly.


Working Dahua

I can confirm that the Dahua IPC-A26 camera is working.

Thank you! I'll update the README with that info.

https://github.com/rroller/dahua/commit/0c46be662fed1da322734a0aa01081b4f99acb17


Who is knocking: load operator addresses during readiness and announcement phases

Depends on https://github.com/keep-network/keep-common/pull/61
Depends on https://github.com/keep-network/keep-core/pull/2242
Closes #578
The goal of this change is to help the network operators understand what's happening when their node fails to complete the announcement or readiness phase. From now on, the address of each keep member who announced its presence/readiness is logged on INFO level. If not all keep members announced their presence/readiness, missing member addresses are logged on ERROR level.
A simple approach for the readiness phase was proposed in https://github.com/keep-network/keep-ecdsa/pull/620. The change proposed here implements it also for the announcement phase. Last but not least, it does not add an import to github.com/ethereum/go-ethereum/crypto in tss.
keep-ecdsa node.go is tightly-coupled to ethereum chain using common.Address as well as some other github.com/ethereum/go-ethereum/common references. This is wrong given chain.Handle can represent any host chain (Ethereum, Celo, ZCash,...) but it is how it is given how the understanding of requirements evolved. Eventually, we should get rid of all go-ethereum references from generic client/node code and use chain interface abstractions. The goal here was to do a minimal change that will let us convert pub key to address without tightly-coupling the code to any particular implementation even more. There will come a time for bigger refactoring of node.go and friends but not in this PR.

Testing on deposit:
2020-12-29T13:50:59.135+0100	DEBUG	keep-net-libp2p	creating [32] subscription workers
2020-12-29T13:50:59.135+0100	DEBUG	keep-net-libp2p	creating [12] message workers
2020-12-29T13:50:59.137+0100	INFO	keep-tss	member [0xb7021acafecf289fa345ecc95ecab18077530841] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its presence
2020-12-29T13:50:59.233+0100	INFO	keep-tss	member [0x28bcfad75ee4c87b9089ba4c03a79b8148104da4] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its presence
2020-12-29T13:50:59.266+0100	INFO	keep-tss	member [0x65849fc91f8289b401e9d8f6d306b814b7f055c3] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its presence
2020-12-29T13:50:59.266+0100	INFO	keep-tss	announce protocol completed successfully
2020-12-29T13:50:59.266+0100	DEBUG	keep-tss	initialized key generation member: [{2,}]
2020-12-29T13:50:59.266+0100	INFO	keep-tss	[party:{2,}]: initialized key generation
2020-12-29T13:50:59.266+0100	INFO	keep-tss	signalling readiness
2020-12-29T13:50:59.267+0100	DEBUG	keep-net-libp2p	context is done; removing message handler
2020-12-29T13:50:59.268+0100	INFO	keep-tss	member [0x65849fc91f8289b401e9d8f6d306b814b7f055c3] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its readiness
2020-12-29T13:50:59.269+0100	INFO	keep-tss	member [0xb7021acafecf289fa345ecc95ecab18077530841] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its readiness
2020-12-29T13:50:59.287+0100	INFO	keep-tss	member [0x28bcfad75ee4c87b9089ba4c03a79b8148104da4] from keep [0x7f8Da570e4bee41b0C24211a097b97917A8B5A1C] announced its readiness
2020-12-29T13:50:59.287+0100	INFO	keep-tss	successfully signalled readiness
2020-12-29T13:50:59.287+0100	INFO	keep-tss	[party:{2,}]: starting key generation

Tested on deposit when one of the nodes was shut down:
2020-12-29T16:07:23.046+0100	ERROR	keep-tss	member [0xB7021acafEcf289Fa345ecc95EcAb18077530841] has not announced its presence for keep [0x2A4ee8cFA1Df44B8384D4882eb792e041a32152A]; check if keep client for that operator is active and connected
2020-12-29T16:07:23.047+0100	WARN	keep-ecdsa	failed to announce signer presence: [waiting for announcements timed out after: [2m0s]]
2020-12-29T16:07:24.050+0100	INFO	keep-ecdsa	signer generation for keep [0x2A4ee8cFA1Df44B8384D4882eb792e041a32152A]; attempt [2]
2020-12-29T16:07:24.051+0100	INFO	keep-tss	announcing presence
2020-12-29T16:07:24.052+0100	INFO	keep-tss	member [0x28bcfad75ee4c87b9089ba4c03a79b8148104da4] from keep [0x2A4ee8cFA1Df44B8384D4882eb792e041a32152A] announced its presence
2020-12-29T16:07:24.053+0100	INFO	keep-tss	member [0x65849fc91f8289b401e9d8f6d306b814b7f055c3] from keep [0x2A4ee8cFA1Df44B8384D4882eb792e041a32152A] announced its presence


fix: add cwd to honor project php-cs-fixer

This adds the cwd option into the default php-cs-fixer options in order to honor project-level configuration.
composer.json should be the "safest" project root option here, since if a project doesn't have a .php-cs-fixer.dist.php or similar config file, it looks like we may accidentally use a parent config instead of the default config (currently used with these conform settings), which I believe would be different than typical php-cs-fixer behavior (i.e. use project-level config, or default)

LGTM thanks!


added discussion threads

Added discussion threads using https://github.com/disqus/disqus-react

Disqus loads wayyy to much on the page. Hampered performance like crazy. Wondering whether we should just use their api's if they provide any any build the rest on our own

@nitish24p I think it's happening because there are many requests being sent for fetching the threads and responses for the content, and that would have to be made anyways if we were to build custom components.

And Building a custom thread would get a bit complicated because we would have to integrate so many APIs and handle many edge cases, like, editing a comment, upvoting/downvoting a comment, replying to a comment and thereby opening a new thread, responses, etc.

@nitish24p I was scrolling through this https://beebom.com/get-digital-wellbeing-android-pie-no-root/ article when I saw a button in their comments section to load the comments and when I clicked on that button I saw that they were also using disqus for comments then I thought we could also use a similar method to improve the performance to load the comments, and hence I have also created a button that loads the comments when the user clicks on it.

Voila! 🎉

I don't know why but the netlify preview was generated again and when I ran the audit once again on the new preview I got a perfect score on the preview this time.


Implementing funnel and retention queries

Hello,
There is any functionality that allows implementing funnels and retention queries in clickhouse ?
For example, a funnel could include these steps:

Step1: Count the number of unique users who registered in timeframe X.
Step2: Of the users who were counted in step 1, count the number of them who created content in that timeframe
Step3: Of the users who were counted in step 2, count the number of them who shared content in that timeframe

Supposing that the information is available in 3 different tables (registration, created_content, shared_content) and the common key is user_id what's the optimal way to implement this?

I could try to use sequenceMatch aggregate function.
https://clickhouse.yandex/docs/en/single/#sequencematch-pattern-time-cond1-cond2
But it is suitable when all events are stored in one table.

Also, there is a presentation about it https://events.yandex.com/events/meetings/05-10-2017/?talk=247
But it will be presented in upcoming ClickHouse meetup.

But what the use case when are in different tables ?

You could write subqueries for each table, concatenate them with UNION ALL and use sequenceMatch.
Also, the common ClickHouse's case is vast denormalized tables (500 columns is Ok).


Remove code that generates and reads AssetManifest.json

AssetManifest.json is an asset that is generated by the tool during build that lists available assets and their variants. When loading an image at runtime, the framework reads and parses this file to determine if an asset is available
https://github.com/flutter/flutter/pull/113637 aims to replace this file with a new one named AssetManifest.bin, which contains similar data that is encoded using the standard_message_codec package. This change speeds up parsing the manifest at runtime, resulting in faster first asset load--especially for apps with large amounts of assets.
While AssetManifest.json is not officially documented, some users do depend on this file, and removing it outright would break them. For example, Google Fonts reads it to determine whether or not a font can be loaded from the device rather than loading it over HTTP.
As such, the aforementioned PR (https://github.com/flutter/flutter/pull/113637) will temporarily leave the generation of AssetManifest.json unchanged, and this should be later removed as a part of a breaking change. On the framework side, Flutter will start using AssetManifest.bin immediately, but in the event that it can't be loaded for whatever reason (e.g. custom tooling within g3 doesn't yet generate the file), the framework will fallback to loading AssetManifest.json when resolving assets.

#113637 has been closed and a new strategy is being taken for its development. This is now being tracked at https://github.com/flutter/flutter/issues/117228. As such, I'm closing this.


Update Newtonsoft.Json explicit reference in Dev16 extension projects

There's a vulnerability in Newtonsoft.Json older versions. We don't use it directly, but the VSIX projects bring it in via dependencies. Adding an explicit reference to the new version.

/azp run


Chinese Simplified and Traditional are swapped in the languages enumeration

Hello!
I attempted to use the languages enumeration https://github.com/devkitPro/wut/blob/master/include/nn/swkbd/swkbd_cpp.h#L47-L62 in my code, and soon I got a report from Chinese buddy who tested the thing via CEMU, and he found that Chinese Traditional and Simplified are swapped. I asked somebody with hardware to verify the thing, and I got a note that error is on the side of the WUT.
Here is a small demo that displays the lagnauge name (according to that enumeration) hello-lang.zip and the codes that got been retrieved.

Fixed with https://github.com/devkitPro/wut/commit/8cf1780417bf8296f90a4db21708aa0919839faf


Timed out waiting for Ryuk container to start - Ubuntu 20.04.3, Docker 20.10.12, 1.16.3

Hi,
I am using Webdriver Containers for Selenium test.
When the tests are running on my local machine everything works fine.
However when I run the same tests on a jenkins agent following errors are thrown:
00:12:41.410 [main] INFO  o.t.d.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
00:12:41.621 [main] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
00:12:41.622 [main] INFO  o.testcontainers.DockerClientFactory - Docker host IP address is localhost
00:12:41.639 [main] INFO  o.testcontainers.DockerClientFactory - Connected to docker:
  Server Version: 20.10.12
  API Version: 1.41
  Operating System: Ubuntu 20.04.3 LTS
  Total Memory: 64220 MB
00:12:41.641 [main] INFO  o.t.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
00:13:12.080 [main] ERROR o.t.utility.ResourceReaper - Timed out waiting for Ryuk container to start. Ryuk's logs:
2022/01/27 00:12:42 Pinging Docker...
2022/01/27 00:12:42 Docker daemon is available!
2022/01/27 00:12:42 Starting on port 8080...
2022/01/27 00:12:42 Started!

As of the start of each test following error is thrown:
FAILED: java.lang.IllegalStateException: Could not connect to Ryuk at localhost:49210

Specification of the server:
Ubuntu 20.04.3
Docker 20.10.12
Testcontainers 1.16.3
OpenJDK 16.0.1
It seems that the container starts correctly:
CONTAINER ID   IMAGE                       COMMAND   CREATED         STATUS         PORTS                                         NAMES
3f263aa0e454   testcontainers/ryuk:0.3.3   "/app"    5 seconds ago   Up 4 seconds   <IP_ADDRESS>:49209->8080/tcp, :::49209->8080/tcp   testcontainers-ryuk-3cb3f86e-546d-4ae0-9d37-c0ce13659bf1

Disabling ryuk with TESTCONTAINERS_RYUK_DISABLED=true doesn't` solve the problem. When disabling ryuk selenium and vnc-recorder are started but there are also errors thrown:
00:35:10.486 [main] INFO  o.t.d.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
00:35:10.697 [main] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
00:35:10.698 [main] INFO  o.testcontainers.DockerClientFactory - Docker host IP address is localhost
00:35:10.715 [main] INFO  o.testcontainers.DockerClientFactory - Connected to docker:
  Server Version: 20.10.12
  API Version: 1.41
  Operating System: Ubuntu 20.04.3 LTS
  Total Memory: 64220 MB
00:35:10.715 [main] INFO  o.testcontainers.DockerClientFactory - Checking the system...
00:35:10.715 [main] INFO  o.testcontainers.DockerClientFactory - ✔ Docker server version should be at least 1.6.0
00:35:10.717 [main] INFO  o.t.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
00:35:11.193 [main] INFO  o.testcontainers.DockerClientFactory - ✔ Docker environment should have more than 2GB free disk space
00:35:11.537 [main] INFO  o.t.containers.SeleniumUtils - Selenium API version 3.141.59 detected on classpath
00:35:11.553 [main] INFO  ?.141.59] - Creating container for image: selenium/standalone-chrome-debug:3.141.59
00:35:12.372 [main] INFO  ?.141.59] - Container selenium/standalone-chrome-debug:3.141.59 is starting: c8d62a89d143f988ea7d82d21517583aa84fb0d0b635eef4c4a1d4549e0d6ed8
00:35:14.950 [main] INFO  ?.141.59] - Container selenium/standalone-chrome-debug:3.141.59 started in PT3.404032216S
00:35:14.951 [main] INFO  ?.2.0] - Creating container for image: testcontainers/vnc-recorder:1.2.0
00:35:14.976 [main] INFO  ?.2.0] - Container testcontainers/vnc-recorder:1.2.0 is starting: 223d9db7a3401544ae0ea9d624f849d2c36bf7ffe18367daa9e8139df8511d25
00:35:15.330 [main] INFO  ?.2.0] - Container testcontainers/vnc-recorder:1.2.0 started in PT0.379303582S

org.rnorth.ducttape.TimeoutException: Timeout waiting for result with exception
Caused by: java.lang.RuntimeException:
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'hostname', ip: '<IP_ADDRESS>', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-96-generic', java.version: '16.0.1'
Driver info: driver.version: RemoteWebDriver
Caused by: org.openqa.selenium.remote.UnreachableBrowserException:
Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'hostname', ip: '<IP_ADDRESS>', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-96-generic', java.version: '16.0.1'
Driver info: driver.version: RemoteWebDriver
Caused by: java.net.SocketException: Connection reset

Any ideas what could be the cause?
Thanks in advance for the support!

Hi,
Today I ran into exactly the same issue, but on my own machine (on Ubuntu 20.04.03). To solve that, I've... simply restarted docker - Following the idea here: https://github.com/testcontainers/testcontainers-java/issues/3609. Maybe one of these solution could help you.
But it would be nice if the testcontainers teams could do something to fix this issue. If they can reproduce it... It looks happening to some people regularly.

Hi, I have encountered this problem before. And after research, I finally fix this problem.
First, I have use Jenkins Clouds model. All new task will create a pod on K8s cluster and are destroyed when the task is complete.
And the solution is enable Host Network in Jenkins, the way is configureClouds -> Pod Template details... and it works.

Hi, in my case my VPN connection overlap the docker bip network (<IP_ADDRESS>/16).
I just move docker bip to anothar range. That range wasn't take (yet) by my VPN.
Run route -n | grep 172.17 and watch deafult gateway for docker bip. Default gw should be docker0 for <IP_ADDRESS>


creation of celltype_map csv

I have two single cell datasets from two species that are labeled with cell types. However its not clear what cells = the cells in the other species, is there a way to not have connections between the species in this file?

sounds good, theres no reason why that the NANs are sorted in the example then?

That file is only for scoring alignments (in which case you do need to know the matching between species).

is there a way to run without inputting this file? i get an error when i leave the ct_map_path blank

Yes, just remove these arguments:
--score_adata --ct_map_path=...


'Subscription.pull(return_immedately=False, max_messages=2)' returns immediately :(

Sporadic regression failure:
======================================================================

ERROR: test_message_pull_mode_e2e (pubsub.TestPubsub)

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

Traceback (most recent call last):

  File "/home/travis/build/GoogleCloudPlatform/gcloud-python/regression/pubsub.py", line 123, in test_message_pull_mode_e2e

    received = subscription.pull(max_messages=2)

  File "/home/travis/build/GoogleCloudPlatform/gcloud-python/.tox/regression3/lib/python3.4/site-packages/gcloud/pubsub/subscription.py", line 191, in pull

    for info in response['receivedMessages']]

KeyError: 'receivedMessages'

AFAICT, this is actually a back-end bug -- we are passing the returnImmediately flag through correctly.  @tmatsuo can you report it to the pubsub back-end team?
However, we should harden against the missing key in the response, for the case when returnImmediately is True, and there are no messages.

I assume you are passing returnImmediately = False and getting an empty messages.
Well, it can still happen since requests with returnImmediately=False still timeouts (and thus you get an empty response), also we don't have any SLAs for the message delivery latency, although most of the cases messages are arrived in near real time.

@tmatsuo you are correct:  we are passing returnImmediately=False.  I would have expected the call to block indefinitely in that case. based on the language of the pull API docs.

If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response.

If that is not expected behavior, I'm not sure we can write an end-to-end regression test which is not going to fail sporadically.

#899 fixes the KeyError in the case that the back-end returns no messages.  Leaving the issue open because we still have the potential regression test failure due to timeouts on the back-end.


Move embedded API types to common/v1

Description of your changes

Moves the core embedded API types out of the core/v1alpha1 directory and
into common/v1. These types are used by many mature APIs and are now
recognized as stable. This new package should be imported with alias
xpv1 by convention.
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

make

Thanks @hasheddan!
Do you think it's worth keeping the v1alpha1 types around (i.e. duplicating rather than moving them) and marking them deprecated? Doing so might ease the transition for community providers a little.

@negz feels like the closest thing in upstream kubernetes would be meta/v1 so not sure how that translates here :thinking: We could just call them meta. If we keep around this v1alpha1 types aren't we going to need to support them across the rest of the code base as well? I agree that it would be nice if we could follow a deprecation schedule, but I'm not sure it is worth that burden in this case.

@negz feels like the closest thing in upstream kubernetes would be meta/v1 so not sure how that translates here 🤔 We could just call them meta.

That does seem close (i.e. its a versioned package of types that aren't in and of themselves first class API objects), but in this case our types are fairly all over the show - not really strictly related to metadata. That said, the precedent of the meta/v1 package does now have me wondering whether it would be wise for us to keep versioning these after all - i.e. core/v1?
I'm tempted to bikeshed the package name a little bit here. We tend to import it as runtimev1alpha1 when there are import name conflicts. If we go with core/v1 there would likely be conflicts with the upstream core/v1 package which is usually imported as corev1. I wonder if just apis/crossplane/v1 would make sense? We could import it as xpv1 (Or just xp if we decide to drop the version after all).

If we keep around this v1alpha1 types aren't we going to need to support them across the rest of the code base as well?

I may not be following correctly, but if you're suggesting that keeping the v1alpha1 types here means we'd have to do the same elsewhere I don't think that's the case. That said I'm not bullish on duplicating rather than copying. Folks would still have to update their code eventually - the former option just gives them a little extra notice.

That said, the precedent of the meta/v1 package does now have me wondering whether it would be wise for us to keep versioning these after all.

I don't necessarily think the fact that they are versioned upstream means that they have to be versioned here. Our use case is a bit different in that the consumers of our embedded types are also typically consuming other packages in crossplane-runtime that use them, so being pinned to a crossplane-runtime version is mostly enough to account for versioning compatibility. However, I have secret plans to make some of the Crisscross stuff part of core Crossplane eventually, in which case the reconciler and the types would be separated by network calls, and at that point it would be much more similar to how meta/v1 is used. I think apis/crossplane/v1 sounds good to me.

I may not be following correctly, but if you're suggesting that keeping the v1alpha1 types here means we'd have to do the same elsewhere I don't think that's the case.

I am not sure how useful it would be to just keep the v1alpha1 types without being able to use a lot of the packages in crossplane-runtime that work with them, such as setting conditions. It seems like folks likely would not be able to update because of the changes in those package, making keeping the v1alpha1 types around potentially more confusing than just removing them.

I'm tempted to bikeshed the package name a little bit here. We tend to import it as runtimev1alpha1 when there are import name conflicts. If we go with core/v1 there would likely be conflicts with the upstream core/v1 package which is usually imported as corev1. I wonder if just apis/crossplane/v1 would make sense? We could import it as xpv1 (Or just xp if we decide to drop the version after all).

I'm not sure whether crossplane-runtime should be concerned about that conflict. It feels like it's fair to assume that consumers know that this is a crossplane import and they need to take care of conflict, if any, just like other packages. Also, apis/crossplane/v1 sounds like stuttering to me that we'd have import github.com/crosspalne/crossplane-runtime/apis/crossplane/v1 where it's used. So, I'm leaning towards common/v1(slight preference) or core/v1.
Regarding versioning, I think keeping the version would help us to use the same names for the structs when we make a change since the new one and deprecated one wouldn't have to live in the same package. I feel kind of indifferent about whether that's worth to keep the version. I'm OK either way with slight preference of keeping the versions just because kubernetes does.

@negz any follow-up thoughts here? I am good with either common/v1 or core/v1 also.

To me core/v1 seems like the worst name of all because it's both meaningless and requires us to figure out a way to differentiate it from the existing import corev1 k8s.io/api/core/v1 convention. I suspect we'd end up importing the package as runtimev1 (like we do today with runtimev1alpha1). If we're going to do that, it should be named apis/runtime/v1.
common/v1 is slightly better - I could read it as "common Crossplane types" which is pretty much what the package is. It's almost specifically types that are used to write a Crossplane provider, with the exception of some reference types and conditions that are used by c/c types too.
I continue to mostly prefer crossplane/v1 because I feel like it's more immediately obvious to a casual reader that xpv1.TypedReference (for example) is a Crossplane type, whereas commonv1.TypedReference would require me to go check my imports to see whether apis/common was a Crossplane thing, a Kubernetes thing, or some other thing.

@muvaf @negz I update to use common/v1 here as it seemed you both prefer common to core and I also changed all imports to alias xpv1. PTAL


Documentation

A few documentation related tasks

[x] Get a basic build process working
[ ] Add core instructional documentation
[ ] Add CLI documentation for commands

Placing here instead of new issue since came across it in docs.
The geoapi reference link here is broken, likely due to API changes:
https://github.com/environmental-forecasting/download-toolbox/blob/c918a9ea331e8c6717802b250d42ae02bca6b8a3/download_toolbox/location.py#L5-L11
This looks right like it might be the updated link?
https://www.geoapi.org/snapshot/python/metadata/representation/#opengis.metadata.representation.SpatialRepresentation

Nice one @bnubald, thank you :)


Compose Custom Loss with Softmax

Hello!
I'm trying to create a custom loss function using symbolic variables. The loss function is the sum of the softmax error and other values computed from internal layers. I know I cannot achieve this with SoftmaxOutput so I am using SoftmaxActivation as my activation function after the final fc layer and softmax_cross_entropy as the function to compute softmax loss stacked with MakeLoss. However, I am unable to run this pipeline without getting an error:
Check failed: (this->shape_.Size()) == (shape.Size()) TBlob.get_with_shape: new and old shape do not match total elements
I know there is a shape mismatch but I'm not sure what the issue is
Here is some sample code showing the basic structure I want to achieve with the network:
data = mx.symbol.Variable(name='data')
fc1 = mx.symbol.FullyConnected(data=data, num_hidden=num_hidden, name='fc1')
act = mx.symbol.Activation(data=fc1, act_type='sigmoid')
fc2 = mx.symbol.FullyConnected(data=act, num_hidden=2, name='fc2')
label = mx.symbol.Variable(name='softmax_label')
softmax_activation = mx.symbol.SoftmaxActivation(data=fc2)
loss_1 = mx.symbol.softmax_cross_entropy(lhs=softmax_activation, rhs=label)
loss_2 = mx.symbol.sum(ms.symbol.square(fc1 - 0.5))
return mx.symbol.MakeLoss(data=loss_1+loss_2, name='makeloss')

Does this make sense? I'm pretty sure this is possible, but I'm not sure where I went wrong.
On its own, the following does not compile:
data = mx.symbol.Variable(name='data')
fc1 = mx.symbol.FullyConnected(data=act, num_hidden=2, name='fc1')
label = mx.symbol.Variable(name='softmax_label')
softmax_activation = mx.symbol.SoftmaxActivation(data=fc1)
loss_1 = mx.symbol.softmax_cross_entropy(lhs=softmax_activation, rhs=label)
return mx.symbol.MakeLoss(data=loss_1, name='makeloss')

while this does:
data = mx.symbol.Variable(name='data')
fc1 = mx.symbol.FullyConnected(data=act, num_hidden=2, name='fc1')
label = mx.symbol.Variable(name='softmax_label')
return mx.symbol.SoftmaxOutput(data=fc1, label=label)

You can use softmaxoutput for this. Multiple outputs are summed during backward

Hello,
Thank you for the response! However, I am still a bit confused.
My aimed objective function is : softmax loss + custom value computed on internal fc layer
SoftmaxOutput does not output the raw loss value, so I cannot add this to another custom value and run MakeLoss on that? Or are you saying I don't need to explicitly add these symbols together

You don't need makeloss for simple addition between objectives. They are implicitly added during backprop.
You just need to compute metric correctly for logging

@RishabGargeya have you figure out this problem? I have the same question....

@piiswrong I've checked some similar issues like SoftmaxOutput as input and I have something different that needs your insights.
I think sometimes the first softmax layer and the downstream layer are from different but related tasks, like classifying different kinds of cats and dogs together, in which we might want a cat vs dog binary classifier and then use its output as input feature in the later fine-grained cats/dogs task.
Using mx.sym.Group([SoftmaxOutput, SomeotherOutput]) would take these tasks all together but what if we want to implement the idea above?
data = mx.symbol.Variable(name='data')
label1 = mx.symbol.Variable(name='softmax_label')    # dog or cat, binary indicator.
label2 = mx.symbol.Variable(name='softmax_label2') # dogs and cats

# some common layers.
conv = mx.symbol.Convolution(data=data, num_filter=30, kernel=(5, 5), stride=(2,2))
act = mx.symbol.Activation(data = conv, act_type='relu')
pooling = mx.symbol.Pooling(data=act, kernel=(2, 2), stride=(2, 2), pool_type='max')
conv = mx.symbol.Convolution(data=pooling, num_filter=60, kernel=(3, 3), stride=(1,1), pad=(1, 1))
act = mx.symbol.Activation(data = conv, act_type='relu')
pooling = mx.symbol.Pooling(data=act, global_pool=True, kernel=(2, 2), pool_type='avg')
flat = mx.symbol.Flatten(data=pooling)

# task-realted
fc1 = mx.symbol.FullyConnected(data= flat, num_hidden=2)  # dog or cat
softmax_activation1 = mx.symbol.SoftmaxActivation(data=fc1)
loss_1 = mx.symbol.softmax_cross_entropy(lhs=softmax_activation, rhs=label1)

concat = mx.symbol.Concat(flat, softmax_activation1, dim=1)  # concat info
fc2 = mx.symbol.FullyConnected(data= concat, num_hidden=10)  # dogs and cats, suppose 10 classes
loss_2 = mx.symbol.SoftmaxOutput(data=fc2, label=label2)
return mx.symbol.Group([loss1, loss2])

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Update publish-release.sh

The script contains a potential typo in the git fetch ?
The option -pft does not exist in git fetch. Commonly used options include -p (prune) or --tags
Correct command would be -> git fetch origin -p --force --tags

From man git-fetch
 -f, --force
           When git fetch is used with <src>:<dst> refspec it may refuse to update the local branch
           as discussed in the <refspec> part below. This option overrides that check.

What git version are you using that doesn’t have -f?

look like i need to update to latest git version, the old one didn't respond the command at all
i will close this PR as it working fine on the latest git


Listen the node be hovered

Hi, there is a question that how this tool to listen which node be hovered or I say how to listen nodes be hovered?

Hello. InteractiveGraph did not listen this event. You can listen to the  hoverNodeevent of  VIS in your code.
For more information, please see the docs of vis-network


iOS Camera Icon missing from image picker

Describe the bug
iOS camera icon is missing from image picker.
https://imgur.com/qtaBjeS
NativeScript Info(please run tns info):
✔ Getting NativeScript components versions information...
✔ Component nativescript has 7.0.11 version and is up to date.
✔ Component @nativescript/core has 7.0.13 version and is up to date.
⚠ Update available for component @nativescript/ios. Your current version is 7.0.4 and the latest available version is 7.0.6.
✔ Component tns-android has 6.5.3 version and is up to date.
nativescript-mediafilepicker : ^4.0.2
Additional context
After updated to NS7 and latest mediafilepicker version, the camera icon in image picker is missing.

Same issue here, any progress on that?

Same issue here. Has anyone found a workaround yet?


ceph w/ Kubernetes: Health check noises

Hi,
I've successfully managed to turn up my Ceph cluster using examples/kubernetes as a base. Thanks a lot for making these examples available!
I've come to the part where I want to understand what is going on in my logs. As far as I can tell, everything is fine - except this one line that keeps coming up in both ceph-mon and ceph-mds. As it occurs every 10 seconds I'm sure that it's related to the liveliness probe (I haven't actually tried removing it).
ceph-mon:
2016-12-21 02:28:30.679910 7f4e89191700  0 -- <IP_ADDRESS>:6789/0 >> :/0 pipe(0x555e2e331400 sd=24 :6789 s=0 pgs=0 cs=0 l=0 c=0x555e2d91dc00).accept failed to getpeername (107) Transport endpoint is not connected
2016-12-21 02:28:30.679939 7f4e89292700  0 -- <IP_ADDRESS>:6789/0 >> :/0 pipe(0x555e2e332800 sd=30 :6789 s=0 pgs=0 cs=0 l=0 c=0x555e2d91c700).accept failed to getpeername (107) Transport endpoint is not connected
2016-12-21 02:28:31.478650 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9974: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail; 43041 B/s rd, 4035 B/s wr, 1 op/s
2016-12-21 02:28:33.508439 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9975: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail
2016-12-21 02:28:34.930393 7f4e88827700  0 mon.ceph-mon-0@0(leader).data_health(422) update_stats avail 43% total 232 GB, used 131 GB, avail 101 GB
2016-12-21 02:28:35.538042 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9976: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail; 32089 B/s rd, 453 kB/s wr, 1 op/s
2016-12-21 02:28:37.677360 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9977: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail; 31462 B/s rd, 444 kB/s wr, 1 op/s
2016-12-21 02:28:38.692482 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9978: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail
2016-12-21 02:28:39.810995 7f4e8a4b5700  0 log_channel(cluster) log [INF] : pgmap v9979: 512 pgs: 512 active+clean; 70906 MB data, 139 GB used, 23581 GB / 23752 GB avail; 63763 B/s rd, 0 op/s
2016-12-21 02:28:40.679953 7f4e89292700  0 -- <IP_ADDRESS>:6789/0 >> :/0 pipe(0x555e2e22f400 sd=24 :6789 s=0 pgs=0 cs=0 l=0 c=0x555e2d91ac00).accept failed to getpeername (107) Transport endpoint is not connected
2016-12-21 02:28:40.680014 7f4e89191700  0 -- <IP_ADDRESS>:6789/0 >> :/0 pipe(0x555e2ecba000 sd=30 :6789 s=0 pgs=0 cs=0 l=0 c=0x555e2d91d180).accept failed to getpeername (107) Transport endpoint is not connected

and for MDS:
2016-12-21 17:03:19.326936 7fb06136e700  0 -- <IP_ADDRESS>:6800/61 >> :/0 pipe(0x55ca3e318800 sd=17 :6800 s=0 pgs=0 cs=0 l=0 c=0x55ca3e360b80).accept failed to getpeername (107) Transport endpoint is not connected
2016-12-21 17:03:29.326757 7fb06136e700  0 -- <IP_ADDRESS>:6800/61 >> :/0 pipe(0x55ca3e318800 sd=16 :6800 s=0 pgs=0 cs=0 l=0 c=0x55ca3e360880).accept failed to getpeername (107) Transport endpoint is not connected
2016-12-21 17:03:29.327006 7fb06126d700  0 -- <IP_ADDRESS>:6800/61 >> :/0 pipe(0x55ca3e317400 sd=17 :6800 s=0 pgs=0 cs=0 l=0 c=0x55ca3e35e780).accept failed to getpeername (107) Transport endpoint is not connected

Is there a way to make these messages a little less noisy? Maybe using something like ceph -w to do the check would be better? It would have to be a command that only checks the local daemon instance to avoid cascading failures.

We've found the same issues and have been considering adding a local exec check. Haven't really had the time to test anything out yet.


Update npm dependencies to latest

Updated all direct npm dependencies to @latest.
Observed changes:

Prettier: now adds trailing commas to all lists. https://github.com/prettier/prettier/pull/11479
Katas: marked now omits id attributes for header tags (confirmed benign) https://github.com/markedjs/marked/pull/2890
Other trivial differences in JS emit through esbuild.

I was really hoping this would be a trivial process, but sadly it wasn't. For posterity, here's what the process ended up being:
const { execSync } = require("node:child_process");

function run(command) {
  console.log(`running command ${command}`);
  return execSync(command);
}

const deps = JSON.parse(run(`npm ls --package-lock-only --json`));

// Do these in this order first, otherwise @typescript-eslint/eslint-plugin
// gets really upset about the peer dependency missing
run("npm install @typescript-eslint/parser@latest");
run("npm install @typescript-eslint/eslint-plugin@latest");

// Update all direct deps to @latest
for (const depName of Object.keys(deps.dependencies)) {
  if (!depName.startsWith("qsharp")) {
    run(`npm install ${depName}@latest`);
  }
}

// Update indirect deps in package-lock.json
run("npm update");

// This fixes the workspace names in package-lock.json,
// which for some reason get erased above
run("npm install");

Ran ./build.py to confirm the repo still built, discovered formatting changes.
To reformat with new Prettier defaults:
npm run prettier:fix

Since we pulled a lot of JS tooling updates, I ran a quick script to save the built artifacts so I could diff the JS output:
#!/bin/bash

set -e

# clean repo
git clean -fdx
rm -rf baseline-compare/
mkdir baseline-compare

# build
./build.py --wasm --npm --vscode --no-check --no-test

# npm
mkdir -p baseline-compare/npm
pushd npm
npm pack --pack-destination .
popd
tar -xzf npm/qsharp-lang-0.0.0.tgz -C baseline-compare/npm

# vsix
npm install -g @vscode/vsce
pushd vscode
vsce package --pre-release
popd
unzip vscode/qsharp-lang-vscode-dev-0.0.0.vsix -d baseline-compare/vscode

# commit baseline
cp package-lock.json baseline-compare/
git add baseline-compare/
git commit -m "Baseline for $(git rev-parse HEAD)"

Ran this script first on main, then with the updated package.json & package-lock.json. Used git to diff the baseline-compare changes. Confirmed they looked harmless.

@sezna yeah just formatting changes in the code. I called out everything I could spot in the PR description.
This is blocked on codeowner approval and has already accrued a bunch of merge conflicts :/
Will update and resolve

@billti would you mind taking a look? Merge conflicts freshly resolved.


Enhance IntegrationTests

randomize zk port
relax the termination of services
IntegrationTest: ProcessKeeper.shutdown as first beforeAll action
Ignore the shaky GroupDeployIntegrationTest

LGTM, mergin'.


ByOffset's hasGraphAtRef() and findRef() methods are inconsistent

As shown in the fix to #90, the subgraph returned by ByOffset's methods hasGraphAtRef() and findRef() are inconsistent at best. This needs a serious rethink to make sure there is both an understandable (for users) and implementable approach to cycle detection and handling.
One idea is to ignore subgraphs that are related to Sub, so as to prevent cycle prone traversal in cycle detection itself.

It seems that this is actually something that should have been fixed when we introduced the new ParseGraph-structure that allocated a node in the graph for each Token. As it is now, there are usually several graphs that technically contain some location. So when calling resolve(), which one should be returned? The smallest/deepest? Not necessarily -- the one that should be returned is the one that was passed to the Sub which created the graph. But we can't assume that the required graph is always below a Sub, since the first structure in a cycle typically doesn''t have that. An example (capitals are defs, this points to the starting seq):
seq(cho(A, B), C, this)
If the location of A is to be resolved, should we get the graph from the Cho or Seq? Technically, it's contained in both those graphs. The only way out I think is if ParseRef's resolve()-method is passed a Token representing the definition of the graph that is needed. In the example that would be the top-level seq.


Scrapper not working for location: 'France'

I've been trying to scrap some job postings where I've specified France as a location but it seems to always have 'No jobs found,skip' as an output even though the search link has results. Has anyone else encountered this problem as well?

Hi!
Could you try again with latest version?


The model to consider.
https://huggingface.co/Qwen/QwQ-32B-Preview
The closest model vllm already supports.
Qwen/Qwen2.5-32B-Instruct
What's your difficulty of supporting the model you want?
Processing Long Texts
The current config.json is set for context length up to 32,768 tokens. To handle extensive inputs exceeding 32,768 tokens, we utilize YaRN, a technique for enhancing model length extrapolation, ensuring optimal performance on lengthy texts.
For supported frameworks, you could add the following to config.json to enable YaRN:
{
...,
"rope_scaling": {
"factor": 4.0,
"original_max_position_embeddings": 32768,
"type": "yarn"
}
}
For deployment, we recommend using vLLM. Please refer to our Documentation for usage if you are not familar with vLLM. Presently, vLLM only supports static YARN, which means the scaling factor remains constant regardless of input length, potentially impacting performance on shorter texts. We advise adding the rope_scaling configuration only when processing long contexts is required.
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

vLLM can start the model normally, but the answers are all symbols.

For convenience, you can pass --hf-overrides to vLLM instead of directly modifying the config.json file.

For convenience, you can pass --hf-overrides to vLLM instead of directly modifying the config.json file.
The same effect can be achieved by using this

Is qwq-32B supported now?

From my understanding, it is supported but you have to modify config.json as explained above.

From my understanding, it is supported but you have to modify config.json as explained above.

After modification, it cannot be started. Should I add it to the end or delete the entire file and use the above code alone? I have tested both and it fails to start with an error.

OSError: It looks like the config file at '/home/cheng/model/QwQ-32B-Preview/config.json' is not a valid JSON file.

Is this the right way to modify it? Although it can be started, the effect of answering the question is the same.

You should add the "rope_scaling" field, e.g.
{
  "architectures": [
    "Qwen2ForCausalLM"
  ],
  "attention_dropout": 0.0,
  "bos_token_id": 151643,
  "eos_token_id": 151645,
  "hidden_act": "silu",
  "hidden_size": 5120,
  "initializer_range": 0.02,
  "intermediate_size": 27648,
  "max_position_embeddings": 32768,
  "max_window_layers": 64,
  "model_type": "qwen2",
  "num_attention_heads": 40,
  "num_hidden_layers": 64,
  "num_key_value_heads": 8,
  "rms_norm_eps": 1e-05,
  "rope_theta": 1000000.0,
  "sliding_window": 32768,
  "tie_word_embeddings": false,
  "torch_dtype": "bfloat16",
  "transformers_version": "4.43.1",
  "use_cache": true,
  "use_sliding_window": false,
  "vocab_size": 152064,
  "rope_scaling": {
    "factor": 4.0,
    "original_max_position_embeddings": 32768,
    "type": "yarn"
  }
}

You should add the "rope_scaling" field, e.g.
{
  "architectures": [
    "Qwen2ForCausalLM"
  ],
  "attention_dropout": 0.0,
  "bos_token_id": 151643,
  "eos_token_id": 151645,
  "hidden_act": "silu",
  "hidden_size": 5120,
  "initializer_range": 0.02,
  "intermediate_size": 27648,
  "max_position_embeddings": 32768,
  "max_window_layers": 64,
  "model_type": "qwen2",
  "num_attention_heads": 40,
  "num_hidden_layers": 64,
  "num_key_value_heads": 8,
  "rms_norm_eps": 1e-05,
  "rope_theta": 1000000.0,
  "sliding_window": 32768,
  "tie_word_embeddings": false,
  "torch_dtype": "bfloat16",
  "transformers_version": "4.43.1",
  "use_cache": true,
  "use_sliding_window": false,
  "vocab_size": 152064,
  "rope_scaling": {
    "factor": 4.0,
    "original_max_position_embeddings": 32768,
    "type": "yarn"
  }
}

Using the configuration you gave me, it can be started normally, but the response is still the same as before.

It appears that the request you sent to vLLM already has the exclamation marks. Can you try using OpenAI client directly?

It appears that the request you sent to vLLM already has the exclamation marks. Can you try using OpenAI client directly?

Same effect

@WoosukKwon any idea about this?

Thank you very much for your patient reply. I hope to support this model as soon as possible.

I am able to run QwQ-32B-Preview Q4_K_M model with below arguments:
python3 -m vllm.entrypoints.openai.api_server --host <IP_ADDRESS> --port 8000 --quantization gguf --tensor-parallel-size 2 --gpu-memory-utilization 0.92 --max-model-len 65536 --rope-scaling '{"type":"yarn","factor":2.0, "original_max_position_embeddings":32768}'

I downloaded the awq version on HF and it works fine with vllm. What's the reason?

From my understanding, the model architecture is the same as regular Qwen 2.5, they just trained this one differently.

same issue, why...

Which issue are you referring to?

same issue, why...

Which issue are you referring to?

output is mostly composed of exclamation marks on model: Qwen2.5-3B-Instruct-f16.gguf、 Llama-3.2-3B-Instruct-f16.gguf;
but works well on model: llama3.1-8b-chinese-chat-q4_k_m.gguf

same issue, why...

Which issue are you referring to?

output is mostly composed of exclamation marks on model: Qwen2.5-3B-Instruct-f16.gguf、 Llama-3.2-3B-Instruct-f16.gguf; but works well on model: llama3.1-8b-chinese-chat-q4_k_m.gguf

It looks like you are having issues with GGUF models, but this thread is about QwQ-32B specifically. Can you open a new issue?

The model I downloaded is official fp16 and can start fine with the latest vllm but the reply to any question model is !!! symbol

gguf I haven't tested but awq's work fine

I've redownloaded the HF model and updated vllm to the latest version, 0.6.5, and it's working perfectly now. Thank you!


trade offers

It's more a question than an 'issue', however I can't seem to find how to actually interact with trade offers.. I can see that whenever there's a trade offer (done with a link, so not live) the count changes on the tradeOffer callback, however there's no way to tell it to accept or decline?

You'll have to use something like https://github.com/Alex7Kom/node-steam-tradeoffers
Trade offers are not part of this library other than the notification.

Ah thanks ..


ignore azure-engine-test binary, regenerate static assets

@colemickens,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@acs-bot test this please

Please check vlab/validate.go, add storageAccountClass into the storage profile. It is changed by the other pr


Automated formatting and testing

Looks good. Thank you. You also set up a testing framework. This fixes issue #2 too.


Android: A widget with Modifier.flex() will do very bad things if nested inside of a Row + Column

Summary
On Android, putting an element with Modifier.flex() inside a Row which is inside a Column will do... strange things. It seems to shrink the Row's width to 0, and also somehow expands the height by some large amount.
Works as expected on iOS.
Repro
Column {
  Row {
    Text("Some text", modifier = Modifier.flex(1.0))
  }
}

Screenshots

Attempted tweaks

Works fine if using Modifier.shrink or Modifier.grow instead of flex

Added a test-app screen for this in #2121


nuclei: 2.7.1 -> 2.7.2

Description of changes
https://github.com/projectdiscovery/nuclei/releases/tag/v2.7.2

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

nuclei


Breaking change in schema generation

Hi! I've just updated from 1.9 to 2.3.3 version and got the integration test failing
What happens is that the following class
[<CLIMutable>]
type SimpleRecord =
    {
        Name: string
        Age: int
    }

used to generate this schema in 1.9
{"type":"record","namespace":"Pulsar.Client.IntegrationTests","name":"SimpleRecord","fields":[{"name":"Name","type":["null","string"],"default":null},{"name":"Age","type":"int"}]}
in 2.3.3 it generates this schema
{"namespace":"Pulsar.Client.IntegrationTests","name":"SimpleRecord","type":"record","fields":[{"name":"Name","type":["null","string"]},{"name":"Age","type":"int"}]}
As you can see "default":null parameter is missing and I'm getting org.apache.pulsar.broker.service.schema.exceptions.IncompatibleSchemaException when adding Surname field
[<CLIMutable; Aliases("SimpleRecord")>]
type SimpleRecord2 =
    {
        Name: string
        Age: int
        Surname: string
    }

Can you please return the former behavior, since DefaultValue(null) doesn't work either, it fails with null not a "string" caused by org.apache.avro.AvroTypeException

Hi @Lanayx
Can you try [DefaultValue("null")]?

Hi! This will probably default to string "null" which is not a desired behavior

@Lanayx I want you to help so that I can understand the problem very well!
Did the aliases work prior to upgrading to 2.0?

@eaba Yes, the aliases worked

If I specify [<DefaultValue("abc")>], it works as well

Thanks.
It appears anything except null works.
I passed in an empty string and it worked!
What do we do?

As null has a cornerstone type in avro, I don't think dropping it's support is a good idea, so I suggest to return back to 1.9 behaviour where default: null is generated in schema for nullable reference types and nullable value types.

Another way is to make DefaultValue(null) work, I'm ok with it as well.

BTW, here is the issue with DefaultValue(null), the generated schema is
{"namespace":"Pulsar.Client.IntegrationTests","name":"SimpleRecord2","aliases":["SimpleRecord"],"type":"record","fields":[{"name":"Name","type":["null","string"]},{"name":"Age","type":"int"},{"name":"Surname","type":"string","default":null}]}, as you can see null doesn't present in Surname type

A problem with new approach is that all fields are kinda marked as [Required], which is opposite to previous behavior

@Lanayx please can test this out https://www.nuget.org/packages/AvroSchemaGenerator/2.4.0-beta?

@eaba Thank you, it worked

@eaba will you release non-beta package?

@eaba will you release non-beta package?

Yes, in like 20 minutes max!


Consider moving Moya to an organization

I've never had an open source project reach this level of popularity – I think it's time we consider whether or not it makes sense to move Moya off of my own personal GitHub account. I've not run an organization before, either.
Benefits:

Easier to mention all contributors in important issues/PRs.
Emphasizes that this is a community project and not a personal one.
We could separate Moya into distinct repositories, one for the core, one for ReactiveCocoa, and one for RxSwift.
Adding new, related libraries would be easy and be on the same organization.

Drawbacks:

Existing podspecs, cartfiles, submodules will need to move over to the new URL (redirects seem to stop working after a month in my experience).
I don't get my name all over the project anymore.

Is anyone else aware of other tradeoffs? @orta?

If you're thinking about it, then it should probably be done. Given that /moya isn't free, you might want to consider if you can think of other sibling projects that could go with it.
The distinct repos sounds like a bunch of faffing though to me FWIW.

Good points.
Distinct repos would solve our Carthage problem; they refuse to implement subspec-style libraries because it "encourages large libraries." Could be something CocoaPods could do – it crease a project now, maybe one with separate framework targets for different subspecs?

Would probably be a pretty reasonable CP plugin for lib authors wanting to make binary releases.

Leaning more in favour of this. We should probably add a CoC while we're at it.

So, since no one has any objections, I've decided to go ahead with this. Here are the steps we'll need to take:

[ ] Think of an organization name (this is the hardest part).
[ ] Create a new org.
[ ] Add Moya contributors as admins to the org.
[ ] Transfer the repo to the org.
[ ] Create an org code of conduct.
[ ] Send a PR to CocoaPods/Specs to change the git URLs to the new endpoint. (Right?)

Any other steps? Any suggestions on a name?

What other projects will be in this org?  We can ask github to make github.com/Moya available.

Send a PR to CocoaPods/Specs to change the git URLs to the new endpoint. (Right?)

Yep, the default redirects will work, but not forever.

Any suggestions on a name?

MoyaAPI, MoyaNetworking, nothing strikes me as awesome. Will ask @moya if it can be transferred.

Cool, yeah.
@colinta Initially, it'd just be this repo and probably a demo or two showing how to use Moya. In the long run, I'd love to see the org grow to include new functional-ish ways to use Swift to solve problems on iOS and OS X. It would be awesome to have a sort of meta repo where we could keep a list of ideas for projects. That way if someone had an idea, or needs an idea, they have a space they can get more help than on their own.

@orta Thanks for asking :)

Given the lack of a reply from @moya I think it might make sense to go with MoyaAPI ?

Or MoyAwesome :stuck_out_tongue:
MoyaAPI just seems so... pedestrian.

Is there any chance the @github support could intervene, a bit like the twitter one does when you request an unused account (for good reason)?

It's possible, but the user could have private activity that we just can't see. I don't want to write them off :)
Moya is named after a living spaceship. puts on nerd glasses Moya doesn't speak, so she doesn't have a voice actor, but she's biologically bonded to a pilot, voiced by Lani Tupu. It's been suggested that using some variation of that name might work, though those names are taken. I'd be pretty cool with using another homage to Farscape, too, but everything I found was too on the nose.

github.com/Leviathon/Moya

On Aug 4, 2015, at 3:01 PM, Ash Furrow<EMAIL_ADDRESS>wrote:
It's possible, but the user could have private activity that we just can't see. I don't want to write them off :)
Moya is named after a living spaceship https://en.wikipedia.org/wiki/List_of_Farscape_characters#Moya. puts on nerd glasses Moya doesn't speak, so she doesn't have a voice actor, but she's biologically bonded to a pilot, voiced by Lani Tupu. It's been suggested https://twitter.com/twannl/status/628670104667070464 that using some variation of that name might work, though those names are taken. I'd be pretty cool with using another homage to Farscape, too, but everything I found was too on the nose.
—
Reply to this email directly or view it on GitHub https://github.com/ashfurrow/Moya/issues/168#issuecomment-127760581.

Nah, https://github.com/Leviathan/ is taken.

Dang it, I spelled "Leviathan" incorrectly.  github.com/Leviathan is taken.

I've been in contact with GitHub support, and https://github.com/Moya is now an organization I control. I'll be adding contributors as team members there, then transferring and doing related chores hopefully today, maybe tomorrow.
:tada:

Awww I JUST got the same email from github, and I was hoping to bring a present to the discussion today!
Well, “HUZZAH” nonetheless.  These other names were… less good. ;-)

On Aug 5, 2015, at 9:05 AM, Ash Furrow<EMAIL_ADDRESS>wrote:
I've been in contact with GitHub support, and https://github.com/Moya https://github.com/Moya is now an organization I control. I'll be adding contributors as team members there, then transferring and doing related chores hopefully today, maybe tomorrow.
—
Reply to this email directly or view it on GitHub https://github.com/ashfurrow/Moya/issues/168#issuecomment-128029428.

:tada:

Awesome sauce! :tada:
:clap:

OK, so I've submitted a PR to update the Moya podspecs: https://github.com/CocoaPods/Specs/pull/13370
Circle CI needs to enabled the iOS beta on the Moya organization, so our CI will be broken until they flip that switch.
I've also submitted this PR on Moya to update docs, CI, etc: https://github.com/Moya/Moya/pull/175 If one of @Moya/contributors could take a look, that'd be awesome!


The username isn't derived by the filename anymore

The extension fills only the password and not the username that should be derived by the filename.
The structure is /web/my.site.com/username and my .gpg file contains only the password.
Modifying the .gpg file adding "login:username" before the password solves the issue.
The issue come out today after compiling the last version of browserpass on windows with msys2, I have another installation of browserpass on linux, compiled few weeks ago, that is not affected by this issue so I think this bug has been introduced recently.
@chrboe confirmed this behavoir on the #25

There is a function that should handle this (see here), however just from looking at the code it seems like that should get parsed just fine.
Maybe the extension itself (ass opposed to the backend) is to blame for this (#101 got merged very recently and has something to do with the username input field). I'll bisect to figure out where it's coming from.

The frontend code has changed a lot, and I don't have rights to update browser extensions in stores (see #117).
The only way to use it for now is to clone master, and do:
$ cd browserpass
$ yarn
$ make js

And then load browserpass/chrome as Load unpacked extension in chrome://extensions.
If this still does not fix the issue for you, could you share examples of particular websites where you see the issue? I've tried on github.com and a few others, login is being inserted just fine.

Sorry, I'm on firefox, what about you? Is it worth to try even the chrome extension (maybe it behave differently)?

@maximbaz Am I correct in assuming that you're using Linux? Unfortunately I don't have a Linux PC at hand right now, so I'm not sure whether or not this bug actually occurs on Linux. Can you confirm?
(I'm using Chrome on Windows right now btw and the bug happens, so I suspect it's either a regression or it has something to do with Windows in general)

I'm using Chromium on Linux, and I don't reproduce this issue. But there were changes in frontend that affect this behavior, maybe you just caught a particular website where there is a regression. Do you reproduce this on https://github.com/login ?

I can compile the last browserpass this evening at home (Linux) to see if the issue is present.
Yes, the issue is present on github login as well on nextcloud login.

I originally tried on the Gitlab login page, but I can confirm that GitHub behaves the same.
I guess I'll have to figure out a way to build the extension on Windows then :)

Alright, since c6736a999ae0932c7907b2b4108a6a3473806f4b (the windows compatibility PR) is the last revision I can comfortably bisect from, and this bug appears there, I'll just assume it was always there (remember, hardly anyone really ever ran this on Windows).
If anyone with a Windows machine could confirm whether this is a bug in the back- or the fronte
Hold on, I just figured it out! The function I mentioned earlier (link) assumes a forward slash in the filename, which obviously doesn't exist on windows (d'oh). I guess I must have missed that when I "ported" the code.
Anyways, just replacing the / by os.PathSeperator should do the trick I think.

Nice job! Please send a quick PR :D

@chrboe thanks once again :+1:
@aventrax try the latest master, should work now 😉

Working. Nice job, very active development :-D


Change in UI as per the design

Many pages were not integrated into the final app as per the design given below.
https://www.figma.com/proto/6kQe9wCuWzWjSRYmV85rV1/pseudoGenerator?node-id=1%3A49&scaling=scale-down

On this page, the background ( editor ) is not good and code will not be visible, we can add VSCode based theme editor

On this page, the background ( editor ) is not good and code will not be visible, we can add VSCode based theme editor

Yah this is already there, I had used the aceeditor for the same. It was just for design purpose.


Protobuf version

If requirements.txt are installed as is, an error is raised during tensorboard import (noting that the protobuf version needs to be downgraded). Could consider explicitly adding e.g. protobuf 3.20.1 to requirements.txt? (Or whichever version was originally intended to be used.)

Thank you for pointing that out, we have updated the requirements.txt.


Fails to start with "setTimeout is not defined"

Cinnamon 3.8.8
Applet version 1.5.5
Debian 10
QRedshift: Created
error t=2021-03-19T15:30:01Z
[qredshift@quintao]: setTimeout is not defined
[qredshift@quintao]: Failed to evaluate 'main' function on applet: qredshift@quintao/91
trace t=2021-03-19T15:30:01Z
<----------------
anonymous/QRedshift/<@/home/yrtimid/.local/share/cinnamon/applets/qredshift@quintao/applet.js:214:13
verifyVersion@/home/yrtimid/.local/share/cinnamon/applets/qredshift@quintao/applet.js:259:21
QRedshift@/home/yrtimid/.local/share/cinnamon/applets/qredshift@quintao/applet.js:212:9
main@/home/yrtimid/.local/share/cinnamon/applets/qredshift@quintao/applet.js:787:12
createApplet@/usr/share/cinnamon/js/ui/appletManager.js:573:18
addAppletToPanels@/usr/share/cinnamon/js/ui/appletManager.js:347:22
onEnabledAppletsChanged@/usr/share/cinnamon/js/ui/appletManager.js:290:9
---------------->

Which Distro you using?

it's Debian 10

Can you share your source.list please.

you mean sources.list of apt?
deb http://httpredir.debian.org/debian/ buster main contrib non-free
deb http://httpredir.debian.org/debian/ buster-updates non-free contrib main
deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
deb http://deb.torproject.org/torproject.org/ buster main
deb [arch=amd64] https://download.docker.com/linux/debian/ buster stable
deb http://deb.debian.org/debian/ buster-backports non-free contrib main

and some in sources.list.d... are you looking for something special?

I wanted to see if your using some testing repository.
You see that error on Melange right?

Only stable repo.
yes, the error is on Melange.
I searched other applets for setTimeout usage, and all of them use custom implementation like:
function setTimeoutInSeconds(callback, s) {
    return Mainloop.timeout_add_seconds(s, () => {
        callback();
        return false;
    }, null);
}

Installing Debian here for test...

I got the same problem here, i will try to fix it.

I fixed it, but i cant make a pull request now, because i'm working a big update.
So if familiar with code, you can fix it yourself by editing the applet.js and replacing the this.verifyVersion() function with this one.
Starts on line 213
        // --- Async Loading ---
        this.verifyVersion(() => {
            this.menu = this._applet_context_menu;

            this.timeout_info = Mainloop.timeout_add_seconds(1, () => {
                qLOG('Redshift required!');
                this.setIcon();
                this.set_applet_label(_("REDSHIFT NOT INSTALLED!"));
                this.set_applet_tooltip(_("Requires Redshift: sudo apt-get install redshift"));
            }, null);

        }, (success) => {
            Mainloop.source_remove(this.timeout_info)
            // Set Menu
            this.menu = this.appMenu;

            // Disable Redshift
            this.disableRedshiftService()

            // Load Informations
            this.setAdjustmentMethods(false);
            this.setLocation(false);

            this.doUpdate();

        });

Thanks for the report! 🍻

Let me know if works.

Works perfectly! Thanks!

Fixed in version 1.6.0


Quick access to home directory

Is your feature request related to a problem? Please describe.
As a new user, I want to be able to quickly jump to my home directory
Describe the solution you'd like
Either add some new feature or prefill favorites with the home directory

Fixed


RUMM-1010: Warn or fail the build when Datadog SDK is missing in the project dependencies

What does this PR do?
This changes build a link between Datadog SDK Gradle plugin and Datadog SDK itself: plugin will be able to notify the user if Datadog SDK is missing in the project dependencies (strictly speaking in the runtime classpath). This is achieved by introducing new checkProjectDependencies property of the plugin extension, which has 3 options: none - take no action if Datadog SDK is missing, warn - log a warning if Datadog SDK is missing, fail - fail the build if Datadog SDK is missing. This property can be applied either on the global level or per flavor:
datadog {
    site = "US"
    checkProjectDependencies = "fail"
    variants {
        fr {
            site = "EU"
            checkProjectDependencies = "none"
        }
    }
}

Motivation
Get a better feedback to the Datadog SDK user if setup is wrong.
Additional Notes
Check is done at the pre-compilation step (lazy way), to save build script configuration time which may be large for the big projects since we need to check full dependency tree (not necessarily Datadog SDK will be top level dependency for the project, it may also come from the other modules).
Review checklist (to be filled by reviewers)

[x] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[x] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[x] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

FYI: I checked setup when DD SDK is declared in another module (other than plugin, lib module) and this module is referenced from app module (plugin module) - everything works fine as well.


Ensure sizeof dict and sequences returns an integer

In https://github.com/dask/dask/pull/6154 we updated our sizeof estimate for large dictionaries and sequences. This PR ensures that we return an integer sizeof for these objects.
cc @pentschev I think this should resolve the issue you were seeing over in https://github.com/dask/distributed/issues/3771
Closes https://github.com/dask/distributed/issues/3771

[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Wow, that was quick. Thanks @jrbourbeau !
cc @galipremsagar

Thanks for reviewing @pentschev. I'm going to merge this now to resolve those test failures in over in distributed. Happy to do a follow-up PR if others have comments


minor grammar/typo fixes to v3 spec

The v3 spec is substantial clearer than when I last read it ~ 1 year ago. Congratulations to all who have worked to improve it over that time. I especially thank getting rid of split data/ folder and the root/ requirement from paths makes things substantially easier on the implementation side!
This MR just proposes a few minor issues I noticed when reading it. It does not propose any changes in behavior.

Two other minor comments/questions for clarification:
1.) Under the get_partial_values method description it states:

Output: list of values, in the order of the key_ranges, may contain none for missing keys

If the user is providing the (key, range) tuples as input, under what scenario(s) are there "missing keys"? I thought the returned values should always correspond to the provided keys in the order given?
2.) The abstract store interface describes keys as needing to be in the format

a-z, A-Z, 0-9, or in the set /.-_, where the final character is **not** a /`` character

However, under node names, this is the recommended character set, but it is not a requirement. Should the "node name" and "store key" naming restrictions be the same?

Two other minor comments/questions for clarification:
1.) Under the get_partial_values method description it states:

Output: list of values, in the order of the key_ranges, may contain none for missing keys

If the user is providing the (key, range) tuples as input, under what scenario(s) are there "missing keys"? I thought the returned values should always correspond to the provided keys in the order given?

If the key is not present in the store (e.g. the file does not exist) that is considered a missing key.

2.) The abstract store interface describes keys as needing to be in the format

a-z, A-Z, 0-9, or in the set /.-_, where the final character is **not** a /`` character

Yes, that is out of date.  It should now be any unicode string subject to store-specific limitations.

However, under node names, this is the recommended character set, but it is not a requirement. Should the "node name" and "store key" naming restrictions be the same?

Merging so other reviewers don't hit upon the same minor issues but :+1: for keeping the conversation going :smile:


To be fair, one doesn't really need extra globals

Heh, interesting trick, but I don't think I'm interested in creating the best-possible-version of a bad alternative in this repository.

For a polyfill of a global, a global implementation would be reasonable... But sure...


Term request: Use of medication inclusion criterion

Superclass: Inclusion criteria
Definition: An inclusion criterion that defines and states a a set of medications, which, if used by an entity, makes that entity suitable for a given task or participation in a given process.

Resolved:
https://github.com/obi-ontology/obi/commit/683afd5c77b568ef7dab0e8218ff9c5607a5b073


[DNM][WIP] Implement Comparable and Hashable conformance for Tuples

I'm just making a separate PR for these conformances to not distract from the original PR. This is testless atm and needs a Hashable implementation. The only different commit is comparable implementation atm.
I mostly did this to see how difficult it would be to create new conformances after the groundwork was done in the equatable PR. It turns out it's very easy to add new conformances.

Can one of the admins verify this patch?


/tmp/fuse_fd_comm.xxx files never got deleted

What happened:
After running juicefs mount several times, I find /tmp/fuse_fd_comm.xxx files are left behind even when main process exits.
What you expected to happen:
They should be deleted after process dies.
How to reproduce it (as minimally and precisely as possible):
Run juicefs mount and kill the process. You will find the corresponding /tmp/fuse_fd_comm.xxx remains.
Anything else we need to know?

Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version:

1.2.0-dev

Cloud provider or hardware configuration running JuiceFS:
OS (e.g cat /etc/os-release):
Kernel (e.g. uname -a):
Object storage (cloud provider and region, or self maintained):
Metadata engine info (version, cloud provider managed or self maintained):
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

As discussed offline, these files will be automatically cleared after node reboot. This is not a big issue and we'll leave it as it is.


Add tvOS support.

Thank you for this awesome lib!
Could someone please add tvOS support?
If nothing iOS-only is used I think one just have to create a new target into the XCode project.
I'll try to submit a PR myself.

tvOS target is not generated. Any help?


Use preserve mode to copy headers.

Notes:

Pull requests cannot be accepted until:

The submitter has accepted the online agreement here with a click through .

account created<EMAIL_ADDRESS>

Description
I am building curl with mbedtls for an embedded device. One interesting phenomenon is make curl always rebuild its source files even no single curl file is edited. After debugging, I found the root cause is: the build system in my device will build and install mbedtls first, and then curl. During installing mbedtls, all mbedtls headers will be copied to the DESTDIR. However, on copying, the headers' mtime are updated even no mbedtls file is updated, so make curl thinks the dependencies are updated, so the entire curl will be rebuilt.
The fix is very simple: keep the mtime during copying with cp -p.  If mbedtls is not changed, the headers will not be regenerated, and cp -p will not update the headers mtime in DESTDIR.
Status
READY

@xueruini Thank you for your contribution and interest in Mbed TLS!
Unfortunately, we cannot link github accounts to Mbed accounts.
Could you kind;y confirm that this is your Mbed account?
If so, it seems that you haven't accepted the online Contributor's License Agreement(CLA).
As you may know, we cannot accept contributions without CLA being accepted.
Thanks again for your contribution!

Could you kind;y confirm that this is your Mbed account?

yes, this is me. I just accepted the agreement. Please check it out.

I don't think it's necessary to backport this fix so we'll skip that, but we do need a ChangeLog entry despite the fact it's a trivial fix, to at least record the change. That can be added at Gatekeeping.


When I try to mixpanel.init I am getting "TypeError: cannot read property 'console' of undefined"

I was able to avoid the error by installing the full version.

hey @pawelkontek I'm facing the exact same error. What do you mean by installing the full version? Install the<EMAIL_ADDRESS>And did you init the mixpanel in the main thread or the UI thread?

Also curious @pawelkontek!

I solved this by installing the non-reduced version. Can be done with npm i<EMAIL_ADDRESS>


How to handle security?

Is there some library to handle authentication and authorization in async environment? If not, can you give me some tips how you do it?
I've been using symfony/security previously, but it is request-response oriented (the current authentication token is saved in a global stateful service) so I can't use it with Amphp.
Thanks for any advice.
Note: I do know about https://github.com/amphp/http-server-session. I mean something on top of that to help me handle authentication / authorization. Also I'm actually building an API though so I don't really need session - using an authentication header instead.

Authentication / authorization should probably not be tied to HTTP as transport. You'll probably have a User object of some kind. If you want to have role based access controls, you'd for example have a getRoles(): string[] method on the user object to check the roles corresponding to the user or something like hasRole(string): boolean.
Then you could use something like the following in your request handler:
$user = $this->getLoggedInUser();

if ($user === null || !$user->hasRole('some-role')) {
    return $this->error("Access denied");
}

getLoggedInUser() could be defined in a parent class of your request handlers.

I did some research how security works in Symfony. Authentication in Symfony is very sophisticated but ultimately I don't need anything from that so I'll implement some simple token verification in my request handlers. For Authorization I just need to change Voters to be able to return promises and then pretty much copy-paste the affirmative strategy from Symfony.


Suggestion: Type guard generic types

Would it be good to have type guarding on generic types? Or was this decided against?
Example 1
class Parent {
    prop1: string;
}

class Child extends Parent {
    childProp: string;
}

var t: Parent = new Child();

if (t instanceof Child) {
    t.childProp; // no error
}

function myFunction<T extends Parent>(item: T) {
    if (item instanceof Child) {
        item.childProp; // error
    }
}

I realize this example could be rewritten without generics. It's just an example :)
Example 2
Here's a scenario I came across when creating a wrapper class:
interface NedbItem {
    _id: string;
}

function isNedbItem(item: any): item is NedbItem {
    return item != null && typeof item._id === "string";
}

class DatabaseWrapper<T> {
    getItems() {
        const itemsFromDatabase: T[] = .....;

        itemsFromDatabase.forEach(i => this.stripNedbID(i));

        return itemsFromDatabase;
    }

    private stripNedbID(item: T) {
        if (isNedbItem(item))
        {
            delete item._id; // error, _id does not exist on T
        }
    }
}

Maybe a generic type with no constraint should be treated like an any type in this case? (Once type guards are fixed for any types -- See #4432)
This suggestion is probably very low on the priority scale.
I couldn't find this issue discussed elsewhere so sorry if it was.

Just thinking about this a bit more. I guess this is not allowed for the same reason that this is not allowed:
function myFunction<T>(item: T) {
    var s = item as string; // error, neither T nor string is assignable to the other
}

There are still valid cases where this can be helpful, especially when generic type extends from a union type. E.g

class Cat {    }
class Dog {  }
class Node<T extends Cat | Dog> {
     data: T = null
     print() {
          if (this.data instanceof Dog) {
                // this.data now has the type Dog inside the block
          }
     }
}

But the example doesnt seem to work today as typescript does not specialise the generic type even if it is a subset of the type it extends from

the problem is not

Accepting PRs.
The root cause here comes from two factors.
First is that given a (constrained) generic type parameter T extends U, we don't consider T to be assignable from a subtype of U. That rule is correct - it would be unsound to let you write code like this:
function clone<T extends Animal>(x: T) {
  return new Dog(); // Unsafe: Dog is subtype of Animal, but is not a subtype of T
}
clone(new Cat()); // Example invocation of other subtype

Second is that a type guard on an expression of type W to type V only succeeds if V is assignable to W. That rule is also correct -- typeguarding guarding a Cat with isDog should not succeed.
The rules do not combine favorably in the case of generics, though. We believe the correct fix is to take the apparent type of the generic type parameter when performing the assignability check in the second rule.

Thinking about @RyanCavanaugh's two root causes, why should type guarding Cat with isDog be illegal? What if the Cat is actually Cat & Dog at runtime?

I have another use case for this. Simplified:
interface A { type : string }
interface B extends A { f () : B }
function isB (x : A) : x is B {
	return x.type === "B";
}

// Doesn't work.
function g <T extends A> (x : T) : T {
	if (isB(x))
	  return x.f()
}

// Works, but lets you return an `A` if passed a `B`.
function h (x : A) : A {
	if (isB(x))
	  return x.f();

The function g was written with generics to enforce that you get back the type you passed in. So you can pass in either an A or a B, but when you pass a B, you will get back a B as well. However, after type isB check, typescript doesn't refine T to be a B, so the call to f fails to type check.

Another use case:
function foo<T extends string | number>(value: T) {
	return typeof value === "number" && isNaN(value);
	// on isNaN value still is "value: T extends string | number"
}

It seems like it sort-of works if I explicitly write a generic function that returns the type guard:
class Cat { meow() { console.log("meow") } }
class Dog { woof() { console.log("woof") } }

class N<T extends Cat | Dog> {
    data: T = null
    print() {
        const data = this.data
        // This is fine
        if (is(data, Dog)) {
            return data.woof()
        }
        // Unfortunately, this is not. Type error on meow
        // Looks like narrowing isn't working
        data.meow();
    }
}

function is<T, TClass>(x: T, c: new () => TClass): x is T & TClass {
    return x instanceof c;
}

Unfortunately, it looks like narrowing of the union doesn't work. If I add the explicit annotation const data: Cat | Dog the error goes away, so it looks like an unfortunate interaction between union narrowing and generics. In the meantime, we can just explicitly write if-clauses for each case instead of relying on narrowing.

Why is this issue still open? All the examples here compile fine already.

What about more advanced scenarios? Like this:
function foo<T>(a: T) {
  const b = a;
  if (typeof a === 'string') {
    console.log(b.toLowerCase()); // error
  }
}

It doesn't compile, however wouldn't it be safe to assume that T is string inside the if?

I found another example of this problem where this goes wrong.
type A = { kind: "a" }
type B = { kind: "b" }

const a = (a: A): void => undefined
const b = (b: B): void => undefined

const c = <C extends A | B>(c: C): void => (c.kind == "a" ? a(c) : b(c))

Of course in this simple example C could just be defined a type alias, but in the code this is extracted from I need C to be generic and then this doesn't work anymore.

@rolfvandekrol That is probably related to this: #21483, or at least it suffers from the same issues.

So few answers and reactions to such an old and simple problem... :С
A similar problem: https://stackoverflow.com/questions/63594468/type-guard-dont-work-with-generic-params

What about more advanced scenarios? Like this:
function foo<T>(a: T) {
  const b = a;
  if (typeof a === 'string') {
    console.log(b.toLowerCase()); // error
  }
}

It doesn't compile, however wouldn't it be safe to assume that T is string inside the if? Is there probably another issue where it's been discussed?

This is working as intended. Types are immutable, only variables can be narrowed, a is tested so it will have type string. You can replace generic T with concrete type string | number. @thorn0

Playing with the OP's second example (and fixing some apparently unintended errors), I've found that it is optional part that causes the compile error. In other words, this compiles perfectly fine:
interface Doubleable {
    double(): void; // ✅ required
}

declare function isDoubleable(value: unknown): value is Doubleable;

class Wrapper<Value> {
    act(value: Value) {
        if (isDoubleable(value)) {
            value.double();
        }
    }
}

… while this doesn't:
interface Doubleable {
    double?(): void; // ❌ optional
}

declare function isDoubleable(value: unknown): value is Doubleable;

class Wrapper<Value> {
    act(value: Value) {
        if (isDoubleable(value)) {
            value.double();
//                ^^^^^^
//                Property 'double' does not exist on type 'Value'. (2339)
        }
    }
}

This happens not only in generic classes, but in generic functions as well, so I guess it is really a problem with generics.

What's weird is that the error message says "on type 'Value'". I would understand if TypeScript refused to invoke a possibly missing method, which it does in this case:
interface Doubleable {
    double?(): void;
}

function double(value: Doubleable): void {
    value.double();
//  ^^^^^^^^^^^^
//  Cannot invoke an object which is possibly 'undefined'.
}

… but in our cases it does something different.

All these examples (except https://github.com/microsoft/TypeScript/issues/4742#issuecomment-405675506) are working now 😄


Running an original notebook for text2img. Model stuck on stage B.

On stage B it just doesn't make any progress for several minutes then crashes. Any ideas why it can happen?

On stage B it just doesn't make any progress for several minutes then crashes. Any ideas why it can happen?

you can change code:
models = LoraCore.Models(
**{**models.to_dict(), 'generator': models.generator}
)
models_b = WurstCoreB.Models(
**{**models_b.to_dict(), 'generator': models_b.generator}
)

Having the same issue, changing the code as @BoxFishLab suggested doesn't resolve it.

resolved by not running the compling codeblock


Create two UnitTestBot plugin versions for IC and IU

Description
We decided two create two versions of our plugin:

For Intellij Ultimate: all supported features
For Intellij Community: Java + Spring + Python

How to test
Automated tests: standard UTBot pipelines; note that yaml scripts were changed
Manual tests: some kind of regression for both plugin editions
Self-check list

[x] I've set the proper labels for my PR (at least, for category and component).
[x] PR title and description are clear and intelligible.
[x] I've added enough comments to my code, particularly in hard-to-understand areas.
[x] The functionality I've repaired, changed or added is covered with automated tests.
[ ] Manual tests have been provided optionally.
[x] The documentation for the functionality I've been working on is up-to-date.

@denis-fokin @EgorkaKulikov @Markoutte
Here are the two plugins generated from this branch:
https://github.com/UnitTestBot/UTBotJava/actions/runs/5819371184

@tyuldashev has found an issue with JS in IU plugin, investigating

The issue in JS test generation is old, not related to these changes:

#2501
PR Approved.


Only pins the primary interactive if its height is less than the browser height

Demo here
On Page 3, if you change the height of the interactive to be larger than the browser window, the interactive should jump to the top of the div and not be pinned. If you change the height of the browser to be shorter than the interactive, the interactive should not be pinned as you scroll.
On page 16, If you open click on the teacher tip and the teacher tip makes the primary column taller, the interactive should not be pinned.
On page 14, it uses the total height of both interactives to determine whether to pin or not.

For #3: A similar thing happens in LARA. It doesn't disappear immediately on browser resource, but as soon as you scroll, the interactives disappears.


Feature/read config yaml on runtime

read the scheduler config yaml on the runtim
detect and log when the scheduler config yaml changes

Codecov Report

Merging #80 (9f3a44e) into main (30ff73b) will decrease coverage by 0.39%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #80      +/-   ##
==========================================
- Coverage   31.57%   31.18%   -0.40%
==========================================
  Files          15       15
  Lines         627      635       +8
==========================================
  Hits          198      198
- Misses        429      437       +8

Impacted Files
Coverage Δ

splunk_connect_for_snmp_poller/manager/poller.py
0.00% <0.00%> (ø)

..._connect_for_snmp_poller/manager/task_utilities.py
18.12% <0.00%> (+0.20%)
:arrow_up:

splunk_connect_for_snmp_poller/manager/tasks.py
0.00% <ø> (ø)

splunk_connect_for_snmp_poller/utilities.py
27.77% <0.00%> (ø)

Continue to review full report at Codecov.

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

I have read the Code of Conduct and I hereby accept the Terms

Thanks, @lstoppa!
Here is the summary of the changes

Defined file_was_modified() inside utilities.py.
Merged check_server_config() into check_inventory().
(I think it is not necessary to use nested functions now)

Please have a look at the newer commit and let me know if there is anything else that needs to be modified.

:tada: This PR is included in version 1.4.14 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: