Fetching dependencies declared in swift-java.config

This will allow Swift users to fetch Java dependencies and "just use them".
It will become a pre-step to extract steps, such that we can "pull that dependency and expose the API I need from it" while we prepare the whole classpath for it etc.
// MyProject/Sources/JavaReactiveStreams/swift-java.config
{
  "dependencies": [
    "org.reactivestreams:reactive-streams:1.0.4"
  ],
  // FIXME: we should not need to express this classpath!
  "classPath": "JavaKit/build/classes/java/main",
}

So effectively we can expose existing Java libraries using such mini modules and such config file.
Example:
Java2Swift --fetch Samples/JavaDependencySampleApp/Sources/JavaKitExample/swift-java.config
[swift-java] Initialize JVM with classpath: JavaKit/build/classes/java/main
[debug][swift-java] Fetch dependencies: ["org.reactivestreams:reactive-streams:1.0.4"]
[trace][swift-java][JavaVirtualMachine] init complete JavaVirtualMachine(0x00000001049ef450)
[info][swift-java/DependencyResolver] Fetch dependencies: [org.reactivestreams:reactive-streams:1.0.4]
[info][swift-java/DependencyResolver] projectBaseDirectoryString =  /Users/ktoso/code/swift-java
[info][swift-java/DependencyResolver] Gradle API not available on classpath, bootstrap DependencyResolver dependencies: [dev.gradleplugins:gradle-api:8.10.1]
[info][swift-java/DependencyResolver] Bootstrap gradle-api for DependencyResolver: [dev.gradleplugins:gradle-api:8.10.1]
[info][swift-java/DependencyResolver] Bootstrap dependencies using project at: /var/folders/hn/c22y4jsn4j74mw23_kpgn88w0000gn/T/swift-java-dependency-resolver14393824301967899957
[info][swift-java/DependencyResolver] Prepared dependency resolver bootstrap classpath: 48 entries
[info][swift-java/DependencyResolver] Cache DependencyResolver dependencies classpath at: '/Users/ktoso/code/swift-java/.build/JavaKitDependencyResolver.classpath.swift-java'. Subsequent dependency resolutions will use gradle-api.
[info][swift-java] Resolved classpath for 1 dependencies of 'JavaKitExample': classpath entries: 3... done.
[debug][swift-java] Classpath entry: /private/var/folders/hn/c22y4jsn4j74mw23_kpgn88w0000gn/T/java-swift-dependencies6600421546298984751/build/classes/java/main
[debug][swift-java] Classpath entry: /private/var/folders/hn/c22y4jsn4j74mw23_kpgn88w0000gn/T/java-swift-dependencies6600421546298984751/build/resources/main
[debug][swift-java] Classpath entry: /Users/ktoso/.gradle/caches/modules-2/files-2.1/org.reactivestreams/reactive-streams/1.0.4/3864a1320d97d7b045f729a326e1e077661f31b7/reactive-streams-1.0.4.jar

Squashed it all, will do followups to cleanup and add more things to this workflow.


Decode warp output

[x] Sem Tests Running
[ ] Sem Tests Passed

@LuisLara-UH for all the new files that are added can you create an export file
similar to these https://github.com/NethermindEth/warp/blob/develop/src/passes/export.ts
https://github.com/NethermindEth/warp/blob/develop/src/export.ts

#764 changes the abi output to a file, so we can remove abiExtractor and parse the abi from output abi file

#764 changes the abi output to a file, so we can remove abiExtractor and parse the abi from output abi file

Can we do this on another PR? We could merge this PR if the transcoding functionality is complete, and when #764 is merged we create another PR for removing abiExtractor

#764 changes the abi output to a file, so we can remove abiExtractor and parse the abi from output abi file

Can we do this on another PR? We could merge this PR if the transcoding functionality is complete, and when #764 is merged we create another PR for removing abiExtractor

Yea we can do it in a follow-up pr

You can test with this call
bin/warp call warp_output/test__WC__Warp.cairo --address 0x057efbf7928d3d4648b41d163ef5328cff4650bb8ff03f804c8d270793b459e4 --function testStruct --network alpha-goerli
pragma solidity ^0.8.0;

contract Warp {

  function testPrimitive() external pure returns (uint256) {
    return 2^255- 1;
  }

  struct S {
    uint256 a;
    uint56 b;
    bool c;
  }

  function testStruct() external pure returns (S memory) {
    return S(12, 23, true);
  }

  function testArray() external pure returns (uint256[] memory) {
    uint256[] memory g = new uint256[](4);
    g[0] = 0;
    g[1] = 56;
    g[2] = 4353;
    g[3] = 4353465;
    return g;
  }
}

You can test with this call bin/warp call warp_output/test__WC__Warp.cairo --address 0x057efbf7928d3d4648b41d163ef5328cff4650bb8ff03f804c8d270793b459e4 --function testStruct --network alpha-goerli
pragma solidity ^0.8.0;

contract Warp {

  function testPrimitive() external pure returns (uint256) {
    return 2^255- 1;
  }

  struct S {
    uint256 a;
    uint56 b;
    bool c;
  }

  function testStruct() external pure returns (S memory) {
    return S(12, 23, true);
  }

  function testArray() external pure returns (uint256[] memory) {
    uint256[] memory g = new uint256[](4);
    g[0] = 0;
    g[1] = 56;
    g[2] = 4353;
    g[3] = 4353465;
    return g;
  }
}

Tested, outputs:

You can test with this call bin/warp call warp_output/test__WC__Warp.cairo --address 0x057efbf7928d3d4648b41d163ef5328cff4650bb8ff03f804c8d270793b459e4 --function testStruct --network alpha-goerli
pragma solidity ^0.8.0;

contract Warp {

  function testPrimitive() external pure returns (uint256) {
    return 2^255- 1;
  }

  struct S {
    uint256 a;
    uint56 b;
    bool c;
  }

  function testStruct() external pure returns (S memory) {
    return S(12, 23, true);
  }

  function testArray() external pure returns (uint256[] memory) {
    uint256[] memory g = new uint256[](4);
    g[0] = 0;
    g[1] = 56;
    g[2] = 4353;
    g[3] = 4353465;
    return g;
  }
}

Tested, are these outputs correct?
12 0 23 1

The output should be 12 23 true,
The first parameter in the struct is a Uint256, so its split into low and high but we should not expose that to the user.
we should format is better as well but that can be done later when we use the solidity output from nethersolc because then we will have the member names as well.

we should format is better as well
Sorry I don't get this

I think in another PR we should add some more tests to encoding

Sem failures

tests/behaviour/solidity/test/libsolidity/semanticTests/libraries/using_library_mappings_return

The semantic test is failing on abiExtractor. Given that we remove it in remove-abi-extractor PR, there this semantic test is passing. The remove-abi-extractor PR has all commits from here, so I think we could just take that one for merging into develop, and close this


CIQ Identity 3.0 - update to_dict and from_dict to include organisation_info

Include organisation_info in the to_dict and from_dict methods on CIQIdentity3_0, This replicates the functionality already seen in the the to_obj and from_obj.

Hi @bworrell, would it be possible for you to look at this pull request? Thanks Joe.

Thanks, @joewaltonPurple! Can you add some data to stix/test/extensions/identity/ciq_identity_3_0_test.py to test this change?
By the way, @bworrell isn't working on STIX anymore, so feel free to bug me instead 😀

Cheers @gtback that should be all done.

Looks great! Thanks, @joewaltonPurple


Image not showing iTerm2

Description
Neofetch in iTerm2 is not showing an image, but a placeholder.
Neofetch version
3.3.0
Screenshot

Config file
Default config (running with --backend iterm2 --source <path_to_image>
Verbose log
neofetchlog.txt

The image you're trying to use doesn't exist. The log file tells me that Neofetch can't find the image.

Hello,
The image is there. I just had a look.

Here you can see that the folder and file exist.

I'm able to reproduce this with every image I try, and it doesn't seem to be an issue with iTerm2 because imgcat works on its own.

Looks like the issue is actually in the thumbnail conversion, this seems to be the relevant section of the log:
+ convert -background none '/Library/Desktop Pictures/Rolling Waves.jpg' -gravity center -crop 2880x2880+0+0 -quality 95 -scale 810x810 '/Users/andrew/.cache/thumbnails/neofetch/normal-center-810-810-/Library/Desktop Pictures/Rolling Waves.jpg.jpg'
convert: unable to open image '/Users/andrew/.cache/thumbnails/neofetch/normal-center-810-810-/Library/Desktop Pictures/Rolling Waves.jpg.jpg': No such file or directory @ error/blob.c/OpenBlob/3146.
+ image='/Users/andrew/.cache/thumbnails/neofetch/normal-center-810-810-/Library/Desktop Pictures/Rolling Waves.jpg.jpg'
+ display_image
+ case "$image_backend" in
++ base64
./neofetch: line 2771: /Users/andrew/.cache/thumbnails/neofetch/normal-center-810-810-/Library/Desktop Pictures/Rolling Waves.jpg.jpg: No such file or directory

@iandrewt In your extract it seems it is looking for an image with *.jpg.jpg
Therefore I already tried making the image file without any extension, but it is still not working.

Oddly, this issue isn't occurring on my MacBook, only my hackintosh (which doesn't have macOS on it at the moment so I can't retest). I'm thinking it may be related to the iTerm2 version? On my MacBook, I have Build 3.1.20170913-nightly, whereas the Hackintosh had 3.1.3. Might try updating iTerm2 and seeing if the issue reoccurs on my MacBook

OS: Mac OS Sierra 10.12.6 (16G29)
Device: MacBook Pro (Retina, 13-inch, Early 2015)
iTerm2 Version: Build 3.1.20171005-nightly
Same issue, I tried providing absolute path, reinstalling neofetch and providing images with different extensions, but it doesn't help. When I try doing imgcat /path/to/image.png it works

Seemingly related issue here when running neofetch --iterm2

when neofetch call convert it will raise an error said unable to open the target file, seems like convert cannot create multiple dirs. if i create the dir it needs in ~/.cache/thumbnails/neofetch. it works.

Does #872 fix your issues?
@kelaun @hankerboy
CC: @iandrewt

@konimex It does

@konimex It does, but text becomes weird

It seems that regular expressions behave differently in mac default bash (3.2.57).
In the make_thumbnail function
make_thumbnail() {
    # Name the thumbnail using variables so we can
    # use it later.
    image_name="$crop_mode-$crop_offset-$width-$height-${image//'/'/_}"

change to
make_thumbnail() {
    # Name the thumbnail using variables so we can
    # use it later.
    image_name="$crop_mode-$crop_offset-$width-$height-${image//\//_}"

@hankerboy @jorgegonzalez add some blank characters (in prin() function).
    # Print the info.
    printf "%b\n" "${text_padding:+\033[${text_padding}C}${zws}${string}${reset}"

change to
    # Print the info.
    printf "%b\n" "${text_padding:+\033[${text_padding}C}${zws}${string}${reset}    "

Ah.. So that's why the space was originally added. I originally removed it in #799 so that may trigger the fault. After I'll get home I'll test #872 to see if it works in Linux (or really, any OS with newer bash) as well. Also, I'll add whitespace back in get_underline and prin function.

@mollax It works

Since #872 has been merged and the garbage output problem has been solved, I'm closing this.

I still have this problem on Mac do I need to update in a specific way to have #872 in my system?

for more info here's my pastebin: https://pastebin.com/DUJtChtF
But really my symptoms are exactly as the ones described in this issue 😢

Did you use the -git version?

@konimex no I installed via Homebrew you mean install directly via this repo?

@mike3run Clone this repo and run it.

when cloning the repo it works but it looks like some characters are not being escaped properly or something here's how it looks running from ./neofetch

Pastebin
https://pastebin.com/VRbevGW5

I'm having the same issue as @mike3run.

Try to test this (as I can't because I have no Mac):
Add a single whitespace in line 2382:
 printf "%b\n" "\\e[${text_padding}C${zws}${cols}"
to
 printf "%b\n" "\\e[${text_padding}C${zws}${cols} "

@konimex that added the space after the color scheme but the unescaped sequence seems to still be there 😢


Button playground example is using rbg() without arguments

https://github.com/replit/kaboom/blob/52763e7a2f1c57a96693e2c486133aab09d1a55d/examples/button.js#L42
But 3 arguments are required^1. Same here https://github.com/replit/kaboom/blob/52763e7a2f1c57a96693e2c486133aab09d1a55d/examples/collision.js#L115

rgb() is shorthand for rgb(255, 255, 255), added it to the docs!


Connection Refuse when ZK_HOST is localhost:2181

I have Zookeeper and Kafka running in localhost.
When I start the docker container with
docker run -it --rm  -p 9000:9000 -e ZK_HOSTS="localhost:2181" sheepkiller/kafka-manager

it throws error
java.net.ConnectException: Connection refused
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_111]
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_111]
	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965]
	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965]

Both zookeeper and kafka are running fine and listening to correct ports. What might be the cause?

Answer my own question.
The problem is with Docker not Kafka-manager.
Basically, java.net.ConnectException: Connection refused says either the server is not started or the port is not listening.
The default ZK_HOST is the localhost:2181 inside docker container. However, my zookeeper is running in the docker host machine at localhost:2181.
So, changing the docker run command to the following will enable container to use host's network:
docker run -it --rm --net="host"  -p 9000:9000 -e ZK_HOSTS="localhost:2181" sheepkiller/kafka-manager

Interestingly is that if you do what you suggest, Kafka Manager is able to connect to ZooKeeper, but you will not be able to connect to the UI anymore. Or, at least this is what is happening to me. I have three docker containers, one runs km, one kafka and one zookeeper.

@MrXu  try to use you local ip to run the container, it will fix your issue
docker run -it --rm  -p 9000:9000 -e ZK_HOSTS="<IP_ADDRESS>:2181" -e APPLICATION_SECRET=tingxin sheepkiller/kafka-manager

@brunoripa he is running kafka/zookeeper on the host and not in another container. Your solution is appropriate for a kafka instance running in docker.

@brunoripa can you elaborate how you define a network to make the UI work?
Thanks.


XOR introduces regression in type safety

Bug description
Let's take an example model:
model Invitee {
  id        Int      @id @default(autoincrement())
  email     String
  firstName String
  lastName  String
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

This generates the following Where Input:
export type InviteeWhereInput = {
    AND?: XOR<InviteeWhereInput, Enumerable<InviteeWhereInput>>
    OR?: XOR<InviteeWhereInput, Enumerable<InviteeWhereInput>>
    NOT?: XOR<InviteeWhereInput, Enumerable<InviteeWhereInput>>
    id?: XOR<IntFilter, number>
    email?: XOR<StringFilter, string>
    firstName?: XOR<StringFilter, string>
    lastName?: XOR<StringFilter, string>
    createdAt?: XOR<DateTimeFilter, Date | string>
    updatedAt?: XOR<DateTimeFilter, Date | string>
  }

Now consider the following code example:
const conditions: Prisma.InviteeWhereInput[] = [];
conditions.push({
      OR: [
        { sdad: 1 },
        { firstName: { contains: filter.search, mode: 'insensitive' } },
        { lastName: { contains: filter.search, mode: 'insensitive' } },
        { email: { contains: filter.search, mode: 'insensitive' } },
      ],
    });

One would expect the first object of the OR to be rejected by typescript, but it is not.
Expected behavior
If we remove the XOR from the OR and replace that with OR?: InviteeWhereInput | Enumerable<InviteeWhereInput>, we get back the error in typescript. This leads me to believe that the current XOR is broken.
Prisma information
v2.12.1

So I dug a little, here are some observations:

This whole thing only partially work because it does XOR<T, T | T[]>. I don't think this is correct since the whole purpose of XOR is to replace the |. When you replace Enumerate<T> by T[] it completely falls apart on the typing so that's a great indication that this is the right direction.
Now that we have a source, lets check each part of the generated type:

// A is never
type A = Without<Array<InviteeWhereInput>, InviteeWhereInput> & InviteeWhereInput

// B has the keys of InviteeWhereInput as undefined and the methods of the array
type B = Without<InviteeWhereInput, Array<InviteeWhereInput>> & Array<InviteeWhereInput>

In case of B, the type checking still fails to detect additional props in the elements of the array

My initial conclusion is that XOR should be avoided for arrays or there should be an extends Array<infer U> check to compare against that.


Larger images

I've tried to increase the size of the source image (changed index.html) to produce larger stylised images but I can't seem to get beyond 1000x1000.  I get an error: "GL ERROR :GL_OUT_OF_MEMORY : glBufferData: cannot allocate more than 1GB".  Any suggestions?

Your browser just ran out of memory. I don't think there's a solution for this other than using another implementation that does not run on the browser. I suggest the original Magenta implementation in Python https://github.com/tensorflow/magenta/tree/master/magenta/models/arbitrary_image_stylization


fix: Stop updating action when datasource name is updated

Description
PR fixes following issue(s)
Fixes #27666
Media
N/A
Type of change

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[x] Manual
[x] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test sha=4604edd

/ok-to-test sha=948b38a82cc44cee6ca147b937a4502b21d7b451

/build-deploy-preview

/build-deploy-preview skip-tests=true recreate=true

Verified changes manually and LGTM.

/ok-to-test sha=d4bbdb7


Upload all dashboards to s3....

wizzy s3upload dashboards - copies local dashboards directory to s3
wizzy s3upload dashboard dashboard-slug - copies a dashboard from local dashboards directory to s3 dashboards directoy

Work done in #48


Fix uploading layer blobs to Docker registry

Implement a client to the chunked API, instead of the nonexistent one-shot API (per https://github.com/docker/distribution/commit/2a4deee4413a4027b3024113a2c880e217097754 ).
Adds a FIXME to DELETE the pending upload on failure; the uploads are supposed to time out so this is not immediately critical.
Fixes #64 .

Awesome, pulling this in LGTM


[1.x] Add support for wildcard allowed origins

At present the allowed origins option does not allow for wildcard origins other than ['*']. As such, if you want to support a set of subdomains as well as the primary domain, you have to list out each one individually into the reverb.php config file, e.g.,:
...
'allowed_origins' => ['laravel.com', 'www.laravel.com', 'subdomain.laravel.com'],
...

This is all fair and well if the subdomains are well defined, but if you either have a lot of them or your application allows the users to define a subdomain e.g., in the context of a multi-tenant setup, then you may not be able to define these easily.
However, the only wildcard support available is the ['*'] option, but this opens it to all origins, which may not be desired.
This pull request would provide support for wildcard origins to be specified in the config, allowing users to set what origins are allowed, with some more flexibility e.g.:
...
'allowed_origins' => ['laravel.com', '*.laravel.com'],
...

With this config, reverb would allow an origin at the root domain level and any subdomain of the root domain.
The underlying change follows a similar pattern/implementation as the CORS middleware, i.e., Str::is()
The tests have been extended to include additional checks when wildcard origins are used. I had to extend the FakeConnection::class to allow for an origin to be defined besides localhost. I've added this as a 2nd parameter and in the extended tests used the name parameter.
N.B., the test 'accepts a connection from an valid origin' has an incorrect config set path for allowed origins, it just happens that the default (['*']) allows everything and as such the test passes.

This looks great, thank you 🙌

@joedixon Thanks 👍

Yeah, it would be good to update the docs once this is merged and tagged.


Watch over a folder of all same type files

I'm pretty new on Gulp, Watchify and browserify, so I borrowed this code from someone's blog:
function browserifyShare(){
  var b = browserify({
    cache: {},
    packageCache: {},
    fullPaths: true
  });

  if(watch) {
    // if watch is enable, wrap this bundle inside watchify
    b = watchify(b);
    b.on('update', function(){
      bundleShare(b);
    });
  }

  b.add('./views/js/lib/http.js');
  b.add('./views/js/lib/webSocket.js');

  b.add('./views/js/home.js');
  bundleShare(b);
}

The problem is that I have to use b.add() to watch over a new file. What if I have numerous files under the same directory and I want to watch over all of them? I tried js/lib/*.js but it didn't work.

Sorry I posted on the wrong github repo....I just realized b.add() is a browserify problem not watchify.


No information about UI testing with compose

I have been looking on how to do UI testing with compose, I'm looking for simple UI tests with compose
I have readed this article -> https://github.com/JetBrains/compose-multiplatform/tree/master/tutorials/UI_Testing
but I cannot find a way to add it to my project, I have tried
 sourceSets {

        androidMain.dependencies {
           ...
        }
        commonMain.dependencies {
           ...
        }

        @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
        commonTest.dependencies {
             implementation("org.jetbrains.compose.ui:ui-test-junit4:1.5.11")
        }
    }

But I find this issue

ModuleVersionNotFoundException: Could not find org.jetbrains.compose.ui:ui-test-junit4-uikitarm64:1.5.11.

And this one

I have also tried with
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
        commonTest.dependencies {
            implementation(compose.uiTestJUnit4)
        }

Same issues.
is there anything that I'm missing to test my composables inside my commonMain folder ?
Maven repo : https://mvnrepository.com/artifact/org.jetbrains.compose.ui/ui-test-junit4-desktop

What you looked at was the test API for desktop. The test API for common will be available in 1.6.

If you want to write ui tests, currently I have compose testing setup specifically in the android app as android integration tests, obviously that only covers one platform so I would make sure you have more tests for actual implementations on other platforms, but it's useful to check flows/app responds correctly.
Not sure how the common test api will work beyond testing compose at the view level not screen level, but I would probably recommend both. View testing with compose common (when it's out), then use your iOS/Android/Desktop ui testing frameworks to do integration/functional regression tests.

The common test API will have the same functionality as the desktop and android test APIs. The main difference is that it will not be based on JUnit.

@m-sasha any release date estimate ?

1.6.0-beta01 was released a few minutes ago. The docs aren't quite ready yet, though.

Excelent @m-sasha , is there anything else that we need to update aside from compose multiplatform on this 1.6.0-beta01 release ? I mean if there is also need of update of the kotlin compiler plugin, compose version , and so on.
Also, will the code provided in this question be enough to cover UI tests on that version?

You will need to add a few new dependencies, and running on Android will need a bit of Gradle magic. The docs will explain, once out.

Here's a preliminary version of the documentation

@m-sasha
After following the dependency declaration steps, for some reason the uiTest under the compose object cannot be resolved.
compose = "1.6.0-beta01"
compose-compiler = "1.5.8"
compose-plugin = "1.5.11"

commonTest.dependencies {
    implementation(kotlin("test"))

    @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
    implementation(compose.uiTest)
}

Here's a minimal repo that reproduces the problem:
https://github.com/Ahmad-Hamwi/kmp-ui-test-junitless

I think compose-plugin should be set to 1.6.0-beta01, and I don't think you even need to set the compose version.
I'm not sure where your project's structure comes from. Is it from Fleet?

Upgrading the plugin worked flawlessly for me, thank you!
The project is generated from the online wizard: https://kmp.jetbrains.com/ and I ticked "Share UI (with Compose Multiplatform UI framework)". The generated project comes with ".fleet" folder, but I actually use the project in Android Studio not Fleet.
I got a little bit confused by the generated androidx-related compose dependencies, I though they were actually being used, but turns out they're only being used for preview/tooling, and the Jetbrains plugin is the one importing the real compose code.

I've cleaned the dependencies in the project and added a sample ui test in this branch like so:
import androidx.compose.material.Text
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.runComposeUiTest
import kotlin.test.Test

class HelloWorldTest {
    @OptIn(ExperimentalTestApi::class)
    @Test
    fun findsHelloWorld() = runComposeUiTest {
        setContent {
            Text("Hello World")
        }

        onNodeWithText("Hello World").assertExists()
    }
}

I'm getting:

Even though my IDE is importing everything just fine.
It's happening when running the test by selecting the "android (local)"

And the tasks that get executed are: Executing tasks: [:composeApp:cleanTestDebugUnitTest, :composeApp:testDebugUnitTest, --tests, HelloWorldTest] in project /Users/ahmad/AndroidStudioProjects/kmp-ui-testing-junitless/composeApp
If I try to run the test using the "iosSimulatorArm64" the test passes just fine:

This branch in the same repo should reproduce this problem: https://github.com/Ahmad-Hamwi/kmp-ui-test-junitless/tree/runComposeUiTest-unresolved-reference

You can't currently run Android Instrumented tests from commonTest in Android Studio. Read the last section of the preliminary docs to see how to run it with Gradle.

Is there any way of running them as local unit tests?

Is there any way of running them as local unit tests?

No, Compose on Android requires the emulator. You can run a local desktop test if you have a desktop source-set.

I think there is another way without running the emulator that could be done inside common package.
Example, creating a compose test rule with JUnit config
@RunWith(AndroidJUnit4::class)
@Config(
    manifest = Config.NONE,
    sdk = [Build.VERSION_CODES.P],
    instrumentedPackages = [
        "androidx.loader.content"
    ]
)
class FirstTestWithoutEmulatorRunning {
    @get: Rule
    val composeTestRule = createComposeRule()
    // same code as Ahmad sent
....

}

Could this be done inside the commonMain ? @m-sasha

I'm not sure I understand.
I don't think Android Compose tests can run with robolectric, so they must run in the emulator.
What do you mean by "done inside commonMain"? We don't write the tests; users do. We could instruct them to add those annotations, but it's better if they didn't need to.
And did you mean commonTest?

Sorry , yes, @m-sasha commonTest I ment, but I mean that if we can run the instrumented tests inside commonTest at least with these annotations will make a huge difference of waiting until there is an emulator way of doing it (without going to the android package)
For me, personally, I want to test the UI logic, I don't really care if the emulator does run at the moment I test composable logic, being able to do this in commonTest maybe with a multiplatform way with Robolectric would be amazing.

For me, personally, I want to test the UI logic, I don't really care if the emulator does run at the moment I test composable logic, being able to do this in commonTest maybe with a multiplatform way with Robolectric would be amazing.

You can run the test as a "desktop" test (if you have a desktop source-set).
As far as I know, running Jetpack Compose tests with robolectric is not supported by Google. At least I couldn't find anything official on it.

@m-sasha cool thanks a lot Alexander

@gastsail I do have an Android Compose project (not KMP), and my test works using Robolectric without a device. Is there a catch in the case of KMP project?

@Ahmad-Hamwi problem is that there is no multiplatform lib of robolectric, so we cannot include it in kmp yet since it's only platform specific for now

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Get Image can return NSFW results

The !get KEYWORD command can sometimes return NSFW results. The Flickr API has a setting for this, however, it is either not implemented correctly, or doesn't function as well as is required by top.gg's verification team.
Either fix this with the Flickr API OR use a new API OR allow the command to only post in NSFW channels.

#53


z-index issue fix

Remove z-index

Don't see the point of the z-index here.
Removed did not notice any other issues
closes #102

Missed some z-index, removed them.
Also updated the js file in dist because I don't have the build config

@r-renato Could you approve the PR?

@r-renato Is anything needed to increase confidence in this PR?

THe fork from @bram2202 solved it for me as well. Please approve. And thanks again for the Integration! :)

@r-renato Help!  Please push this fix?


Fix key handling

Hi Dan, thanks for putting this demo together!
I am developing a console app and need to handle key events. By default nodemon eats all the keystrokes (so that it allows explicit restart by typing rs) and keys do not work in the app.
This PR fixes that by making nodemon to forward key events to the app and also fixes exiting so that when you type q or Esc the app exits (using exit code 2 which makes nodemon to quit, otherwise the app would quit but nodemon would spawn it again).

Closing the PR to get rid of it from the new Github pull request view.


test(client): enable tracing tests with all driver adapters

Un-skip tracing tests for libSQL/Turso and PlanetScale driver
adapters.

Adapt the test expectations to support synthetic BEGIN and COMMIT
spans produced for driver adapters that manage transactions using
high-level APIs provided by third-party JavaScript drivers and don't
emit normal query spans for BEGIN and COMMIT because those statements
are not executed by Prisma itself.

Update the deleteMany test to support relationMode = "prisma" as
it is used with PlanetScale.

Closes: https://github.com/prisma/team-orm/issues/505

Hide whitespace changes for ease of review:

Should this PR also close https://github.com/prisma/team-orm/issues/404 or should we also add the js:query:args and js:query:sql child spans to the synthetic BEGIN/COMMIT spans to close that issue?
cc @millsp @miguelff


"Failed to perform physics" when passing through spawner sign

Info
Please provide the following information:

BkCommonLib Version (/train version): v1.19.3-v2 (build: 1326)
TrainCarts Version (/train version): v.1.19.3-v2 (build: 1501)
Server Type and Version (/version): git-Paper-388 (MC: 1.18.2)

Bug
Description
When I ride a train of a certain length (I used 40m), on a long, diagonal piece of track (45 degree), which in the bottom lies a sign which writes [train:right] spawn 20m (train spawner generating 20 minecarts, is unpowered),
the whole train will bug out and attempt to stop (you feel the speed of the train go down to 0 and then return to normal), and the console outputs [Train_Carts] Failed to perform physics on train.
Expected behaviour
Ignore the sign as the [train:right] spawn 20m was not powered at all
Actual behaviour
Stopping the train for a tick or so then the train runs at the same speed as before
Steps to reproduce

Build a diagonal piece of track (e.g. 20 blocks, 45 degree)
Put a [train:right] spawn 20m sign at the bottom of the track
Spawn a train with certain length (probably > 1)
Ride on the piece of rail
Error is produced in the console

Error in console

Basic setup

Why dont you post the actual error??

Why dont you post the actual error??

I have updated the description above with the error and a basic setup that you can follow

Thank you, I'll look at it after work today. If I had to guess, I think it's because of that one sign post that is rotated 45 degrees. Try placing it aligned at 90 degrees and see if that changes anything.

Thank you, I'll look at it after work today. If I had to guess, I think it's because of that one sign post that is rotated 45 degrees. Try placing it aligned at 90 degrees and see if that changes anything.

Placing it at 90 degrees (N, S, E, W) does not produce the same bug
but placing it at 45 degrees (NE, NW, SE, SW) produces the same bug

I don't think it's fixed yet, it just doesnt handle :right stuff combined with 45 degrees very well. Needs a little more work

https://ci.mg-dev.eu/job/TrainCarts/1331/ this works for me ingame

https://ci.mg-dev.eu/job/TrainCarts/1331/ this works for me ingame

Bug seems to be fixed for now using this build
Thanks!
Please make sure to include the fix in future releases though

Anything built by ci.mg-dev.eu eventually ends in a release, so no worries


Multi-mission radioisotope thermoelectric generator knowledge

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your PR.
#839
Describe the contribution to the taxonomy

...
...
...

Input given at the prompt

   ...

Response from the original model

  ...

Response from the fine-tuned model

  ...

Contribution checklist

[ ] The contribution was tested with ilab generate
[ ] No errors or warnings were produced by ilab generate
[ ] All commits are signed off (DCO)
[ ] The qna.yaml file contains at least 5 seed_examples
[ ] The qna.yaml file was linted and prettified (yaml-validator can do both)
[ ] An attribution.txt file in the same folder as the qna.yaml file
[ ] Content does not include PII or otherwise sensitive or confidential information
[ ] Content does not include anything documented in the project's Avoid these Topics guidelines

Closing due to combined PR here:  #1142


Creating a x509 store from a nonexistent path reports an error which does not indicate what the problem was

If one creates a x509 store providing path to a nonexistent file, the error reported by openssl is "system lib". Below is sample code in Ruby demonstrating it:

irb(main):009:0> OpenSSL::X509::Store.new.add_file('x')
Traceback (most recent call last):
        6: from /home/w/.rbenv/versions/2.6.3/bin/irb:23:in `'
        5: from /home/w/.rbenv/versions/2.6.3/bin/irb:23:in `load'
        4: from /home/w/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in `'
        3: from (irb):9
        2: from (irb):9:in `rescue in irb_binding'
        1: from (irb):9:in `add_file'
OpenSSL::X509::StoreError (system lib)

I believe this error comes from openssl because Ruby's openssl extension has no mention of the phrase "system lib", but openssl does contain this phrase.
If one uses s_client, one can observe the difference in error reporting when referring to  a nonexistent key vs ca file:

speed% openssl s_client -key foo
Can't open foo for reading, No such file or directory
139755074421952:error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('foo','r')
139755074421952:error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
unable to load client certificate private key file

speed% openssl s_client -CAfile foo
139727212496064:error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('foo','r')
139727212496064:error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
139727212496064:error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:../crypto/x509/by_file.c:199:

The errors reported by s_client span multiple lines, and it is unclear as to how the same situation would be reported by openssl-the-library, but it seems plausible that openssl-the-library may report the condition of the x509 store referencing a nonexistent path simply as "system lib".
This initially came up in the following stack overflow question: https://stackoverflow.com/questions/58053353/ibmcloud-how-can-i-connect-to-mongodb
The "system lib" message neither states the problem (a nonexistent file), nor refers to the user input (the path provided), making it impossible to identify the issue from this message alone.
The message should include both pieces of information - the problem (nonexistent file) and user input (path provided).

It looks like the ruby library doesn't support OpenSSL's notion of a stack of errors, which is what you see displayed when using openssl s_client, that's why you only get to see the top message

BTW, not sure it's us you should talk with.  We don't provide the ruby library, https://github.com/ruby/openssl does.  Have you raised an issue there?

I can certainly do that, what should I point them to as far as OpenSSL's documentation for how to use this functionality? My internet search for "OpenSSL stack of errors" returned a full page of stack overflow search results and no openssl resources.

See the manual page man 3 ERR_get_error

Thank you, I will follow up with  ruby-openssl .


Support for secondaryProgress

Could you add support for secondaryProgress like Android's ProgressBar class does?
Sample use would be start streaming music and showind song progress and also buffering progress (using setSecondaryProgress). Sample for Android's ProgressBar might look like this:
http://www.hrupin.com/2011/02/example-of-streaming-mp3-mediafile-with-android-mediaplayer-class

Could you please help me to reset the button to the initialise state (ActionProcessButton). Suppose I use this ActionProcessButton for login and found that the login credential are wrong then I change the FlatButton to ActionProcessButton.


Verify integrity of scraped data

To be notified if the format of a page changes as soon as possible. A big plus would be slack integration 🎉
It'd also be nice to periodically automatically update the test fixtures in this repo as well.

I created a status checker website once, maybe we can reuse something. It checks the validity and age of the data.
https://github.com/jklmnn/parkendd-status
https://jklmnn.github.io/parkendd-status/


Make it easy to see which students are doing RCOS for credity or pay

Should also add the other option of for experience


Add comment regarding permissions to exception message

Due to the fact that the default settings regarding permissions only differ in newly created repos, the workflow may not work in forks even though it works in the original repo because the permissions are set differently in the fork. In this case, the current error message is relatively unhelpful. This PR is intended to improve that.

Ok, but didn't the changes we made in the README supposedly add the necessary permissions to the action ? Also, I wonder if there may be a better way (e.g. when failing, actually introspect the permissions and of it's a permission, say that ?
We can merge in the meantime :)

Ok, but didn't the changes we made in the README supposedly add the necessary permissions to the action ?

Yes, they do when you setup the action now. The situation this refers to is that there is a repo that still gives read and write permissions by default because it was created before Github changed the default value for it. That is why the permissions in the config files are not changed there, because they are not necessary. But, if you then fork that, then the permissions default to read only and the action runs fine in the main repo but crashes on the fork.

when failing, actually introspect the permissions

Yes, that would be the nicer and complete solution, of course.

Ah, I get it !


LRU cache doesn't work on object method!

https://github.com/developmentseed/cogeo-mosaic/blob/7b6746a41ec8c5a2a9c618a9f9595ac3eccd85f9/cogeo_mosaic/backends/s3.py#L64

Why not?

https://stackoverflow.com/questions/33672412/python-functools-lru-cache-with-class-methods-release-object

@kylebarron not sure I understand what you are meaning!
I just tested locally and two consecutive call showed it wasn't cached 🤔
Also for S3, we might have a new client on each call so it won't be really cached and the client should be excluded from the cache parameters using https://cachetools.readthedocs.io/en/stable/


API support to cancel showInputBox

Feature request: API support to cancel showInputBox. E.g. add a vscode.CancellationToken to its options.
Example use case: I've implemented a custom text search, using the validateInput option to update the search as the user types. Certain events cancel the search, in which case, the input box should disappear.

makes sense

@siegebell This just landed in master. Please try it out


Does this code work on a computer with only one GPU?

Does this code work on a computer with only one GPU? My computer does not have 2 or more GPUs

hey can you google first or try it by yourself first before post naive question on the issue? Thanks.


make r5.2xlarge as default instance type

Description
Make r5.2xlarge as default instance type.
This default increase it to test benchmark run metrics with our existing performance dashboards that run on r5.2xlarge type instances. Once we add the option to select instance type in our benchmark run code we will downgrade the defaults here.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Once we add the option to select instance type in our benchmark run code we will downgrade the defaults here.

Do we have an issue that we can link here? Not sure when you say benchmark run code is it benchmarks config or performance testing framework?


Fixed STL solid/binary warnings on load

I used MeshLab to re-open and save all of the visual files for the S-Model gripper. Some of the meshes changed as seen below, however, this was only because I also used MeshLab to remove duplicate vertices. The overall volume of the visual models is the same, as can be seen when using the Revision Slider.
Fixes #84. This is the problem addressed by #65, and I'm not sure why that PR was ever accepted. I've always been taught to treat warnings as errors.

Fixes #84. This is the problem addressed by #65, and I'm not sure why that PR was ever accepted.

Afaict, #65 was never merged?

Can this be merged?

Thanks for the contribution....merging.


[ISSUE #8604] Fix doc typo

Fixes #8604 .

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 47.19%. Comparing base (b9d9b3f) to head (2c4191c).

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #8605      +/-   ##
=============================================
- Coverage      47.27%   47.19%   -0.09%
+ Complexity     11465    11453      -12
=============================================
  Files           1277     1277
  Lines          89344    89344
  Branches       11481    11481
=============================================
- Hits           42237    42162      -75
- Misses         41912    41974      +62
- Partials        5195     5208      +13

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

Rebase to apply 1a15729ca962d76ffe044f6332ec711b1d7546bc


Prism v3.5.1-v3.5.3 | Custom (Snippet) Callout Content Override by the Theme

Describe the bug
I defined my own callouts by using lucide icons plus a color scheme applied on it based on the Prism colors.
It works perfectly with Prism v3.5.1:

And now with Prism v3.5.3, I got darker colors for the callout-title's border-color plus the callout-content's border-color and border-width that are reset to default (black and 1px):

To Reproduce
Here is an example for the red color of the snippet that supersedes the theme:
/* Couleur rouge */
.prism-theme .callout:is([data-callout-metadata^="rouge"]) > .callout-title {
    color: var(--color-red-text);
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
}

.prism-theme .callout:is([data-callout-metadata^="rouge"]) > .callout-title .callout-icon .svg-icon {
    color: var(--color-red-text);
}

.prism-theme .callout:is([data-callout-metadata^="rouge"]) > .callout-content {
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
	border-width: 2px; /* bordure de la même épaisseur que le titre du callout */
}
/* ------------- */

When creating a callout, I have > [!pouce_bas|rouge]+ Ce que je n'ai pas aimé for the above screenshot.
Expected behavior
As before with Prism v3.5.1. Thanks a lot Damian!
Screenshots
See Describe the bug section
Setup Information

Device Type: PC
Operating System: Windows 11
Prism version: v3.5.3
Color Schemes Used: Latte / Mocha
Obsidian Version: v1.6.5
Obsidian Installer Version: v1.5.12

Hi @Rivol0gY,
It appers that you are missing some of the specificity required for the snippet to work as well as targeting the wrong attribute for the callout type.
Here is how you should be doing it:
.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-title {
    color: var(--color-red-text);
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-title .callout-icon .svg-icon {
    color: var(--color-red-text);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-content {
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
    border-width: 2px;
}

I do try and keep the wiki page on Callout customisation up to date so if you have any other issues with it in the future take a look there to see if the setup changed.
P.S. I've personally have been careful with using :is in my snippet and Prism since I've had it do unpredictable things when it comes to specificity. Something to keep in mind.

Hi Damian,
Thanks for the quick feedback.
I dit a try and it doesn't work because I defined the icon "separated" from the color.
For example with the thumb down, I have:
.callout[data-callout="pouce_bas"] {
    --callout-color: 128, 128, 128;
    --callout-icon: lucide-thumbs-down;
}

And then I combine, for example:
> [!pouce_bas|rouge]+ We don't care...

So with your correction, I have now:

BUT, if I keep only:
> [!rouge]+ We don't care...

I have the correct colors (w/o the correct icon of course, I'm presuming that the pencil is the default callout icon):

Any clue for merging both icon type plus color? (because I'm choosing the color depending on the context)
I'm presuming that I need also to change the icon part in the CSS snippet but... I do not know how...

Hi @Rivol0gY,
Ah! I haven't seen it used like this before. In that case you were correct with using the data-callout-metadata for it to identify correctly. I guess for it to work correctly with a specified icon the way you had the following would work:
.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout-metadata="rouge"] > .callout-title {
    color: var(--color-red-text);
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout-metadata="rouge"] > .callout-title .callout-icon .svg-icon {
    color: var(--color-red-text);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout-metadata="rouge"] > .callout-content {
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
    border-width: 2px;
}

.callout[data-callout="pouce_bas"] {
    --callout-color: 128, 128, 128;
    --callout-icon: lucide-thumbs-down;
}

But to also have it work when you don't define a custom icon, I think it would make more sense to switch the order when you define the callouts and the CSS logic. That way it would work regardless if it has the icon or not:
.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-title {
    color: var(--color-red-text);
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-title .callout-icon .svg-icon {
    color: var(--color-red-text);
}

.prism-theme:not(.pt-disable-callout-styling) .callout[data-callout="rouge"] > .callout-content {
    background-color: hsla(var(--color-red-base-hsl), var(--callout-background-alpha));
    border-color: var(--color-red-tint);
    border-width: 2px;
}

.callout[data-callout-metadata="pouce_bas"] {
    --callout-color: 128, 128, 128;
    --callout-icon: lucide-thumbs-down;
}

You'd make the callout like this:
> [!rouge|pouce_bas]+ We don't care...
> test

It works perfeclty. Thank you very much for your clarifications and your help!


Create A Happy Birthday Ecard Page

The page should say Happy Birthday and work with all themes (at least the background should change)
Yes, you can use additional html or css right inside the page.
You can also make a new theme along with it if you like.
Don't forget to update pages_list.txt
Include a social media image with a picture of a GIFT in the og:image (see thankyou.html and respective folders for example)
You can use canva or AI or design the graphics yourself.
The objective will be that if this page is posted on social media, it will show the og:image from the meta data.
The title can be Happy Birthday and the description should say We have a Surprise For You!
When they click to the link, the page will show a Happy Birthday message :)
Be creative as you like.
Read the Docs.
Give a ⭐
Don't break anything. :)

hey@omicreativedev  I would like to work on this project pls assign this to me.
The last project which you gave on creating a  song theme was successfuly done had faced an issue in merginging and foeking sorry for that I would be more careful this time.

@priyanshu-gupta0503 I left you some help in the other open issue if you would like to try again.

I would like to try this one for now pls assign me this

@omicreativedev assign mam this to me
I want to work on it


Confusing output running leftovers --dry-run when there are elastic IPs on a managed NAT gateway

aws.Addresses.List will just add any elastic IP that isn't attached to a VM to the list regardless of filter. This produces confusing results when running leftovers --dry-run on an AWS region that has unattached elastic IPs; regardless of where they came from, it lists all EIPs. This includes EIPs that are attached to a managed NAT gateway (or other non-instance resource) in another VPC.

The thing with addresses is that they oftentimes don't have tagging that we can filter on. Oftentimes, they get orphaned from an instance and then there is no way to collect them because they have no associated objects with filterable tags themselves. For this resource in particular, we don't remove them  from the potential list because they might actually be related, and we don't remove them just because they might be in use, because the listing happens before deleting - so an instance that you will approve to delete is still technically using the address at the time we prompt you. Instead, we allow you to try and delete that address but if you don't also agree to delete it's bound instance with leftovers, then the aws api will return the error. Otherwise, users would always have to run leftovers twice to delete an environment. The first time around they would catch the instance, the second time they would catch the address (if that address somehow retained something we could filter on.)


BackButton style proposal

BackButton should be hidden when disabled + take less space for mobile phone with small resolution

This app is meant as an example and proof of concept only. I'm hesitant to change the styles here, and time is limited to test these changes.

Hey @flodef. The code in examples/point-of-sale is what's called a ‘reference implementation.’ Reference implementations are demonstrations of a specification – in this case Solana Pay – in action. They're generally not meant to be deployed in production as-is, but rather to act as a reference for others.
Changes to the reference implementation that relate to its correctness or adherence to the Solana Pay specification are in scope, and changes that affect the aesthetics or usability of the example app itself are out of scope.
You should for sure fork the reference implementation and open source something targeted toward the exact user you've described though! You could be a huge part of onboarding that next billion through the creation of something free, fast, and delightful to use. We created and open sourced the Solana Pay spec to encourage exactly that.
Thank you for your contributions 🚀

Always happy to read from you. Thanks a lot for the precisions.
As I strongly suggested to jordan, it could be wise to precise the scope of PR and the purpose of it directly in the README.md from "examples/point-of-sale" (it went from "point-of-sale" to "examples/point-of-sale" very recently).
Like you saw, I've already forked the reference implementation and it's live.
Sharing it from solana-labs' repository for dev to start building from a prod version instead of reference implementation could save other devs a lot of time. It's working out of the box, and you just have to change settings in vercel. You don't even have to be a dev to use / customise it.
But, in the current state, that's not gonna happen. No Solana dev will come to flodef's github repository to start a Point of Sale based on Solana Pay. Like me, they'll come on solana-labs', find the reference implementation and start building from it, wasting time, instead of improving each other's work.
In the end, every dev is building is own point-of-sale implementation in its small corner...


Setting up dev env on Windows throws GDAL exception

While following the install documents on Windows, the Fiona package fails to install with a GDAL Exception.
In order to replicate the issue:

Create environment conda create -n yammbug python=3.8
Activate environment conda activate yammbug
Install yamm in editable mode pip install -m .

Exception:
Collecting fiona>=1.8
  Using cached Fiona-1.8.21.tar.gz (1.0 MB)
    ERROR: Command errored out with exit status 1:
     command: 'c:\Users\willc\miniconda3\envs\gdaltest1\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\willc\\AppData\\Local\\Temp\\pip-install-5zcy45b7\\fiona\\setup.py'"'"'; __
file__='"'"'C:\\Users\\willc\\AppData\\Local\\Temp\\pip-install-5zcy45b7\\fiona\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();ex
ec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\willc\AppData\Local\Temp\pip-pip-egg-info-iigt1ecz'
         cwd: C:\Users\willc\AppData\Local\Temp\pip-install-5zcy45b7\fiona\
    Complete output (1 lines):
    A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

The root cause of this issue is that the GDAL (Geospatial Data Abstraction Library) is already present on *nix systems. This package is not present on Windows and needs to be manually installed onto the machine.
GDAL can be compiled from source, but there are pre-compiled binaries available from the Laboratory for Fluorescence Dynamics.
sources:

https://jingwen-z.github.io/how-to-install-python-module-fiona-on-windows-os/
https://pypi.org/project/Fiona/
https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona

The GDAL tools can be compiled from source using the resources at
https://www.gisinternals.com/query.html?content=filelist&file=release-1930-x64-gdal-3-4-2-mapserver-7-6-4.zip

Process has been documented in ReadMe. See PR #56


Binary caching fail is not a build fail

Describe the bug
Following command will fail if the HTTP server is not running:
$ vcpkg install --binarysource="http,http://localhost:15151/{name}/{version}/{sha},readwrite" zlib
...
error: curl failed to execute with exit code 7.

I think cache unavailable is a cache miss not a build fail.
We have to respect existing flag --only-binarycaching that results command fail when the binary source is not available.
Environment

OS: Lniux
Compiler: GCC11

To Reproduce
Steps to reproduce the behavior:

vcpkg install --binarysource="http,http://localhost:15151/{name}/{version}/{sha},readwrite" zlib
error: curl failed to execute with exit code 7.

Expected behavior
zlib installed without an error.
Failure logs
$ vcpkg remove zlib && vcpkg install --binarysource="http,http://localhost:15151/{name}/{version}/{sha},readwrite" zlib
The following packages are not installed:
    zlib:x64-linux
Computing installation plan...
The following packages will be built and installed:
    zlib:x64-linux -> 1.2.13
Detecting compiler hash for triplet x64-linux...
Restored 0 package(s) from /home/hypnos/.cache/vcpkg/archives in 5.03 us. Use --debug to see more details.
error: curl failed to execute with exit code 7.

Additional context
Add any other context about the problem here.

Is this url built by you locally? Does not apply to vcpkg, can the direct download cache be successful?

Yeah this is a vcpkg-bug

This is related to https://github.com/microsoft/vcpkg/issues/28927

@jimwang118 The server is built by myself. If the server is running, it works as intended. However, the problem is that if the server is not available, vcpkg simply terminates. The expected behavior is to continue the installation, ignoring the cache failures.

the same happens when using aws for binary caching, I'm getting a lot of
warning: error: aws failed with exit code: (1).

when it's checking if a package is there

I reported the same problem in #27025, but it was closed and moved to a discussion (#30246) as the error is by design. Anyway, good that here are now more votes for seeing this as an actual problem.

This is still an issue with latest

not stale


Add en_IN localization

en_IN localization added.

Tests fail, please see CI report

I suspect you haven't read the Contributing Guidelines. You should definitely do so.

Abandoned PR, closing.


Project view submission doesn't work

Steps to reproduce: try submitting a URL here: http://beta.freecodecamp.com/en/challenges/intermediate-front-end-development-projects/build-a-random-quote-machine

You must use a proper url. You are missing a slash after the colon.


ci: Create a boxed (isolated) zcashd and zebrad for our CI tests

Motivation
We'd like to to stand up our Mainnet in a box or isolated environment. This is similar to "testnet in a box", producing a fully managed P2P zcash network.
The box test is a highly controlled environment so that the diff is in zebra code, not network conditions; the current test is still useful but because it can vary widely (100% performance degradation) without a zebra code change, it should be informative but non-blocking.
Designs
We would standup several zcashd's and the zebrad under test and isolate the network for all so that our zebrad under test will only sync from the zcashd's we control. We can eventually set up something more heterogeneous or all zebrad's, but the case we're trying to isolate is a zebrad under test syncing from a network of majority zcashd's.
Creating something like a managed group of VMs in GCP, all configured with a special network device, may support this without going directly to something like k8s, which brings its own complexity but I have not tested this.
Related Work
We will probably make the config for each zebrad network to only include IPs of our boxed network peers instead of the dns seeder. And if all the nodes cannot talk to any other nodes besides the ones in our box they will not gossip uncontrollable nodes to each other.
Once we can spin up N zcashd's/full nodes and put their IPs in a zebrad config file we can try low numbers and high numbers and see if there is an inflection point between number of nodes, speed, and cloud costs.

the current test is still useful but because it can vary widely (100% performance degradation) without a zebra code change, it should be informative but non-blocking.

I think this is a feature of our current tests, not a bug in those tests. We should be making Zebra work well with the current network conditions, whatever they happen to be.
I was planning on talking about the recent Zebra sync issues next week at the retrospective. I'm hoping we can work out some next steps then.

We'd like to to stand up our Mainnet in a box or isolated environment. This is similar to "testnet in a box", producing a fully managed P2P zcash network.

Can we use the ECC's "testnet in a box"?
They already have one, but I'm not sure exactly how it works.

If we decide to do this task, I'd like to split it up before we start work on it.
We could make this ticket into a tracking issue?
This task will need either:

a zcashd cached state, or
changes to zebrad to get it to ignore gossipped peer addresses.

We also need to decide on a test harness. If we're using the zebrad Rust acceptance test harness, that needs a separate ticket.
Can we make these design decisions before we schedule and split this task?
We might also need some Zebra changes or bug fixes. There used to be a bug where Zebra required at least 2 nodes to sync, but I'm not sure what the minimum number of nodes is now. (I think I've seen Zebra sync with 1 node, but I'm not sure if it's reliable. Testnet seems to work well with 5-8.)
There could be other required changes that we need, I haven't thought about it in detail.

This isn't a priority for the current Zebra release candidate, we can re-open it if we need it.


How to initialize a plugin through a es6?

First of all, I want to express my gratitude for your excellent work, this plugin does not really have competitors in its functionality. I have some questions.

When will it be possible to download this plug-in via npm?
And how can I initialize the plugin if I want to connect it as a module ES6?

Hi,
Thank you for the feedback, I'm glad that the plugin is useful for you.

I've uploaded the lib to npm, it's accessible here: https://www.npmjs.com/package/jplist-es6
There is an ES6 jplist version here: https://github.com/1rosehip/jplist-es6/blob/master/dist/1.2.0/jplist-es6.min.js
Also it's possible to import index.js or jplist.js as entry point in your source files depending on your needs.

Hi! thanks for the help! I connected the plugin as a module. Is it possible to call Jplist through the constructor (as indicated in the picture)?

The following error in the console

There is some required code that should be added before jplist initialization, you may find it in index.js. jPList requires window.jplist.controlTypes that actually just a ES6 Map of controls that you need in your app. In the index.js file above there is a full list of controls, but you may include only controls that you need.
Also index.js contains custom events polyfill for IE 10/11, without it jPList won't work in these browsers.
And the last important thing is binding to jPList APIs:
window.jplist.init = jplist.init.bind(jplist);
window.jplist.refresh = jplist.refresh.bind(jplist);
window.jplist.resetControls = jplist.resetControls.bind(jplist);
window.jplist.resetControl = jplist.resetControl.bind(jplist);

@12evgen
try import "jplist-es6/dist/1.2.0/jplist-es6.min.js";


fix: update to fix compile issue

The code is not compilable due to the below error:
"could not find sign in cose"

cc @setrofim

thank you!


MIG-814: Remove unnecessary metadata fields in kubernetes plugin

Certain metadata fields (uid, resourceVersion, etc.) should be removed
from the export because they will be automatically added to the
new resource upon creation in the destination cluster.

PR updated to fix MIG-815 as well


Unify otel ports with main server

Is your feature request related to a problem? Please describe.
It's a hassle to allow OTEL open 2 additional ports for no reason at all. OTEL telemetry (GRPC and HTTP) should go through our main server ports.
Describe the solution you'd like
Port over otel receiver code (GRPC and HTTP) and make it work with out platform. Instead of using their default receiver, switch to our custom receiver.
cc: @kwapik

I think in order to have an easy way to update the forked receiver against the upstream would be to fork the entire https://github.com/open-telemetry/opentelemetry-collector and pull changes from upstream main when we update OTEL dependencies.
This would allow to solve https://github.com/fluxninja/aperture/issues/78 with one stone.
In fact, I have already created our fork - https://github.com/fluxninja/opentelemetry-collector.

https://github.com/open-telemetry/opentelemetry-collector/issues/2395


Fix form background in doc

https://github.com/lowlighter/matcha/issues/49

Thanks a lot !
(And sorry for the review delay)


zig 0.12

zig 0.12 is currently scheduled for april 2: https://github.com/ziglang/zig/milestone/23
We don't need to upgrade the moment it's released, but it would be good to get ahead of any breaking changes, so we don't accumulate technical debt.
blocked until all dependencies support 0.12:

dependency
0.12 support

base58-zig
https://github.com/dnut/base58-zig

zig-network
✅

zig-cli
✅

getty
✅

httpz
✅

zigdig
https://github.com/dnut/zigdig

#129


Google pay component sometimes causes the app to crash after minimize -> reopen

Describe the bug
The app sometimes throws a fatal exception when user comes back to the app after minimizing it for a short period of time, while on the screen that contains google pay component, or even a screen after that (one that has the gpay screen below on navigator stack).
It wasnt hard to reproduce it in app's release mode (codemagic build), but when trying in debug mode on the other hand, it was close to impossible.
In our case, this bug is very serious, because one of our payment methods (BLIK) requires the user to minimize the app to confirm the payment in bank app.
To Reproduce

go to a screen that contains gpay component
minimize the app and open some other one (the harder on ram/cpu the better, not sure)
go back to the app with gpay in it
crash happens:

Fatal Exception: java.lang.IllegalStateException: Reply already submitted
       at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:35)
       at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler$1.reply(BasicMessageChannel.java:14)
       at ComponentPlatformInterface$Companion$setUp$4$1$1.invoke(ComponentPlatformInterface.java:31)
       at ComponentPlatformInterface$Companion$setUp$4$1$1.invoke(ComponentPlatformInterface.java:6)
       at com.adyen.checkout.flutter.components.googlepay.GooglePayComponentManager.onAvailabilityResult(GooglePayComponentManager.java:113)
       at com.adyen.checkout.googlepay.internal.provider.GooglePayComponentProvider$isAvailable$1.invoke(GooglePayComponentProvider.java:18)
       at com.adyen.checkout.googlepay.internal.provider.GooglePayComponentProvider$isAvailable$1.invoke(GooglePayComponentProvider.java:2)
       at com.adyen.checkout.googlepay.internal.provider.GooglePayComponentProvider.isAvailable$lambda$2(GooglePayComponentProvider.java:5)
       at com.google.android.gms.tasks.zzm.run(zzm.java:25)
       at android.os.Handler.handleCallback(Handler.java:958)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loopOnce(Looper.java:230)
       at android.os.Looper.loop(Looper.java:319)
       at android.app.ActivityThread.main(ActivityThread.java:8919)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

Video
I went back and forth from foreground to background, then the app crashed, and upon opening it, you are greeted by its home screen
https://github.com/user-attachments/assets/81897c37-8b47-4c07-99d1-54ad3bd4f7cf
** Smartphone**

OS: Samsung Galaxy A13
Version: Android 14

App

Flutter: 3.13.9

Hi @drekyyy,
Very interesting finding and thank you for sharing it. I understand the significance and let’s try to resolve the issue.
Based on the exception message, it seems like the method channel is being consumed already when another Google Pay availability check happens. I tried to reproduce it with the current example implementation but the issue does not occur (debug and release mode). At least on my devices or a simulator.
I see in your video that the Google Pay button disappears when leaving the app. And it seems that it is being rendered (maybe a new instance is created?) again when going back into the app. In our example app, the Google Pay component keeps its state. Maybe that could be a difference.
Would it be possible to check if multiple instances of the Google Pay component are created?
Do you might have time to check our example project on your device as well? The project should work out of the box by just adding your credentials into the config file.
In the meantime, I will investigate further and check the platform channel implementation.
I will adjust the example and test multiple Google Pay button instances.
https://github.com/user-attachments/assets/0bd11093-5300-4dab-bbcb-68c9eb1fd350

Hey @Robert-SD,
I think you are on to something, I also noticed that it was being rebuilt.
I turned the widget into a const and so far the crash has not happened. I will most likely update you tomorrow whether we managed to reproduce the crash or not.
Your insight is very appreciated.


Added helm chart for federation v2.

Signed-off-by: Guang Ya Liu<EMAIL_ADDRESS>
What this PR does / why we need it:
This is a chart copied from https://github.com/kubernetes-sigs/federation-v2/tree/master/charts/federation-v2
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes https://github.com/helm/charts/issues/8559

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[ ] Chart Version bumped
[X] Variables are documented in the README.md

/cc @lachie83 @mgoodness @prydonius

Thanks a lot for opening this @gyliu513! Really looking forward to having federation-v2 in the charts repo.

I am not sure the licence is needed, as it is the same as /LICENCE.

@desaintmartin I think it is still needed, as each chart can be used standalone by the end user.

I'm in agreement with @gyliu513 re: license file


feat: identify addresses from etherscan when forking

Companion PR: https://github.com/gakonst/ethers-rs/pull/1108
To do

[x] Ensure the cache path exists
[x] Add some tracing in the code for better visibiltiy when debugging
[ ] Pull chain ID from provider and Etherscan key from config
[x] Implement rate limiting
[x] Filter out addresses we have already identified to save on requests

Closes #1015

Some notes:

Some contracts may show up with the same name, especially Vyper contracts. Etherscan does not expose an API to get public labels
The rate limit algo is pretty naive but it should work as long as there are not a lot of unidentified addresses
It seems that some local contracts are no longer identified.. I think it's because of sparse mode, but I'm not sure yet. Waiting for https://github.com/gakonst/foundry/pull/1191 to be merged to check

Some contracts may show up with the same name, especially Vyper contracts. Etherscan does not expose an API to get public labels

Could we append an index to help differentiate contracts in cases like these? For example if the contract name is Curve and there's two of them, the trace would label them Curve-1 and Curve-2. Or some other differentiator like Curve{1} also works of course.

Should be good to merge after https://github.com/gakonst/ethers-rs/pull/1114 and ethers bump!

Not entirely sure why the integration tests are failing.. Is the filter directive something with the tracing crate?


Idea - list of values for default in action parameters

SUMMARY
Some input fields, depending on the application, can have a finite number of values. For example, an API that allows you to specify a color word from a strict list for the parameter color.
Currently there is not a great way (that i know of) to inform that list without it being explicitly listed in the description.
PROPOSED
I would think a way to add this in cleanly is allow default to be a list, which in turn is displayed in the WebGUI as a drop down.
parameters:
  color:
    type: string
    default:
      - red
      - blue
      - green

NAK. Dropdowns are already possible using enum:
parameters:
  color:
    description: Color for the thing
    type: string
    enum:
      - red
      - blue
      - green

Additionally, if the type of a parameter is string, then the default value should not be a YAML array - it should be a string.

Ah i see, I was unaware of that. I believe that is exactly what I am requesting. Go ahead and close this. sorry for the erroneous issue!

No worries - keep your feature requests coming! 😄


Show related controls using the local language

Is your feature request related to a problem? Please describe.
Show related controls using the local language e.g. prev / next buttons for pagination
Describe the solution you'd like
We might need to provide these translations
Describe alternatives you've considered
NA
Additional context
#465
Would you like to work on the issue?
NA

hi @jingtang10 i wanted to work on this issue if this is still open.

obsolete


[BUG]: Circular Dependency

What version of drizzle-orm are you using?
0.24.0
What version of drizzle-kit are you using?
0.17.2
Describe the Bug
Circular dependencies when building app (when using drizzle with postgres), either when importing import { drizzle } from 'drizzle-orm/node-postgres' or import { drizzle, PostgresJsDatabase } from 'drizzle-orm/postgres-js'
Circular dependency: node_modules/drizzle-orm/sql/index.js -> node_modules/drizzle-orm/subquery.js -> node_modules/drizzle-orm/sql/index.js
Circular dependency: node_modules/drizzle-orm/pg-core/query-builders/index.js -> node_modules/drizzle-orm/pg-core/query-builders/query-builder.js -> node_modules/drizzle-orm/pg-core/dialect.js -> node_modules/drizzle-orm/pg-core/columns/index.js -> node_modules/drizzle-orm/pg-core/columns/array.js -> node_modules/drizzle-orm/pg-core/utils.js -> node_modules/drizzle-orm/pg-core/view.js -> node_modules/drizzle-orm/pg-core/query-builders/index.js
Circular dependency: node_modules/drizzle-orm/pg-core/columns/array.js -> node_modules/drizzle-orm/pg-core/columns/common.js -> node_modules/drizzle-orm/pg-core/columns/array.js

Expected behavior
No circular dependencies
Environment & setup
No response

Could you provide a reproduction? It's hard to investigate this without any specifics about your project.


Run on single GPU

hi,
how can I run this code on a single GPU?

Hi @rttariverdi67
By default, the model is trained and inferenced on a single gpu. Please read the Readme.md file to see more details


Resource type for static app site is wrong

I guess the resource type for the static web site should be Microsoft.Web/staticSites instead of Microsoft.Web/sites

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

ID: 8c22eb33-2fde-55b4-021d-e229c857e51b
Version Independent ID: 1f767675-7d50-6ea5-b798-1323cd4a63a1
Content: Recommended abbreviations for Azure resource types - Cloud Adoption Framework
Content Source: docs/ready/azure-best-practices/resource-abbreviations.md
Service: cloud-adoption-framework
Sub-service: ready
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 421017

Thanks for your feedback. The article has been updated and this issue will be closed.


Update instructions to include cron and symlinks

Just a suggestion for more advanced users that want it running regularly:
Update paths below for your install, change from every 5 minutes if desired.
SHELL=/bin/bash
*/5 * * * * source /home/wingbits/dirkbeer/venv/bin/activate && cd /home/wingbits/dirkbeer/adsb-analysis && /home/wingbits/dirkbeer/adsb-analysis/process.py > /dev/null 2>&1
*/5 * * * * source /home/wingbits/dirkbeer/venv/bin/activate && cd /home/wingbits/dirkbeer/adsb-analysis && /home/wingbits/dirkbeer/adsb-analysis/plot.py > /dev/null 2>&1

Then after one run, symlink it with:
cd /usr/local/share/tar1090/html/
sudo ln -s /home/wingbits/dirkbeer/adsb-analysis/receiver_performance.png
cd -

I guess since I am killing all stdout and stderr now for cron... plot.py call could just be added to the process.py line


dpscounter: add autoreset and specific NPC counter

Close #12692
Just added features to address the 2 points mentioned in the issue.

added in d8e97dd1f7ac40b2f99e3cba31b78732a9537fcb and e9acabf54915efcdf6e7f8c29aef6d96f245b688


Propose release version 0.5.0

hello cluster-api provider kubemark community,
i would like to propose that we create a new release, version 0.5.0 to capture these recent changes:

updated dependencies for Cluster API version 1.3
updated dependencies for Kubernetes version 1.25
simplified kustomize configuration
updated kube-proxy version in default manifests
kubemark provider now sets ProviderID on KubemarkMachine during reconcile
updates to build tooling

100 percent - it would be great to have a release with these updates.

this makes sense to me!


Build without linking to homebrew libs

The openssl-sys crate will either link against a Homebrew-provided
OpenSSL, or it will build OpenSSL itself.
Using the cargo-native-static build option will force openssl-sys to
build OpenSSL itself. This produces binaries that do not link against
any non-system-provided libraries. This is how official builds of
rust-lang/rust are performed. See
https://github.com/rust-lang/rust/blob/da5b546d2e563747b16a16dae83bacf49aa0bf3b/src/ci/run.sh#L54
Fixes: #29

@stevecheckoway Thank you for this little improvement. Once it's validated we can probably drop OpenSSL dependency from the installation script.
@SergioGasquez Please, could you verify whether the similar solution is deployed to Ubuntu? It might solve Ubuntu 22 OpenSSL 3 issue.


B8: Can't make alumentum

pretty self explanatory issue but i used one sand and two coal in the crucible and no alumentum

i can confirm this also. used the same recipe. using charcoal also doesn't work, it does seem like the recipe is either missing, or the the first stage of the research won't unlock the ability to craft it.

I third this, can't craft it either.

ditto

Yup doesn't work even with Automated Alchemy

Can not create alumentum. The crucible does not recognize the coal/charcoal as an ingredient instead of essentia. I have tried using triple the essentia needed but it still will not work.

does any one know how t give the research with commands ?

if i remember correctly it's something like /thaumcraft research player's name ALUMENTUM

yea it is THx!


add duckduckgo as an option to frontend-search

@willmendesneto this is a small addition to the plugin you created, do you mind taking a look at this for me?

Hey @mcornella , could you check this pull request, please?

👍, just a couple things: I would rename the option to FRONTEND_SEARCH_FALLBACK (the search engine is implied), and the function name to something like _frontend_search_url (the underscore is used for functions not used directly by users, and we don't use camel-case for functions).


WIP: ENH: improve sort_vertices_of_regions via Pythran and made it more readable

Pythran version is 3x faster than the Cython version.
Current Pythran version:
============ =============
 num_points
------------ -------------
     10        9.77±0.4μs
    100         105±4μs
    1000      1.23±0.08ms
    5000       6.33±0.3ms
   10000       12.9±0.7ms
============ =============

Previous Cython version:
============ ============
 num_points
------------ ------------
     10       38.8±0.5μs
    100        388±3μs
    1000      3.82±0.2ms
    5000      20.6±0.6ms
   10000       38.6±1ms
============ ============

To made the codes more readable, I referred to the original Python version codes in https://github.com/scipy/scipy/pull/6768
cc @rgommers @serge-sans-paille

Some of the CI failures do actually mirror some of my points above as well.

Once both the Cython and Pythran versions are swappable & the Pythran version tests pass (2 fails at the moment for Pythran version I think), we should re-check the benchmarks to be sure (I can do that locally too).

The Linux CI failures are the same ones I get locally on my Mac:
______________ TestSphericalVoronoi.test_sort_vertices_of_regions ______________
[gw1] linux -- Python 3.7.10 /opt/hostedtoolcache/Python/3.7.10/x64/bin/python
scipy/spatial/tests/test_spherical_voronoi.py:166: in test_sort_vertices_of_regions
    assert_equal(sorted(sv.regions), sorted(unsorted_regions))
E   AssertionError:
E   Items are not equal:
E   item=1
E   item=0
E
E    ACTUAL: 3
E    DESIRED: 1
        self       = <scipy.spatial.tests.test_spherical_voronoi.TestSphericalVoronoi object at 0x7f0e654c0590>
        sv         = <scipy.spatial._spherical_voronoi.SphericalVoronoi object at 0x7f0e654c0750>
        unsorted_regions = [[0, 2, 3, 5, 6], [2, 3, 7, 8, 10, 11], [0, 1, 4, 6], [4, 5, 6, 7, 8], [9, 10, 11], [2, 5, 7], ...]
____________________ TestSphericalVoronoi.test_region_types ____________________
[gw1] linux -- Python 3.7.10 /opt/hostedtoolcache/Python/3.7.10/x64/bin/python
scipy/spatial/tests/test_spherical_voronoi.py:362: in test_region_types
    assert type(sv.regions[0][0]) == dtype
E   AssertionError: assert <class 'int'> == <class 'numpy.int64'>
E    +  where <class 'int'> = type(0)
        dtype      = <class 'numpy.int64'>
        self       = <scipy.spatial.tests.test_spherical_voronoi.TestSphericalVoronoi object at 0x7f0e654bead0>
        sv         = <scipy.spatial._spherical_voronoi.SphericalVoronoi object at 0x7f0e654be710>

---------- coverage: platform linux, python 3.7.10-final-0 -----------

The Windows test failures are different

I also got some test failures, and I'm still trying to figure out why
(scipy-dev) charlotte@CHARLOTLIU-MB0 scipy % pytest scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi
============================================================================ short test summary info =============================================================================
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_sort_vertices_of_regions - AssertionError:
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[2] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[3] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[4] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[5] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[2] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[3] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[4] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[5] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_region_types - AssertionError: assert <class 'int'> == <class 'numpy.int64'>
========================================================================= 10 failed, 110 passed in 1.74s

I checked the result of our Pythran function for the test scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_sort_vertices_of_regions, seems the returned result is totally wrong...  something must go wrong inside sort_vertices_of_regions

Ok, I'll make a note to look at the Pythran version in the next day or two to see if anything sticks out.
I suppose the nice thing about Pythran is that I could probably debug it in pure Python, assuming that a Pythran bug is pretty unlikely.

@tylerjereddy  I tried to use the pure Python version of my code and it passed the test. I found that the output of the Pythran and Python function are exactly the same, but  unsorted_regions in the test will differ.
The output region of the function are the same: [[0, 6, 5, 2, 3], [2, 3, 10, 11, 8, 7], [0, 6, 4, 1], [4, 8, 7, 5, 6], [9, 11, 10], [2, 7, 5], [1, 4, 8, 11, 9], [0, 3, 10, 9, 1]]
The original unsorted_regions is [[0, 2, 3, 5, 6], [2, 3, 7, 8, 10, 11], [0, 1, 4, 6], [4, 5, 6, 7, 8], [9, 10, 11], [2, 5, 7], [1, 4, 8, 9, 11], [0, 1, 3, 9, 10]].
After testing the Pythran function, it will not change. However, after testing the Python function, it will change to [[0, 6, 5, 2, 3], [2, 3, 10, 11, 8, 7], [0, 6, 4, 1], [4, 8, 7, 5, 6], [9, 11, 10], [2, 7, 5], [1, 4, 8, 11, 9], [0, 3, 10, 9, 1]]. Therefore, Pythran function will fail the test but Python function can pass.
I think Pythran and Python treated unsorted_regions = sv.regions differently and causes the problem.

I also got some test failures, and I'm still trying to figure out why
(scipy-dev) charlotte@CHARLOTLIU-MB0 scipy % pytest scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi
============================================================================ short test summary info =============================================================================
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_sort_vertices_of_regions - AssertionError:
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[2] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[3] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[4] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_cross_polytope_regions[5] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[2] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[3] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[4] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_hypercube_regions[5] - TypeError: function takes exactly 1 argument (2 given)
FAILED scipy/spatial/tests/test_spherical_voronoi.py::TestSphericalVoronoi::test_region_types - AssertionError: assert <class 'int'> == <class 'numpy.int64'>
========================================================================= 10 failed, 110 passed in 1.74s

The original Cython version will also fail test_cross_polytope_regions and test_hypercube_regions.  So only test_spherical_voronoi and test_region_types are related to this PR.

What bout modifying the Cython version to also return regions that way the call site doesn't change between pythran and Cython version?

I'm wondering what's the point of test_spherical_voronoi... to test whether the reference unsorted_regions = sv.regions would work? Because whichever we are using Cython/Python/Pythran, the sv.regions after sorted is the same. The key is that whether  unsorted_regions will change with sv.regions. If it changes with sv.regions, then it will always pass; if not,
, it will fail. It seems never check the actual computation correctness.

I'm a little confused about what's the point of test_spherical_voronoi...

You can add more sorting tests if you like. I think we'd need a very strong motivator to change an old test though--maybe it just serves to verify i.e., the integrity of the data through the in-place sort. And it clearly is picking something up with Pythran or other changes that have been made here.

The original Cython version will also fail test_cross_polytope_regions and test_hypercube_regions on my local computer. So only test_spherical_voronoi and test_region_types are related to this PR.

That doesn't sound right--the tests are all passing on master so it must be related to this PR.
In general, this is already proving to be a fair bit of work to get a second Pythran version in place, so this is not really making a strong case to me that this is a great target for Pythran. If we need to modify the original Cython version that's already a fair bit of extra verification that needs to be done.

The other thing to consider is the memory footprint of course--the Pythran deepcopy needs to be weighed in the decision making here too I think, and measuring that kind of stuff can be a tad annoying. At least this is for the indices, so the deepcopy is perhaps a bit less serious.

You can add more sorting tests if you like. I think we'd need a very strong motivator to change an old test though--maybe it just serves to verify i.e., the integrity of the data through the in-place sort. And it clearly is picking something up with Pythran or other changes that have been made here.

Thanks! Sounds reasonable.

That doesn't sound right--the tests are all passing on master so it must be related to this PR.
hmmm, I mean it may be because my local environment was not fully set up. From the checks, seems

test_cross_polytope_regions and test_hypercube_regions passed.

In general, this is already proving to be a fair bit of work to get a second Pythran version in place, so this is not really making a strong case to me that this is a great target for Pythran. If we need to modify the original Cython version that's already a fair bit of extra verification that needs to be done.

Thanks for your advice! I'll keep trying to fix some problems(at least make it clear) in the next two days, if still not working maybe I'll let it go :)


Context switch expression is put to CB input when editing nodes

Discord username
No response
What type of issue is this?
Permanent – Occurring repeatably
Is this issue blocking you from using Enso?

[ ] Yes, I can't use Enso because of this issue.

Is this a regression?

[ ] Yes, previous version of Enso did not have this issue.

What issue are you facing?
When the context switch expression is present, and you edit the node, the expression is removed.
Expected behaviour
Edits should touch only a modifiable part of the node's expression. Any execution context switch state must be preserved.
How we can reproduce it?

Disable output context for the node using a button next to it
Edit the node
Observe context switch is no longer present.

Screenshots or screencasts
No response
Logs
No response
Enso Version
0228022809cb2f5a11b9ae7e8b2db4497e2c103b
Browser or standalone distribution
Standalone distribution (local project)
Browser Version or standalone distribution
standalone
Operating System
MacOS
Operating System Version
No response
Hardware you are using
No response

The issue in GUI2 is different: now we just put the context switch code to edited input.

Refinement notes: this shoudl be trivial after #9164  but we should also add tests.


Fix inspect wiki page format example

File: engine/reference/commandline/inspect.md
The format example docker inspect --format='{{json .Config}}' $INSTANCE_ID doesn't work on windows 10. it requires double quotes e.g. docker inspect --format="{{json .Config}}" $INSTANCE_ID
This should be fixed in the docs or relogged as a bug.

Hi Rora, can you supply any more info.
I've just tried it on my Windows 10 machine with the following config and it works as per the documentation:
Windows 10 Pro.  Version 1803 build 17134.648
Powershell
Docker Desktop <IP_ADDRESS> Edge channel
Engine version 18.09.3
Thanks

OK, my bad, I see this occurs if using cmd.exe instead of Powershell. I'll look into adding something to the docs.

Thanks for sharing this issue. This particular content is maintained in an upstream repo. If the issue is still applicable, please help create an issue or PR in the source repo at https://github.com/docker/cli/blob/master/docs/reference/commandline
In general, the $ usually hints that the command examples are for Linux.


Add Social media Instagram

PR Description 📜
#4458 Add Social media Instagram

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Gokilp ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Thank you so much @kunjgit

Kindly please review my code

please review my pr @kunjgit

Please merge it @ishita-43

Thank you  @Gokilp , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Rollup function

https://github.com/demianrasko/Dynamics-365-Workflow-Tools/blob/master/docs/Rollup Functions.md
Tried recreating the formula as described here, but I get 0 back every time I use (value="PARENT_GUID") in the fetch xml
Am I using this wrong, or is there an error here?:)

Hi thomassandor,
please check your FetchXML text again, because you need to add the parameter as "{PARENT_GUID}" and not "PARENT_GUID" (you need to add "{" and "}").
on my code the "replace" is like this:
_FetchXML = _FetchXML.Replace("{PARENT_GUID}", context.PrimaryEntityId.ToString());
hope this helps.
regards

I have tried doing exactly as you write in your example on the page. Oppty sum up to Account description field.
XML that i used:

The result is in the pictures below. I use on demand worflow for testing

PS: When i replace the {PARENT_GUID} with a real guid in XML Tester, I get a value back that I am expecting

Hi thomassandsor,
Now I understand your issue. You are executing the Workflow on the "opportunity" entity, and the {PARENT_GUID} record is replaced with the record ID of the record context that fired the Workflow.
If you execute the same workflow, but in the Account entity, you will have what you need.
Regards!

Thanks for the feedback, I understand your point.
That could be part of an new release s new features.
In any case, you can update a field on the parent record, and fire the rollup there
Thanks!