Test not found when run from gradle

Using Gradle 4.6 and KotlinTest 3.0.1, executing gradlew clean test returns a bunch of warnings from org.reflections, but does not run any tests.  When run using the junit runner within intellij, it works fine.
I'm currently trying to run a spring-boot integration test, shown below.  I've also listed my build.gradle for reference.
test class:
@SpringBootTest
class SampleRepositoryIntegrationSpec : BehaviorSpec() {

	override fun listeners(): List<TestListener> = listOf(SpringListener)

	@Autowired
	lateinit var repository: SampleRepository

	init {
		given("A valid instance of Sample") {
			val expected = Sample(comment = UUID.randomUUID().toString())

			When("it is persisted") {
				val persisted = repository.save(expected)

				then("a valid uuid has been generated") {
					persisted.uuid shouldNotBe null
				}

				When("it is queried by uuid") {
					val found = repository.findOne(persisted.uuid)

					then("is found") {
						found shouldNotBe null
						found.uuid shouldBe persisted.uuid
					}
				}
			}
		}
	}
}

Build.gradle:
buildscript {
ext {
spring_boot_version = '1.5.10.RELEASE'
spring_version = '4.3.14.RELEASE'
kotlin_version = '1.2.31'
junit_version = '5.1.0'
junit_plugin_version = '1.1.0'
kotlin_test_version = '3.0.1'
}
repositories {
mavenCentral()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
classpath "org.junit.platform:junit-platform-gradle-plugin:$junit_plugin_version"
}
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'kotlin-jpa'
apply plugin: 'org.junit.platform.gradle.plugin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
configurations {
providedRuntime
}
springBoot {
buildInfo()
}
dependencies {
//Kotlin
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
//Load core spring-boot starters:
compile "org.springframework.boot:spring-boot-starter:$spring_boot_version"
compile "org.springframework:spring-web:$spring_version"

//Load data-access dependencies:
compile "org.springframework.boot:spring-boot-starter-data-jpa:$spring_boot_version"
runtime 'mysql:mysql-connector-java'

providedCompile "org.springframework.boot:spring-boot-starter-tomcat:$spring_boot_version"

//Load test dependencies
testCompile 'org.springframework:spring-context'
testCompile 'org.springframework:spring-test'
testCompile "org.springframework.boot:spring-boot-test:$spring_boot_version"

testCompile "org.junit.platform:junit-platform-launcher:$junit_plugin_version"
testCompile "org.junit.platform:junit-platform-runner:$junit_plugin_version"
testCompile "io.kotlintest:kotlintest-runner-junit5:$kotlin_test_version"
testCompile "io.kotlintest:kotlintest-extensions-spring:$kotlin_test_version"

}
compileKotlin {
kotlinOptions.jvmTarget = java_version
}
compileTestKotlin {
kotlinOptions.jvmTarget = java_version
}
bootRun {
systemProperties["spring.profiles.active"] = System.properties["spring.profiles.active"] ?: "development"
}
test {
useJUnitPlatform()
systemProperties["spring.profiles.active"] = System.properties["spring.profiles.active"] ?: "test"
testLogging {
exceptionFormat = 'full'
}
}

To keep it simple, I also added this dummy-test, which had the same results as my 'real' test:
class MyTest : FunSpec({     test("A test") {         1 + 1 shouldBe 2     } })

That bug would break it but it was fixed i thought. I guess it's still
broken on windows. I'll try testing on windows somehow.
On Thu, 29 Mar 2018, 20:24 bondpp7<EMAIL_ADDRESS>wrote:

I downloaded the code you provided, ran gradlew clean test, and
regardless of whether the test should pass (after changing the 'expected'
value), I get the same result: a bunch of warnings similar to
Caused by: org.reflections.ReflectionsException: could not create Vfs.Dir
from url, no matching UrlType was found
[file:/C:/git/tng/garbage/build/classes/java/test] either use fromURL(final
URL url, final List urlTypes) or use the static
setDefaultURLTypes(final List urlTypes) or
addDefaultURLTypes(UrlType urlType) with your specialized UrlType.
and then BUILD SUCCESSFUL in 6s 4 actionable tasks: 4 executed
I'm on Win7-64, if that matters at all. I confirmed I'm using gradle 4.6,
and have only the content from your samples-issue271 directory (plus gradle
wrapper).
I even pulled all the spring stuff out of the build.gradle to remove
anything that wasn't needed. Same result (final build.gradle below).
buildscript {
ext {
kotlin_version = '1.2.31'
kotlin_test_version = '3.0.1'
junit_plugin_version = '1.1.0'
java_version = "1.8"
}
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath
"org.junit.platform:junit-platform-gradle-plugin:$junit_plugin_version"
}
}
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'org.junit.platform.gradle.plugin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile "io.kotlintest:kotlintest-runner-junit5:$kotlin_test_version"
}
compileKotlin {
kotlinOptions.jvmTarget = java_version
}
compileTestKotlin {
kotlinOptions.jvmTarget = java_version
}
test {
useJUnitPlatform()
testLogging {
exceptionFormat = 'full'
}
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/271#issuecomment-377344912,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGiS3Wn1T76Sx17B1ceQe3LpqS24dks5tjTTQgaJpZM4TAmGb
.

It's not the most efficient approach, but if you have changes you'd like tested, I'd be glad to help.

Ok that might help then. Can you clone the project, and change line 45 at ReflectionsHelper, so it should look like:
      val file = Paths.get(url.path).toFile()
      println("VFS FILE = $file")
      println("VFS FILE EXISTS = ${file.exists()}")
      println("VFS FILE LIST = ${file.list()}")
      return !file.exists() || file.list() == null || file.list().isEmpty()

Then just run the project with gradle test and when the error occurs can you give me the stack trace that includes the println.

Did you add the lines, just to confirm, as they're not in master.

Also you might need to do gradle test -i

I did add the lines, and re-ran with "-i".  Same (failed) result.

I get things like this in the log
VFS FILE = /usr/lib/jvm/java-8-oracle/jre/lib/ext/dnsns.jar
VFS FILE EXISTS = true
VFS FILE LIST = null
VFS FILE = /home/sam/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.30/2dfac33f8b4e92c9dd1422cd286834701a6f6d6/kotlin-stdlib-1.2.30.jar
VFS FILE EXISTS = true
VFS FILE LIST = null
VFS FILE = /home/sam/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.1.0/d6aa21029f9cedfb4cc8a9e9efc0bd97987205b8/junit-platform-commons-1.1.0.jar
VFS FILE EXISTS = true
VFS FILE LIST = null

I've made a change on master, to the way it picks the files up which hopefully will be better on windows. Can you pull latest master and re-run ?
git pull
git reset --hard origin/master

Got the output, this time.  See attached.
kotlintest-output.txt

Ok we can see the error now. Hopefully when you try latest mastet it should be fixed.

I can confirm the vfs error is gone and the tests now run.  Regrettably, they don't seem to be picking up the 'test' block from my build.gradle as normal tests would.  (I use that to set the 'active profile')
Relevant part of the build.gradle:
bootRun {
systemProperties["spring.profiles.active"] = System.properties["spring.profiles.active"] ?: "development"
}
test {
useJUnitPlatform()
//    // Always run tests, even when nothing changed.
//    dependsOn 'cleanTest'
systemProperties["spring.profiles.active"] = System.properties["spring.profiles.active"] ?: "test"
testLogging.showStandardStreams = true
testLogging {
    exceptionFormat = 'full'
}

}

Progress then.
What isn't being picked up? The spring.profiles.active property? Where/how would it surface?

Correct, the spring.profiles.active; it surfaces by pulling in the application-test.properties file to fill in configuration values; without that file, items such as database connection values are missing, and thus the tests fail.  This works with junit gradle-based testing.

I can also confirm that both the Junit-gradle plugin AND useJUnitPlatform() are required for the KotlinTest specs to be found and run.

Where is it used? Can you give me a simple example.

Sure.  I have a file in src/test/resources named application-test.properties.  Spring "knows" to use that file when the spring.profiles.active value matches test.  The contents of the file are:
spring.datasource.url=jdbc:mysql://localhost:3306/sample?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.show-sql=true

I can get it to work by changing the filename to application-default.properties, which corresponds to the default profile, called (surprise) default.  When I use the renamed file, the settings are loaded and the tests run successfully.

The same thing can be achieved for junit test runner by setting the "VM Options" to -ea -Dspring.profiles.active=test

and you're using the spring extension for KotlinTest?

Yes.
@SpringBootTest
class SampleRepositoryIntegrationSpec : BehaviorSpec() {

  override fun listeners() = listOf(SpringListener)

  @Autowired
  lateinit var repository: SampleRepository

  init {
    given("A valid instance of Sample") {
        val expected = Sample(comment = UUID.randomUUID().toString())

Ok, so now we've moved onto a different problem, which is the spring listener doesn't use this system property.
The spring listener uses org.springframework.test.context.TestContextManager. I wonder if that just doesn't support those profiles? Because it's supposed to use an @ContextConfiguration on your test class.

I agree, this is a different issue that we were initially battling, and that the initial issue is resolved.  As a note, the @SpringBootTest provides the @ContextConfiguration

I can't see that inside SpringBootTest

From what I've just read you're supposed to put spring.profiles.active=test inside a file called application.properties.

Or you can use @ActiveProfiles("test")

Ugh, can't believe I forgot about @ActiveProfiles("test"); that works, for now.  It's a little messy as a final solution, but sufficient to allow me to keep working and using KotlinTest.  Thanks for all the help :)

Ok so I'll release 3.0.2 with the windows fix and you can use that.

3.0.2 has been released. Takes 15 minutes to show up at http://repo1.maven.org/maven2/io/kotlintest/ usually.
Thanks for your help in this issue.

I found why the 'active-profile' wasn't working.  It's nothing related to Kotlin-Test; when using Junit5 and spring-boot, JUnit5 w/ Gradle 4.6+ recommends using useJUnitPlatform() within the "test" task, rather than the (now obsolete) gradle-plugin.  Doing this means that systemProperties["spring.profiles.active"] must be set within JUnit's "junitPlatformTest" task, rather than the standard "test" task.  That was the root issue.

Aha, well thanks for coming back and updating the ticket.


Add a standalone Producer to Racecar

Description
Add a standalone Producer to Racecar that can be used similarly to how DeliveryBoy is used, but with rdkafka-ruby under the hood.
The producer has three main methods:
Produce async - fire and forget
The most basic function without any guarantees. Since its fire and forget I didn't wrap any error handling or instrumentation around it, let me know you think we should do otherwise.
Produce sync - single message produce and wait for each call to this message
This is wrapped with the instrumentation, error handling and logging similarly to the deliver method on the Consumer.
wait_for_delivery - essentially batch produce messages
You can pass a block including several messages calling produce_async.
Each message will be added to delivery_handles and the Producer will wait for all messages to have been delivered.

You can plug and play waterdrop: https://github.com/karafka/waterdrop
it seems to have all you described that is needed.

@mensfeld this is planned work for Racecar.

Has the corresponding beta already landed?
I also noticed that this addition is yet missing from the CHANGELOG, assuming it would belong to the "Unreleased" section.
Looking forward to this :)


Cannot Install The Old Or New Theme On Windows 8.1

🧐 Have you read the FAQ and viewed similar issues?

[X] I have read the FAQ
[X] I have checked older issues, open and closed
[X] I did a clean install of SpotX as described in the FAQ

Сountry of your account
India
What is your Spotify Plan?
Free
Do you have Spicetify installed?
No
ℹ Computer information
- Spotify: <IP_ADDRESS>6.g22820f93
- Windows: 8.1
- PowerShell: 4.0

📝 Description
How To Install It?
I Have Installed It Previously And It Had Worked Well
📸 Screenshots

try updating your powershell to version 5

how do u update it?

link with instructions in my first post

I Installed powershell vs 5
but it shows error
Stating"old version of spotify found cannot update because of old os"

where is your error? show a screenshot

I Downloaded The Spotify 8.1 Version From Here

It Works Normally Like With Ads

Thanks For Your Help But Uhh Where Is The Now playing Button?

I'm not sure that this panel was already there, but try it like this
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -v <IP_ADDRESS>6.g22820f93-1078 -confirm_spoti_recomended_over -block_update_on -new_theme"

While Installing This Thing Goes on For Like 5 mins

you enter the wrong value
y or n

i entered n But it keeps looping

close and start again

btw i used the bat file in the source and it worked well
thanks for your help

Am A Discord Bot Dev Myself And I Have Never Met Someone So Concerned With Helping People
Hats Off Bro

we are not in the discord yet, there are not enough people for someone to take care of the server


[DOC] - Added tutorial for spiketools.measures

In the process of creating tutorials with plots demonstrating potential uses of functions. This one primarily covers the spiketools.measures module. Related to #32
What's added:
First draft of tutorial for measures(measures.py, conversions.py).

Hey @claire98han - this looks great! I've gone through and made a series of initial, mostly relatively minor things about layout & organization. When you get a chance, please check through and update the tutorial for this, and then tag me back in for another check!

Hey @claire98han - this looks great! I've gone through and made a series of initial, mostly relatively minor things about layout & organization. When you get a chance, please check through and update the tutorial for this, and then tag me back in for another check!

Hey @TomDonoghue - I made another update about the plots based on your comments on the spiketools.sim-tutorial such that there is more consistency across different tutorials.


Weird runtime error with eq

So, I was testing the core String library with elm-check when suddenly I had a weird runtime error.
This is the code I was testing with:
module Test.String (tests) where

import String
import Char
import Check (..)
import Random (..)
import Random.Extra (..)
import Random.String (..)
import Random.Char (..)

consUnconsInverse : Char -> String -> Bool
consUnconsInverse char string =
  let nextString = String.cons char string
  in
    case String.uncons nextString of
      Nothing -> False
      Just (c, str) ->
        c == char && str == string

tests : List Property
tests =
  [ property2 "Consing and unconsing are inverse operations" consUnconsInverse unicode (rangeLengthWord 0 1000 unicode)
  ]

and when I try checking my test:
import Test.String as String
import Check (check)

import Text (plainText)

testResult =
  check String.tests

main =
  plainText testResult

I get a runtime error that seems to point to the eq function defined in Javascript
Chrome (latest) :
Cannot use 'in' operator to search for '0' in 饑

Open the developer console for more details.

Firefox Developer Edition (latest):
invalid 'in' operand y

Open the developer console for more details.

When I open the developer console, I'm immediately pointed to the eq function.

This is the moment right before the type error:

The bug happens due to a next if statement. It asks, if i in y except that the in operator only works on objects and somehow an actual string, in this case : 饑, has managed to sneak in as y.

I speculate that what is needed is a typeof check for y the same way that there is a typeof check for x cuz typeof "饑" === "object" yields false

Thank you for the comprehensive issue! Love issues like this :)
This should be fixed by 6f5fbb8bc1ba2ce0fd3a3acf41e347c447689022.


Add LedgerEntryChangeCache

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Adds exp/ingest/io.LedgerEntryChangeCache that squashes all the ledger entry changes. This can be later used to decrease number of DB queries when applying them. See #2003.
Close #2003.
Why
Some ledgers that add a lot of changes connected to a small set of entries are causing a performance issues because every ledger entry change is applied to a DB.  LedgerEntryChangeCache solves this problem because it makes holds a final version of a ledger entry after all the changes.
Before this fix, extreme cases when two accounts send a payment between each other 1000 times in a ledger required 3000 DB updates (2000 account changes due to payment and 500 fee meta per account). After the fix, it requires just 2 DB updates.
Algorithm used in LedgerEntryChangeCache is explained in the comment:
// LedgerEntryChangeCache is a cache of ledger entry changes that squashes all
// changes within a single ledger. By doing this, it decreases number of DB
// queries sent to a DB to update the current state of the ledger.
// It has integrity checks built in so ex. removing an account that was
// previously removed returns an error. In such case verify.StateError is
// returned.
//
// It applies changes to the cache using the following algorithm:
//
// 1. If the change is CREATED it checks if any change connected to given entry
//    is already in the cache. If not, it adds CREATED change. Otherwise, if
//    existing change is:
//    a. CREATED it returns error because we can't add an entry that already
//       exists.
//    b. UPDATED it returns error because we can't add an entry that already
//       exists.
//    c. REMOVED it means that due to previous transitions we want to remove
//       this from a DB what means that it already exists in a DB so we need to
//       update the type of change to UPDATED.
// 2. If the change is UPDATE it checks if any change connected to given entry
//    is already in the cache. If not, it adds UPDATE change. Otherwise, if
//    existing change is:
//    a. CREATED it means that due to previous transitions we want to create
//       this in a DB what means that it doesn't exist in a DB so we need to
//       update the entry but stay with CREATED type.
//    b. UPDATED we simply update it with the new value.
//    c. REMOVED it means that at this point in the ledger the entry is removed
//       so updating it returns an error.
// 3. If the change is REMOVE it checks if any change connected to given entry
//    is already in the cache. If not, it adds REMOVE change. Otherwise, if
//    existing change is:
//    a. CREATED it means that due to previous transitions we want to create
//       this in a DB what means that it doesn't exist in a DB. If it was
//       created and removed in the same ledger it's a noop so we remove entry
//       from the cache.
//    b. UPDATED we simply update it to be a REMOVE change because the UPDATE
//       change means the entry exists in a DB.
//    c. REMOVED it returns error because we can't remove an entry that was
//       already removed.

approach looks good

I checked performance of this solution by replaying ingestion of 26988927-26989439 ledgers range in pubnet (when DRA spam happened) and these two charts summarize tests:

Duration difference:

Full data can be found in this spreadsheet.
Before we explore the data it's important to understand that the test was performed on my dev machine so both Horizon and it's DB were on the same server. This means that connection round trip time was minimal. The actual savings this PR introduces are in the round trip times because it makes much smaller number of DB queries.
Observations:

The ingestion of ledgers with a small number of ops is slightly faster. It's around 0.06 s on average but around 33% faster comparing them to previous code. You can see them in the left side of chart.
For ledger with many ops, the results are much better. Looking at the chart, ingestion was faster by between 0.5-2.2 seconds. Ingesting ledgers with diff >= 0.5 was 45% faster on average.
For ledgers that contain mostly only DRA spam (ex. 26989221) ingestion can be even 80% faster: pre: 1.382870728 post: 0.269690039 diff: 1.113180689.
Ingestion of 16 ledgers (of 512 total = 3%) was actually slower by 0.06 sec. on average (0.28 sec. max). I checked these ledgers and I think that after adding the cache the number of DB queries don't drop significantly. The average increase in ingestion time is negligible in this case in my opinion.

I believe results will be much better in staging where the DB is on a different server.

This looks very promising, and reinforces the rationale for doing this. I think we should merge. After that, It would be great to get an unstable version running on the staging server to see real-world numbers with the remote DB server.


Term submission - xref

From<EMAIL_ADDRESS>on February 01, 2011 11:44:11
Please indicate the label for the new term xref Please provide a textual definition an alternate information artefact that is either equivalent to or closely equivalent to, where closely equivalent to is informally defined as sharing a large number of instances, or being closely related through some other property. stronger than rdfs:seeAlso, because we could conceivable use rdfs:seeAlso for antonyms etc. Please add an example of usage for that term Please provide any additional information below. (e.g., proposed position in the IAO hierarchy) This term is to be used as an Annotation Property
subannotationpropertyof: rdfs:seeAlso
xref: obo-format:xref
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=91

From<EMAIL_ADDRESS>on February 02, 2011 22:50:01
Definition needs work. "an alternate information artifact" - does that mean the subject should only be information artifact? "equivalent to" -in that case why is there a duplicate? "sharing a large number of instances". Information artifacts don't have instances. "closely related through some other property" is-opposite-of is another property.
If the domain is a class, and the range is an information artifact (like a database entry) then we could say that the range is about an entity or entities in the class. But I also see this used to relate classes to classes.
Cc: cmungall

From<EMAIL_ADDRESS>on February 02, 2011 23:09:36
I guess there's some use-mention distinctions that need cleared up. however, I don't want this to get stuck in the rabbit hole of whether EC:<IP_ADDRESS> is a database record or a class or anything else. The semantics are pretty clear to everyone using them. GO:0004023 denotes something similar to EC:<IP_ADDRESS>

From<EMAIL_ADDRESS>on February 02, 2011 23:43:02
'GO:0004023' denotes something similar to EC:<IP_ADDRESS>
quotes chosen judiciously.
although note the GO term is a catalysis and the EC term is a reaction.
Can you give some situations where an xref annotation would be wrong? Would that help with a definition?
The use of xrefs to ontology terms is harmful, usually. Generally ontology terms should more properly be related.
These can't be computed with at all now. Is there any reason to not make this seeAlso?
Any reason to not just use http://www.w3.org/TR/rdf-schema/#ch_seealso rdfs:seeAlso is an instance of rdf:Property that is used to indicate a resource that might provide additional information about the subject resource.

From<EMAIL_ADDRESS>on February 12, 2011 09:12:17
Summary: Term submission - xref

From<EMAIL_ADDRESS>on February 22, 2011 10:10:57
Based on the below, the proposal seems in favor of using rdfs: seeAlso. We could maybe add an annotation to that property to link it to obo-format:xref?
From DOS ( http://bit.ly/enoA2K )
= xref =
It is often useful to relate ontology terms to poorly defined information artefacts that are not ontology terms.  In OBO ontologies, this is done using the xref tag (AKA database crossrefence?).  I'm currently using it to link terms to database records in a database of neuron connectivity.  But it is not even clear that records in this database all refer to neurons (many of them are called 'pathways').  I have neither the time nor the inclination to worry about persuading the group that runs the DB to clean up what they do.  But I do want a system for hyperlinking ontology terms to this DB and for semi-automating mining of the data it contains. xrefs are convenient for this.  In specific cases there may be a good case for treating an outside resource like an ontology.  Perhaps this is the case for E.C numbers.  But in such cases there will surely be many aspects of how artefacts in this outside resource are defined and used that don't fit with they way we want to do ontology. In that case I'd say you should at least make proper ontology terms to make relations to and then link these terms to the outside resource.
xref is useful BECAUSE it has no agreed semantic content.  It's difficult to see how it could given the heterogeneous nature of its targets. Because of this, I agree that the use of xref to link to other ontology terms should be actively discouraged. In OBO ontologies this strategy is mainly used to refer to a genus term in place of importing the genus term into the ontology.  This is largely for historical technical reasons.  A standard alternative strategy involving import of terms from other ontologies might help stamp out most of this.

From<EMAIL_ADDRESS>on March 10, 2011 06:33:36
How about this:
def: "An information artifact that is an informal link between an ontology term and some external resource that is not an ontology term."
comment:  In case this is not already obvious from the definition - this should NOT be used to relate ontology terms to each other.

This issue was moved to information-artifact-ontology/ontology-metadata#5


add game: squadro

Hi all.
I've added the implementation of a game called Squadro. It's a two-player, perfect information game. I believe it has some similarities with Quoridor, which is already present in open_spiel. Just like Quoridor, it's distributed by Gigamic. Though, I'm not sure whether it's protected by copyright.
It doesn't have a Wikipedia page, but you can find it here in boardgamegeek https://boardgamegeek.com/boardgame/245222/squadro.
Hopefully, this is helpful and can be added to the collection of games.
Best,
Gio

Hi @giogix2, thanks!
First thing, can you sign the CLA? (See the "Details" link above and follow the instructions.)

Hi @lanctot. Signed.
There was also an issue with the contributor's name. Also fixed that.


Cannot cut/copy recipeients from Reply window

Expected behavior
When replying to a message that was received, I long press a the "TO" name and it should bring up cut/copy/select menu for the address.  Then I can Cut the address from the TO and paste it into the BCC or CC fields.  This is how it used to be on 5.1
Actual behavior
Long pressing on the TO in the Reply window does nothing like it used to.  It first brings up the "user name and email address is a big faded (dark theme) box.  Then you have to tap on the TO line somewhere other than on an email address to finally get the Cut/copy/paste menu.  - bug 1.
Then after a Cut or Copy, I expand the menu and try to Paste it into the BCC field.  The only thing that gets pasted is two commas  { ,,  }  without the brackets
Steps to reproduce

Read an email that is in your inbox and tap Reply
Long press on a TO address (notice no copy/cut menu - bug 1) then tap anywhere in a blank area of the TO and do a Cut.
Select the BCC menu with a long press and paste (bug 2)

Environment
K-9 Mail version:5.202
Android version:6.0
Account type (IMAP, POP3, WebDAV/Exchange):IMAP

The long press functionality was removed from message composition.  It's not very intuitive - you have to 'know it's there' or discover it by accident.
For example, while reading right now:

You can long-press on the 'To:' address of a message you are reading, to copy it (and the fluff that actually surrounds it underneath). If there's more than one you have to copy them all.
For the From address tapping on it suggests you add them as a contact. There's no long tap.

The only way you know this is by trial and error or documentation. It's inconsistent, unhelpful and confusing.
If you tap on the letter badge for a contact, you get the contact in a Contacts pop-up. You can copy any of the Contact's information from there, including the email address.
We should probably make it so that you can copy the email out of that drop down.
You can still paste addresses directly into the BCC field.
One other possible improvement might be to allow drag and drop of the completed tokens.
I don't think re-adding long press is good design. If moving from To to CC/BCC is important I think it would be better to look at drag and drop mechanics to move them about

I have just had a really hard time while trying to move recipients from To to Cc. As happened with @dabear2 pasting just produced some commas. I was forced to type in all the emails from scratch.
With these new tokens I was expecting drag and drop functionality. That was the first thing I tried, thus drag and drop seems the right way to go.

I was just about to report the same issue.
I had two recipients in the To and wanted to move one of these to the CC.
I tried selecting one of them and they both highlighted in blue, I eventually managed to get just one highlighted and selected copy, then paste into the CC, but I just got four commas ",, ,,".
I tried a long press hoping there would be a pop-up, but got none.
I somehow managed to get the entire panel for a contact to be selected and it followed my finger (I don't know how, I may have had just the one panel highlighted in blue then I held it down for a second, but tbh it was hard to reproduce).  This lead me to believe I could drag and drop, but this time the drop produced two commas ",," leaving the original panel in place.
However if I had both tokens highlighted and I managed to get them to follow my finger, and I dropped them on top of themselves (in the To) they would overwrite the panels and leave four commas.
Since I do not want or need the recipient in my contacts and there seems to be no way of copying the address from the pop up that sometimes appears, the only solution appears to save the mail as a draft and send it from home when I get back to Thunderbird.
It would be very handy if recipients in To, CC & BCC could be moved between fields.

Duplicate of #1602


[management] Support end-to-end genesis building

This adds support to build a genesis using a namespaced storage solution -- currently only Vault is exposed -- need some work to expose namespaces for others.

Can upload a validator-config to a remote storage
Add a layout for the initial set of accounts
Tooling to place data into the position that layout expects for association account -- operator and owner were done already
Consumption of all of these to produce a genesis!

There is still quite a bit more work to do to make this accessible for our tests inside Libra:

waypoint generation
merging with config generation
support for either in memory or on disk storage solutions
deterministic generation of configs -- do not need to add noise to our testing frameworks

but this does hit our goal of supporting the ability to produce a genesis blob!

@JoshLind some comments landed on inbetween commits, I think the key ask is to split up the Genesis::execute if possible -- which I think it is. A secondary ask is to fix some of the verbiage, which will do. Thanks for the meticulous review.

With respect to the tests, these functions produce opaque blobs. The only way to reason about them is to execute the blob and then read from storage. Hence at this point in time, the unwrap is as good as we are going to get short of actually executing genesis. I figure the next step is to build an end-to-end smoke test or just make the smoke tests use this. In order to do that, I need to improve the namespacing on storage, allow for deterministic randomization, and support configuration generation that leverages management. I suspect 4 to 6 commits to get there. Hopefully we have it by the end of next week.

I did a bit more cleanups, thanks for unblocking!
@bors-libra r=joshlind

:pushpin: Commit 3205501 has been approved by joshlind

:hourglass: Testing commit 3205501b7c2e29e0e1bf2722a3bb9b5f5b9a8795 with merge 22912d240962254cc67562b7e3589fcbc1978a02...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: joshlind
Pushing 22912d240962254cc67562b7e3589fcbc1978a02 to master...


Suggestion: Mark a specific archive as "never prune"

Right now you have the "attic prune" command for automatic pruning of old revisions (kudos for a very well thought out command) as well as "attic delete".
I would like to see a "never prune" flag added to an individual archive.  Maybe I have an archive that I want to keep around forever, even if pruning is applied to the attic repository.  Any archive with the "never prune" flag would simply not be a candidate for pruning nor would it be included in the pruning algorithm.
I'd want to be able to specify this at two points in time:

At the time of archive creation (attic create), maybe with an option of "--never-prune".

At a later point in time, being able to change an existing archive to never be a candidate for pruning.

An expanded version of the concept would be "--never-prune-earlier-than DATE".  Once that date has passed, the archive becomes eligible for pruning with "attic prune".

Simplicity is indeed a good goal, but for backup software I desire a few things:

Paranoia (lots of self-checks, hashes, etc.) against bit-rot, broken transfers, deleted files
Self-repair where possible
Redundancy where needed
Protection from shooting oneself in foot (i.e. a "read-only bit")
Some way of cloning off to permanent storage

If the solution to a problem with the backup repository is to "restore it from backup" in the case of a minor issue that could have been avoided, then Attic is not living up to its billing as backup software.

See PR #251 for archive rename.
I think the PR also fixes this issue as you can rename your never-prune archives so that they do not match prune --prefix any more (e.g. noprune-*). If all your regular archive names start with the year, you could use prune --prefix 20 and be ok until 2099. :)


ci: print environment

This pull request extends test/ci/print-env.cmd to align with the command line in Wiki.
For Linux/MacOS, an equivalent script is created. (test/ci/print-env.sh)
Further work
Update Wiki to direct readers to test/ci/print-env.cmd (Windows) and test/ci/print-env.sh (Linux/MacOS) instead of the current command line snippet.

Let me merge this to make it easy to verify other pull requests.

Further work
Update Wiki to direct readers to test/ci/print-env.cmd (Windows) and test/ci/print-env.sh (Linux/MacOS) instead of the current command line snippet.

Done


[DATA] Recovered cases CSV data

Is your feature request related to a problem? Please describe.
First off thank you for all the great work you guys have been doing. Currently recovered cases are not represent in the csv files. Do you plan to record this information? Assuming you do do you think it will be possible to map the recovered case to the covid19za_timeline_confirmed.csv case_id? In other words will we be able to determine which case_id from timeline_confirmed has recovered?
Out of scope of this issue but worth noting is that I am curious whether it is going to be possible to do the same with case fatalities?
There seems to be data access issue with the nicd and doh. Have they been contacted to request csv dumps or some alternative to scraping their reports?
Describe the solution you'd like
I would like for a file identical in structure to covid19za_timeline_deaths.csv to be populated for recovered case data.

@Shannanigans it will be available later today.

Available here https://github.com/dsfsi/covid19za/blob/master/data/covid19za_timeline_testing.csv

Thank you


Add service query method for Vue front-end filtering calls

Please make sure the below checklist is followed for Pull Requests.

[x] All continuous integration tests are green

[ ] Tests are added where necessary

[ ] Documentation is added/updated where necessary

[x] Coding Rules & Commit Guidelines as per our CONTRIBUTING.md document are followed

thanks for your PR !
I'll have a look soon, no worry for the failed builds, it's related to another issue
then, can you update your git config too ? as your config is related to JHipster Bot

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: jhipster-bot:x: Kevin WhittingtonKevin Whittington seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Move legacy installation instructions

This won't be relevant for the large majority of users and might confuse some, so moving it down the page.
Long term we should consider removing the v6 backwards compatibility.

Slightly concerned that putting them after the 'advanced' installation instructions will mean that users not using the advanced instructions will never see them. Thoughts?

Closing this for now, we'll figure it out with https://github.com/alphagov/govuk-prototype-kit/issues/779


Fix Imgui: account for FramebufferScale

This should make imgui scale correctly on Mac Retina displays (when used with glfw and GLFW_COCOA_RETINA_FRAMEBUFFER is set false).

Thanks for the PR. Do samples and tutorials work OK with this change?

A quick search gave no results for ImGui::GetIO().DisplayFramebufferScale in samples, but I'll give it a test. As DisplayFramebufferScale defaults to 1 all the multiplications in this PR should make no difference. The only usecase of DisplayFramebufferScale is to support this low-res mode on retina displays where everything is in css pixels or something :D

@zjanetzek I do remember about this PR. I just don't have time to test it at the moment, but will get to it later.

@zjanetzek Hi, I recently made some major changes to imgui to support orientation changes on Android. I was going to merge you changes, but I am not sure they will work now. I added few assertions and I believe they will fail. Can you get the latest version and see what's going on?
Also, on my Mac I don't see FramebufferScale being set to 2. FYI, on retina displays I set global font scale to 2 instead of framebuffer scale.

Tutorials & Samples are OK on iOS and macOS with the fix suggested above. Let me know if you need any additional information.

@dolphineye Do you call NewFrame like here? My concern is that Imgui implementation on Mac and iOS then sets DisplaySize to be the same as physical render surface size. Because of that I don't quite understand why only ClipRect needs to be scaled, not the viewport in particular. I understand that scaling by 1 is not going to change much, but it would be nice to understand what is going on with this framebuffer scale.

@dolphineye Do you call NewFrame like here? My concern is that Imgui implementation on Mac and iOS then sets DisplaySize to be the same as physical render surface size. Because of that I don't quite understand why only ClipRect needs to be scaled, not the viewport in particular. I understand that scaling by 1 is not going to change much, but it would be nice to understand what is going on with this framebuffer scale.

Hold up, I used the identity transform instead of that of the swap chain. Let me try with it and get back to you. If this is not OK, I will try another way and get back to you after I have more context. Thanks for helping!

@TheMostDiligent Using the swap chain desc's PreTransform didn't solve the problem. I'm going to try another way around

Using the swap chain desc's PreTransform didn't solve the problem. I'm going to try another way around

PreTransform may be something other than identity only on Vulkan on Android. My main question was rather about the DisplaySize being initialized the same as render surface size. Becasue of that I don't understand why FramebuffScale should only be applied to clip rects. Also, if imgui believes that all coordinates must be doubled, I don't understand how it would correctly handle input coordinates.

Hey, sorry for the long delay for the reply :)
So as far as I could check in the ImGUI examples, it seems that the io.DisplaySize must be the resolution size of the screen, and this size should be then multiplied by the FrameBufferScale when rendering draw data. For example:
void    ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data)
{
    // Avoid rendering when minimized, scale coordinates for retina displays (screen coordinates != framebuffer coordinates)
    int fb_width = (int)(draw_data->DisplaySize.x * draw_data->FramebufferScale.x);
    int fb_height = (int)(draw_data->DisplaySize.y * draw_data->FramebufferScale.y);
    if (fb_width <= 0 || fb_height <= 0)
        return;

    // ....

    ImVec2 clip_scale = draw_data->FramebufferScale;

    // ....

    for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
    {
        ImVec4 clip_rect;
        clip_rect.x = (pcmd->ClipRect.x - clip_off.x) * clip_scale.x;
        clip_rect.y = (pcmd->ClipRect.y - clip_off.y) * clip_scale.y;
        clip_rect.z = (pcmd->ClipRect.z - clip_off.x) * clip_scale.x;
        clip_rect.w = (pcmd->ClipRect.w - clip_off.y) * clip_scale.y;
    }

    // ....
}

I'm in the process of migrating to the ImGUI's docking branch, and using DisplaySize = WindowSize * FrameBufferScale gives inconsistent results.
In my case, the fix suggested here sufficed to give me consistent results on all platforms (desktop and mobile) and works seamlessly on multi-monitor setups on desktop.
So, long story short, I think that the Diligent ImGUI's implementation is incorrectly using ImGUI DisplaySize and FrameBufferSize values. However, this should be quite easy and quick to fix. It would probably be necessary to also fix the different platform-specific samples but it should be pretty quick.

Just to complement my previous message, here's the diff that gives the expected results:

---
 Imgui/src/ImGuiImplDiligent.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Imgui/src/ImGuiImplDiligent.cpp b/Imgui/src/ImGuiImplDiligent.cpp
index 1db7de5..efea59f 100644
--- a/Imgui/src/ImGuiImplDiligent.cpp
+++ b/Imgui/src/ImGuiImplDiligent.cpp
@@ -533,12 +533,12 @@ void ImGuiImplDiligent_Internal::RenderDrawData(IDeviceContext* pCtx, ImDrawData
         pCtx->SetBlendFactors(blend_factor);

         Viewport vp;
-        vp.Width    = static_cast<float>(m_RenderSurfaceWidth);
-        vp.Height   = static_cast<float>(m_RenderSurfaceHeight);
+        vp.Width    = static_cast<float>(m_RenderSurfaceWidth) * pDrawData->FramebufferScale.x;
+        vp.Height   = static_cast<float>(m_RenderSurfaceHeight) * pDrawData->FramebufferScale.y;
         vp.MinDepth = 0.0f;
         vp.MaxDepth = 1.0f;
         vp.TopLeftX = vp.TopLeftY = 0;
-        pCtx->SetViewports(1, &vp, m_RenderSurfaceWidth, m_RenderSurfaceHeight);
+        pCtx->SetViewports(1, &vp, m_RenderSurfaceWidth * pDrawData->FramebufferScale.x, m_RenderSurfaceHeight * pDrawData->FramebufferScale.y);
     };

     SetupRenderState();
@@ -568,10 +568,10 @@ void ImGuiImplDiligent_Internal::RenderDrawData(IDeviceContext* pCtx, ImDrawData
                 // Apply scissor/clipping rectangle
                 float4 ClipRect //
                     {
-                        pcmd->ClipRect.x - pDrawData->DisplayPos.x,
-                        pcmd->ClipRect.y - pDrawData->DisplayPos.y,
-                        pcmd->ClipRect.z - pDrawData->DisplayPos.x,
-                        pcmd->ClipRect.w - pDrawData->DisplayPos.y //
+                        (pcmd->ClipRect.x - pDrawData->DisplayPos.x) * pDrawData->FramebufferScale.x,
+                        (pcmd->ClipRect.y - pDrawData->DisplayPos.y) * pDrawData->FramebufferScale.y,
+                        (pcmd->ClipRect.z - pDrawData->DisplayPos.x) * pDrawData->FramebufferScale.x,
+                        (pcmd->ClipRect.w - pDrawData->DisplayPos.y) * pDrawData->FramebufferScale.y //
                     };
                 // Apply pretransform
                 ClipRect = TransformClipRect(pDrawData->DisplaySize, ClipRect);
@@ -583,7 +583,7 @@ void ImGuiImplDiligent_Internal::RenderDrawData(IDeviceContext* pCtx, ImDrawData
                         static_cast<Int32>(ClipRect.z),
                         static_cast<Int32>(ClipRect.w) //
                     };
-                pCtx->SetScissorRects(1, &r, m_RenderSurfaceWidth, m_RenderSurfaceHeight);
+                pCtx->SetScissorRects(1, &r, m_RenderSurfaceWidth * pDrawData->FramebufferScale.x, m_RenderSurfaceHeight * pDrawData->FramebufferScale.y);

                 // Bind texture, Draw
                 auto* texture_srv = reinterpret_cast<ITextureView*>(pcmd->TextureId);
--
2.19.0

I have not checked on Android if this is working correctly with the surface pre-transform. I guess that if there were to be problem, it could easily be fixed similarly to the diff from above.
Also, such fix implies that calls to ImGuiImplDiligent::NewFrame (and its subclasses) do not pre-scale the render surface's size by the DPI scale. I would understand that you would not like to modify your API about that, but as far as I could test the docking branch, using a render surface size pre-scaled by the DPI scale enforced me to "patch" the DrawData before rendering it with ImGuiImplDiligent::RenderDrawData.
Let me know if you need any additional info, Id be happy to help!

Closing as this is superseded by https://github.com/DiligentGraphics/DiligentTools/pull/10


bug fix

PR types

PR changes

Description

修复 max_steps ＞ epoch_steps 的计算错误问题

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


TypeError: Cannot cast '{Instance}' into '{Instance}' because the types are unrelatedLuau1033

I am not sure if this is a lune problem or the luau lsp's problem

Can you create a minimal example for me to test this with?

Sorry for the delay here.
Lune's Instance is different to the global Instance from roblox (https://github.com/lune-org/lune/blob/5d1401cdf611cc9f215f03bdf16ada0e77717edf/types/roblox.luau#L173)
you need to access it using roblox.Instance for this to work.


Adding Sharp Memory Game using Python, #260

Fixes #260
CHECK THE PATTERN LENGTH TO UNDERSTAND THE MIND GAME
https://user-images.githubusercontent.com/82095877/169232502-12f8d33d-47c9-401e-84e3-89c870439f2e.mp4

@TusharAMD please check


[WIP][Fix] Tensorflow MASTER implementation

This PR:

refactored tensorflow transformer implementation
fix MASTER Decoder

Any feedback is welcome :hugs:
@charlesmindee @frgfm feel free to take a first look some improvements are very welcome :D
Todo:

[ ] toy benchmark (train: 500k MJSynth  / val: FUNSD/CORD)
[ ] fix decoding stage while inference (Note: training works well only decoding troublesome)
[ ] replace numpy cast (decoding stage / positional encoding)

Issue:
#802

@frgfm If you should get to it before me, please take a look at the decoding and code improvements in advance would also be quite good 👍

@frgfm this PR would be very happy to get your help 🤣


Pipe: complete writerAwaitable based on examined instead of consumed bytes

Implements https://github.com/dotnet/corefxlab/issues/1355

@tmds,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Few things:

I'm not sure we want this.
This is an extremely hot path and this it looks like we're computing the length for both consumed and examined every time. Did you run the micro benchmarks to see how this affects throughput?

I'm not sure we want this.
This is an extremely hot path and this it looks like we're computing the length for both consumed and examined every time. Did you run the micro benchmarks to see how this affects throughput?
You don't have any tests.

Let's figure out first if it is needed.

This is an extremely hot path and this it looks like we're computing the length for both consumed and examined every time.

I've optimized it a bit already, taking into account that examined >= consumed. Also consumed and examined will be in the same segment most of the time so consumed.GetLength(examined) will be in the inlined case.

I've optimized it a bit already, taking into account that examined >= consumed. Also consumed and examined will be in the same segment most of the time so consumed.GetLength(examined) will be in the inlined case.

Where are the before and after benchmarks? And the unit tests.

Where are the before and after benchmarks? And the unit tests.

@tmds, please update the PR.

We decided not to take this


Monitoring broken on MacOS

Running this test script from @garri1105 works on midway but not on my local machine (macOS 10.13.3). Note that if I make the DB elsewhere and copy it locally I'm able to run visualize without issue.
import parsl
from parsl.app.app import python_app
from parsl.monitoring.db_logger import MonitoringConfig
import random

threads_config = parsl.config.Config(
    executors=[parsl.executors.threads.ThreadPoolExecutor(label='threads', max_threads=4)],
    monitoring_config=MonitoringConfig(
        database_type='local_database',
        logger_name='parsl_db_logger',
        eng_link='sqlite:///DB2.db',
        web_app_host='http://localhost',
        web_app_port=8000,
        resource_loop_sleep_duration=2
    )
)

dfk = parsl.load(threads_config)

import time

@python_app
def bitcoin_mining(seconds):
    time.sleep(seconds)
    if random.randint(0, 10) >= 8:
        raise AssertionError("Just an Error")
    return seconds

@python_app
def feeding_the_poor(seconds):
    time.sleep(seconds)
    if random.randint(0, 10) >= 9:
        raise AssertionError("Just an Error")
    return seconds

tasks = [bitcoin_mining(random.random() * 3) for _ in range(0, 100)] + [feeding_the_poor(random.random() * 3) for _ in range(0, 100)]
for task in tasks:
    print(task)
    try:
        task.result()
    except: pass

Fails with:
 >python make_db.py
 * Visualizing DB2.db
 * Running on http://localhost:8001
Process Process-2:
Traceback (most recent call last):
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/asyncio/selector_events.py", line 262, in _add_reader
    key = self._selector.get_key(fd)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/selectors.py", line 192, in get_key
    raise KeyError("{!r} is not registered".format(fileobj)) from None
KeyError: '14 is not registered'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/parsl/monitoring/logging_server.py", line 44, in run
    app.listen(monitoring_config.web_app_port)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/tornado/web.py", line 2042, in listen
    server.listen(port, address)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/tornado/tcpserver.py", line 144, in listen
    self.add_sockets(sockets)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/tornado/tcpserver.py", line 158, in add_sockets
    sock, self._handle_connection)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/tornado/netutil.py", line 268, in add_accept_handler
    io_loop.add_handler(sock, accept_handler, IOLoop.READ)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/site-packages/tornado/platform/asyncio.py", line 80, in add_handler
    fd, self._handle_events, fd, IOLoop.READ)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/asyncio/selector_events.py", line 335, in add_reader
    return self._add_reader(fd, callback, *args)
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/asyncio/selector_events.py", line 265, in _add_reader
    (handle, None))
  File "/Users/awoodard/software/miniconda3/envs/parsl/lib/python3.7/selectors.py", line 522, in register
    self._selector.control([kev], 0, 0)
OSError: [Errno 9] Bad file descriptor

Note that if I make the DB elsewhere and copy it locally I'm able to run visualize without issue.

This sounds like it's related to DB collection rather than to visualisation?
If so, you could attach a sample broken database to this issue.


How to create templates for SharePoint Online Modern Sites

[Enter feedback here]
Hi.  This page says that creating templates is not supported in SharePoint Online (modern sites).  Given most people should now be working with SharePoint Online modern sites, this would be the most useful information!  Could you add a cross-reference to how to do the equivalent for SharePoint Online modern sites please.
Thanks, Oz

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

ID: 90e5f465-6d87-5a7d-9b0a-7807da51d30b
Version Independent ID: bc4f4c42-d5ba-a36a-1578-70103e14cde8
Content: Save, download, and upload a SharePoint site as a template
Content Source: docs/general-development/save-download-and-upload-a-sharepoint-site-as-a-template.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

Thanks for this. Yes, you are right. We should link to the new functionality.
In the meantime, if you need reference.
https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-overview


BetterDiscord ruins Discord?

Yeah, I was talking as usual using betterdiscord then my power went out. It was a breaker switch. I decided to restart my computer, and when Discord decided to pop up, this is what happened upon startup:

Why?

you ruin github

Real helpful.

Unfortunately the error is too small to read.
To me it looks like the binary file was corrupt. Please uninstall Discord, then reinstall it, then reinstall BetterDiscord to fix.


Converted to Typescript

Closes https://github.com/vercel/nextjs-subscription-payments/issues/79

@jsjoeio Took me some time to get to this, but I've addressed all of the comments. Please let me know if there's something else you think could be improved.

Thank you so much for doing this! 🙌

Took me some time to get to this, but I've addressed all of the comments. Please let me know if there's something else you think could be improved.

Great work 🙌🏼  thanks again for doing this! I echo @leerob's comments - I think once you address those, we should be good hopefully 🤞🏼

@jsjoeio @leerob  Hopefully good to go now!

Hey @VictorPeralta, thanks so much for this!  What's the best way to reach you?

Hey @VictorPeralta, thanks so much for this!  What's the best way to reach you?

That would be awesome! Feel free to reach out to me on Twitter 😄
https://twitter.com/PeraltaDev


Name added to README.md

Name and github account updated.

Given the length of time with no activity I will close. Feel free to raise a new Pull Request.


October Iteration Plan

This plan captures what we work on during October. We will ship early November.
Dates

October, 24th Code freeze for the endgame
October, 30th Endgame done

Plan Items
We are now using the new Project support to track the work planned for October.
The columns in the project mean:

Backlog - the backlog for the iteration
Planned to Start Current week - the work planned to start in the current week of the iteration
In Progress - the item is actively being worked on
Done - the work item is done and there is a corresponding test plan item.

Currently the github 'projects' page shows 'no due date'.
Community member are hence a bit in the dark and few will find this plan.
Would the dates published above not fit better on 'projects' page?

@mi-hol thanks for your feedback, the example link you provide below is not accessible to me.
Here is how I think about it:

we still use milestones on issues for when we plan to deliver an item. Milestones have a due date (it was an oversight to not assign a milestone date for October).
we use 'Projects' to track the progress on these issues we plan for October, i.e., Planned this week, in progress, done, deferred).
we use Cards in projects for for things that are under discussion and haven't hardened yet as issues.

Bottom line if you are not interested in the progress on an Issue as an external user, then you can just looks at the milestone of the issue and you can also look at the milestones page. However, the milestone page get difficult to digest when it has over 100 items. See the October Milestone as an example.

@egamma thanks for your fast response. I've verified the supplied link and it doesn't work when clicked inside the issue for me either but copied into a browser it does. Weird that the link inside a GitHub issue doesn't work (maybe a GitHub bug).  URL: https://github.com/serverless/serverless/milestone/15

Assigning a due date was addressing my comment (note: 'November 2016' milestone lacks it again)

Closing 1.7 has shipped

Hello, @egamma,
Small clarification: VS Code team has plans to publish recovery release? Because now we have broken support JavaScript React (#14962) and Less/SCSS comments (#15013).

@mrmlnc thanks for pointing this out, added these issues as candidates to the October recovery build.


Make the value in the resource configuration source an apiextension JSON object instead of string

What would you like to be added:
We have this:
type ConfigurationRuleYAMLSubsitutionSource struct {
	// Value is the value that will be used to replace the target in the file.
	Value string `json:"value"`
}

Should be something like this:
type ConfigurationRuleYAMLSubsitutionSource struct {
	// Value is the value that will be used to replace the target in the file.
	Value *apiextensions.JSON `json:"value"`
}

To allow for arbitrary json values.
Why is this needed:

I believe the yaml substitution engine is not powerful enough yet to handle structure replacement of fields. We will have to think about how we go with this. Also, since the localization is not technically part of the OCM lib, we should probably move the entire logic out into the controllers as another task. WDYT?

lets split this into 2. parts:

allowing numbers (that one we can support simply with the change you suggested)
allowing arbitrarily nested structs (that requires the lib change

WDYT?

Sounds good to me 👍


lightbox: Fixes that didn't make it into #31775.

This PR includes fixes suggested by @timabbott on #31775, which was merged before these could be included.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @karlstolley!


feature/restyle_new_button

Restyle 'add' button in top menu bar #102

Hi Kristy, looks much better already, thanks. Here's some feedback from Ralf and me:

could you please use a translation key instead of the text "New" directly in the template? That way we can i18n for German and French :-)
the French word for the button is "Nouveau", IIRC. If you try that, you'll notice the button doesn't adapt it's size, and it's right-alignment to the right sidebar edge gets lost as well. Could you look into that?
i18n is a PITA, unfortunately. From my experience, it's best to never assume that text will have an exact length in pixels.
the plus-sign and "New" text could be a little larger/thicker. We fiddled with it and found font-weight: semibold for the text and font-size: 1.2rem for the icon looked alright.

For some reason internationalization completely slipped my mind last night. Made adjustments accordingly :)

No worries, thanks for responding so quickly. I'll look into it tomorrow morning our time.

LGTM


Fix Docker Compose for GitHub Actions

I think our test-conda-store-ui job is failing because we try to run docker-compose but GitHub recently deprecated v1 of Docker Compose, so we should run the v2 command, which is without the hyphen now:
docker compose

Possibly related to CI failure on #401.


Support the batching with process in commercetools-sdk-typescript project or document it.

I figured out the new commercetools-sdk-typescript does not have an easy solution for the batching, which already exists of the exposed @commercetools/sdk-client but this is not easy to see if you don't know already how it could be done with this package, as it is not sth documented.
https://github.com/commercetools/nodejs/blob/master/packages/sdk-client/src/client.js#L81-L85
In the project, returned API root only sees the execute method of the created ctp client. So in batching needs, I needed to write an additional boilerplate code as said not easy to reason, maybe you might consider supporting that utility as part of the new library.
My snippet to expose process method,
function processBatches(uri, callback) {
const ctpClient = getCtpClient()
const requestOptions = {
uri,
method: 'GET',
headers:

{ Accept: 'application/json', 'Content-Type': 'application/json', }
,
}
return ctpClient.process(
requestOptions,
(data) => callback(data.body.results),

{ accumulate: false }
)
}

A simpler solution is to use the clientRequest method of the ApiRequest class.

Hi @jenschude
I'm doing the same in my code.
The process method is part of the ctpClient, apiRoot could expose the process method in a nicer way (Not sure about the best strategy here).
Otherwise, you need to keep the state of the ctpClient object, The problem I see it's not easy to see without knowing there is a process method for batching pagination needs. Because we are using apiRoot for the type-safe method structure working with ctpClient again is not easy to reason, if you have not used the process method before. Maybe you could expose the process method part of the apiRoot ?


Upgrade netty and azure libraries

Upgrade netty and azure libraries as per Microsoft recommendation

Wait for closed-source to deploy before merging

Codecov Report
Base: 73.02% // Head: 14.81% // Decreases project coverage by -58.21% :warning:

Coverage data is based on head (c4de110) compared to base (0932a60).
Patch has no changes to coverable lines.

Additional details and impacted files
@@              Coverage Diff              @@
##             master    #2315       +/-   ##
=============================================
- Coverage     73.02%   14.81%   -58.22%
+ Complexity    10497     2366     -8131
=============================================
  Files           757      757
  Lines         58241    58241
  Branches       7152     7152
=============================================
- Hits          42530     8626    -33904
- Misses        13350    49099    +35749
+ Partials       2361      516     -1845

Impacted Files
Coverage Δ

.../src/main/java/com/github/ambry/router/Router.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/com/github/ambry/store/Message.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/named/PutResult.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaMode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaName.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/rest/RestMethod.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/KMSConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/SSLConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/router/ByteRange.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../main/java/com/github/ambry/named/NamedBlobDb.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 592 more

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

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

Wait for closed-source to deploy before merging

Latest netty causing spiky latencies for GET

Investigated latency spikes. There are not due to netty upgrades


Resolve the selection control returning array of undefined values

Purpose

Solves the bug while trying to select points in a map using Selection Control module

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Other Information
Added the missing "id" parameter in the Feature constructor. Hence accessing "id" property on the return statement results in the array of undefined values.

Thanks for the pull request. The JS files is autogenerated from the typescript and thus merging this change will have it wiped out the next time I build the project. I've made the change in typescript so this fix persists.
Thank you for finding the bug!


Register tenent

Hello, how i can create the main tenant? i need create app tenant like this $tenant1 = Tenant::create(['id' => 'app']); but i have an error:
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key violates uniqueness constraint "tenants_pkey"
DETAIL: The key (id)=(app) already exists. (Connection: pgsql, SQL: insert into "tenants" ("id", "data", "updated_at", "created_at") values (app, [], 2024-09-20 02:14:42, 2024-09 -20 02:14:42))
thanks

because the ID of the tenant is unique you can't double it

I know that, but it gets stuck in an infinite loop creating thousands of tenants.

i think I can't understand your problem, so please share some images or part of the code to understand that.


fix path for iOS

Summary
Trying to use this with iOS, i found that it doesn't work because of wrong path
I changed it to ./src
Test Plan
react-native run-ios
What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[X] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[X] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

@7laria How are you trying to install react-native-webview? There is no src path when installing from npm.


Add DocSum llm service manifests

DocSum manifest support.
Regenerate the CodeTrans yaml file.
Description
DocSum manifest support and CodeGen reorg
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds new functionality)

Dependencies
None
Tests
kubectl apply -f llm.yaml and verify with curl

closes issue #102


Export STL enhancement

When exporting to STL the normal vector is always created as 0 0 0
This might be a problem for viewers which change brightness of a face dependant on the angle its
viewed from
BTW: Can I find a function reference manual somewhere ?

Hi Dough,
Sorry, i was not aware, that the normal vector is optional.
Its my own STL viewer, which relies on it :)
This is why you could not find the mismatch.
You could save some bytes when exporting binary STL. In this case using normal vectors
does not cause additional space.
Thank you for the documentation link!

Hi Dough,
Now the lollipop appears correctly in my viewer.

Thank you very much.

Curv is sooo cool. Its so much better than OpenSCAD.
I think one year before I had the idea to express arbritray shapes by the "altitude above to the surface" but I failed.
Are there plans to create an OpenSCAD to curv syntax converter ?
Which are the challenges to offer a Windows curv version ?

@gsohler said: "Curv is sooo cool. Its so much better than OpenSCAD."
Thanks. Those were the 2 main design goals 😀
I'd like to create a Windows version, but I have little relevant experience and I don't have access to a Windows dev machine. Some of the C++ code probably won't work on Windows and will need to be rewritten. I'm getting there slowly: I recently eliminated 2 external dependencies that aren't Windows compatible. If I had another contributor with both Windows and C++ experience, it would go much faster.
The Curv project was originally called OpenSCAD2, but I dropped the goal of OpenSCAD compatibility a few years ago, because it was too much of a burden. The radically different internal representation of shapes makes OpenSCAD compatibility quite difficult. There are some OpenSCAD operations that I don't support. Even the OpenSCAD cylinder primitive is problematic, since cylinder(d=1, h=1, $fn=6); is how you create a hexagonal prism. A one way source code converter that works 80% of the time might be doable, but I bet there would be a lot of issues. I'd prefer that someone else write the converter as a separate project, so that I'm not on the hook to maintain it.
I think the big missing feature from the perspective of OpenSCAD users is the ability to import STL files. That's something I'm working towards right now. I'm actually implementing image file import first, as that is easier, and requires some of the same code changes that I'll need later.
I think the big missing feature from the perspective of Windows users is the fact that I don't have a "real" GUI. I recently got closer when I integrated the 3D viewing window code into the Curv executable. Now I'm just missing integrated editor and integrated console windows. Windows has this weird distinction between "console applications" and "windows applications" that doesn't exist in Linux or macOS. Curv right now would be a "console application" if it were ported to Windows, and it really needs to be a "windows application" in order to look and feel like a native application. To be more precise, I feel I need separate console and GUI executables with different names.

Dough, not sure how much I can help you out, but I can give you some suggestions, if you are not yet aware of them.
There is a Windows development system called MSYS2 (msys2.org). When installed you get a unix like terminal in windows. It can create Binaries, which run in native windows and there are many prebuild libraries(use pacman)
Which were the 2 external dependancies you got working recently ?
.... I think, i did not yet see a replacement for "hull". but there are many similar ones ...
The only chance where I need importSTL to change existing STL's (change dimentions and/or cut/add stuff). Apart from that i dont see use for that.
One very nice Editor I know in Windows is Notepad++. It's developped under GPL, is very intuitive/clever and has great Syntax highlighting. And even in Windows, there are triggers when a File's date has changed.
Would like to see that :)
Cheers, Günther


How to execute a single shell command writing to stderr from PowerShell task?

We are trying to run a single shell command from a powershell script (inline or not, doesn't matter). Let's take npm pack as an example:
- pwsh: |
    npm pack .

The npm command like most *nix-like commands is outputting user info on stderr and result on stdout; here this is particularly relevant because npm pack outputs the package name, which we need for the next task. Anyway in general we might want to pipe the output to some other command, while messages to stderr need to be logged to console so that they are visible to the pipeline maintainers for diagnosing purpose.
In bash this just works. Plain and simple. Just as expected. Always.
In cmd this almost work, aside from the fact capturing the result of a command requires an incredibly complex syntax compared to what it should be (result = command).
Now PowerShell. By default PowerShell has this nonsensical behavior (at least on Azure, because locally it's different of course) where writing to stderr generates an exception and fails the task. On top of that the Azure powershell task captures those errors and print some log messages with a ##[error] prefix.
The task has a failOnStderr option. It has been broken for years, but it seems to behave better nowadays. We recently tried failOnStderr: false and indeed the task succeeds... after logging 315 error messages, which are randomly reformatted in the logs, and appear prominently on the front page for the given pipeline build, strongly suggesting to the user that something went awfully wrong (it didn't).
We tried:

Invoke-Expression
${ }
$ErrorActionPreference
failOnStderr
$LASTEXITCODE
try{} catch{} block
Redirect to stdout 2>&1, which for us doesn't work since we need the package name output of npm pack
Redirect to file 2>err.txt
Any combination of the above one can think of.

Several Microsoft engineers across 2 teams spent 10+ hours writing at least 3 different variants, all of which currently used in production for lack of a better alternative, all of which partially broken, all of which randomly failing with minor command or pipeline changes.
I do not believe that this is the amount of work that should be required to write such a simple task.
So here's the simple question: how do we do this in PowerShell, with proper error handling?
PACKAGE=$(npm pack .)

Hello, @djee-ms!
Could you please provide information about the environment that you are using for the pipeline (cloud/on-premise solution) and version of the PowerShell task?
Regarding failOnStderr, as it was mentioned in the issue description it should work, but as written in task docs about this parameter: "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream. Otherwise, the task will rely on the exit code to determine failure."
So using a combination of errorActionPreference and failOnStderr parameters will prevent PowerShell task from failing and finalizing pipeline as well.
About proper error handling in PowerShell - Azure DevOps provided logging commands that can be used for the PowerShell scripts to log any error/information at the necessary level.
I attached links with information about logging commands:

About logging commands on docs.microsoft.com
About task logging commands
Use a PowerShell script to customize your build pipeline

Could you please provide information about the environment that you are using for the pipeline (cloud/on-premise solution) and version of the PowerShell task?

The release pipeline is here. The NPM packing is here and is already using $ErrorActionPreference = "SilentlyContinue", which does not silence any Azure DevOps error. On successful completion we still have 1 error per npm pack info line.

So using a combination of errorActionPreference and failOnStderr parameters will prevent PowerShell task from failing and finalizing pipeline as well.

This is what I hoped. None of the combination we tried worked. The best we could get is a pipeline that succeeds and does the right thing, but logs 250 errors which are not errors but simply NPM info messages. Which I why I am asking how it is supposed to work, and why it is so complex that tens of users have to ask for help? Not failing the task is only half of the problem when the build report makes it look like it completely failed. Which incidentally is poor UX; if there is an error then the build should fail, and if the build succeed then there should be no error. Having error messages and a green build makes little sense.

About proper error handling in PowerShell - Azure DevOps provided logging commands that can be used for the PowerShell scripts to log any error/information at the necessary level.

The problem is not about logging more errors. The problem is about stopping this nonsensical behavior of PowerShell treating everything as errors, and Azure DevOps logging every one of those on the front page of the build report.

I attached links with information about logging commands.

Thanks. "Several Microsoft engineers across 2 teams spent 10+ hours writing at least 3 different variants" means we already read all those links, which again are about adding more logging, when what we want is to stop false positive error logging.

@djee-ms, I created a simple pipeline to test PowerShell task behavior with npm pack . command.
This pipeline covers three cases:

The script executed with no errors
The script executed with errors but ignoreLASTEXITCODE set true
The script executed with errors but ignoreLASTEXITCODE set false

All works as expected -  NPM info messages and errors are being logged in logs as info and don't display on the pipeline main page. You can find a pipeline by the link.
Сould you please provide logs from your pipeline to make a farther investigation? Also, it will be great if you can provide a sample for reproducing described behavior.

@djee-ms, please let us know if this issue still actual

I emailed you the logs, the issue didn't change, we're still seeing hundreds of "errors" on the pipeline report tab (which are just npm info messages) even though npm does not report any error and the pipeline succeeds. This means the pipeline report tab shows first 150 errors, and if you scroll down the page enough then shows everything actually went fine and there was no problem.

Also you link doesn't work.

@djee-ms, I've got your email, thanks for providing logs!

Also you link doesn't work.

It seems that the link is out of date. So you can find a new build by the link.

Your pipeline and packing code are somewhat different from the one I posted originally. In particular we need to get back the name of the npm package so need to capture that, therefore our code is more complex. Maybe reproducing with it instead would show the error in your example. I'd also add at least 1 file in the package so it's not empty. And remove the other tasks that are failing, which are influencing the result of the pipeline and therefore making it diverge from what we have.
https://github.com/microsoft/MixedReality-WebRTC/blob/ccae6a171ec72678e75f04a7d89ac7decd09c597/tools/ci/templates/jobs-unity-package.yaml#L148

@djee-ms, I modified my pipeline but didn't manage to reproduce the described behavior. You can find a pipeline by the link.
As I can see from the provided logs the "Publish" pipeline was executed on the private agent, could you please try to execute it on the MS-hosted agent and see if the issue still appears?

could you please try to execute it on the MS-hosted agent and see if the issue still appears?

@djee-ms, did you able to check if this issue reproducible on MS-hosted agent?

Hi @djee-ms is it still actual for you, were you able to reproduce it with ms hosted agent?

Hi @djee-ms, I'm closing it currently due to inactivity, please feel free to reopen it if it still actual for you

this is relatively high search result for "azure devops redirect stderr", adding resolution here instead of abandoning would be ideal

Hi @ralph-tice could you please describe your case in more details and provide some repro steps/sample?
You can use errorActionPreference and failOnStderr task inputs - to control Powershell behavior regarding stderr.


Using OpenWebRTC Demo in PHP app

Hello, maybe someone would help me. I want to implement openwebrtc web demo to my PHP app in laravel. I can't figure it out how to do it properly to make it work. My framework return HTML, I've included all js files but I don't know how to connect it know to nodejs server.

I've already resolved my issue with putting node.js server on different port and changging urls in server file. It works on connection browser to browser.


Implement CG and CTFont text drawing using DWrite

Implement CGContextShowTextAtPoint, CGContextShowGlyphsAtPoint, CGContextShowGlyphsWithAdvances, and CTFontDrawGlyphs using DWrite.  To do this changed CGContextCairo to use a CGFont and fixed our text position to apply to User Space, not Text Space.  Added private functions to access CGFont internals in CGContextCairo.  With this change drawing text into UIKit owned contexts will not need to have a negative Y text position.
Fixes #924

This change is

:clock1:

:shipit:

:clock15:


Js tests (seach, expandable_factes, tdp-analytics)

Do not merge.
Saving progress on JS tests.

Re-opening


@kanaabe => Fix styled-components SSR error

Been tracking this for a bit and a release finally went out today, fixing the styled-components SSR issue we've been seeing:
Warning: Failed context type: Invalid context `__styled-components-stylesheet__` of type `StyleSheet` supplied to `Component`, expected instance of `StyleSheet`.

See this issue for more context.
cc @anandaroop, @yuki24

😭 Yessss, so happy about this!

Confirmed that it fixes the warning on /categories — thanks for the update 🎉


Stream with digest authentication

Description
The request with 'stream' and 'auth' (digest) option doesn't work currently. I hope this works.
Example
$client = new Client();
$response = $client->get($url, [
    RequestOptions::STREAM => true,
    RequestOptions::AUTH => [$user, $pass, 'digest']
]);

Why doesn't it work? Do you get any exceptions?
Please provide a Unit test to show how this is broken.

@Nyholm
It results 401 response.
I understand that the digest authentication is not supported by Streaming handler now.
Request Options - auth - digest
https://docs.guzzlephp.org/en/stable/request-options.html

This is currently only supported when using the cURL handler, but creating a replacement that can be used with any HTTP handler is planned.

Streaming is not the same as "using the stream driver". If you have curl installed, you can use the streaming option together with the auth option. :)

@GrahamCampbell Thanks for your answer.
Without stream option, the CurlHandler is used but with stream option, StreamHandler is used automatically.
How can I use curl with stream option?

But with stream option, the StreamHandler is used automatically.

No, I don't think so?

@GrahamCampbell
Sorry for my wrong guess.
But it is also true that it does'nt works well, so I'm going to organize again.
Thank you for your answer.


Why using LayerNorm in MLP?

Why using layernorm in MLP?

I had some issues with the combination of SyncBatchNorm and EMA with distributed training so I just replaced it with LayerNorm as a workaround.
Nothing stopping you from changing it back to batch norm though.

Thanks for your reply.In my tiny expermient, I found that layernorm was slghtly worse than batchnorm.So I asked the reason for using layernorm.


Add some documentation about the Docsify implementation

Add some (meta!) documentation about how to edit the documentation static html pages using Docsify.

Hey @LydiaFrance and @andrewphilipsmith , wonder if you think this is addressed in b23b593. I've added a reference to that change in the documentation above, should be visible here.


Update manifest.webmanifest

👷 Deploy Preview for famous-marshmallow-cfbd61 processing.

Name
Link

🔨 Latest commit
d21969e51f6e4158b203f1c3e764c0a09f893ae4

🔍 Latest deploy log
https://app.netlify.com/sites/famous-marshmallow-cfbd61/deploys/64a4a61c984cc80008403e03


Diff by words?

A good feature would be to add the ability to diff by words.  Currently it's only entire lines or individual characters.

Updated in pull request https://github.com/vi-kon/laravel-diff/pull/2


Sort in 'OPEN EDITORS' on left sidebar

Section 'OPEN EDITORS' on left sidebar can't sort by name. I feel difficult find opened file

Dup of https://github.com/microsoft/vscode/issues/27286

When I have no folder opened in VS Code, if I drag a number of files into VS Code, OPEN EDITORS does not sort alphabetically.

But if I open a folder with the files, OPEN EDITORS gets sorted alphabetically.


Visualizations / Faceting: ensure all vizs provide empty plots for empty facets

I noticed that faceting Mosaic plots on Country (where country is filtered in subsetting to just one country) looks like a no-op (there's only one facet, so the facet layout handling is not triggered).  There should be mostly empty plots.
Should coordinate with @chowington who is working on https://github.com/VEuPathDB/web-eda/issues/681 - we discussed how to deal with it here but I think we concluded the opposite to what we wrote down :grimacing:
The plot components already test for "empty data" (usually data.series.length === 0) and render a skeleton.  However, the individual components all use 'empty data' as a fallback value for the data prop.  Example here.
We were going to make the plot component (probably at PlotlyPlot.tsx) render its own HTML title and render a no-data message instead of the skeleton plot. We may need to change the fallback handling of data as described above.  I think these changes would be too much for a last minute b55 push.
I'll keep thinking about how best to do this in discussion with @chowington

I think a low cost approach would be to make a "delegate component" in web-eda. This component would be responsible for either rendering the "no data" UI if data is undefined, or delegating to the actual plot component. The props interface would look very similar to FacetedPlot. I'll leave the implementation details as homework, but happy to provide more if needed!

I think a low cost approach would be to make a "delegate component" in web-eda. This component would be responsible for either rendering the "no data" UI if data is undefined, or delegating to the actual plot component. The props interface would look very similar to FacetedPlot. I'll leave the implementation details as homework, but happy to provide more if needed!

Oh, sorry, just saw this.  I think we're going with Connor's solution that is triggered in FacetedPlot by undefined data.

Tested in a number of different plots and they do provide empty plots for empty facets. Passes QA.


Noise to Data

Firstly, it is a great work that helps me catch up with SB concept. Anw, I am quite curious whether your method can be applied to standard image generation from pure noise. Have you tried it before, it is highly appreciated if you can share some trial results.

Thanks for reading our paper :) We haven't tested our model on noise to data tasks yet, as our focus was making SB work on unpaired image-to-image tasks. But, we expect similar performance as DDGAN (https://arxiv.org/abs/2112.07804) as our model is based on the DDGAN framework. We will update the repo when we get some results on unconditional generation.


Issue laravel/cashier#412

This is a fix for the issue discussed at: https://github.com/laravel/cashier/issues/412
Added $name parameter to $subscription->swap() to make renaming plans easier when using swap().

Can't change method signatures on a patch release.

Thanks @taylorotwell - what would be the best way to go about submitting this as a part of the next major release?
Thanks for taking the time to view this.

@taylorotwell - apologies, I should have submitted this as a PR to the master branch, I will resubmit in a few hours.


Add clipboard copy to built container image field

Fixes

https://issues.redhat.com/browse/HAC-2866
Description

Add clipboard copy feature to build container image field in component list.
Note:
Container image link that we show today redirects to a 403 page and it isn't useful. Slack thread
Type of change

[x] Bugfix

Screen shots / Gifs for design review

Unit tests
  ComponentListItem
    ✓ should not render Built container image if the containerImage is missing in component status (13 ms)
    ✓ should render Built container image if the component status contains the containerImage field (17 ms)

How to test or reproduce?

Browser conformance:

[x] Chrome
[x] Firefox
[x] Safari
[ ] Edge

/lgtm


batch install file

This is completely optional but I thought of it and had code existing. Would be ideal to be packaged with a release so the user can extract a folder, open it and run the batch file.
Could be expanded on, might do that in the future if its something to be packed with it.

I think it's overkill for one file but I'll leave it open in case we need to add more in the future.

If the batch is needed now I can change it to make the plugins dir and then copy the file to it.
As well as with the latest readme. I'd try and change the dir you have listed. So the user can copy and paste it. Then with instructions to create the plugins folder once in the roaming\streamlink dir. So
C:\Users\%username%\AppData\Roaming\streamlink
However I think the batch would just be the cleanest way to install it. 🤷

I'm OK with a batch file now with plugin sideloading, feel free to update the PR.

C:\Users\%username%\AppData\Roaming\streamlink

I didn't know that variable existed, I'm more of a Linux person 😅. Go ahead and change that as well.

Okay. I'll close this since I don't know how to fix the conflicts. Tomorrow I'll add the batch with instructions. You'll want to add it to release so I can use the release URL for the user to download the batch file.

You'll want to add it to release so I can use the release URL for the user to download the batch file.

Make this the link: https://github.com/2bc4/streamlink-ttvlol/releases/latest/download/streamlink-ttvlol.zip
I'll make a zip with both files and then upload a release right after merging. That link always points to the latest release.

You'll want to add it to release so I can use the release URL for the user to download the batch file.

Make this the link: https://github.com/2bc4/streamlink-ttvlol/releases/latest/download/streamlink-ttvlol.zip
I'll make a zip with both files and then upload a release right after merging. That link always points to the latest release.

Since it'll just be in a zip release file then. No point. The download here section will just cover that and it'll be in there. I'll separate the windows install sections to automatically and manually like I had in this PR. But won't link to the batch since it'll be in the release zip


Coordinate being dragged can be switched whilst dragging

The coordinate that is selected to be dragged can switch whilst dragging if two coordinates are close together. This is because we check to see the closest coordinate to the cursor on every drag event. We probably need to store the coordinate index and ensure only that coordinate is  updated on drag event.

This is improved in<EMAIL_ADDRESS>tada


RELEASE BUILD FAILING

We may have angered the gourds.
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2220: the following warning is treated   as an error
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:implicitNoexcept' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:threadSafeInit' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:sizedDealloc' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:alignedNew' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:referenceBinding' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:noexceptTypes' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option '/std:c++'   inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:hiddenFriend' inconsistent with precompiled header
src\cascadia\TerminalApp\lib\Generated   Files\XamlTypeInfo.g.cpp(9,10): Error C2855: command-line option   '/Zc:externC' inconsistent with precompiled header

Idly wondering if this is related to the build agents ditching the PCH files? We definitely worked around that for TerminalApp specifically, though...

Wait hold on, did we solve this one?

Oop, good catch.


Update readme with missing set up instructions

Did not see anything about generating the rsa key so I am adding a step for that. The app will not start without it. Also throwing in npm install for the ui portion.

Thanks so much for the contribution! We'll get this reviewed and merged soon. Can we show you some appreciation?

Thank you @camccar!


RetrieveTrouterConfigFromChatGW

Packages impacted by this PR
@azure/communication-signaling
Describe the problem that is addressed by this PR
This PR is used for retrieving Trouter Config from Chat GW rather than hardcode it in signaling client.
There are 2 main changes.
1.Remove the "environment" from SignalingClientOptions as it should be retrieved from Chat GW;
2.Declare a TrouterConfigClientOptions and pass it to Signaling Client constructor since this is needed for signaling client to make http call to Chat Gateway.
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[Yes] Added impacted package name to the issue description
[No] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[TODO] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Writing minimally reproducible examples for bug reports

I don't see anything issues when I search for this.

I don't see it in the Insiders edition.

One of the most useful and annoyingly time consuming things in a bug report is a minimally reproducible example. If the bug reporter can write one that demonstrates the bug then it is much easier for the code maintainer to understand the issue, fix it, and write tests so it doesn't show up again. Often the process of writing a minimally reproducible example will reveal to the reporter that there isn't a bug.
Copilot Chat should have a dedicated mode to writing minimally reproducible code examples, preferably structured with tests and best practices for the programming language in question.

Issue #1000 ! You guys should celebrate! By implementing my feature request (I'm joking, congratulations)

@grofte couldn't /tests with a specific prompt provide a similar experience? Do you have a few real-world examples and how you imagine the flow within VS Code?