BLST throws illegal instruction error on AMD K10 CPUs

Windows event viewer shows 0xc000001d (illegal instruction) when running BLST on a K10 AMD 905e CPU
Disassembly of code at offset shows pshufb instruction being executed.
According to x86 docs:
"pshufb (packed shuffle bytes) is not supported on AMD K8/K10, first included on AMD FX* (Bulldozer). It comes with SSSE3 (Supplemental SSE3) set."
But BLST uses it quite a bit for sha256 :-(
(venv) Williams-MacBook-Pro:blst bill$ grep -r pshufb *
src/asm/x86_64-xlate.pl:my $pshufb = sub {
src/asm/sha256-x86_64.pl:    pshufb        $TMP,@MSG[0]
src/asm/sha256-x86_64.pl:    pshufb        $TMP,@MSG[1]
src/asm/sha256-x86_64.pl:    pshufb        $TMP,@MSG[2]
src/asm/sha256-x86_64.pl:    pshufb        $TMP,@MSG[3]
src/asm/sha256-x86_64.pl:    pshufb    $t3,@X[0]
src/asm/sha256-x86_64.pl:    pshufb    $t3,@X[1]
src/asm/sha256-x86_64.pl:    pshufb    $t3,@X[2]
src/asm/sha256-x86_64.pl:    pshufb    $t3,@X[3]
src/asm/sha256-x86_64.pl:     '&pshufb    ($t3,$t4)',        # sigma1(X[14..15])
src/asm/sha256-x86_64.pl:     '&pshufb    ($t3,$t5)',
src/asm/sha256-x86_64.pl:     #&pshufb    ($t3,$t4);        # sigma1(X[14..15])
src/asm/sha256-x86_64.pl:     #&pshufb    ($t3,$t5);
Thanks for your efforts!!! Cheers

From the README:

If final application crashes with an "illegal instruction" exception [after copying to another system], pass -D__BLST_PORTABLE__ on build.sh command line. If you don't use build.sh, complement the CFLAGS environment variable with the said command line option.

We do use portable for BLST. We run on a wide range of CPUs (100,000+ users), so we know portable works very well. AMD K10s are the only problems we received. Thanks!

AMD K10 doesn't have SSSE3
sha256_block procedure for x86_64.

This module is stripped of AVX and even scalar code paths, with
rationale that

a) AVX1 is [justifiably] faster than SSSE3 code path only on one
processor, venerable Sandy Bridge;
b) AVX2 incurs costly power transitions, which would be justifiable
if AVX2 code was executing most of the time, which is not the
case in the context;
c) all contemporary processors support SSSE3, so that nobody would
actually use scalar code path anyway;

You are mentioning src/asm/sha256-x86_64.pl but the portable one is src/asm/sha256-portable-x86_64.pl
Alternatively you can compile BLST without assembly: https://github.com/supranational/blst/blob/56f9198/src/no_asm.h#L1225

Either way, we are building __BLST_PORTABLE - https://github.com/Chia-Network/bls-signatures/blob/main/src/CMakeLists.txt#L47

Ok, in the win64 directory there doesn't appear to be sha256-portable... - however, it is there in the elf directory.
So we include for windows anyway the win64/sha256-x86_64.asm assembler file.

I'll note our current released version uses some custom CMake scripts to build BLST and uses it in a Python wheel
However, our upcoming release uses a rust crate for this and leverages the provided BLST rust build environment from build.rs. We are definitely using the portable setting, but this rust crate also has an illegal instruction we believe is due to the use of pshufb. However, we don't have an entire build system on this old CPU so we don't have exact Debugging tools to pinpoint the exact failing instruction

Actually it crashed in the same code and instruction (pshufb) in the rust version. The offset (which I got from event viewer on the 905e system) is different of course.

Wow! How deep is it reasonable to go? The rationale behind omitting sha256-portable-x86_64.asm from x86_64-pc-windows-msvc build is as follows. It's tricky to arrange, admittedly not impossible, but the barrier was deemed to be high enough to not attempt to jump over it, because nobody should be irresponsible enough to have an unsupported Windows system on the Internet. I mean all Windows versions that supported pre-SSSE3 processors are out of support by now.
What to do? Note that there is build/coff/sha256-portable-x86_64.s, so that you can make Win64 build as portable as Linux one by using mingw toolchain. In Rust context it means using --target=x86_64-pc-windows-gnu. Is this sufficient?

Alternatively you can compile BLST without assembly:

As a point of clarification. Non-assembly builds are not actually supported on x86_64 and aarch64 platforms. Attempt to build it even should fail...

--target=x86_64-pc-windows-gnu. Is this sufficient?

On a related note. What's your VC version? It would have to be pretty old, wouldn't it? I mean newer versions don't support older Windows, so I can imagine some jumping-through-the-hoops is going on when Windows builds are produced. Question is what's more tricky, throwing together a mingw environment or putting together out-of-support VC installation?

--target=x86_64-pc-windows-gnu.

Hmm, after double-checking the suggestion that this would work on pre-SSSE3 processors turned out to be wrong. Sorry! However! It's way easier to fix that by simply harmonizing it with ELF than to square the circle in build.rs. So the question "is this sufficient" still stands. A variant of it. In other words, the suggestion is to make x86_64-pc-windows-gnu work and call it a day :-)

make x86_64-pc-windows-gnu work

As in #201.

Wow! How deep is it reasonable to go? The rationale behind omitting sha256-portable-x86_64.asm from x86_64-pc-windows-msvc build is as follows. It's tricky to arrange, admittedly not impossible, but the barrier was deemed to be high enough to not attempt to jump over it, because nobody should be irresponsible enough to have an unsupported Windows system on the Internet. I mean all Windows versions that supported pre-SSSE3 processors are out of support by now.

The box I am using for testing with the AMD 905e CPU is running Windows 10 Home which isn't EOL until 2025. I'll admit it is pretty slow!

What to do? Note that there is build/coff/sha256-portable-x86_64.s, so that you can make Win64 build as portable as Linux one by using mingw toolchain. In Rust context it means using --target=x86_64-pc-windows-gnu. Is this sufficient?

Unfortunately we have to use the Visual C++ calling convention since Python is compiled using MSVC++ and we link in under that, so mingw doesn't work for our situation. We are compiling using the Visual Studio version featured by the github runners, which I think is MSVC++ 2022.
Thanks for looking into this. We recently switched from using Relic to BLST as our underlying BLS library and regrettably that has left some users with these AMD chips out in the cold.

As an additional point, clang-cl is meant to be a drop-in replacement for cl. Yet at the same time you can compile assembly.S with it. Without bothering with --target.

clang-cl is meant to be a drop-in replacement for cl.

Just in case, the implied suggestion is to use clang-cl for everything, to compile build/assembly.S, src/server.c and your C++ thing. Unification! :-)

Could you outline the way to do this for the rust BLST package?  Eventually everything winds up being compiled with MSVC++ using CMAKE.
Thanks!

Assumingcargo build --features=portable --target=x86_64-pc-windows-gnu works, I don't think we would care about the specific toolchain that much

Assumingcargo build --features=portable --target=x86_64-pc-windows-gnu works

Double-check #201!

 But it's possible to use "raw" clang:

get clang on your %PATH%;
set %CC% environment variable to clang;
clone #201 and change to its bindings/rust directory;
execute cargo test --release --features=portable;
cargo clean -p blst --release;
cargo test --release ---features=portable -vvv;

The last two steps are meant to convince you that it does call clang -c -D__BLST_PORTABLE__ assembly.S.
As for non-Rust builds. Other build systems ought to respect CC environment variable too. And have used-defined rules. What I'm driving at is that in general you should be able to perform a Windows build by merely setting %CC% to clang-cl. As already mentioned, it was designed to be a drop-in replacement for cl. And you should be able to provide a suitable .S -> .obj rule...

Could we get a new release of the rust crate that supports K10?

I'm waiting out cc-rs release that will make --target=aarch64-pc-windows-msvc work. Meanwhile you can always use [patch.crates-io] to redirect blst to github.

CC=clang does appear to make a correct rust crate and subsequent wheel via maturin - need to test on the ancient AMD system to be certain, but it works on a normal machine. I assume there is some minimal performance loss for everyone else in sha256, but that is the price for portable

Thanks!

Could we get a new release of the rust crate that supports K10?

I'm waiting out [at least] cc-rs release that will make --target=aarch64-pc-windows-msvc work. Meanwhile you can always use [patch.crates-io] to redirect blst to github.

Hey, curious if there's any update on this and if you're planning on cutting a new release sometime soon? Would be ideal to eventually not have to patch in the specific commit hash.


⚠ Bofrost.lu has degraded performance

In 1e9c9e7, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2197 ms

Resolved: Bofrost.lu performance has improved in 4b3abc6 after 6 minutes.


feat: improved toClassName

Test URLs:

Before: https://main--helix-project-boilerplate--adobe.hlx.page/
After: https://to-classname--helix-project-boilerplate--adobe.hlx.page/

thanks to @mengtian1015

@davidnuescheler Do you have examples?


Missing dependency EPEL for centos7

host centos7 minimal
failed with can't cp /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 no shuch file

I thought I fixed this one.  Ill be spending some time on it shortly, and will test this out again.  Thanks for all these reports, they are quite helpful!


Add stylelint to pre-commit hook

The following is a basic implementation of StyleLint on the pre-commit hook. It's not quite ready for prime-time as I have two areas I still haven't figured out:

Testing. I'm still stuck on how to test it
Unexpected output error (see screencap 1) (regex. Still looking at it)

Screencaps
Bad CSS
Below in another repo, I added the gem locally, and added some gobbedly-gook in the CSS. This is the output:

Good CSS
Here's what it looks like otherwise:

Closes #514 if resolved

Finished in #590


Pressing tab once in fish, bash, zsh inside Ubuntu acts as If pressing tab twice

Environment
Platform     ServicePack  Version      VersionString

Win32NT  10.0.19042.0 Microsoft Windows NT 10.0.19042.0
Windows Terminal version (if applicable): 1.3.2651.0
Any other software?
Ubuntu 20.04
Configuration
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
  "$schema": "https://aka.ms/terminal-profiles-schema",
  "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
  "alwaysOnTop": true,
  "profiles":
  {
    "defaults":
    {
      "fontFace": "Inconsolata Nerd Font Mono",
      "fontSize": 12,
      "colorScheme": "Legacy",
      "initialRows": 50
    },
    "list": [
    {
      // Make changes here to the powershell.exe profile
      "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
      "name": "Windows PowerShell",
      "commandline": "powershell.exe",
      "hidden": false
    },
    {
      // Make changes here to the cmd.exe profile
      "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
      "name": "cmd",
      "commandline": "cmd.exe",
      "hidden": false
    },
    {
      "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
      "hidden": false,
      "name": "Ubuntu",
      "source": "Windows.Terminal.Wsl",
      "startingDirectory": "//wsl$/Ubuntu/home/andrius"
    },
    {
        "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
        "hidden": false,
        "name": "Azure Cloud Shell",
        "source": "Windows.Terminal.Azure"
    }
    ]
  },
      "disabledProfileSources": [
        "Windows.Terminal.Azure"
    ],
  // Add custom color schemes to this array
  "schemes": [
  {
    "name": "Legacy",
    "background": "#14191f",
    "black": "#000000",
    "blue": "#F7FFC1",
    "brightBlack": "#555555",
    "brightBlue": "#4565AD",
    "brightCyan": "#8BE9FD",
    "brightGreen": "#50FA7B",
    "brightPurple": "#FF79C6",
    "brightRed": "#FF5555",
    "brightWhite": "#FFFFFF",
    "brightYellow": "#F1FA8C",
    "cyan": "#6272A4",
    "foreground": "#F8F8F2",
    "green": "#005CCB",
    "purple": "#6272A4",
    "red": "#FF5555",
    "white": "#aec2e0",
    "yellow": "#FFB86C"
  }],
  // Add any keybinding overrides to this array.
  // To unbind a default keybinding, set the command to "unbound"
  "keybindings": [
  {
    "command": "closeTab",
    "keys": ["ctrl+w"]
  },
  {
    "command": "newT
ab",
    "keys": ["ctrl+shift+t"]
  },
  {
    "command": "copy",
    "keys": "ctrl+shift+c"
  },
  {
    "command": "paste",
    "keys": "ctrl+shift+v"
  }
]
}

Steps to reproduce
Pressing tab once in fish, bash, zsh inside Ubuntu acts as If pressing tab twice.
Expected behaviour
Tab should not be double-clicked when clicked once, PowerShell window does act in same manner.
Actual behaviour

Does this also happen with conhost, aka cmd.exe?

By any chance, did you do the InputServiceEnabled hack from https://github.com/microsoft/terminal/issues/4448#issuecomment-617290424 ?
We've had reports in the past that causes tab to get sent twice: https://github.com/microsoft/terminal/issues/4448#issuecomment-648177283, #7598
See also #8253 or any of these

Does this also happen with conhost, aka cmd.exe?

Yes it does happen with cmd as long as it is opened via "Windows Terminal" it works fine in default windows though.

By any chance, did you do the InputServiceEnabled hack from #4448 (comment) ?
We've had reports in the past that causes tab to get sent twice: #4448 (comment), #7598
See also #8253 or any of these

Touch input service is enabled...

By any chance, did you do the InputServiceEnabled hack from #4448 (comment) ?
We've had reports in the past that causes tab to get sent twice: #4448 (comment), #7598
See also #8253 or any of these

Thank https://github.com/microsoft/terminal/issues/7598 this solves my issue...

So just confirming: you did have InputServiceEnabled set to 0 in your registry, even though you answered the question above with a screenshot of services.msc and not regedit?"


Global HMR

Problem
When bots end up being added to many guilds at once, the moment it reaches over 100 constantly fetching all guild state becomes somewhat problematic especially during both testing and production.
Solution
What I propose to combat this is a way to make everything possible HMR, or create enough entry points so that you are able to reload anything you could possible think of through Discord.py's extension system.
Note
This is generally a huge task to tackle - as the project grows this will slowly start to require more and more work, but the idea is to establish the core features and realise the bot before introducing this for a sane transition.
There may also be a want for tests to introduce this, but that would be too heavy in my opinion and so it would be better to instead perform manual testing per feature conversion (from standard to HMR compatible, subject to change).

I have an idea but I'm questioning it's possibility. Typically a watchdog process is used to restart the running application when files (usually denoted by an array of globs) have been altered and is common to find in web development, however this has its fault with Discord bots as you may re-establish the connection to Discord's gateway an innumerable amount of times, causing repercussions to surface despite the desire to improve the work flow.
That's a mouthful.
The idea I have is to utilise a watchdog for all files except the bot, retrieve the file paths to reload then use IPC to instruct the bot that the given files must be reloaded. Depending on the files location (or some other, more flexible way to denote what a file represents*) it will be reloaded using the appropriate method (events are reloaded in a custom way, a method separate to reload_extension may be called if I recall the codebase correctly).

One idea I had was to extend the filenames by including the type of extension - cogs would be renamed to fun.cog.py, events would be renamed to on_message.event.py similar to how Sass differentiates global stylesheet from CSS modules. Needs more thought.


Remove ModalPosition

Clients of getPosition should just use a one-child custom layout delegate
instead.
Fixes #2484

@Hixie

Lgtm


CloudRendererMixin contains a big chunk of copypasted code

CloudRendererMixin::internalCloudRender copies a large chunk of code from WorldRenderer::renderClouds. For maintainability and copyright reasons this should be avoided

Agree with this, though to do so would need a major refactoring. I would be open to a PR having a more maintainable system however.

Slated for PL b1.7

Pushing this back- I'm not smart enough to refactor this but we make very small changes that would still require replacing the code with a mixin because of the data that we modify. Tried some workarounds but ended up infinitely looping because we mixin directly to the render clouds method and then would need to call it ourselves to not duplicate code


Moya on Swift 2.3 & 3.0.

Took a crack at checking out swift 2.3 support this morning...
The good news:

Apple's migrator tool is great, after running on Moya, the demo target and tests (iOS,tvOS)  built and worked/passed
The changes don't look too bad from Moya's end
Foundation Value types and the new Swift API Guidelines don't come into play until Swift 3 which greatly limits changes.
swift 2 and 2.3 can live side by side with #if swift(>=2.3) ...

The meh news:

Nimble under macOS had some issues I've seen reported as Xcode/Foundation related -- affects macOS test target
xcodebuild doesn't pick up the swift legacy flag which triggers a compile against a 2.0 toolchain Xcode should in the future hopefully not do this. Until then rake build and rake test don't work without setting the TOOLCHAINS Environment flag. This is probably a bug in xcodebuild.
Relatedly Setting of the legacy swift flag is not performed by the migrator maybe because they want 2.0/2.3/3.0 to try and live side by side but that will cause weirdness with dependent projects.

So tracking what happened when I got it all building:

Moya Changes:
[ ] A couple URL API's changed nullability. Should check documentation and expectations and see if implicitly unwrapped is safe. Most are similar to:

 public func url(route: TargetType) -> String {
-    return route.baseURL.URLByAppendingPathComponent(route.path).absoluteString
+    return route.baseURL.URLByAppendingPathComponent(route.path)!.absoluteString!
 }

[ ] Decision on setting Swift Legacy flags. 2.0 and 2.3 coexisting is great, but value types + API guideline changes are not a small change. (probably breaking or a lot of fixme writing)
Dependencies
[ ] Alamofire:  https://github.com/Alamofire/Alamofire/pull/1313
[ ] Result: GTG
[ ] Quick/Nimble: https://github.com/Quick/Quick/issues/55, https://github.com/Quick/Nimble/pull/302
[ ] RxSwift: ??
[ ] ReactiveCocoa: ?? some small attribute updates -- Don't know if they have an issue yet.

P.S. It's been a while since I ran Moya in dev mode and it took me a little while to get oriented, do you guys think a quick Getting Started With Developing Moya section somewhere would be useful? maybe #270. I don't really use rake for build scripting so it took a bit to get that setup.

RxSwift: ??

With ReactiveX/RxSwift@9b1583f2e365ef78d250be278ca5838076b58095 RxSwift supports Swift 2.3. It doesn't have the correct build flag.

This is great work and a nice comprehensive write-up, thanks @aaroncrespo!

Another thing to think about is if it makes sense to skip 2.3 and go straight to 3.0 or how to support 3 versions. The #if swift() tests don't work so well when swift 3.0 is in the mix.

Sorry about the accidental closure. Misunderstood what 'Close' meant in a third-party GitHub client. Was just trying to close the issue view. 😳

No problem, it happens!

I highly recommend a Swift 2.3 build, even as a version bump, before going to Swift 3. Alamofire had breaking changes so without this people won't be able to use pre-Swift 3 on Xcode 8. I know I'll be using Xcode 8 and Swift 2.3 for a while after the release.

I've changed the title due to #522 discussion.

Aye, think it's worth shipping a 2.3 dupe of current Moya, one the Rx deps have them, then moving to 3.0

That makes sense – should we make 2.3 version off of master or the most recent commit? (master has breaking changes.)

Maybe the last stable release?

Looks like Alamofire is about to cut a 3.5.0 release which will have both swift 2.2 and swift 2.3 support. Then Moya.spec can point to that.
https://github.com/Alamofire/Alamofire/milestone/27
I think this is the  dependency to push a release supporting 2.3

Is there any update on swift 3.0 support now that Xcode 8 GM is out

Need swift 2.3 and swift 3.0 support here...

There is a branch for swift 3.0 already, but needs update. I'm downloading GM right now and will update the branch ASAP.

@sunshinejr It seems Result already is Swift 3. :)

This looks like it's been solved with the 8.0.0 beta releases, I'm going to close it out. Please feel free to open this if there are any loose ends!


tts-multi-engines

push values on to this variable only after you load emacspeak-setup, otherwise that will throw an error

Will do, I had incorrectly assumed it had to exist when the dtk-initialize was called to start the notify server.

the bug is that you're calling (require 'emacspeak-setup) after you do
the push, so that var tts-multi-engines is not yet defined.
dtk-initialize happens after you load emacspeak-setup which starts
emacspeak -- function emacspeak calls dtk-initialize
--

Yep, going to make a small PR to add the multi-engine and the sharpwin to the list of servers and just tell people to use the git version as well in the readme.


only use install for run_go_tool

Changes

:broom: Use go install instead of get for run_go_tool function.
:wastebasket: remove the root check logic as go install does not change the go.mod file.

/kind cleanup

Fixes # https://github.com/knative/test-infra/issues/3113

/retest

/retest

2022/04/12 23:55:54 Failed to get k8s version kubernetes version "1.21.1" is not compatible, need at least "1.22.0-0" (this can be overridden with the env var "KUBERNETES_MIN_VERSION")

It seems we need to update the version of kind CLI. Or if no one would want to create Prow jobs run with kind clusters, we can drop this Prow job.

/retest

/retest

You'd need to wait for a PR like https://github.com/knative/test-infra/pull/3261 to bump the image version, and then /retest.

/retest

I think that instead of doing the install and the run, we could leverage Go 1.17+ go run package@version construct. That will not modifying the user's PC.

/lgtm
/approve

/cherrypick release-1.2
@haubenr

/cherrypick release-1.3

/cherry-pick release-1.3

/cherrypick release-1.3

/cherrypick release-1.4


Material design and dark mode

I love Tabli and I'm among its first users, but the design is a bit outdated and it doesn't fit well into the new Chrome material design. Also, my theme is dark and Tabli is pretty bright white at night - there should be an option for a dark mode.

Thanks for the feedback. A fair number of folks have asked for dark mode. No promises, but it's on my radar...

Thank you very much, @antonycourtney! Chrome is useless without your work!

Still a ways to go, but making progress....:

Dark mode added in the 1.2.2 release (published today).


Add in CSV creation instructions into the CSV FAQ

Please replace the response to the following FAQ with the information in the attached document.
Q: What is CSV?
The new response can be found here:
https://docs.google.com/a/cfpb.gov/document/d/1GfzrpqNHGu31G2V-TEV0hL37zj8meF2_LcoT23ZyFsU/edit?usp=sharing

have this one complete. will make the PR soon.


User-defined objects are deleted prematurely, while they are still used in the script

How to reproduce:

Clone this project: https://github.com/yurivict/ChemWiz
Build it: make USE_DSRPDB=no
Run the test: ./chemwiz test-premature-deletion.js
Observe the output:

--cycle#164--
--cycle#165--
--cycle#166--
ERROR bogus molecule in moleculeFinalize: 0x801e95000 (duplicate finalize invocation?)
ERROR bogus molecule in moleculeFinalize: 0x801e95000 (duplicate finalize invocation?)
ERROR bogus molecule in moleculeFinalize: 0x801e95000 (duplicate finalize invocation?)
ERROR bogus molecule in moleculeFinalize: 0x801e95000 (duplicate finalize invocation?)
--cycle#167--
Assertion failed: (dbgIsAllocated(this)), function findAaLast, file molecule.cpp, line 125.
Abort trap

It runs some operation in a cycle 1000 times. The object p is used in each iteration, it is created before the cycle. All of a sudden, after the iteration#166, it decides to delete some objects (some of which are also duplicate deletions, see https://github.com/ccxvii/mujs/issues/80).
It also deletes the object p which is still in use during the cycle, and the assert checking the validity of the object fails.

There is no file named test-premature-deletion.js in your repository, you probably forgot to add it. (I also looked for branches other than master, thinking that you might have a development branch, but there were none.)

I just added it 2 hrs ago, you need to fetch the repository.

https://github.com/yurivict/ChemWiz/blob/master/test-premature-deletion.js

I notice that you are throwing C++ exceptions from inside the C++ callbacks that you provide to mujs, e.g. calcMoleculeEnergy(). I suspect that this may cause problems with the error handling state in mujs since the exception would circumvent the entire mujs machinery and be handled first at the top level in main(). If you do want to use exceptions in your C++ callbacks you need to need to catch those exceptions in the callbacks and upon exception do something suitable in mujs terms, probably calling one of the functions pushing an error object, e.g. js_error().
I made a number of patches for you:

fixing a gcc compilation error
make it possible to have debug/release versions
LDFLAGS and LDLIBS are not the same thing
use pkg-config to find mujs
fix your issue with multiple calls to moleculeFinalize()

In addition to not throwing C++ exceptions your myimport() implementation probably ought to be based on the built-in function require() where mujs was inspired by node.js' require(). There is an example in the mujs shell implementation of how this can be implemented. I implemented a suggestion, but as noted in the commit message this is a potential security issue hat you might want to fix.
Next time please try to make the example problem as short a possible and only call mujs interface functions. It is rather frustrating to try to find a problem in mujs, only to find it in your software that you ought to be debugging yourself...
With this I close this mujs issue as nothing to be done in mujs.

@sebras Thank you very much for figuring this problem out!
I really appreciate your suggestions! I integrated them all into my project.
Sorry that the problem was in my code, and not in MuJS!
Have a great day!
Yuri

@yurivict No worries. I saw that you integrated the changes.


Verification: Center emoji like other Riots

The seven emoji should be display like Olympic rings on 2 centered rows (4+3) like:
X X X X
 X X X

like on web:

iOS currently tries to display them on 1 line. We need to cut it in 2 lines.


Add test for Bug 5746 - @Inject @BatchProperty should work for job level properties

https://java.net/bugzilla/show_bug.cgi?id=5746

Exactly.
I copied and pasted the bug description as it was originally opened, but you're right, unless you understand that it's a historical description you'd reach the exact opposite conclusion.  Sorry about the confusion.

To add to the confusion, the following test already exists:

/*
* @testName: testPropertyInnerScopePrecedence
*
* @assertion: A batch artifacts properties overrides any parent properties defined in
* an outer XML scope. Child properties always override parent properties with the same name.
*
* @test_Strategy: Issue a job with a step level property and batchlet property with the same name.
* Verify that the injected property value is from the artifact level property.
*/
@Test
@org.junit.Test
public void testPropertyInnerScopePrecedence() throws Exception {
...
}

As we've determined, the parent properties should be out of scope (no need to be overridden). Does this test serve some other purpose? If not, it does not seem like good practice to keep it as part of the TCK.
Either way, a test still needs to be added to make sure that parent properties are in fact out of scope... working on this now.

@jvfullam - Good point regarding testPropertyInnerScopePrecedence, I agree.   I think a way to salvage this flawed test would be to change the property def to:
<job id="job_properties2" ...>
    ...
		<batchlet ref="myBatchletWithPropertiesImpl">
			<properties>
                           ...
   			    <property name="batchletProp" value="#{jobProperties['batchletProp']}" />

and check that the step-level prop value of STEP_OVERRIDE is used rather than the job level.
I imagine that this was the intent at one time but it was implemented wrongly.

Looks good, we can close this now.


[WEB - SDK] - Add Payment Method with Dynamic Field Rendering - PayBright

The Hyperswitch SDK is a versatile tool built to streamline payment integration for developers. It simplifies the process of adding multiple payment methods, allowing you to quickly implement support for various gateways without the need to manually integrate each one. With Hyperswitch, you can efficiently manage payments across platforms, reducing complexity and boosting development speed.
Getting started

Get familiar with ReScript.
Check the README.md for project structure and setup instructions.
To setup locally, follow these steps

#  Clone repository
cd hyperswitch-web
yarn install
yarn run server     # This starts the mock server
yarn run re:start   # In another terminal

# Start Demo App in another terminal
cd hyperswitch-react-demo-app
yarn install
yarn run start        # This starts the demo app

Description:
We are looking to implement a new payment method in our WebSDK that supports dynamic field rendering. The goal is to allow the backend to define the fields required for the payment method and have the frontend WebSDK render these fields dynamically based on the response.
This feature should be flexible enough to handle different payment methods, each potentially requiring different types of input fields (e.g., text fields, dropdowns, checkboxes, etc.).

Requirements:

Payment Method Integration Details:
In this section, we provide details on the payment call response and the confirm call payload for the newly integrated payment method. Ensure you have configured the payment method at Hyperswitch Dashboard correctly. The backend already includes support for this payment method, so no additional configuration is needed.
Payment Method List Response for PayBright -
{
  "payment_method": "pay_later",
  "payment_method_types": [
    {
      "payment_method_type": "pay_bright",
      "payment_experience": [
        {
          "payment_experience_type": "redirect_to_url",
          "eligible_connectors": ["adyen"]
        }
      ],
      "card_networks": null,
      "bank_names": null,
      "bank_debits": null,
      "bank_transfers": null,
      "required_fields": {
        "billing.address.first_name": {
          "required_field": "payment_method_data.billing.address.first_name",
          "display_name": "card_holder_name",
          "field_type": "user_full_name",
          "value": null
        },
        "billing.address.last_name": {
          "required_field": "payment_method_data.billing.address.last_name",
          "display_name": "card_holder_name",
          "field_type": "user_full_name",
          "value": null
        },
        "billing.address.city": {
          "required_field": "payment_method_data.billing.address.city",
          "display_name": "city",
          "field_type": "user_address_city",
          "value": null
        },
        "billing.address.state": {
          "required_field": "payment_method_data.billing.address.state",
          "display_name": "state",
          "field_type": "user_address_state",
          "value": null
        },
        "billing.address.zip": {
          "required_field": "payment_method_data.billing.address.zip",
          "display_name": "zip",
          "field_type": "user_address_pincode",
          "value": null
        },
        "billing.address.country": {
          "required_field": "payment_method_data.billing.address.country",
          "display_name": "country",
          "field_type": {
            "user_address_country": {
              "options": ["CA"]
            }
          },
          "value": null
        },
        "payment_method_data.billing.phone.number": {
          "required_field": "payment_method_data.billing.phone.number",
          "display_name": "phone_number",
          "field_type": "user_phone_number",
          "value": null
        },
        "billing.phone.country_code": {
          "required_field": "payment_method_data.billing.phone.country_code",
          "display_name": "dialing_code",
          "field_type": "user_phone_number_country_code",
          "value": null
        },
        "billing.email": {
          "required_field": "payment_method_data.billing.email",
          "display_name": "email",
          "field_type": "user_email_address",
          "value": null
        },
        "billing.address.line1": {
          "required_field": "payment_method_data.billing.address.line1",
          "display_name": "line1",
          "field_type": "user_address_line1",
          "value": null
        },
        "billing.address.line2": {
          "required_field": "payment_method_data.billing.address.line2",
          "display_name": "line2",
          "field_type": "user_address_line2",
          "value": null
        },
        "shipping.address.city": {
          "required_field": "shipping.address.city",
          "display_name": "city",
          "field_type": "user_shipping_address_city",
          "value": null
        },
        "shipping.address.zip": {
          "required_field": "shipping.address.zip",
          "display_name": "zip",
          "field_type": "user_shipping_address_pincode",
          "value": null
        },
        "shipping.address.country": {
          "required_field": "shipping.address.country",
          "display_name": "country",
          "field_type": {
            "user_shipping_address_country": {
              "options": ["ALL"]
            }
          },
          "value": null
        },
        "shipping.address.line1": {
          "required_field": "shipping.address.line1",
          "display_name": "line1",
          "field_type": "user_shipping_address_line1",
          "value": null
        },
        "shipping.address.line2": {
          "required_field": "shipping.address.line2",
          "display_name": "line2",
          "field_type": "user_shipping_address_line2",
          "value": null
        }
      },
      "surcharge_details": null,
      "pm_auth_connector": null
    }
  ]
}

Confirm call Payload should look like:
  curl --location 'http://localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_JFwaU1xtBp3xvXJZrm7esevkjS0xuDtdSpk8yTy2FsdjwT8fZtBHfcMxhBP9cvSb' \
--data-raw '{
 "amount": 6540,
 "currency": "CAD",
 "confirm": true,
 "capture_method": "automatic",
 "capture_on": "2022-09-10T10:11:12Z",
 "description": "Its my first payment request",
 "payment_method": "pay_later",
 "payment_method_type": "pay_bright",
 "payment_experience": "redirect_to_url",
 "payment_method_data": {
 	  "pay_later": {
     	  "pay_bright_redirect": {}
 	  },
 	  "billing": {
 	  "address": {
     	  "line1": "1467",
     	  "line2": "Harrison Street",

     	  "city": "San Fransico",
     	  "state": "CA",
     	  "zip": "94122",
     	  "country": "CA",
     	  "first_name": "joseph",
     	  "last_name": "Doe"
 	  },
 	  "phone": {
     	  "country_code": "+91",
      	  "number": "9123456789"
 	  },
 	  "email"<EMAIL_ADDRESS> 	  }
 },

 "shipping": {
 	  "address": {
     	  "line1": "1467",
     	  "line2": "Harrison Street",

     	  "city": "San Fransico",

     	  "zip": "94122",
     	  "country": "PL"

 	  }

 },

 "browser_info": {
 	  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
 	  "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
 	  "language": "nl-NL",
 	  "color_depth": 24,
 	  "screen_height": 723,
 	  "screen_width": 1536,
 	  "time_zone": 0,
 	  "java_enabled": true,
 	  "java_script_enabled": true,
 	  "ip_address": "<IP_ADDRESS>"
 }
}'

Dynamic Field Rendering:

Based on the backend response, the WebSDK should dynamically generate the necessary input fields.
Each field should be properly validated (e.g., required, length, pattern matching) based on the backend specifications.
Support different types of fields such as:

Text fields (e.g., for name, card number)
Select dropdowns (e.g., for country or card type)
Checkbox fields (e.g., for terms and conditions)

User Inputs:

Once the user fills in the fields, the WebSDK should package the input data and send it back to the backend for payment processing.

Contribution Guidelines:

Fork the repository and create a new branch for your work.
Ensure the WebSDK follows best practices for API integration and field rendering.
Write clean, well-documented code with clear commit messages.
Add unit tests to ensure the dynamic field rendering works as expected.
Make sure to follow our coding standards and contribution guidelines.

Helpful Resources:

Link to WebSDK documentation: WebSDK Docs
Link to the API endpoint specifications: API Docs

Submission Process:

Ask the maintainers for assignment of the issue, you can request for assignment by commenting on the issue itself.
Once assigned, submit a pull request (PR).
Maintainers will review and provide feedback, if any.
Maintainers can unassign issues due to inactivity, read more here.

Refer here for Terms and conditions for the contest.
If you have any questions or need help getting started, feel free to ask in the comments!

hi @sakksham7 can you please assign this issue to me? Done with the code setup already.

Hey @sriramadari Assigning this issue to you!
Thanks!


Weird spacing between nodes

Fix spacing between married couples.

Preliminary investigation shows this might be fixable by removing the marriage nodes and positioning married couples next to each other.

Hi @ErikGartner,
I am facing this issue. I have been reading the code for some time now but not able to get how to go with it. Can you guide me a little on how to go with it.
Regards,
Piyush

Hi @piyushparkash,
Are you looking for an explanation on how dtree works so that you can understand the code?
In short:

dTree converts the given graph (json object) into a d3 tree-graph by inserting hidden nodes representing things as marriages etc.
After this is done the modified graph is fed into d3 along with custom code for callbacks, styling and other d3 settings.

To see how the graph really looks you can disable the hiding of the nodes with the hidden attribute.
/Erik

Hi @ErikGartner,
We think we are experiencing the same issue - is this issue referring to nodes of a married couple that get pushed apart because of the spacing required for their children?
If so, could you elaborate on what you suggested after your preliminary investigation? Thanks!

Hi @thomashogema,
I have to admit I have forgotten exactly why this happens. For some reason the d3 tree layout spaces the nodes very weirdly.
To debug I would make the marriage nodes visible and the look into the layout code in d3 to see for which cases it decides to add extra space.
/Erik

Hi all,
I am facing the same issue as the previous commenters, and can provide a minimal example that showcases the problem https://jsfiddle.net/zyxk73te/. In that example, you can see that the 1rst and 4th "Generation 2" couples are quite asymetrical, whereas the 2nd and 3rd couple are fine.
The code for the d3.tree layout seems to be here but it is a bit too obscure for me to gather any meaningful information...
I'd also like to point out that I've found another d3.tree "wrapper" to make family trees: https://github.com/trongthanh/family-tree
It uses a horizontal layout instead of a vertical one so things are admittedly quite different, but it does not seem to suffer from the same problem when I feed it the same data as in the example JSFiddle above.
I didn't dig really deep in his code because it is quite different from dTree's code, but I found this section where he sets a custom tree.separation() function which is a bit more involved than the one used in dTree. Could that be a direction to look into?
@ErikGartner regarding the other solution you pointed out in https://github.com/ErikGartner/dTree/issues/15#issuecomment-298983764:

Preliminary investigation shows this might be fixable by removing the marriage nodes and positioning married couples next to each other.

How exactly would you go about doing that?


A few documentation fixes and optional use of setuptools/distribute

Hi Sean,
I've added a few little bits of documentation to the sharpy code base.  Nothing of any great note, just things that I hope make it easier for people to get started:

paypal customer creation
how to calculate a link for hosted update pages
how to check whether a customer's subscription has been cancelled

Have fun,
Mike

Awesome work, thanks for the contribution!


Specify ruby versions

Be explicit about supported ruby versions, and test with 2.4.1

Ah, yes, changing that test will impact the older versions. Hm.

Changes Unknown when pulling 21624976d3ae1bb84265a28fd7e528c59b38565f on specify-ruby-versions into ** on master**.

stray quote detection is incredibly hard to make happen. Instead I've improved the test for unclosed quote, and made the stray quote test pending. This now works across all versions.


Fix ScaleTransform crash in RTL languages

Avoids naming issue using ScaleTransform in VisualStates with the internal FontIcon one, by using the FontIcon name instead of the RenderTransform's ScaleTransform.  This was causing a crash in RTL languages.
Fixes internal bug 39442675.

/azp run


Blog entry for the modular feature

I'm planning to create a simple example of creating a Servlet to displaying the module and that is possible to use the module-info to provide service implementations (in the case I'm thinking of using the ServletContainerInitializer).
Is there something special you would like to see in this post, like trying out another feature or using other libraries?

All up to you. Note we still need to get the styling for the blog. @arjantijms do you have any suggestions here?

All up to you. Note we still need to get the styling for the blog. @arjantijms do you have any suggestions here?

I think I've got something ready. What should I do now?
The blog is in the gh-pages branch or is it located somewhere else?

I think I've got something ready. What should I do now?
The blog is in the gh-pages branch or is it located somewhere else?

@arjantijms Should we just use the same styling as our documentation for now and just commit it to GitHub pages?

@arjantijms Should we just use the same styling as our documentation for now and just commit it to GitHub pages?

@manorrock Could do, although eventually would be nice if we could use the style from the homepage (https://piranha.cloud) a bit more for consistent and recognisable styling.

@manorrock Could do, although eventually would be nice if we could use the style from the homepage (https://piranha.cloud) a bit more for consistent and recognisable styling.

Thiago, please go ahead and use regular GItHub pages markdown and put it in the blog/2021/YYYYMMDD_your_article_name (note do not use an extension here).

Thiago, please go ahead and use regular GItHub pages markdown and put it in the blog/2021/YYYYMMDD_your_article_name (note do not use an extension here).

Let's set the date to this coming Tuesday or Thursday for publishing, whichever one you think you can be ready for.

Let's set the date to this coming Tuesday or Thursday for publishing, whichever one you think you can be ready for.

Sure. Just one quick question: should the article be written in Markdown or in plain HTML?

Sure. Just one quick question: should the article be written in Markdown or in plain HTML?


Customizable UserInput

With This Update You can almost change everything in the User Input GUI.
Use of code.
read("prompt","userinputext","btncanceltext","btnoktext",1)
Example:
nextbet=0.00000001
function dobet()
read("prompt","userinputext","btncanceltext","btnoktext",1)
stop()
end

This is a cool idea but writing the options to a text file is slow and unnecessary. How about making an overloaded version of the ShowDialog function with the extra parameters. As well as making this call an overloaded call in LUA so that the user can use the default options without setting them if he/she doesn't want to change the text.

Couldn't find way to do it in UserInput.Designer.cs if you can please do it :)

Well try it in UserInput.cs then

I Tried it before too but there is one problem you cant set UserInput Form Text anywhere else from UserInput.Designer.cs

Okay i found a way thanks :)
Will do new pull request when i complete it


Power Automate Documentation

I'm sure the documentation is out there somewhere. I'll just be damned if I can find it. I have searched using every search box on every page I can find. All I want is the documentation for the HTTP action. How hard can that be?? I search for "HTTP Action" and I get a long list of responses - none of which gives me a simple description of how the parameters are used.
"Headers" - I think I know what that means - but it would be awfully nice if I could find the documentation to verify my knowledge
"Queries" - This ain's SQL. What are "queries?" Are they Query Strings? If so, why don't you call them that?
This is information that REALLY SHOULD BE included in a simple tooltip that I can access from the dialog, but NO! The only contextual help I get is "Choose a REST API to invoke." - that's NOT helpful.
THIS SHOULDN'T BE SO HARD.

@ken-afh On https://flow.microsoft.com/en-us/ , click on "Learn" at the top to find "Documentation".
#please-close


npm: fix fetch package.json bundled dependencies

fixed npm.bblclass file - when installing a node package that has no bundled dependencies except itself there is a missing key error in function fetch_npm( ).

I would need only the fix up patch for master at this stage, the rest is not yet fully ready. The patch needs to carry a signed-off-by (see other commits) to confirm https://developercertificate.org.
Sorry, some formal effort, but I'd like you to be credited properly for the fix.


fail to build linux on windows

ElectronNET.API  Version：v9.31.2
ElectronNET.CLI   Version：v9.31.2
i type the build command
electronize build /target linux
then occur following error
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets(270,5): error NETSDK1095: Optimizing assemblies for performance is not supported for the selected target platform or architecture. Please verify you are using a supported runtime identifier, or set the PublishReadyToRun property to false. [F:\Program Files (x86)\GitHub仓库\WebApplication1\WebApplication1.csproj]

Please use the following command:
electronize build /target linux /PublishReadyToRun false

i have try the command:
electronize build /target linux /PublishReadyToRun false
and i got another problem like this:
https://github.com/ElectronNET/Electron.NET/issues/482#issuecomment-699161802

Electron.NET uses electron builder under the hood. You can configure this in the electron.manifest.json file in the build part.
The electron-builder documentation shows a target property:
https://www.electron.build/configuration/linux
Could I help you?

OK，I will try it, thanks for reply


update contributing.md

Hi! I would like to update contributing.md and
Add the following -
1.Difference between GIT and GITHUB
2.How to clone,fork repository
3.How to create a branch and then use git push to push to repo
4.Create a PR
5.Squash commits in a single issue into one
6, Updating the forked and local repo as the updations are made in the upstream
I will be doing it as a part of GSSOC'21

Go ahead with the changes @khareyash05 !!

@ManasUniyal Attached a PR have a look!


Running vimeo/psalm reports errors when running in setup-php

Describe the bug
Running psalm reports errors about missing php 8 functions (ex: str_contains str_ends_with) even though symfony/polyfill-php80 is installed.
Version

[x] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[x] v2
[ ] v1

Runners

[x] GitHub Hosted
[ ] Self Hosted

Operating systems
ubuntu-latest
PHP versions
7.4
To Reproduce
jobs:
  psalm:
    if: github.ref == 'refs/heads/feature/SHIFT-1498-psalm'
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - uses: actions/checkout@master
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '7.4'
          tools: psalm

      - name: Get composer cache directory
        id: composercache
        run: echo "::set-output name=dir::$(composer config cache-files-dir)"

      - name: Cache dependencies
        uses: actions/cache@v2
        with:
          path: ${{ steps.composercache.outputs.dir }}
          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
          restore-keys: ${{ runner.os }}-composer-

      - name: Install dependencies
        run: composer install --prefer-dist --no-scripts

      - name: Run Psalm
        run: psalm --output-format=github

Expected behavior
Output from pslam
------------------------------
No errors found!
------------------------------

Screenshots/Logs

Additional context
Running vendor/bin/psalm in the Docker container or locally will return "No errors found".
Are you willing to submit a PR?
n/a

Related to vimeo/psalm#4628


Animate transitions between steps

Currently the webpage instantly transitions between steps. Would be cool to have a cute animation when moving from one step to the next.

Would like to use the history API in this case.


Database tables not rendering

I'm using express-admin to create a mysql database adminstration portal. Currently only 6 of 17 tables are displayed yet the rest refuse to render. The tables rendered are always the same ones, as well as the ones missing. They are not missing alphabetically / as per db order as they are missing almost randomly. Chrome inspector show they are entirely missing from the HTML markup.
The DB is MariaDB (mysql compatible) and it contains foreign keys matching to other tables in the database.
Any clue to what I should do? I am stuck. Let me know what data to provide, thanks.

I just tested it on another database and it does the same thing. Is this intended behaviour ?
Thanks

Tables need to have a primary / unique key or they will not be displayed. Please add it to the documentation 👍


Plugin using light level from Philips Hue

Not to be confused with the dimming brightness of the lights.

This means instead of using time periods, I could set a variable when light above or below a certain level.


In test mode i am unable to recieve razorpay_payment_id, razorpay_order_id and razorpay_signature on POST request to success url WHY ?

If anyone else is wondering why these values are missing in the response, just pass the order_id in the options object.
Something like this:
<html>
  <script src="https://checkout.razorpay.com/v1/checkout.js" />
  <script>
    function razorpay() {
      const options = {
        key: "our_key",
        amount: 100,
        name: "<App name>",
        description: "Desc",
        currency: this.currency,
        order_id: 'order_dfddds68478383', //<------- add this line

        handler: async (response) => {
          const orderId = response.razorpay_order_id;
          const paymentId = response.razorpay_payment_id;
          const signature = response.razorpay_signature;
        },

        prefill: {
          name: "name",
          email: "email",
          contact: "contact",
        },
      };

      const razorpay = new window.Razorpay(options);

      razorpay.open();
    }
  </script>
</html>

The options need a callback_url and no handler should be present.

@umanghome i am not sure how exactly that had be. But the above code was tested and it's working fine for me. The call back url is another method that i saw in the razorpay docs.

If you pass the handler function, you get the Order ID, Payment ID, and Signature in the response argument of the handler function.
If you pass a callback_url, a POST request is made to that URL instead.
The options you added are valid - they just don't go to the POST-request flow, which the title of the issue talks about.

@bharatbhallaCoder - Can you post the options you are passing to Checkout with your you API key redacted?

@bharatbhallaCoder could you please let us know if this issue had been resolved ?
if someone came here looking for the same issue please check this web integration doc.

Closing this issue for now, due to not getting any response. Please let us know if you need any help.


Get rid of obsolete LDC workarounds and increase test coverage.

Debug unittests & dmd-testsuite pass using latest LDC and LLVM 3.5 on Linux x64.

@redstar: Is there a reason not to merge this?

Yes, lack of time!


add initial travis config

This PR executes citac tests on travis-ci.
The main changes are related to disabling apparmor security settings when executing the tests (apparmor is not available in the travis-ci environment).
In a later version, the instructions in var/test/travis-tests.sh can be extended to cover more complex test suites. Currently, there is only a simple sequence of test steps (taken from the README.md), however, these tests are already quite useful in order to make sure that future changes will be compatible with the environment.
The README has been updated to include a little banner image indicating whether the most recent travis test run succeeded or failed.
@oliverhanappi - please review and merge the PR if you are ok with the changes.

@oliverhanappi, would be great if we could merge this PR to show the integration with travis-ci. Thoughts?


Links to

Bug report
What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?

Other relevant information:

Node.js version:
NPM/Yarn version
Operating System:
Additional tools:

duplicate/incomplete.  Closing.


boilerplate websockets setup

webpack.config.js
package.json
tsconfig.json
Simple http server
Simple client interface

finished


Textfield does not lose focus when clicked outside

Textfield does not lose focus when clicked outside the input box.
Is this implemented intentionally?
Should it not lose focus automatically?

Duplicate of https://github.com/flutter/flutter/issues/32433

closing as a duplicate of https://github.com/flutter/flutter/issues/32433


chore(deps): remove lombok dependency

This is requested in #42
Notes:

This is done in one gigantic commit, I can split it into more commits if it is easier to review
I replaced SneakyThrows with a RuntimeException wrapping the actual exception, this may change behaviour for clients
Lots of churn in the diff. I think my editor formatted the files correctly according to the .editorconfig, but the project was not completely formatted with that.

This branch has not been tested at all (outside the few unit tests in there).
I will probably test it on Monday, but I might have broken things.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Arnaud Jeansen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@ajeans I am totally ok with this PR, but one question:
Can we just leave Lombok for the examples? That will be a good validation that in examples, and end-user applications Lombok can be used, but we just don't want it inside the client code..
Also, can you please sign the CLA?

@salaboy sure, I will restore it for the examples.
Regarding the CLA, I pinged legal at $company yesterday, I should be able to sign it soon.

@salaboy this should be good to go now ;-)

@salaboy friendly reminder, anything I can do to help this land?


Missing resources?

Hi. I downloaded the source code of your gamemode because I was impressed with many things in your server Grand Theft Walrus. Especially the Peds walking and driving vehicles near the player.
Yet when I "install" it, I can't find the peds resource anywhere, only the train appears, no other ped nor vehicle.
Same thing for Groups and House system resources. I can't find them.
Are those (the most impressive resources) not added on purpose?
Thank you for your time.

That's right, those resources are available as open source but due to their license restrictions not a part of the open GTW-RPG project. Our servers are based on this game mode but the game mode is not bound to the servers in any way. Our goal for v3.0 is to include all these "missing" resources however, the work is in progress.

It was, thank you very much.


Unable to restore backups containing attachments

Openbubbles only successfully restores msgs when attachments are cleared. If the backup has attachments it will fail.

Fixed pending release


How to find the list of logos available ?

Hi,
in portfolio.js you display a set of skills using fontAwesomeClassname: "logos:web3js" . Where can we find the availables logos ?
Thank you

@JeromevDEV You can Find all icons on https://icon-sets.iconify.design/. Search Desired icon and copy and paste its name


Change DAG-DBOR to DAG-PB for cid implementation

Capture what we have discussed -
The cid for the data will be using DAG-PB with chunking (same as ipfs add). For any object, it will need to be converted to file/byte array first. i.e. JSON object needs to be stringified first. The data field will be populated with base64 encoded byte array of the actual data.
The cid for the request will also be DAG-PB

Tagging @oed for awareness and feedback

Hm, this means that you will essentially only use ipld as a file store
(which might be right for your use case). However, you won't be able to
leverage newer and more interesting features such as graphsync.
--
*Joel Thorstensson *
Co-founder / CTO
[image: 3Box Labs] https://3boxlabs.com
On Fri, Jan 14 2022 at 9:19 PM, Daniel Buchner @.***>
wrote:

Tagging @oed https://github.com/oed for awareness and feedback
—
Reply to this email directly, view it on GitHub
https://github.com/decentralized-identity/identity-hub/issues/101#issuecomment-1013480669,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA52ONMKELCCMUWD72MP4YLUWCHPVANCNFSM5L7VB5WA
.
You are receiving this because you were mentioned.Message ID:
@.***>

That is true. I think as we've discussed with @csuwildcat , we don't think we will ever need to use any advanced feature for forseable future.

@csuwildcat
Adding more details for how the CID should be generated.
We should use the options:
chunker - default - size-262144
cidVersion - not default - 1
hashAlg - default - sha2-256
https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/FILES.md#options


Many-to-many relationships being overwritten

I haven't tracked down exactly where the problem is yet, but I can't seem to get many-to-many relationships working.
An example scenario:
const category1 = server.create('category', { name: 'One' });
const category2 = server.create('category', { name: 'Two' });
const products = server.createList('product', 4);
category1.products = products;
category2.products = products;

All the products end up associated with category2, with none with category1.
If you do something like this instead:
category1.products = [products[0], products[1]];
category2.products = [products[1], products[2]];

category1 will only be associated with products[0] and category2 will be associated with products[1] and [2].
It appears the second assignment is overwriting the categories association on the products. Maybe this is intended, but if so, how do you create a many-to-many relationship?

Never mind. I read through some more issues and realized Mirage requires you to explicitly setup the join table.

Currently yes, sorry about that. It needs to be added to the Models documentation.


For anyone looking to solve build eror with "exited with code 9009" for NtObjectManager

I updated the .NET framework to 4.8 for the other projects, and while building NtObjectManager, it failed. So I downgraded it to .NET framework 4.7.2. And compiled both NtApiDotNet and NtObjectManager. Buid Succeeds

Thanks. No idea why that would cause problems. Perhaps the XML document generator is failing, I've had some weird problems with that tool.

And my default was behind, 4.6.2 and had the same issue... making it be 4.7.2 fixed it.


Use "direct" as the message "type" for direct/private messages.

As a follow-up to #25154, update the web app to use "direct" as the message type in when sending messages (POST /messages).
Noting here that it might make sense to do this as part of a systematic renaming of things in the web app codebase to think of "private" messages as "direct" messages as we do that.
See this #api design conversation for more context and discussion on the type parameter for the noted API endpoints.
And see this #design conversation for more context on the general change in the web app UI from "private" to "direct" messages.

I'm working on this.

@zulipbot claim

@zulipbot claim


Fix: loading the document requires knowing the format in advance

This PR:

Adds logic for inspecting the first character of the stream we receive during document loading to know whether its in JSON or YAML. This helps avoid a regression in functionality where users are required to pass the format of the document when loading an OpenAPI document
Replaces sync methods with async ones to prevent deadlocks
Passes a cancellation token to OpenApiModelFactory.GetStreamAsync to allow for cancellation of tasks/requests
Updates tests with new loading pattern

Fixes #1917, #1918

@baywet just a head's up, the functionality on inspecting the input stream to determine the format might change based on my discussion with @darrelmiller here https://github.com/microsoft/OpenAPI.NET/issues/1918#issuecomment-2485894218

@maggiekimani1 are we going to implement those changes in this PR or in a subsequent one?

@MaggieKimani1 are we going to implement those changes in this PR or in a subsequent one?

I can implement it here so as not to lose the other changes on moving to async


Can't unpak Test Drive Ferrari Legends bff file

Hello I try to unpak Test Drive Ferrari Legends bff file but i've always error message
Any solutions ?
pcarstools_x86.exe pak -i "Z:\PCarsTools.exe112\publish\x32\f333sp.bff" -g "Z:\PCarsTools.exe112\publish\x32" --game-type "TDFRL"

Try with 1.1.4.
Please provide the error message if it still happens.


metrics: Add extra necessary metrics for monitoring SlowTrend performance.

What is changed and how it works?

Issue Number: Ref #15271
What's Changed:

This pr supply extra necessary metrics for `SlowTrend`, which is useful for users to monitor the performance of
`SlowTrend`, including:

1. Slow Trend, shows the changing rate of the slowness on I/O operations. 'value > 0' means the related store might has a slow trend.

2. AVG Sampling Latency, records the sampling latency of recent queries.
A larger value indicates that the store is more likely to be the slowest store.
Only when one of TiKV node has been marked with **Slow Trend**, and its severity reaches the limitation,
it will be chosen as the slow node.

3. QPS of each store, store slow trend result, showing the QPS of each store.

4. QPS Changing Rate, shows the changing trend of QPS on each store. 'value < 0' means the QPS has a dropping trend.

The related metrics are assembled into Slow Trend Statistics row:

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
None.

/review default

/cc @tonyxuqqi @overvenus @SpadeA-Tang @bufferflies

show this grafana view.

show this grafana view.

Got, updated

1） QPS of each store： What's the QPS meaning here? Is it dup with other existing metrics?
2) QPS Changing rate: I think qps change itself cannot tell because it can be the workload change.  Is this data used as the supporting metrics to determine if a node is slow or not?

The metrics have been updated as followings shows:

Updated as following:

/merge


[draft][language] introduce diem-framework-releases

Summary
This replaces the compiled-stdlib crate with a new diem-framework-releases crate, allowing it to support multiple versions.

diem-framework

releases

legacy: legacy transaction scripts & related
versions: current and historical versions
src
Cargo.toml

To create a new release, run the diem-framework binary with the newly added command line option --output <path>
cargo run -- --output releases/versions/v42

This will generate the following artifacts at the specified location:

diem-framework

releases

versions

v42

modules
docs

modules
scripts

script_abis
error_description
transaction_script_builder.rs

If no output path is specified, diem-framework/releases/versions/current will be used as the default. Right now current is considered a special release and it is required to be kept in sync with the current diem framework source code.
TODO

[x] diem-framework binary
[x] fix tools and tests
[ ] public APIs for diem-framework-releases
[x] test to ensure current is up to date
[x] test to ensure all historical version can be deserialized (and verify?)

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Chaning JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
 Keep the api that takes in str as private just in case we need to use it later.

I feel like we may need to also support "unofficial" releases that don't really get deployed -- it could be a release someone generated locally for testing purposes, or a snapshot we want to keep for development purposes.

Ah sorry I misunderstood this. I'm not 100% convinced about this "unofficial release" but we can keep the current logic and adjust it down the line.

Yeah let's keep the things the way they are for now and hopefully we'll have a much clearer picture as we start to have clients that utilize this API.
Another thing that came into my mind was the potential need for aliases or bookmarks. Here's one example: a test that tries to simulate the upgrade process from latetest-deployed to current. Here latest-deployed is not an actual directory but an indirection that points to one of the actual versions, determined by the library code of diem-framework-releases.

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

/land

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

:lock: Merge Conflict

/land

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

:exclamation: Land has been canceled due to this PR being updated with new commits. Please issue another Land command if you want to requeue this PR.

/land

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

:broken_heart: Test Failed - ci-test-success

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

/cancel

/land

:exclamation: Land has been canceled due to this PR being updated with new commits. Please issue another Land command if you want to requeue this PR.

/land

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

/cancel

/land

:exclamation: Land has been canceled due to this PR being updated with new commits. Please issue another Land command if you want to requeue this PR.

/land

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)

release binaries dependency change summary:
target packages:
  A diem-framework-releases 0.1.0 (workspace, path 'language/diem-framework/releases')
    * features: [none]
  R compiled-stdlib 0.1.0 (workspace, path 'language/diem-framework/compiled')
    * (old features: default)


Adopt new CoreBluetooth API for Swift 2.3

[ ] CBCentralManagerState is deprecated, it is now CBManagerState

Implemented in 2.0.0 version of the library.


Minuit 2 support

This updates flamedisx's MinuitObjective to support minuit 2.0. I kept the minuit 1 wrapper code, since the release is very new and we haven't tested much with minuit 2 yet (since I think we're usually using scipy nowadays).

Thanks Jelle for this update!
I will just note here that this is because there is a breaking change in the iminuit package on 7 Dec 2020 to iminuit 2.0.0. See https://iminuit.readthedocs.io/en/stable/changelog.html.

Thanks Jelle for this update!
I will just note here that this is because there is a breaking change in the iminuit package on 7 Dec 2020 to iminuit 2.0.0. See https://iminuit.readthedocs.io/en/stable/changelog.html.


RFC: Use python3-gpg instead of python3-gnupg

The former uses GPGME and is the recommended way of using GnuPG from
applications, by the GnuPG initiative, as it provides a better
documented API [1][2].
python-gpg is also already present in some distros, e.g. Fedora and
CentOS Stream, as it is a dependency of their package manager (dnf).
It is also available in other major distros such as Debian, Ubuntu,
OpenSUSE, so no disruptions are to be expected regarding packaging.
[1] https://gnupg.org/software/gpgme/index.html
[2] https://wiki.python.org/moin/GnuPrivacyGuard

@aplanas: could you confirm this would be OK with OpenSUSE?

Codecov Report

Merging #1014 (c4b4f3d) into master (c26a729) will increase coverage by 5.48%.
The diff coverage is 74.41%.

:exclamation: Current head c4b4f3d differs from pull request most recent head 14f365b. Consider uploading reports for the commit 14f365b to get more accurate results

Flag
Coverage Δ

packit-e2e
64.10% <74.41%> (+7.08%)
:arrow_up:

testsuite
27.12% <18.60%> (+0.02%)
:arrow_up:

unittests
13.28% <9.30%> (+0.12%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

keylime/ima/ima.py
65.23% <ø> (+1.51%)
:arrow_up:

keylime/keylime_agent.py
68.22% <0.00%> (+0.77%)
:arrow_up:

keylime/measured_boot.py
66.10% <0.00%> (+33.89%)
:arrow_up:

keylime/revocation_notifier.py
51.29% <ø> (ø)

keylime/secure_mount.py
95.31% <ø> (ø)

keylime/tenant.py
67.96% <0.00%> (+2.54%)
:arrow_up:

keylime/tornado_requests.py
69.23% <0.00%> (-3.75%)
:arrow_down:

keylime/tpm/tpm2_objects_test.py
98.64% <ø> (ø)

keylime/tpm/tpm_abstract.py
82.05% <ø> (+5.12%)
:arrow_up:

keylime/cloud_verifier_tornado.py
66.29% <50.00%> (+0.87%)
:arrow_up:

... and 22 more

@aplanas: could you confirm this would be OK with OpenSUSE?

Sergio, thanks a lot for the ping. I checked it and is present in openSUSE Tumbleweed, and in Leap 15.4 and SLE 15SP4, but not in olders.
This and the python-lark-parser dependency will represent a cutting point. But I guess that it is OK

Maybe this needs to be changed too: https://github.com/keylime/keylime/blob/master/requirements.txt#L13

This looks good, but I suspect it might be easier to just call out the gpgv program; that would avoid gpg-agent being launched in background:
import subprocess
import tempfile
import base64
import io

def verify_signature(key, sig, file):
    with tempfile.NamedTemporaryFile() as keyring:
        # gpgv --keyring only accepts binary blob
        lines = key.read().decode('ascii').split("\n")
        base64.decode(io.BytesIO(''.join(lines[2:-2]).encode('ascii')), keyring)
        keyring.flush()
        status = subprocess.run([
            "gpgv", "--keyring", keyring.name, sig.name, file.name
        ])
        return status.returncode == 0

assert verify_signature(open("test-data/files/allowlist-pgp-key.pgp", "rb"),
                        open("test-data/files/allowlist-pgp-sig.sig", "rb"),
                        open("test-data/files/allowlist.json", "rb"))

This looks good, but I suspect it might be easier to just call out the gpgv program; that would avoid extra package dependency but also gpg-agent being launched in background:

Good points. While I am not a big fan of launching processes in the background, in this particular case, this is what these python modules are already doing [1].
If we move to use gpgv, we would be using something that is only able to verify signatures, which is the exact use case here.
It would also look good on the dependency front -- one of the motivations to replace python3-gnupg was that it is not even packaged in distros like CentOS Stream 9. Then, the proposed python3-gpg module proved to be an issue with some older OpenSUSE versions as well as Ubuntu 18.04, which does not have the minimum required version. It looks like gpgv is available even in those distros, so this looks better, IMO.
What do you think, @THS-on, @aplanas, @mpeters?
[1] https://blogs.gnome.org/hughsie/2017/08/18/shipping-pkcs7-signed-metadata-and-firmware/

I agree, if the python module is launching another process in the background then we don't really have any downside of using gpgv ourselves and lot of upsides.

What do you think, @THS-on, @aplanas, @mpeters?
[1] https://blogs.gnome.org/hughsie/2017/08/18/shipping-pkcs7-signed-metadata-and-firmware/

I read the link and it is not clear to me if there is a gpg-agent subprocess there or not. I have only some comments:

python-gpgme is using ctypes and is not calling any app directly.
the gpgv code seems simple, but there are missing bits: the full path needs to be set (to avoid some binary injection via PATH), better error handling (what to do if the binary is not there)
as a nit, IMHO the opening of the sig and file seems not needed, and key seems better to be opened in the function itself.

In my naive PoV (that is not able to say if there is an agent launched there or not, and what is the impact for that), I prefer the Python library as a general better approach. But if the binary call code gets improved, that should be OK too.

Thanks, @aplanas. You are indeed right, python-gpg is using ctypes and not calling any app directly, which is also the approach I prefer; python-gnupg is the one issuing a call to gpg in background.
I would go with python-gpg as it has this additional improvement over the module we currently use, but apart from the issue you mentioned with older OpenSUSE, Ubuntu 18.04 packages version 1.10, and 1.11+ is required [1].
[1] https://gnupg-devel.gnupg.narkive.com/Hi4HECyN/hkp4py-hkp-hkps-bindings-for-python#post7


Templates containing X don't work witn anarci

When generating the tcr_seqs.json file I've run into
Traceback (most recent call last):
  File "run_tcrmodel2.py", line 334, in <module>
    app.run(main)
  File "/opt/conda/lib/python3.8/site-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/opt/conda/lib/python3.8/site-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "run_tcrmodel2.py", line 299, in main
    cdr3, seq=parse_tcr_seq.parse_anarci(anarci_out)
  File "/tcrmodel2/scripts/parse_tcr_seq.py", line 23, in parse_anarci
    num=int(fields[1])
ValueError: invalid literal for int() with base 10: 'Unknown'

This error was also mentioned in #2 . It seems to be caused by one of the templates containing an X amino acid, which leads to ANARCI raising
Error:  Unknown amino acid letter found in sequence: X

in which case parse_anarci returns Unknown.
In my case this was the5xot_D template but there are a lot more templates with X in data/databases/pdb_seqres.txt.
I'm not sure what to do about this. The error does not seem critical as the structures were already generated at this point. This could probably be handled by adding a special case in parse_anarci so that it returns an empty list in this case.

This seems to be an open issue with anarci.


Added Python-based Typing Test Using Tkinter and Flask

Description
This pull request introduces a Typing Speed Test application built using Python with the tkinter library for the graphical user interface. The application allows users to test their typing speed and accuracy with a user-friendly interface and real-time feedback. Here’s a detailed overview of the implemented features:
Features:

GUI with Tkinter:

A visually appealing interface is created using the tkinter library for user interaction.
Custom background and icons are added using PIL for better aesthetics.

Countdown Timer:

The typing test includes a countdown timer implemented with tkinter to limit the test duration.
Users can see the remaining time in minutes and seconds.

Typing Test Functionality:

Random sentences are chosen from a sentences.txt file to serve as typing prompts.
Users input their typing in a text box, and upon time completion, the words per minute (WPM) and accuracy are calculated.

Accuracy Calculation:

The program calculates accuracy based on how many words match between the user’s input and the prompt.
Displays both WPM and accuracy percentage after the test.

Retry Option:

Users can choose to try the typing test again with a simple button click.

Image Handling with PIL:

Used PIL (Pillow library) to handle images for background and icons.

Random Sentence Selection:

Prompts are chosen randomly from a sentences.txt file to provide variety in each test.

Libraries and Tools Used:

tkinter: For building the graphical user interface.
PIL (Pillow): For image processing, such as resizing and displaying background images and icons.
time: To manage the countdown timer for the test.
random: For selecting random sentences as typing prompts.
functools.partial: For passing additional arguments to callback functions.

How to Use:

Run the Python script to launch the typing test application.
Click the Proceed button to start the typing test.
A random sentence will appear, and users have 1 minute to type it.
After the time is up, a pop-up will display the user’s typing speed and accuracy.
Users can click Try Again to restart the test or exit the application.

This feature provides an engaging way for users to test and improve their typing skills while showcasing the use of Python's GUI capabilities. Feedback and suggestions are welcome!

please verify and merge under Hacktoberfest 2024.

Please verify and merge under Hacktoberfest 2024

@abhisheksaxena15 Thank you for your effort! This contribution has been marked as invalid as it doesn't meet the requirements for this repository. Please review the repo guidelines, and we encourage you to submit another PR that aligns with them.


Crashes AS AF Beta 2 on open (Linux)

When opening the Playground in Android Studio Arctic Fox Beta 2, I see a black window for a short time and then Studio crashes with the following message:
Shader compilation error
------------------------
   1	noperspective in float4 vinCircleEdge_Stage0;noperspective in half4 vinColor_Stage0;out half4 sk_FragColor;
   2	void main() {half4 outputColor_Stage0;half4 outputCoverage_Stage0;{ // Stage 0, CircleGeometryProcessor
   3	float4 circleEdge;circleEdge = vinCircleEdge_Stage0;outputColor_Stage0 = vinColor_Stage0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);outputCoverage_Stage0 = half4(edgeAlpha);}{ // Xfer Processor: Porter Duff
   4	sk_FragColor = outputColor_Stage0 * outputCoverage_Stage0;}}
Errors:
error: 3: floating-point value is too large: 1.0
1 error

free(): invalid pointer
Aborted (core dumped)

I'm on Linux, but figured that since there's no system requirements mentioned in the README, this should be fine.
Some Studio/system information:
Android Studio Arctic Fox | 2020.3.1 Beta 2
Build #AI-203.7717.56.2031.7375522, built on May 19, 2021
Runtime version: 11.0.10+0-b96-7249189 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.11.0-7614-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 8
Registry: ide.instant.shutdown=false, external.system.auto.import.disabled=true
Non-Bundled Plugins: com.c5inco.modifiers, io.kanro.idea.plugin.protobuf, org.toml.lang, org.jetbrains.kotlin, com.developerphil.adbidea, org.jetbrains.compose.desktop.ide, com.nbadal.ktlint, org.intellij.plugins.markdown
Current Desktop: pop:GNOME

Thanks for the report! That's very interesting since my plugin code itself is not touching shaders or native code at all. Are you able to repro this on other Android Studio and/or IntelliJ versions on your Linux machine?

Yeah, reproducible on both Bumblebee Canary 1 and Android Studio 4.2.1. When I first launched it on 4.2.1, however, it didn't crash, but it also just opened a black window with no content and completely froze the IDE. Had to force-close the process, after which when I tried again on a new instance, the same crashes occurred.

Gotcha - good to know. Are you able to repro the crash also in IntelliJ 2020.3 or 2021.1? Would really appreciate if you can confirm this. Trying to diagnose if it's Compose Desktop or IntelliJ platform issue.

Crashes in IDEA 2021.1.1 as well. Ran through Flatpak, though, as that's how I've installed it on my system, but here's the crash dump:
free(): invalid pointer
/app/idea-IC/bin/idea.sh: line 182:    18 Aborted                 (core dumped) "$JAVA_BIN" -classpath "$CLASSPATH" ${VM_OPTIONS} "-XX:ErrorFile=$HOME/java_error_in_idea_%p.log" "-XX:HeapDumpPath=$HOME/java_error_in_idea_.hprof" "-Didea.vendor.name=${PRODUCT_VENDOR}" "-Didea.paths.selector=${PATHS_SELECTOR}" "-Djb.vmOptionsFile=${USER_VM_OPTIONS_FILE:-${VM_OPTIONS_FILE}}" ${IDE_PROPERTIES_PROPERTY} -Didea.platform.prefix=Idea -Didea.jre.check=true com.intellij.idea.Main "$@"

I don't see anything useful in there, but maybe you do.

Thanks for the confirmation! Seems it is related to this Compose Desktop issue with the Skiko dependency. I'm working on upgrading to 0.4.0 from 0.3.0, so hopefully it will just work with the upgrade.

Thanks! Feel free to ping me here when you've upgraded if you want me to test further. :clap:

I just updated the plugin to 0.1.8 which uses Compose Desktop 0.4.0, so let me know if that fixes things for you!

Version 0.1.8 works perfectly fine in IDEA! Thanks a ton for the update. Feel free to close this issue. :slightly_smiling_face:


feat: support element-plus v1.1

support min version 1.0.2 and above,  add option called lagency to support 1.0.2

Info for everyone interested about what was changed in Element Plus and why: https://github.com/element-plus/element-plus/discussions/3020


use TextAppearance to replace textColor, textSize, textStyle, etc

support attribute android:textAppearance.

Good point, this would be useful to have. I'll investigate for the next release.

Bump; but textStyle="bold" is not working, can this be added too?

@BjarnBronsveld we're currently only reading textSize and textColor from the textAppearance. Can you open a new ticket requesting we add textStyle? I'm afraid this comment will get lost in the shuffle.


[HIPIFY] How to hipify the programs based nvidia cutlass

How to hipify the programs based nvidia cutlass, thanks :)

AFAIK, there is no cutlass port to HIP yet.

Do you have any plans for cutlass？ thanks :)

Honestly, I haven't heard about the plans, will try to learn.

We're porting cuGraph now and this is part of the dependency chain. I noted there is an port of it from a couple of years ago on the internal repo.
https://github.com/ROCm/cutlass-internal
We'll probably have to use this as a guide for getting it up to current code levels.

any update on cutlass supporting recently ?


Bot isn't working

I've tried reinstalling tampermonkey, reinstalling the scripts but whenever I go into agario and play, the bot just won't work.

Did you grab both bot.user.js, and launcher.user.js?
Those are required for AposBot to run properly.

Yes I did.
On Thu, Feb 18, 2016 at 10:41 AM, Drflash55<EMAIL_ADDRESS>wrote:

Did you grab both bot.user.js, and launcher.user.js?
Those are required for AposBot to run properly.
—
Reply to this email directly or view it on GitHub
https://github.com/Apostolique/Agar.io-bot/issues/543#issuecomment-185420513
.

--
Epsilon Phoenix
LunarCore formerly SyrusCore DS
Co-Host
SE 24/7 LunarCore Decayed Long Term Server
Staff Member
Forum Administrator

Huh, whenever I go to play with the bot, it functions just fine, but the phantom blobs are the real problem I'm still having.
@Apostolique has been aware of this issue about 4 months prior, but either he hasn't found out a way to fix it, or he just simply stopped working on this project.

yes , its not working for me as well

I think its a compatibility issue.
On Fri, Feb 19, 2016 at 1:55 AM, bhawin<EMAIL_ADDRESS>wrote:

yes , its not working for me as well
—
Reply to this email directly or view it on GitHub
https://github.com/Apostolique/Agar.io-bot/issues/543#issuecomment-185707756
.

--
Epsilon Phoenix
LunarCore formerly SyrusCore DS
Co-Host
SE 24/7 LunarCore Decayed Long Term Server
Staff Member
Forum Administrator

it is a compatibility issue i got mine to work

Agar.io-bot-master.zip

tmScripts (2).zip

this should work

It still does not work... :(
On Sat, Feb 20, 2016 at 8:52 AM, DJKOLBY<EMAIL_ADDRESS>wrote:

this should work
—
Reply to this email directly or view it on GitHub
https://github.com/Apostolique/Agar.io-bot/issues/543#issuecomment-186376308
.

--
Epsilon Phoenix
LunarCore formerly SyrusCore DS
Co-Host
SE 24/7 LunarCore Decayed Long Term Server
Staff Member
Forum Administrator

yep, it's not working for me as well

This is my problem:
1.) I go to agar.io
2.) The bot loads for a few seconds (I let it wait). OR I immediately click play.
3.) The bot disappears.

@Apostolique is aware of this problem, I think he abandoned the project and
won't do any bug fixing, agar.io has been updated and the bot is rendered
incompatible with some user's systems.
On Sat, Feb 27, 2016 at 3:18 AM, jhagrid77<EMAIL_ADDRESS>wrote:

This is my problem:
1.) I go to agar.io
2.) The bot loads for a few seconds (I let it wait). OR I immediately
click play.
3.) The bot disappears.
—
Reply to this email directly or view it on GitHub
https://github.com/Apostolique/Agar.io-bot/issues/543#issuecomment-189298600
.

--
Epsilon Phoenix
LunarCore formerly SyrusCore DS
Co-Host
SE 24/7 LunarCore Decayed Long Term Server
Staff Member
Forum Administrator

Refer to what I said in issue 558.
https://github.com/Apostolique/Agar.io-bot/issues/558#issuecomment-200546653

I fixed this issue :)
Look here -  : #562