Windows tool integration tests are flaky: "Java heap space"

One example failure:
20:00 +25 -1: test/integration.shard/isolated/native_assets_test.dart: flutter build apk succeeds without libraries [E]
  Exception: flutter build failed: 1

  FAILURE: Build failed with an exception.

  * What went wrong:
  Execution failed for task ':app:compressDebugAssets'.
  > A failure occurred while executing com.android.build.gradle.internal.tasks.CompressAssetsWorkAction
     > Java heap space

  * Try:
  > Run with --stacktrace option to get the stack trace.
  > Run with --info or --debug option to get more log output.
  > Run with --scan to get full insights.
  > Get more help at https://help.gradle.org/.

  BUILD FAILED in 42s
  Gradle task assembleDebug failed with exit code 1

  Running Gradle task 'assembleDebug'...
  Running Gradle task 'assembleDebug'...                             43.9s

  test\integration.shard\isolated\native_assets_test.dart 240:11  main.<fn>.<fn>
  ===== asynchronous gap ===========================
  test\integration.shard\isolated\native_assets_test.dart 803:5   inTempDir
  ===== asynchronous gap ===========================
  test\integration.shard\isolated\native_assets_test.dart 226:7   main.<fn>

Looking at the try-bots, these don't seem particularly healthy:

It looks like this particular thing is a downstream error of Java heap space errors:
Exception: flutter build failed: 1

  FAILURE: Build failed with an exception.

  * What went wrong:
  Execution failed for task ':app:compressDebugAssets'.
  > A failure occurred while executing com.android.build.gradle.internal.tasks.CompressAssetsWorkAction
     > Java heap space

  * Try:
  > Run with --stacktrace option to get the stack trace.
  > Run with --info or --debug option to get more log output.
  > Run with --scan to get full insights.
  > Get more help at https://help.gradle.org/.

  BUILD FAILED in 42s
  Gradle task assembleDebug failed with exit code 1

  Running Gradle task 'assembleDebug'...
  Running Gradle task 'assembleDebug'...                             43.9s

  test\integration.shard\isolated\native_assets_test.dart 240:11  main.<fn>.<fn>
  ===== asynchronous gap ===========================
  test\integration.shard\isolated\native_assets_test.dart 803:5   inTempDir
  ===== asynchronous gap ===========================
  test\integration.shard\isolated\native_assets_test.dart 226:7   main.<fn>

This is similar to https://github.com/flutter/flutter/issues/156063. @dcharkes, you tried bumping the heap limit, did it end up fixing the flakiness you were seeing?

Related: https://github.com/flutter/flutter/issues/156953

Daco is OOO for at least another week, so I suspect we'll need to make a decision here without him.
(The tree is once again closed due to the Java heap space error)

Example recent failure: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_2_9/543/overview:
23:51 +11: test/integration.shard/android_plugin_skip_unsupported_test.dart: skip plugin if it does not support the Android platform
24:31 +11 -1: test/integration.shard/android_plugin_skip_unsupported_test.dart: skip plugin if it does not support the Android platform [E]
  Expected: a process with exit code 0
    Actual: <Instance of 'ProcessResult'>
     Which: Actual exitCode was 1
            Actual stdout:
            Resolving dependencies...
            Downloading packages...
              characters 1.3.0 (1.3.1 available)
              collection 1.19.0 (1.19.1 available)
              material_color_utilities 0.11.1 (0.12.0 available)
              meta 1.15.0 (1.16.0 available)
            Got dependencies!
            4 packages have newer versions incompatible with dependency constraints.
            Try `flutter pub outdated` for more information.

            Running Gradle task 'assembleDebug'...
            Running Gradle task 'assembleDebug'...                             35.5s

            Actual stderr:
            You are applying Flutter's app_plugin_loader Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/to/flutter-gradle-plugin-apply

            You are applying Flutter's main Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/to/flutter-gradle-plugin-apply

            FAILURE: Build failed with an exception.

            * What went wrong:
            Execution failed for task ':app:compressDebugAssets'.
            > A failure occurred while executing com.android.build.gradle.internal.tasks.CompressAssetsWorkAction
               > Java heap space

@bkonyi:

This is similar to #156063. @dcharkes, you tried bumping the heap limit, did it end up fixing the flakiness you were seeing?

I added print debugging to determine what the settings being used are:
diff --git a/packages/flutter_tools/test/integration.shard/android_plugin_skip_unsupported_test.dart b/packages/flutter_tools/test/integration.shard/android_plugin_skip_unsupported_test.dart
index c52c0b6ee3..26a3de6775 100644
--- a/packages/flutter_tools/test/integration.shard/android_plugin_skip_unsupported_test.dart
+++ b/packages/flutter_tools/test/integration.shard/android_plugin_skip_unsupported_test.dart
@@ -90,6 +90,12 @@ void main() {

     await project.setUpIn(pluginExampleAppDir);

+
+    final File gradleProperties = pluginExampleAppDir
+        .childDirectory('android')
+        .childFile('gradle.properties');
+    print(gradleProperties.readAsStringSync());
+
     // Run flutter build apk to build plugin example project.
     return processManager.runSync(<String>[
       flutterBin,
diff --git a/packages/flutter_tools/test/integration.shard/isolated/native_assets_agp_version_test.dart b/packages/flutter_tools/test/integration.shard/isolated/native_assets_agp_version_test.dart
index 25f4e2331e..85d67a34a2 100644
--- a/packages/flutter_tools/test/integration.shard/isolated/native_assets_agp_version_test.dart
+++ b/packages/flutter_tools/test/integration.shard/isolated/native_assets_agp_version_test.dart
@@ -54,6 +54,9 @@ for (final String agpVersion in agpVersions) {
           final Directory packageDirectory = await createTestProject(packageName, tempDirectory);
           final Directory exampleDirectory = packageDirectory.childDirectory('example');

+          final File gradleProperties = exampleDirectory.childDirectory('android').childFile('gradle.properties');
+          print(gradleProperties.readAsStringSync());
+
         File buildGradleFile = exampleDirectory.childDirectory('android').childFile('build.gradle');
         if (!buildGradleFile.existsSync()) {
           buildGradleFile = exampleDirectory.childDirectory('android').childFile('build.gradle.kts');
diff --git a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart
index 22d8134162..89bc68dd65 100644
--- a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart
+++ b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart
@@ -246,3 +246,12 @@ Future<void> inTempDir(Future<void> Function(Directory tempDirectory) fun) async
     tryToDelete(tempDirectory);
   }
 }
+
+Future<void> bumpJavaHeapSpace(Directory appDir) async {
+  final File gradleProperties = appDir.childDirectory('android').childFile('gradle.properties');
+  await gradleProperties.writeAsString('''
+org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
+android.useAndroidX=true
+android.enableJetifier=true
+android.enableR8=true''');
+}

... getting:
  org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
  android.useAndroidX=true
  android.enableJetifier=true
  android.enableR8=true
  android.experimental.enableNewResourceShrinker=true

This appears to be coming from a test fixture and is different than the default that @dcharkes originally helped adjust (https://github.com/flutter/flutter/blob/main/packages/flutter_tools/templates/app_shared/android.tmpl/gradle.properties.tmpl#L1):
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true

This appears to be coming from a test fixture and is different than the default that @dcharkes originally helped adjust (https://github.com/flutter/flutter/blob/main/packages/flutter_tools/templates/app_shared/android.tmpl/gradle.properties.tmpl#L1):
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true

Yeah, I bumped this last week in https://github.com/flutter/flutter/commit/998f42a3f062bbe34927f3747c46e27f7b7323ee. If we're still hitting Java heap space with 8GB available for a test, I don't think increasing this further is going to help.

I've confirmed (at least on MacOS) that the settings in gradle.properties are being respected:
[ +106 ms] Welcome to Gradle 8.0!
[        ] For more details see https://docs.gradle.org/8.0/release-notes.html
[        ] Received JVM installation metadata from '/Applications/Android Studio.app/Contents/jbr/Contents/Home': {JAVA_HOME=/Applications/Android Studio.app/Contents/jbr/Contents/Home, JAVA_VERSION=17.0.11, JAVA_VENDOR=JetBrains s.r.o., RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17.0.11+0-17.0.11b1207.24-11852314, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=17.0.11+0-17.0.11b1207.24-11852314, VM_VENDOR=JetBrains s.r.o., OS_ARCH=aarch64}
[        ] The client will now receive all logging from the daemon (pid: 71074). The daemon log file: /Users/bkonyi/.gradle/daemon/8.0/daemon-71074.out.log
[        ] Starting 3rd build in daemon [uptime: 2 mins 59.018 secs, performance: 100%, GC rate: 0.00/s, heap usage: 0% of 8 GiB, non-heap usage: 7% of 2 GiB]

I wonder if there's an issue with the daemon on Windows that's causing some sort of memory leak?

I've uploaded #158933 to enable verbose logging to see if that gives us any insight into what's going on.

If The process cannot access the file because it is being used by another process cleanup warning is related (unclear), can the PathAccessException be caught and some diagnostics run to figure out which process is holding onto the files after the build is over? I'm not a Windows person so I don't know.  If that's too hard, maybe start depth first deleting files in the temp directory cleanup, maybe know which file is being held would be a big hint.

If my fix did help things, its non-obvious to me - I still see regular Java OOMs and timeouts:
https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.prod/Windows tool_integration_tests_2_9

Also I've requisitioned a NUC device with Windows 11, so when that arrives I can help with more Windows debugging.


Failed to load the autocomplete-angular-material package

[Enter steps to reproduce:]

...
...

Atom: 1.24.0 x64
Electron: 1.6.16
OS: Unknown Windows version
Thrown From: autocomplete-angular-material package 0.4.0
Stack Trace
Failed to load the autocomplete-angular-material package
At unexpected  in file:///C:/Users/Johan/.atom/packages/autocomplete-angular-material/lib/main.coffee:1:1

SyntaxError: unexpected
at file:///C:/Users/Johan/.atom/packages/autocomplete-angular-material/lib/main.coffee:1:1

Commands

Non-Core Packages
atom-eclipse-syntax 0.0.5
atom-jade 0.3.0
autocomplete-angular-material 0.4.0

ayudenme por favor

Unfortunately only one auto complete module can be installed at one time.
On Sun, Mar 4, 2018 at 6:06 PM serf03<EMAIL_ADDRESS>wrote:

ayudenme por favor
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/chrisgriffith/autocomplete-angular-material/issues/8#issuecomment-370273036,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgOAzztTcTGCdTnw8fqJIe7LauoM5__ks5tbHNtgaJpZM4SbjLW
.


Jeff Schaller: Watch purlinglondon.com

Jeff Schaller requests the watch of the watch_keyword purlinglondon\.com. See the MS search here and the Stack Exchange search here.

Approved by Erik the Outgolfer in Charcoal HQ


[BUG] The new markdown parser does not split URLs with whitespace

Describe the bug
Whitespace should be used to split two or more URLs.
Steps to reproduce

Open memos in browser;
Add note https://github.com/usememos/memos https://github.com/usememos/memos and save;
The note is rendered to a link https://github.com/usememos/memos%20https://github.com/usememos/memos;

The version of Memos you're using
0.18.2
Screenshots or additional context
No response

Thanks for your report, it'll be fixed with https://github.com/usememos/memos/commit/55ecdae509a014dba7a897acb3ad9e5d84954ca9


Insufficient quote funds on some pairs

Get Insufficient quote funds message on some pairs after last update.
Basically use one GBP pot which all my bots fight over.
Coins I have tried which give message: ADA, XRP, DOGE, SHIB, DAT
Coins which dont have the message: DOT
All bots use the same config file set up as below:
{
"binance": {
"api_url": "https://api.binance.com",
"api_key_file": "binance.txt",
"config" : {
"base_currency" : "(what ever coin bot is set up for)",
"quote_currency" : "GBP",
"live" : 1,
"sellatloss" : 1,
"selllowerpcnt" : -5,
"sellatresistance" : 1,
"trailingstoploss" : -1.5,
"trailingstoplosstrigger" : 5,
"nosellmaxpcnt" : 3,
"nosellminpcnt" : -3,
"disablebullonly" : 1,
"disablebuynearhigh" : 0,
"buynearhighpcnt" : 3,
"disablebuymacd" : 0,
"disablebuyobv" : 0,
"disablebuyelderray" : 1,
"disablefailsafefibonaccilow" :0 ,
"disableprofitbankreversal" : 0,
"disabletracker" : 1,
"disabletelegram" : 0,
"autorestart" : 0,
"graphs" : 0,
"verbose" : 0,
"enableinsufficientfundslogging": 1,
"stats" : 0
}
},
"telegram": {
"token": "HIDDEN",
"client_id": "HIDDEN"
}
}
Have plenty of quote funds in account (bots are quoting that there is £0)
Running on Raspberry pi 4 and a Pi zero both behave the same.
Additional context

Thanks for looking

same

Done some testing on another PI, managed to get 3 bots working fine but the 4th which was made the same way came up with the issue. Then restarted one and the error moved to that one. Just having 4 identical bots and some show errors and some don't really confuses me.


Biome o' plenty biomes don't generate

Biomes from biome o' plenty generate empty.
NetherEx version 2.1.0, LibEx version 1.1.0. Unchanged config, happens on both regular and biome o' plenty worlds.
Only mods loaded are NetherEx, BoP and dependencies.

This issue has been fixed in the latest version.


Disable response to horizontal scrolling ?

Is it possible to disable the response to horizontal scrolling ?
I mean when I swipe horizontally from left to right (or the opposite) I jump from section to section too.
Is it possible to disable that ?

Will prioritise resolving this one.

@lukehaas did u ever get the chance to look at this?


completion problem, which way to go?

Hi
I'm trying to run ycmd in fairly large project.
Unfortunatelly no luck so far.
I'm running centos7 with llvm.6.0 (compilation from scratch). ycmd (github) emacs-ycmd (elpa repo) are the latest ones.
I've built ycmd BOTH with AND without "--system-libclang".
I'm also running gcc.7.2 from devtoolset-7.
When I'm in some class function member,  and type 'this->' I get no completions, but instead in ycmd-server buffer I get:
RuntimeError: No completions found; errors in the file?

To diagnose the problem I just do the following:
bash$ clang++ --gcc-toolchain=/opt/rh/devtoolset-7/root/ -fsyntax-only <here_copy_of_all_the_flags_from_ycmd-show-debug-info_command_for_my_source_buffer> path/to/my/source/buffer.cpp

In file included from path/to/my/srource/buffer.cpp:18:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/unordered_map:41:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/tuple:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/array:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/stdexcept:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/string:52:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/basic_string.h:6159:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/ext/string_conversions.h:41:
/opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/cstdlib:75:15: fatal error: 'stdlib.h' file not found
#include_next <stdlib.h>

BUT, when I remove the following from <here_copy_of_all_the_flags_from_ycmd-show-debug-info_command_for_my_source_buffer>:
-isystem/usr/include

then the above error is REPLACED with series of other 20 errors, that look similar to the following:
/opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/cstdint:48:11: error: no member named 'int8_t' in the global namespace; did you mean 'wint_t'?
/opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/cstdint:53:11: error: no member named 'int_fast8_t' in the global namespace

-isystem/usr/include flag comes from well known ycmd_global_conf.py script, or rather as a path within the result of "clang -v -E -x c++ - -stdlib=libc++" command
AS NEXT STEP, when I remove the following from <here_copy_of_all_the_flags_from_ycmd-show-debug-info_command_for_my_source_buffer>:
-resource-dir=/home/user/ycmd/ycmd/../clang_includes

all the errors DISAPPEAR
The line above IMO is added by ycmd on its own.
I'm completely stuck,
don't know which way to go.
please help!!!

I've narrowed down the problem to some simple C++14 class. Here it is:
#include <unordered_map>

class Human
{
  public:
    void fun();
};

void Human::fun()
{

}

int main(int argc, char *argv[])
{

  return 0;
}

flags from compile_commands.json for this file look like following:
    {
        "arguments": [
            "c++",
            "-c",
            "-pthread",
            "-Wpedantic",
            "-Wall",
            "-O0",
            "-g",
            "-std=c++14",
            "-o",
            "14/p1.unordered",
            "14/p1.unordered.cpp"
        ],
        "directory": "/home/user/git/CXX",
        "file": "14/p1.unordered.cpp"
    },

thus 'M-x ycmd-show-debug-info' flags are:
"[u'clang++', u'-x', u'c++', u'-pthread', u'-Wpedantic', u'-Wall', u'-O0', u'-g', u'-std=c++14', u'-isystem/usr/local/include', u'-isystem/usr/local/ashare/llvm/llvm-6.0.0.cslux/lib64/clang/6.0.0/include', u'-isystem/usr/in
clude', u'-fspell-checking', u'-resource-dir=/home/user/ycmd/ycmd/../clang_includes', u'-fspell-checking']"

compilation brings the same problem (--gcc-toolchain=/opt/rh/devtoolset-7/root/ flag added by me (without it the problem remains, but then gcc.6.3.1 is chosen and I wanted to avoid it)):
$ clang++ --gcc-toolchain=/opt/rh/devtoolset-7/root/ -x c++ -pthread -Wpedantic -Wall -O0 -g -std=c++14 -isystem/usr/local/include -isystem/usr/local/ashare/llvm/llvm-6.0.0.cslux/lib64/clang/6.0.0/include -isystem\
/usr/include -fspell-checking -resource-dir=/home/user/ycmd/ycmd/../clang_includes -fspell-checking p1.unordered.cpp
In file included from p1.unordered.cpp:1:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/unordered_map:41:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/tuple:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/array:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/stdexcept:39:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/string:52:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/basic_string.h:6159:
In file included from /opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/ext/string_conversions.h:41:
/opt/rh/devtoolset-7/root/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/cstdlib:75:15: fatal error: 'stdlib.h' file not found
#include_next <stdlib.h>
              ^~~~~~~~~~
1 error generated.

I've finally removed -resource-dir by modifying ycmd instead.
Anyway, the problem seems to be related to ycmd, not emacs-ycmd, so IMO can be closed.
By the way, thank You very much for providing ycmd to emacs

OK, I'm glad you got this sorted out, and sorry I didn't respond earlier. I'm traveling right now and don't have much time to work on this stuff right now.


Fix intermittent bug (Issue #26)

Same as https://github.com/lillichoung/guac-visualizer/pull/2 but base pointing to guacsec/guac-visualizer instead.
This fixes https://github.com/guacsec/guac-visualizer/issues/26
Also includes some GraphQL clean up

Does this in fact fix #26
Here is how I triggered the "TypeError: Cannot create property 'vx' on string '3'" message.
First, I started Guac from the most recent, I think, code:
make container
docker compose up --force-recreate

Next, I do not install the ./bin/guacone collect files ../guac-data/docs.  Instead, I did
docker sbom istio/examples-bookinfo-productpage-v1:1.16.2 --format spdx-json > /tmp/spdx/productpage.spdx.json
time ./bin/guaccollect files /tmp/spdx

I waited some time, perhaps half an hour.  guaccollect did not halt, but the Docker logs showed quite a bit of activity.
Then I did
./bin/guacone query known package "pkg:guac/spdx/istio/examples-bookinfo-productpage-v1-1.16.2"
+------------------------------------------------+
| Package Name Nodes                             |
+-----------+-----------+------------------------+
| NODE TYPE | NODE ID # | ADDITIONAL INFORMATION |
+-----------+-----------+------------------------+
+-----------+-----------+------------------------+
Visualizer url: http://localhost:3000/?path=4,3,2
+-----------------------------------------------------------------------------------------+
| Package Version Nodes                                                                   |
+-----------+-----------+-----------------------------------------------------------------+
| NODE TYPE | NODE ID # | ADDITIONAL INFORMATION                                          |
+-----------+-----------+-----------------------------------------------------------------+
| hasSBOM   | 394       | SBOM Download Location: file:////tmp/spdx/productpage.spdx.json |
+-----------+-----------+-----------------------------------------------------------------+
Visualizer url: http://localhost:3000/?path=5,4,3,2,394

I tried both Visualizer URLs in Python.  The first showed nothing, the second presented the "vx" error.  Then I went back to the first URL, and it also presented the "vx" error.

Thanks @esnible can confirm that the bug is still persistent. Looking more into it.


Build complaining about /homeless-shelter

[+] Building 362.2s (11/11) FINISHED                                                                                docker:colima
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load build definition from flake.nix                                                                                0.0s
 => => transferring dockerfile: 3.58kB                                                                                0.0s
 => resolve image config for ghcr.io/reproducible-containers/buildkit-nix:v0.1.1@sha256:7d4c42a5c6baea2b21145589afa85e0862625e6779c89488987266b85e088021                                            0.0s
 => CACHED docker-image://ghcr.io/reproducible-containers/buildkit-nix:v0.1.1@sha256:7d4c42a5c6baea2b21145589afa85e0862625e6779c89488987266b85e088021                                               0.0s
 => [internal] local dockerfile                                                                                0.1s
 => => transferring dockerfile: 866.43kB                                                                                0.1s
 => resolve image config for ghcr.io/reproducible-containers/buildkit-nix:v0.1.1@sha256:7d4c42a5c6baea2b21145589afa85e0862625e6779c89488987266b85e088021                                            0.0s
 => [internal] self image                                                                                0.0s
 => resolve image config for docker.io/nixos/nix:2.17.0@sha256:a186d0501304e87751280b7b6ad62b54b9d08b8c5c63b9752eac408e1159c340                                                                     0.0s
 => [internal] local context                                                                                0.1s
 => => transferring context: 866.43kB                                                                                0.1s
 => CACHED [internal] nix image                                                                                0.0s
 => ERROR /self/buildkit-nix helper --filename=flake.nix                                                                                352.3s
------
 > /self/buildkit-nix helper --filename=flake.nix:
0.232 time="2024-03-11T08:15:02Z" level=info msg="Populating cache from /cache into /nix"
0.237 time="2024-03-11T08:15:02Z" level=info msg="Running [nix --extra-experimental-features nix-command --extra-experimental-features flakes build --option build-users-group  /dockerfile] (flake mode: true)"
0.286 warning: Git tree '/dockerfile' is dirty
1.229 copying path '/nix/store/8rrzq23h2zq7sv5l2vhw44kls5w0f654-source' from 'https://cache.nixos.org'...
18.66 these 56 derivations will be built:
<snip>
352.1 error: home directory '/homeless-shelter' exists; please remove it to assure purity of builds without sandboxing
352.2 time="2024-03-11T08:20:54Z" level=fatal msg="exit status 1"
------
flake.nix:1
--------------------
   1 | >>> # syntax = ghcr.io/reproducible-containers/buildkit-nix:v0.1.1@sha256:7d4c42a5c6baea2b21145589afa85e0862625e6779c89488987266b85e088021
   2 |
   3 |     {
--------------------
ERROR: failed to solve: process "/self/buildkit-nix helper --filename=flake.nix" did not complete successfully: exit code: 1

docker system info:
Client:
 Version:    24.0.5
 Context:    colima
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.0
    Path:     /nix/store/bx6fxfbfjh99rqxwwr1g92ahpz4fgz3x-docker-plugins/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  2.23.1
    Path:     /nix/store/bx6fxfbfjh99rqxwwr1g92ahpz4fgz3x-docker-plugins/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 20
 Server Version: 24.0.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
 runc version: v1.1.10-0-g18a0cb0
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.5.0-21-generic
 Operating System: Ubuntu 23.10
 OSType: linux
 Architecture: aarch64
 CPUs: 2
 Total Memory: 5.772GiB
 Name: colima
 ID: <snip>
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

I can reproduce this when trying out examples/rust-httpserver-flake, by running nix flake update nixpkgs --override-flake nixpkgs github:NixOS/nixpkgs/3ce0ea52a0a71ac04f4ce0a2c8a629e02a4e6279, and then docker build -f flake.nix ..

Whether it is related to buildRustPackage or not (but you already mentioned in the edit it's working with upstream raw Nix image), it implies that there is setup issue somewhere.


MiM support SharePoint 2019

Article States that Mim is only supported in SharePoint 2016. Surely it's supported in SharePoint 2019?

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

ID: 3fce18fe-f0e9-a06d-1f5a-537d56b2895f
Version Independent ID: 3198803b-9b3d-a050-c9e7-94cf21130d4c
Content: Configure profile synchronization by using SharePoint Active Directory Import in SharePoint Server
Content Source: SharePoint/SharePointServer/administration/configure-profile-synchronization-by-using-sharepoint-active-directory-import.md
Product: sharepoint-server-itpro
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@BeVoK  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.


Correctly propogate retries

Right now if our vLLM server fails to spin up, we retry forever. This is because we're resetting the retry count every time we go through the start_server/check_connectivity loop. This fixes the issue.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

YAML Xlang Direct workflow is broken on master and not impacted here, merging


Files scattered, not following the format

The Java section's files are scattered, some are even duplicated.
I already made a PR to fix this, but like for real yesterday, I fixed some next day there's more. They didn't even put up the HR link in README.md
I hope the mods can double-check before approving PRs like that

@Silver077 Could you please point out the folders where there is this issue.

@Silver077 Thank you for arranging the files, it would be great if you continue to do so. That will be of great help.

No problem, I will continue to help out this repository (this helped me a lot).
I sorted some more files, didn't even notice how many duplicated lines there were last time.
https://github.com/swapnanildutta/Hackerrank-Codes/pull/338
Also, I am having a hard time passing the codacy auto-check due to:
[list-item-indent] Incorrect list-item indent: add 2 spaces
I followed the pattern and I still get the errors, I usually resolve it by adding a blank and delete it and doing it multiple times,
but I still can't figure out what is wrong.

Doesn't matter, there are some problems. Nevermind. I'll check the changes by myself.

Np, will continue to sort files


Fix Blind Messages Proof

I found something new from the Blind signature extension. I know that you are now focused on the core draft but I leave it here :)
In BlindMessagesProofGen:
https://github.com/decentralized-identity/bbs-signature/blob/5fba426d415b85b6156a0c001e605482bdf3b770/draft-blind-bbs-signatures.md?plain=1#L249
In BlindMessagesProofVerify:
https://github.com/decentralized-identity/bbs-signature/blob/5fba426d415b85b6156a0c001e605482bdf3b770/draft-blind-bbs-signatures.md?plain=1#L284
The values in c and cv are inconsistent: we should decide which one to follow.

c = hash(U || U~ || nonce) and cv = hash(U || U^ || nonce) + add U (known messages) as input parameter in BlindMessagesProofVerify
or
c = hash(commitment || U~ || nonce) and cv = hash(commitment || U^ || nonce)

P.S. I'm going to open a pull request to remove the unuseful escape chars and, if you want, update the draft to snake_case notation

Hey @alessandroguggino good catch, yes there are some inconsistencies, however you are right that our focus as a WG is primarily on the core draft right now. Feel free to open a PR to address any syntax inconsistencies anything broader we will address once the core draft is complete/stable.


Scroll down can execute irreversible INSERT/UPDATES after rollback

System information:

Operating system (distribution) and version
Windows 10 x64
DBeaver version
21.3.2
Additional extensions
none

Connection specification:

Database name and version
PostgreSQL 12
Driver name
JDBC
Do you use tunnels or proxies (SSH, SOCKS, etc)?
Yes (SSH)

Describe the problem you're observing:
When a results table has a limited fetch size and the user scrolls down, DBeaver runs the query again, presumably with an OFFSET ... LIMIT parameter.
However, it does so even when
(a) the query is not a SELECT but e.g. an UPDATE ... RETURNING command
(b) the original query happened inside a transaction that's no longer active
Either of these conditions should prevent DBeaver from running data modification queries after a simple scrolling.
Steps to reproduce, if exist:

Create a table t with a large number of rows (greater than the current result fetch size), e.g.:

select  *
into t
from generate_series(1, 1000) num;

Run the query:

begin;

update t set num = 2 * num returning *;

rollback;

Go to the results tab and scroll down past 200. DBeaver will re-run the UPDATE every time you scroll, without a transaction wrapper, quickly multiplying the contents of table t several times.

Check the state of the table:

select max(num) from t
-- result: 32000 or some other power of 2 * 1000, depending how long you scrolled

thanks for the report

Verified


Is MarshalGQL not referenced?

It seems like gqlgenc doesn't take MarshalGQL method into account.

schema

type Query {
  enumToNum(numer: Number!): Int!
}

enum Number @goModel(model: "github.com/zaneli/gql-test/enums.Number") {
    ONE
    TWO
}

enum implementation

package enums

import (
	"fmt"
	"io"
	"strconv"
)

type Number int64

const (
	NumberOne Number = 1
	NumberTwo Number = 2
)

func (n *Number) UnmarshalGQL(v interface{}) error {
	str, ok := v.(string)
	if !ok {
		return fmt.Errorf("enums must be strings")
	}

	switch str {
	case "ONE":
		*n = NumberOne
	case "TWO":
		*n = NumberTwo
	default:
		return fmt.Errorf("Number not found Type: %d", n)
	}
	return nil
}

func (n Number) MarshalGQL(w io.Writer) {
	var str string
	switch n {
	case NumberOne:
		str = "ONE"
	case NumberTwo:
		str = "TWO"
	}
	fmt.Fprint(w, strconv.Quote(str))
}

resolver

func (r *queryResolver) EnumToNum(ctx context.Context, numer enums.Number) (int, error) {
	return int(numer), nil
}

It works fine.

However, gqlgenc generated codes seem to not use MarshalGQL method.

test codes

func TestEnumToNum(t *testing.T) {
	httpCli := &http.Client{
		Transport:     nil,
		CheckRedirect: nil,
		Jar:           nil,
		Timeout:       30 * time.Second,
	}
	c := client.NewClient(httpCli, "http://localhost:8080/graphql", nil)

	ctx := context.Background()
	res, err := c.EnumToNum(ctx, enums.NumberOne)
	if err != nil {
		t.Fatal(err)
	}
	if res.EnumToNum != 1 {
		t.Fatalf("want 1, got %v", res.EnumToNum)
	}
}

result

--- FAIL: TestEnumToNum (0.00s)
    /Users/zaneli/go/src/github.com/zaneli/gql-test/tests/enum_to_num_test.go:25: {"networkErrors":{"code":422,"message":"Response body {\"errors\":[{\"message\":\"1 is not a valid Number\",\"path\":[\"variable\",\"numer\"],\"extensions\":{\"code\":\"GRAPHQL_VALIDATION_FAILED\"}}],\"data\":null}"},"graphqlErrors":[{"message":"1 is not a valid Number","path":["variable","numer"],"extensions":{"code":"GRAPHQL_VALIDATION_FAILED"}}]}

https://github.com/Yamashou/gqlgenc/blob/484c08b959ce132e110b0e74b7eb44eb396f6e36/clientv2/client.go#L185
{"query":"query EnumToNum ($numer: Number!) {\n\tenumToNum(numer: $numer)\n}\n","variables":{"numer":1},"operationName":"EnumToNum"}

I realized that there is a workaround to implement MarshalJSON method as well.
func (n Number) MarshalJSON() ([]byte, error) {
	b := new(bytes.Buffer)
	n.MarshalGQL(b)
	return b.Bytes(), nil
}

After implement MarshalJSON, TestEnumToNum succeeded.

@zaneli Thanks ! I'm glad to know about this issue. Currently, there are other issues with the parser, and I will try to fix them together with those issues.

I tried to use v0.21.1 and the problem does not appear to be fixed.
The following test fail.
{
	name: "marshal Request",
	args: args{
		v: &Request{
			Query:         `{ query(input: $input) }`,
			Variables:     map[string]interface{}{"input": NumberOne},
			OperationName: "Test",
		},
	},
	want: []byte(`{"query":"{ query(input: $input) }","variables":{"input":"ONE"},"operationName":"Test"}`),
},

--- FAIL: TestMarshalJSON (0.00s)
    --- FAIL: TestMarshalJSON/marshal_Request (0.00s)
        gqlgenc/clientv2/client_test.go:675: MarshalJSON() got = map[operationName:Test query:{ query(input: $input) } variables:map[input:1]], want map[operationName:Test query:{ query(input: $input) } variables:map[input:ONE]]

I also think there is a similar problem with unmarshalling.
I hope this test will be successful.
func TestUnmarshalGQL(t *testing.T) {
	c := &Client{}
	type Example struct {
		Name   string `json:"name"`
		Number Number `json:"number"`
	}
	var got Example
	if err := c.unmarshal([]byte(`{"data": {"name": "test", "number": "ONE"}}`), &got); err != nil {
		t.Fatalf("Failed to unmarshal: %v", err)
	}

	want := Example{
		Name:   "test",
		Number: NumberOne,
	}
	if !cmp.Equal(got, want) {
		t.Fatalf("c.unmarshal() got = %v, want %v", got, want)
	}
}

--- FAIL: TestUnmarshalGQL (0.00s)
    gqlgenc/clientv2/client_test.go:689: Failed to unmarshal: failed to decode data into response {"data": {"name": "test", "number": "ONE"}}: : : : : json: cannot unmarshal string into Go value of type clientv2.Number

@kyoh86 sorry.
I have not been able to finish my day job and have not gotten around to it. I have about 20% to complete.

@zaneli @kyoh86
https://github.com/Yamashou/gqlgenc/releases/tag/v0.23.2

I have verified that this problem has been fixed.
Thank you for fixing it!


New flag 'istioctl install --profile-from-cluster

Resolves https://github.com/istio/istio/issues/23443
The implementation is trivial because I did not want to introduce a bunch of changes to the operator.
The implementation: if the user specifies --profile-from-cluster, the profile is fetched, stored in a temporary file, and the temporary filename is prepended the the -f IstioOperator filename list.

@esnible: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
534614fd3322f650ab8b55fdba7b4ed0d3ca3a26
link
/test integ-pilot-k8s-tests_istio

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

I don't think it is exclusive
Naming: I leave it to UX group to litigate this. However I now feel it is not just the "profile". It is the effective profile instead of the "named profile" the user may have used during the initial installation . The "profile-from-cluster" conflates the two.

How about "use-previous-install-options-from-mesh", I am sure we can come up with a better name.
cc @richardwxn @ostromart @therealmitchconnors

I think it should merge with other options, --set or -f, but the order or priority would be a problem, the in-cluster profile should be base?
+1 to what @mandarjog said, the profile here is not equivalent to the built in installation profiles, might need a better name to avoid confusion.

/retest

This is getting more complicated :-(
There are following scenarios

Customer is using single revision and in-place upgrades. The feaures as-is protects the customer from inadvertent config changes.
Customer is has multiple revision control plane
a. Install a new revision using a previous revision as base
b. [ unlikely ] upgrade a revision in-place

1 and 2a can lead to problems, but only if the customer is not following good CI/CD with versioned config.
I think instead of supporting 2a it is better to push users towards gitops.
(1) is straightforward and useful for simple cases.

@esnible: PR needs rebase.

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

Closing to rework based on comments in the September 29 UX WG meeting

What does helm do?  Helm may tell you the diff.
We should do what helm does.
Probably a warning/confirmation
if the user is in the middle of a control plane canary, and does --profile-from-mesh without specifying --revision, we should abort


Table screen: some cells won't allow editing

See totalSpent on advertising screen

Fixed. When a property is new, it needs to be added to the list of cells.


[bug]: from_file documentation is ambiguous

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
No response
What happened?
You may read a series of prompts from standard input by providing a filename of -:
(invokeai) ~/stable-diffusion$ echo "a beautiful day" | python3 scripts/invoke.py --from_file -

This example doesn't show how to provide several prompts. Does it need any other arguments?
A better example would start with:
(invokeai) ~/stable-diffusion$ echo "a beautiful day" | "a rainy day" python3 scripts/invoke.py --from_file -
In addition, this feature requires to load the script/model every time it is being called. Not very practical. Consider migrating this to render group and/or implementing a proper render queue instead, which would tied up nicely with | operator/matrices
https://github.com/invoke-ai/InvokeAI/discussions/473
https://github.com/invoke-ai/InvokeAI/issues/566
https://github.com/invoke-ai/InvokeAI/issues/1008
Screenshots
No response
Additional context
No response
Contact Details
No response

Could anyone confirm how to use --from_file - with multiple prompts? Also, could this feature be used in interactive mode instead?
thank you,

Write a text file with one prompt per line. Name it my-prompts.txt. Then feed it into invoke.py like this:
invoke.py --from_file=my-prompts.txt

@lstein I'm talking about the other from_file function:

You may read a series of prompts from standard input by providing a filename of -:
(invokeai) ~/stable-diffusion$ echo "a beautiful day" | python3 scripts/invoke.py --from_file -


Registration Agency: TZ-NNCB

Hi Aidstream,
Please can the Registration Agency TZ-NNCB be added to Aidstream?
This is for the Tanzania National NGO Coordination Board - http://org-id.guide/list/TZ-NNCB.
Thank you,
Jahnvi

The Registration Agency TZ-NNCB has been added.
Thank you

Thank you!


Scanlibrary version

I want to question , what limit version android from this scanlibrary ?
i use this library, can only be used on the Android Lollipop version

minSdkVersion 19 and targetSdkVersion 28


[Flutter Tools] Should display a loading indicator / splash screen for web applications

While a Flutter Web application is loading the window will remain blank. This is especially problematic in slow environments as the user has no indication that something is happening for an extended period of time. We should display a loading / splash screen similar to what package:test provides.
cc @jonahwilliams @DanTup

Is the idea for a generic splash screen that would always show, or can it be conditioned on using the Dart Debug extension? Or more specifically, can we should a message/link for the Dart Debug extension if that's being used? (that would address #48803).

In my head, the way it would work is something like this:
In debug mode, regardless of whether we're targeting chrome or the web server, we inject some html into the index page that include some sort of loading indicator (i.e. animated svg, "loading ... "). The contents could be different based on the target device but long term I'm trying to support -d all which means we can't really assume 1 device - 1 server.
The index page is served from this handler: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/isolated/devfs_web.dart#L478 , which is where we could do some injection.
Now the other part is removing the loading indicator once its done. I think FW by default might replace whatever is on the document's body once it starts rendering. If not, you might need to configure the injected client to try to remove some well known element id once it is "Ready"

Is the idea for a generic splash screen that would always show, or can it be conditioned on using the Dart Debug extension?

I think it makes sense to always show. As for directing users to install the debug extension, I'm not sure.

Or more specifically, can we should a message/link for the Dart Debug extension if that's being used? (that would address #48803).

We could update the injected client to detect if the extension is installed. I'm not sure exactly how that can be done yet but I have some ideas. Especially after https://github.com/dart-lang/webdev/pull/1309 lands. However, I think we can make the process totally automatic, assuming the extension is installed.

I think FW might just blow away any loading indicator by default, I would see if that works first

The contents could be different based on the target device but long term I'm trying to support -d all which means we can't really assume 1 device - 1 server.

A slight tangent - but I'd be interested in discussing how this might work with IDEs in debug mode. Specifically, if the IDE is spawning only a single flutter process and has only a singe VM service, having two devices break in different locations seems problematic. Right now the way to debug on multiple devices is to do it in a way that spawns multiple Flutter processes (there's no reason we couldn't do it with one, but - for VS Code at least - it would be better to have a debug-session/vm-service per device).

We could update the injected client to detect if the extension is installed.

That sounds better than doing it in the loading stuff, yeah :-)

I think FW might just blow away any loading indicator by default, I would see if that works first

I added a loading message to my index.html and ran it, and it shows in the browser until I click the debug extension, then vanishes - so I think we're good :-) (Flutter did appear to apply some CSS to it in a flash before it vanished, but that's probably easily fixed).

Actually I thought about it a bit more, and I think rather than inject in the html (which would require parsing it in the tool), we could inject something in the entrypoint script. That would only be injected in debug mode sort of by definition.
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/web/bootstrap.dart#L16

@jonahwilliams how quickly would that run? One of the issues in some of the cloud environments I'm testing is that it can take 20+ seconds to load all the scripts in (this made it hard to know when you can click the extension - although @grouma has some changes that help with this). It would be most useful for the progress/loading indicator to be showing during that whole period - would having it in the entry script delay it until they're all loaded? (I'm not familiar with how the scripts are loaded, if this would still happen before they all load in, great!)

I think that one should load almost immediately - since it needs to kick off all of the other script loading, that said I would definitely check first. If its more than a second I definitely would stick with the html injection approach.

I think that one should load almost immediately - since it needs to kick off all of the other script loading

Ah, got it - that sounds fine then - I'll do some testing. Thanks!


Describe support

I'm thinking about migrating away from mocha as I'm having quite a lot of watcher issues lately. eg. tests are executed twice or three times. The only thing which is holding me back right now is the missing describe block. It would be nice to get this feature 😊

Thanks for reporting your feature request. I would be highly interested to learn more about the underlying purpose of your need?
Are you seeking for a setup/teardown (before, beforeEach, after, ...), for grouping the output.log or rather adding skip/only to a set of tests?
Cheers

It's basically a way to group tests together and have more readable output
describe('a function', () => {
  describe('with condition A', () => {
    it('is sorted ASC', () => {})
    it('contains numbers only', () => {})
    it('...', () => {})
  })
  describe('with condition B', () => {
    it('is sorted ASC', () => {})
    it('contains strings only', () => {})
    it('...', () => {})
  })
})

Thanks for clarifying.
I'm very much familiar with the describe and understand your need of grouping tests, therefore I will look into it in the upcoming days.
Cheers

@webpapaya I just wanted to leave you a headsup! I implemented a concept, which aims to bring a mocha compatible describe API to tropic. https://github.com/ddneat/tropic-describe-concept
Please stay tuned: I'm looking forward to bring it to tropic asap!
Cheers

@ddneat took a quick peek at the concept, maybe I missed something, but I think I don't see the nesting logic implemented.
I think (not 100% sure; if different would love to know) this is what mocha implements (implemented here too in ugly code: https://github.com/marcelbeumer/simple-mocha-replacement/blob/master/index.ts), so you'd have to keep track of hierarchy
# +: will run
# -: will not run
descr (+)
   describe.only (+)
       describe (+)
           before(+)
            it (-)
            it.only (+)
       describe.only (+)
            it (+)
            it (+)
   describe (-)
   describe (-)
      describe (-)
         it (-)

@marcelbeumer thanks for having a closer look! :)
You will find the nesting in https://github.com/ddneat/tropic-describe-concept/blob/master/usage.js#L23-L35 and the test in https://github.com/ddneat/tropic-describe-concept/blob/master/runner.test.js#L15-L19 However I'm note sure how useful nesting an suite within a test would be.
Also I agree that my concept is quite basic and is not covering every piece which would be necessary. Unfortunatly I have little resources for tropic available, I really hope to implement the describe functionality in the next week(s).
Your concept also seems promising! Thanks for sharing.
Cheers.


Bug when hiding implicitly implemented interface properties in derived classes

I have attached an example that reproduces the issue when built in release mode. The issue is present in both the stable release and the latest version from GIT.
InterfaceBug.zip
It seems to only happen when the interface is declared in another assembly, and they are being obfuscated at the same time

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Please provide more information on how to reproduce the issue. Merely the projects won't give me enough to investigate.

Okay. I reduced the testcase a bit more, but that only revealed that the implicit implementation part doesn't matter.
In assembly 1 there's this interface:
    public interface IIntf
    {
        int Count { get; }
    }

In assembly 2 there are these two classes:
    internal class Impl : IIntf
    {
        public int Count { get { return 0; } }
    }

    internal class Impl2 : Impl, IIntf
    {
        int IIntf.Count { get { return 1; } }
    }

Trying to use either of those through the IIntf interface like this:
Console.WriteLine((new Impl() as IIntf).Count);
Console.WriteLine((new Impl2() as IIntf).Count);

If not obfuscated it will print 0 and 1. If obfuscated it will cause a System.TypeLoadException saying:
Method 'get_Count' in type 'A.A' from assembly '...' does not have an implementation.
That is when compiled with VS 2017 V15.3.2, and with KeepPublicApi and HidePrivateApi set to true. And both assemblies added as modules in the Obfuscar project.
I attached some built files here. These are the pre-obfuscated ones where running the exe correctly prints 0 and 1.
Input.zip
Then running Obfuscar with the following configuration:
<?xml version='1.0'?>
<Obfuscator>
  <Var name="InPath" value=".\" />
  <Var name="OutPath" value=".\Obfuscator_Output" />

  <Var name="KeepPublicApi" value="true" />
  <Var name="HidePrivateApi" value="true" />

  <Module file="$(InPath)\InterfaceBug.exe" />
  <Module file="$(InPath)\InterfaceDef.dll" />
</Obfuscator>

Will yield the following broken exe:
Output.zip

Are you able to reproduce the issue with the information provided?
If I add if (method.IsSpecialName) return; in RenameMethod and RenameVirtualMethod the problem seems to disappear.
Another workaround is to just obfuscate one assembly at a time. That also seems to avoid the problem.

I met the same problem like this, with a public interface and internal interface and internal class. The property for the public interface is obfuscated which is wrong. But the method is correct not to be obfuscated.
`
public interface A
{
int Property { get; }
void Method();
}
internal interface B : A
{}
internal class C : B
{
// This property will obfuscated to other name, cause MissingMethodException.
public int Property
{
get { return 0; }
}
// This method is not be obfuscated because its a part of the public interface.
public void Method()
{}

}
`

Reimplemented the InheritMap class in 2.2.20 release to provide an initial fix of this issue. However, that class is a key component, so new bugs might come.


[Feature Request] [Un]Grayed Protected Branches do not dynamically update with option status

Great new 1.0.4 release with logs of bug fixes! Thanks!
One minor quibble:

On a repository with protected branches currently disabled, add a new protected branch. The branches show up as grayed out (as desired from earlier request).
Enable protected branches check box and click save.
View "Options successfully updated" green notification box.
Expect grayed-out branches to no longer be grayed out and message to no longer be present <=== Fails.
Reload page, works.
Uncheck "Enable Protected branches"
Expect non-grayed-out branches to gray out and show protected branch settings notification. <=== Fails
Reload page
Works as expected.

It seems as though there is no dynamic updating of the status of the protected branches on this page based on the checkbox "Enable Protected Branches"

It seems as though there is no dynamic updating of the status of the protected branches on this page based on the checkbox "Enable Protected Branches"

That's right.

I'm sorry but this feature won't be added as it involves a lot of code for a small result.
Note that you can 'refresh' tabs in repository edit view by switching tabs back and forth (it's Ajax calls behind).


PERMISSION: Capture permissions granted to public agents

The current implementation captures agents from predicate acl:agent. We may need to capture the permissions granted to public agent (objects of predicates foaf:Agent or acl:AuthenticatedAgent) when reading/revoking permissions, as per the Web ACL specification.

Hi Anushka, could you please share the content of pub-values.ttl.acl used in your screenshot here? I am struggling to construct an ACL file to test pull request #192. Thanks

pub-values.ttl.acl content
@prefix : <#>.
@prefix acl: http://www.w3.org/ns/auth/acl#.
@prefix foaf: http://xmlns.com/foaf/0.1/.
@prefix c: <card#>.
:owner
a acl:Authorization;
acl:accessTo <pub-values.ttl>;
acl:agent c:me;
acl:mode acl:Control, acl:Read, acl:Write.
:public
a acl:Authorization;
acl:accessTo <pub-values.ttl>;
acl:agentClass foaf:Agent;
acl:mode acl:Read, acl:Write.
:group
a acl:Authorization;
acl:accessTo <pub-values.ttl>;
acl:agentGroup <user-group.ttl>;
acl:mode acl:Read.

pub-values.ttl.acl content

Thanks Anushka for this.
It seems the python RDFLib cannot parse pub-values.ttl.acl. If I change the @Prefix to @prefix and @Prefix acl: http://www.w3.org/ns/auth/acl#. to @prefix acl: <http://www.w3.org/ns/auth/acl#>. (and similarly for foaf), it worked.
This might indicate the RDF parser employed by solidpod may not be compatible with python RDFLib.


Site not working in IE

https://make-a-changeweb-lkskcm7koq-uc.a.run.app/
The site is not working in Internet explorer. It just shows a blank page.

https://stackoverflow.com/questions/48148938/react-with-ie11-is-not-working-displaying-blank-screen
I found this fix. We have to try it.


Use libmakepkg

Since this package is used exclusively on systems where makepkg/pacman is available, it makes sense to use the existing library facilities rather than duplicate code. In particular:
https://github.com/Foxboron/devtools-repro/blob/master/repro.in#L44-L89
is available in /usr/share/libmakepkg/util/util.sh

Or not since this is supposed to "portable" or whatever.


add a minimal upload UI

IMPORTANT This PR includes #154, #157 and #159 so these need to be reviewed first.

This PR is a big one, sorry. It's already had some things broken out into other PRs which have been merged but it still touches a large number of areas.
The concept is that JWP provides the upload endpoint for us which we shuttle to the user's browser so that it is the user's and JWP's bandwidth which is used to upload the file, not ours. This poses a bit of a problem. The JWP management API is slow and so we want, in the fullness of time, the creation of a new media item resource in preparation for upload to schedule a JWP media item creation but not to actually have the creation API call on the critical path. The upshot of this is that the upload endpoint may not exist for a short period of time after we create the media item.
So, we separate upload endpoints from the rest of the media item as a separate resource and database model accessible under /api/media/upload. The process to upload a file is therefore:

The user creates a new media item by POST-ing to /api/media.
This, when we integrate a task runner, schedules an asynchronous task to create a new JWP video using the management API.
The user sets the media item metadata by PUT-ing or PATCH-ing to /api/media/id.
When the JWP video is created, a new upload endpoint object is created in the database.
Meanwhile the user polls /api/media/id/upload to see when the endpoint appears.
The user uploads a file to that endpoint.

This PR adds all the plumbing to make that happen.
The first bit of plumbing is to register post-save hooks on MediaItem and Permission which schedule synchronising those object back to the underlying JWP video. These same hooks also create a new JWP video if one does not already exist for a MediaItem.
The second bit of plumbing is to arrange for the upload endpoints created by JWP to be recorded in the database.
The third bit is to add an upload view to the API which shows which endpoints are associated with a given media item.
With all this plumbing in place, the remainder of this PR implements a simple upload UI in the frontend. This is quite a large change in itself but I've tried to keep the commits well commented and as small as possible.
Closes #143

Testing:

Got a "Mixed Content" error when using the HTTP upload endpoint.
No validation on title/description.


Add UDFs for String Transformation

Currently Pinot has UDF defined for all the math operators.  The same needs to be done for string operators.

@KKcorps was thinking to add the below string functions

string1 + string2 = Concatenates (joins) string1 and string2
string * x = Returns the characters from the range provided at x:y.
string[x:y] = Returns the characters from the range provided at x:y.
x in string = Returns True if x exists in the string. Can be multiple characters.
x not in string = Returns True if x does not exist in the string. Can be multiple characters.

is that what we are looking for?

Just fyi, there are String functions already implemented: https://github.com/apache/incubator-pinot/blob/master/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java
We can try to translate the operators to use those functions and adding missing functions.

@SandishKumarHN Functions for 1 and 3rd already exist. You can implement the rest in the class provided by @fx19880617

@fx19880617 @KKcorps will add those string functions in StringFunctions class

@fx19880617 @KKcorps will add those string functions in StringFunctions class


Fix default layout dock sizes

Use the same values found here: https://github.com/godotengine/godot/blob/master/editor/editor_node.cpp#L5501
Fixes #23284.

Thanks!

Thanks, sorry for missing that point.


[9.x] Fix foundation tests

This PR fixes some failed tests based on preg_match.

These tests aren't failing?

No, this test class will pass successfully.

Before the changes, the tests used to fail but not now


Storing custom.config in %appdata%

If I want to store my custom.config file in the %appdata% folder how do I reference it within an app.config file?  Using %appdata% or ${AppData} does not seem to work.  This is a widely used environmental variable, so there really should be a way.

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

ID: ea24ffb0-1e4a-4c73-c566-18b67e3bd69c
Version Independent ID: 1d1c4a41-9dfd-82f9-ed0c-993c45b16b25
Content: <appSettings> element for <configuration>
Content Source: docs/framework/configure-apps/file-schema/appsettings/appsettings-element-for-configuration.md
Product: dotnet-framework
GitHub Login: @rpetrusha
Microsoft Alias: mairaw

@DeltonLee
Hello! The app.config file doesn't expand environment variables. The docs for file attribute point out the following:

The path specified is relative to the main configuration file. For a Windows Forms application, this is the binary folder (such as /bin/debug), not the location of the application configuration file. For Web Forms applications, the path is relative to the application root, where the web.config file is located.

So this value has to be a relative path and an explicit value (not expanded via environment variables).
I'm going to close this question. Thanks!


BUG: action fails to run successfully.

Describe the bug
Error when trying to run:
#3 DONE 1.1s
#5 [internal] load build context
#5 transferring context: 124.31kB done
#5 DONE 0.0s
#6 [ 1/12] FROM docker.io/nikolaik/python-nodejs:python3.9-nodejs16@sha256:b83d7f7894b1f0f6642350a5223e1f0c3e698d01504c3b59a2032925a3be3bba
#6 resolve docker.io/nikolaik/python-nodejs:python3.9-nodejs16@sha256:b83d7f7894b1f0f6642350a5223e1f0c3e698d01504c3b59a2032925a3be3bba done
#6 sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570 0B / 49.56MB 0.1s
#6 sha256:b83d7f7894b1f0f6642350a5223e1f0c3e698d01504c3b59a2032925a3be3bba 1.61kB / 1.61kB done
#6 sha256:c642d6782cc094f60b2f2f7b8c35b9dc8e547fe76f92c6af6264880321da1756 2.21kB / 2.21kB done
#6 sha256:83cbc619b418e617beb6b94c962a1f30079117e19b9859cf597b2adbd73ee9dc 9.18kB / 9.18kB done
#6 sha256:d31b0195ec5f04dfc78eca9d73b5d223fc36a29f54ee888bc4e0615b5839e692 0B / 24.03MB 0.1s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 0B / 64.11MB 0.1s
#6 sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570 42.69MB / 49.56MB 0.3s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 12.81MB / 64.11MB 0.3s
#6 sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570 49.56MB / 49.56MB 0.4s
#6 sha256:d31b0195ec5f04dfc78eca9d73b5d223fc36a29f54ee888bc4e0615b5839e692 13.63MB / 24.03MB 0.4s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 27.26MB / 64.11MB 0.4s
#6 extracting sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570
#6 sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570 49.56MB / 49.56MB 0.4s done
#6 sha256:d31b0195ec5f04dfc78eca9d73b5d223fc36a29f54ee888bc4e0615b5839e692 24.03MB / 24.03MB 0.5s done
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 42.81MB / 64.11MB 0.5s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 0B / 211.03MB 0.5s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 57.67MB / 64.11MB 0.6s
#6 sha256:9c94b131279a02de1f5c2eb72e9cda9830b128840470843e0761a45d7bebbefe 0B / 6.39MB 0.6s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 64.11MB / 64.11MB 0.8s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 37.75MB / 211.03MB 0.8s
#6 sha256:9c94b131279a02de1f5c2eb72e9cda9830b128840470843e0761a45d7bebbefe 6.39MB / 6.39MB 0.8s
#6 sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 64.11MB / 64.11MB 0.9s done
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 53.48MB / 211.03MB 0.9s
#6 sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 0B / 15.82MB 0.9s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 71.95MB / 211.03MB 1.0s
#6 sha256:9c94b131279a02de1f5c2eb72e9cda9830b128840470843e0761a45d7bebbefe 6.39MB / 6.39MB 0.9s done
#6 sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 1.05MB / 15.82MB 1.0s
#6 sha256:836bdd8516b830a8609290f312e3c2a133d4e30027cf3e95c812acfc40bcf85a 0B / 245B 1.0s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 85.98MB / 211.03MB 1.1s
#6 sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 15.82MB / 15.82MB 1.1s
#6 sha256:836bdd8516b830a8609290f312e3c2a133d4e30027cf3e95c812acfc40bcf85a 245B / 245B 1.0s done
#6 sha256:e1bb02cffbaf6a1a713ff2debe7763c24cff2b14c8b5a65bcf81ec94eb5d0408 0B / 2.85MB 1.1s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 102.76MB / 211.03MB 1.2s
#6 sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 15.82MB / 15.82MB 1.2s done
#6 sha256:e1bb02cffbaf6a1a713ff2debe7763c24cff2b14c8b5a65bcf81ec94eb5d0408 2.85MB / 2.85MB 1.2s done
#6 sha256:c87093576f95a11c2ff54ab222576232c025b2b8df204176c6f46a17356d3fdf 0B / 3.33kB 1.2s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 0B / 105.45MB 1.2s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 120.14MB / 211.03MB 1.3s
#6 sha256:c87093576f95a11c2ff54ab222576232c025b2b8df204176c6f46a17356d3fdf 3.33kB / 3.33kB 1.3s done
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 132.12MB / 211.03MB 1.4s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 13.63MB / 105.45MB 1.4s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 147.85MB / 211.03MB 1.5s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 19.92MB / 105.45MB 1.5s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 163.58MB / 211.03MB 1.6s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 32.51MB / 105.45MB 1.6s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 196.08MB / 211.03MB 1.8s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 59.77MB / 105.45MB 1.8s
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 211.03MB / 211.03MB 1.9s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 75.49MB / 105.45MB 1.9s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 90.18MB / 105.45MB 2.0s
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 105.45MB / 105.45MB 2.1s
#6 extracting sha256:de4cac68b6165c40cf6f8b30417948c31be03a968e233e55ee40221553a5e570 2.3s done
#6 sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 211.03MB / 211.03MB 2.6s done
#6 sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 105.45MB / 105.45MB 3.1s done
#6 extracting sha256:d31b0195ec5f04dfc78eca9d73b5d223fc36a29f54ee888bc4e0615b5839e692 0.1s
#6 extracting sha256:d31b0195ec5f04dfc78eca9d73b5d223fc36a29f54ee888bc4e0615b5839e692 0.5s done
#6 extracting sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f
#6 extracting sha256:9b1fd34c30b75e7edb20c2fd09a9862697f302ef9ae357e521ef3c84d5534e3f 2.2s done
#6 extracting sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b
#6 extracting sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 5.0s
#6 extracting sha256:c485c4ba383179db59368a8a4d2df3e783620647fe0b014331c7fd2bd8526e5b 5.8s done
#6 extracting sha256:9c94b131279a02de1f5c2eb72e9cda9830b128840470843e0761a45d7bebbefe
#6 extracting sha256:9c94b131279a02de1f5c2eb72e9cda9830b128840470843e0761a45d7bebbefe 0.3s done
#6 extracting sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 0.1s
#6 extracting sha256:252df837ef06ac2aadacaf5ac983dd3c507c953c46e4e90ba8f2246704e95c50 0.4s done
#6 extracting sha256:836bdd8516b830a8609290f312e3c2a133d4e30027cf3e95c812acfc40bcf85a
#6 extracting sha256:836bdd8516b830a8609290f312e3c2a133d4e30027cf3e95c812acfc40bcf85a done
#6 extracting sha256:e1bb02cffbaf6a1a713ff2debe7763c24cff2b14c8b5a65bcf81ec94eb5d0408 0.1s
#6 extracting sha256:e1bb02cffbaf6a1a713ff2debe7763c24cff2b14c8b5a65bcf81ec94eb5d0408 0.2s done
#6 extracting sha256:c87093576f95a11c2ff54ab222576232c025b2b8df204176c6f46a17356d3fdf done
#6 extracting sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 0.1s
#6 extracting sha256:fa6425f69031f296728f762ddafafefe806906fdda0a7802ce97ef0febe26561 4.0s done
#6 DONE 20.2s
#7 [ 2/12] ADD requirements.txt /requirements.txt
#7 DONE 0.0s
#8 [ 3/12] ADD main.py /main.py
#8 DONE 0.0s
#9 [ 4/12] ADD loc.py /loc.py
#9 DONE 0.0s
#10 [ 5/12] ADD make_bar_graph.py /make_bar_graph.py
#10 DONE 0.0s
#11 [ 6/12] ADD colors.json /colors.json
#11 DONE 0.0s
#12 [ 7/12] ADD translation.json /translation.json
#12 DONE 0.0s
#13 [ 8/12] RUN python -m pip install --upgrade pip wheel setuptools
#13 0.495 Requirement already satisfied: pip in /usr/local/lib/python3.9/site-packages (23.2.1)
#13 0.602 Collecting pip
#13 0.602   Obtaining dependency information for pip from https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl.metadata
#13 0.635   Downloading pip-24.0-py3-none-any.whl.metadata (3.6 kB)
#13 0.638 Requirement already satisfied: wheel in /usr/local/lib/python3.9/site-packages (0.41.2)
#13 0.678 Collecting wheel
#13 0.678   Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl.metadata
#13 0.681   Downloading wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
#13 0.684 Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (68.1.2)
#13 0.941 Collecting setuptools
#13 0.941   Obtaining dependency information for setuptools from https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl.metadata
#13 0.946   Downloading setuptools-69.5.1-py3-none-any.whl.metadata (6.2 kB)
#13 0.994 Downloading pip-24.0-py3-none-any.whl (2.1 MB)
#13 1.045    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 43.4 MB/s eta 0:00:00
#13 1.049 Downloading wheel-0.43.0-py3-none-any.whl (65 kB)
#13 1.053    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 23.9 MB/s eta 0:00:00
#13 1.058 Downloading setuptools-69.5.1-py3-none-any.whl (894 kB)
#13 1.071    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 894.6/894.6 kB 81.3 MB/s eta 0:00:00
#13 1.230 Installing collected packages: wheel, setuptools, pip
#13 1.231   Attempting uninstall: wheel
#13 1.231     Found existing installation: wheel 0.41.2
#13 1.236     Uninstalling wheel-0.41.2:
#13 1.239       Successfully uninstalled wheel-0.41.2
#13 1.288   Attempting uninstall: setuptools
#13 1.288     Found existing installation: setuptools 68.1.2
#13 1.320     Uninstalling setuptools-68.1.2:
#13 1.352       Successfully uninstalled setuptools-68.1.2
#13 1.872   Attempting uninstall: pip
#13 1.873     Found existing installation: pip 23.2.1
#13 1.938     Uninstalling pip-23.2.1:
#13 1.950       Successfully uninstalled pip-23.2.1
#13 3.113 Successfully installed pip-24.0 setuptools-69.5.1 wheel-0.43.0
#13 3.113 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager.  It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#14 DONE 15.4s
#15 [10/12] RUN npm -g config set user root
#15 DONE 0.5s
#16 [11/12] RUN npm i -g npm@latest
#16 0.625 npm ERR! code EBADENGINE
#16 0.626 npm ERR! engine Unsupported engine
#16 0.626 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>#16 0.627 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>#16 0.627 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
#16 0.627 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
#16 0.628
#16 0.628 npm ERR! A complete log of this run can be found in:
#16 0.628 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_17_098Z-debug-0.log
#16 ERROR: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1
------
 > [11/12] RUN npm i -g npm@latest:
 EBADENGINE
0.626 npm ERR! engine Unsupported engine
0.626 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>0.627 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>0.627 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
0.627 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
0.628
0.628 npm ERR! A complete log of this run can be found in:
0.628 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_17_098Z-debug-0.log
------
Dockerfile:15
--------------------
  13 |     RUN pip install -r requirements.txt
  14 |     RUN npm -g config set user root
  15 | >>> RUN npm i -g npm@latest
  16 |     RUN npm i -g vega vega-lite vega-cli canvas
  17 |
--------------------
ERROR: failed to solve: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1
Warning: Docker build failed with exit code 1, back off 1.434 seconds before retry.
/usr/bin/docker build -t 7caf9a:33dba442ab14471f9b23d8ca78d40128 -f "/home/runner/work/_actions/miermontoto/waka-readme-stats/master/Dockerfile" "/home/runner/work/_actions/miermontoto/waka-readme-stats/master"
#0 building with "default" instance using docker driver
#1 [internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 567B done
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/nikolaik/python-nodejs:python3.9-nodejs16
#3 DONE 0.3s
#4 [ 1/12] FROM docker.io/nikolaik/python-nodejs:python3.9-nodejs16@sha256:b83d7f7894b1f0f6642350a5223e1f0c3e698d01504c3b59a2032925a3be3bba
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 198B done
#5 DONE 0.0s
#6 [ 3/12] ADD main.py /main.py
#6 CACHED
#7 [ 7/12] ADD translation.json /translation.json
#7 CACHED
#8 [ 8/12] RUN python -m pip install --upgrade pip wheel setuptools
#8 CACHED
#9 [ 6/12] ADD colors.json /colors.json
#9 CACHED
#10 [ 9/12] RUN pip install -r requirements.txt
#10 CACHED
#11 [ 2/12] ADD requirements.txt /requirements.txt
#11 CACHED
#12 [ 4/12] ADD loc.py /loc.py
#12 CACHED
#13 [ 5/12] ADD make_bar_graph.py /make_bar_graph.py
#13 CACHED
#14 [10/12] RUN npm -g config set user root
#14 CACHED
#15 [11/12] RUN npm i -g npm@latest
#15 0.589 npm ERR! code EBADENGINE
#15 0.590 npm ERR! engine Unsupported engine
#15 0.591 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>#15 0.591 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>#15 0.591 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
#15 0.591 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
#15 0.592
#15 0.592 npm ERR! A complete log of this run can be found in:
#15 0.592 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_19_670Z-debug-0.log
#15 ERROR: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1
------
 > [11/12] RUN npm i -g npm@latest:
0.589 npm ERR! code EBADENGINE
0.590 npm ERR! engine Unsupported engine
0.591 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>0.591 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>0.591 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
0.591 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
0.592
0.592 npm ERR! A complete log of this run can be found in:
0.592 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_19_670Z-debug-0.log
------
Dockerfile:15
--------------------
  13 |     RUN pip install -r requirements.txt
  14 |     RUN npm -g config set user root
  15 | >>> RUN npm i -g npm@latest
  16 |     RUN npm i -g vega vega-lite vega-cli canvas
  17 |
--------------------
ERROR: failed to solve: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1
Warning: Docker build failed with exit code 1, back off 9.871 seconds before retry.
/usr/bin/docker build -t 7caf9a:33dba442ab14471f9b23d8ca78d40128 -f "/home/runner/work/_actions/miermontoto/waka-readme-stats/master/Dockerfile" "/home/runner/work/_actions/miermontoto/waka-readme-stats/master"
#0 building with "default" instance using docker driver
#1 [internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 567B done
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/nikolaik/python-nodejs:python3.9-nodejs16
#3 DONE 0.3s
#4 [ 1/12] FROM docker.io/nikolaik/python-nodejs:python3.9-nodejs16@sha256:b83d7f7894b1f0f6642350a5223e1f0c3e698d01504c3b59a2032925a3be3bba
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 198B done
#5 DONE 0.0s
#6 [ 3/12] ADD main.py /main.py
#6 CACHED
#7 [ 7/12] ADD translation.json /translation.json
#7 CACHED
#8 [ 4/12] ADD loc.py /loc.py
#8 CACHED
#9 [ 8/12] RUN python -m pip install --upgrade pip wheel setuptools
#9 CACHED
#10 [ 9/12] RUN pip install -r requirements.txt
#10 CACHED
#11 [ 2/12] ADD requirements.txt /requirements.txt
#11 CACHED
#12 [ 5/12] ADD make_bar_graph.py /make_bar_graph.py
#12 CACHED
#13 [ 6/12] ADD colors.json /colors.json
#13 CACHED
#14 [10/12] RUN npm -g config set user root
#14 CACHED
#15 [11/12] RUN npm i -g npm@latest
#15 0.591 npm ERR! code EBADENGINE
#15 0.592 npm ERR! engine Unsupported engine
#15 0.593 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>#15 0.593 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>#15 0.593 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
#15 0.593 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
#15 0.595
#15 0.595 npm ERR! A complete log of this run can be found in:
#15 0.595 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_30_655Z-debug-0.log
#15 ERROR: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1
------
 > [11/12] RUN npm i -g npm@latest:
 EBADENGINE
0.592 npm ERR! engine Unsupported engine
0.593 npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>0.593 npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>0.593 npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
0.593 npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
0.595
0.595 npm ERR! A complete log of this run can be found in:
0.595 npm ERR!     /root/.npm/_logs/2024-04-26T18_59_30_655Z-debug-0.log
------
Dockerfile:15
--------------------
  13 |     RUN pip install -r requirements.txt
  14 |     RUN npm -g config set user root
  15 | >>> RUN npm i -g npm@latest
  16 |     RUN npm i -g vega vega-lite vega-cli canvas
  17 |
--------------------
ERROR: failed to solve: process "/bin/sh -c npm i -g npm@latest" did not complete successfully: exit code: 1

Error: Docker build failed with exit code 1

To Reproduce
Configured the action as follows:
name: Waka Readme

on:
  schedule:
    # Runs at 12am IST
    - cron: '30 18 * * *'
  workflow_dispatch:
jobs:
  update-readme:
    name: Update Readme with Metrics
    runs-on: ubuntu-latest
    steps:
      - uses: miermontoto/waka-readme-stats@master
        with:
          WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }}
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
          SHOW_PROJECTS: "False"

Expected behavior
Expected action to run successfully.
Github repository link
https://github.com/mikebronner/mikebronner

Was really hoping this would work, since the original project by https://github.com/anmol098/waka-readme-stats has not worked for me for over a year.


Extract multiple tables from the same XML file

Hello,
I would like to parse this XML file and obtain 2 spark Dataset:

table1 only with <Obs> elements under <Table1> tag
table2 only with <Obs> elements under <Table2> tag

I'm having issues reading this kind of XML to obtain two distinct spark dataframes
<Root>
  <Report>
      <Table1>
          <Obs field1="a" field2="b"></Obs>
          <Obs field1="a" field2="b"></Obs>
          <Obs field1="a" field2="b"></Obs>
          <Obs field1="a" field2="b"></Obs>
      </Table1>
      <Table2>
          <Obs field3="a" field4="b"></Obs>
          <Obs field3="a" field4="b"></Obs>
          <Obs field3="a" field4="b"></Obs>
          <Obs field3="a" field4="b"></Obs>
      </Table2>
  <Root>
<Report>```

My code actualy looks like

  val table1 = session.read
    .format("com.databricks.spark.xml").option("rootTag","Table1").option("rowTag","Obs")
    .load("file.xml")

  val table2 = session.read
    .format("com.databricks.spark.xml").option("rootTag","Table1").option("rowTag","Obs")
    .load("file.xml")

but instead of 2 distinct tables with 4 record with each 2 columns, I get each time 1 tables with 8 records and 4 columns, as if it didn't take only rows under the root tag ....

rootTag does nothing here. You want to set rowTag to Table1 in one case, and Table2 in the other. You get an array-valued Obs column then. You can also set Root to the rowTag and get both at once.


Added Peru ID (CUI) validator

resolve #96
It includes the validator and unit tests.

All done. Thanks for the lessons xD

It's looking good from my end!
Just needs @JoaoFSCruz to come take a look


Cell Coloring and raytracing not working as expected

Describe the bug
Cell scalar coloring is not working as expected when using raytracing
To Reproduce
Steps to reproduce the behavior:

Open the file using f3d --dry-run f3d.stp  -csr
Incorrect rendering (color actually seems random)

Expected behavior

System Information:

OS: ArchLinux

F3D Information
Paste the content of f3d --version: 2.3.0-RC3
Additional context
Maybe related to https://github.com/f3d-app/f3d/issues/464 ?

fyi @demarle


V3 add erlang (escript), elixir, and osabie

Added erlang (escript), elixir, and osabie
Fixed ruby args
Elixir/osabie show encoding warning on run/test. We'll need to see how we can get around that.

Fixes #118
Fixes #104

Seems to have built correctly


No option to exclude specific projects

rust-analyzer in VSCode allows me to specify directories to be excluded during indexing using the setting: rust-analyzer.files.excludeDirs
lapce-rust currently lacks this setting.
I have one project, which will always fail compilation in a default environment. If this directory is not excluded specifically, the extension will not start up correctly and all the other projects in the workspace will not get LSP features.

You can set lapce-rust.configuration.files.excludeDirs

Interesting...
Are all of the settings the VSCode plugin offers also available using these configuration strings?
Is there a documentation of the supported ones?
I was just confused, since there were almost no settings available in the UI.
Thanks a lot :)

Is there a documentation of the supported ones?

https://rust-analyzer.github.io/manual.html#configuration

Are all of the settings the VSCode plugin offers also available using these configuration strings?

Everything that rust-analyzer provides is available.


New project introduction

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
How is this PR tested:

[ ] unit test
[ ] e2e test
[ ] other (please specify)

Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

@rachelzhang0922 also please sync with main to address conflicts


Align weekly benchmark resources with SaaS clusterplan resources

Description
In order to get SaaS-relatable results out of the weekly benchmarks it would be beneficial to use the same resource setup for all components in the weekly benchmarks as in the S or M clusterplan.

Not urgent at this moment as we're wrapping up the year, let's look into it again next year.


Added new country kosovo, added few more names for countries

Thanks for the PR. Sorry for being slow on this. I'm a little out of the dev game and travelling a lot.

Hey, Thanks a lot for merging with main branch. It's understandable. Enjoy your travelling. Meanwhile if i find another issue i'll try to solve and create new pull request. Thanks.


fix: Fix azure-pipelines' endOfLine

CRLF -> LF

Nice find 👏
I wonder how we shall prevent such issues in the future? I know there was a previous discussion on adding .editorconfig, which could have helped to ensure we're using LF.
Prettier also runs on each pre-commit event, but currently not on *.yml files.
https://github.com/facebook/create-react-app/blob/8e761d19d14f47afdbbcfa6e19ed50c8ea1a63f4/package.json#L52-L56
What do you think @MichaelDeBoey?

@tobiasbueschel I've added a .gitattributes file and also changed the lint-staged config

@iansu This one can be merged 🙂

@ianschmitz @iansu @mrmckeb This one can be merged 🙂


Create MPC mode using footstep projections under hip instead of local footstep planner

This mode is enabled by default in mpc_controller.cpp. There are two separate functions to update the system dynamics at each step, one that takes footstep locations and one that doesn't. Either can be called, they can be interchanged, anything. All that's happening under the hood is the function profile that doesn't accept footstep locations just creates a footstep matrix and passes that and the rest of the args to the other (original) function.


Won't install in Safari 13

Hi,
Safari extension won't install.
It gets as far as

and clicking that big blue button does nothing

Same issue. Seems nobody is following these issues reported... Should I ask for refund?

I have done some digging into this, and see https://github.com/deathau/markdownload/issues/7#issuecomment-865489058 for the full response, but the tl;dr is it seems like a Big Sur issue and I can't upgrade on my equipment to debug further.
@kTag you're well within your rights to request a refund (you bought a thing and it doesn't work!), though I don't actually know how / if that's possible through the Apple App store, and I'll have to look into that also.

Thanks for the quick reply.
So you mean it’s really a Safari issue right?
Let me try to see if it works for other browsers. I don’t see any issue trying to use a dedicated browser for that extension.

On 9 Jul 2021, at 14:39, deathau @.***> wrote:

I have done some digging into this, and see #7 (comment) for the full response, but the tl;dr is it seems like a Big Sur issue and I can't upgrade on my equipment to debug further.
@kTag you're well within your rights to request a refund (you bought a thing and it doesn't work!), though I don't actually know how / if that's possible through the Apple App store, and I'll have to look into that also.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I can confirm it works, thanks for the update!

On 6 Oct 2021, at 14:25, deathau @.***> wrote:
So I now have a new mac mini with Big Sur installed 🎉
I can replicate the issue with the big blue button doing nothing, but the extension still installed correctly. Opening Safari prompted me to enable it, it asked for permissions, and everything seemed to work fine.
I then uninstalled it and re-installed, and it didn't prompt me for anything in safari, but it was all enabled from the previous install. I just had to add it manually from the extension preferences.
I took a screen recording of that second time to demonstrate, but I used QuickTime, and the file is > 10MB so I can't upload it here...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/deathau/markdownload/issues/76#issuecomment-935563038, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGVSRJQKUO6QFUYTI7J4D3UFPTVVANCNFSM43FYLMLA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


x[..] slice

Fixes #365
I went with the CoffeeScript approach of just allowing .., not ..., to avoid conflict with spreads, though we could add both...

I think we should also add ... to be more compatible with CoffeeScript. We can also add a &( __ CloseBracket ) assertion to avoid a potential spread conflict.

Thanks for taking care of this. I don't think &( __ CloseBracket ) is necessary because SliceParameters is only used within MemberBracketContent. I'd actually worry more about content beforehand, like foo..., but that's not possible in MemberBracketContent.


W-13067865-Update-tls-configuration

Adding different example that worked for me.

Hi, @tiagoeck. Thanks for the contribution! We will look into it in one of the upcoming sprints.


Does LIBSPDM verifies all the certificates in the certificate chain?

For example, A certificate chain has three certificates, one is root, next is intermediate and last one is leaf certificate.
I see for root certificate, LIBSPDM just makes sure the subject name and issuer name should match. Is this enough to check for the root certificate? Will it be not compared against CA or some known good public key or public key hash?
I see for intermediate certificate, LIBSPDM verifies the intermediate certificate signature against the root public key which I see establish the trust between them. This is ok.
For the last certificate, which is leaf, it just makes sure all the x509 certificate attributes are present and all has valid values. It doesn't verifies the leaf certificate signature against the intermediate certificate. How the chain of trust is established between intermediate certificate and leaf certificate then?

we can document that in https://github.com/DMTF/libspdm/blob/main/doc/api/requester_api.md.

Just for clarification, can you confirm that LIBSPDM doesn't validate the signature of the leaf certificate in the case mentioned?

https://github.com/DMTF/libspdm/blob/451002061874c3b606237b3ce3dc94066682ad6e/include/hal/library/cryptlib/cryptlib_cert.h#L248-L269 validates the integrity of signatures of the chain, including the leaf certificate.

I saw the LIBSPDM code, it does verify all the certificates present in the certificate chain. For, root certificate, it makes sure the subject name and issuer name should match and for the certificate that is just after the root certificate, it makes sure it is trusted against root certificate. For the last certificate, which is leaf, it just makes sure all the x509 certificate attributes are present and all has valid values.
The above things are mandatory to verify the certificate chain other then verifying the signature?

There's nothing in the specification that mandates what a Requester should do when validating the Responder's certificate chain, only recommendations. The specification mandates that the Responder needs to have certain fields present in the x.509 leaf certificate, so libspdm checks that they exist, even if doesn't do anything with a specific field.

Field
Description

Version
Version of the encoded certificate shall be present and shall be 3 (encoded as value 2).

Serial Number
CA-assigned serial number shall be present with a positive integer value.

Signature Algorithm
Signature algorithm that CA uses shall be present.

Issuer
CA distinguished name shall be specified.

Subject Name
Subject name shall be present and shall represent the distinguished name associated with the leaf certificate.

Validity
See Certificate validity details, and RFC5280.

Subject Public Key Info
Device public key and the algorithm shall be present.

Key Usage
Shall be present and key usage bit for digital signature shall be set.

The above table you took it from which spec? Is it SPDM spec or x509 spec?


Responsive login page

responsive login UI up and running on all screens

@sowunmi-mayowa can you run make format and then squash all the commits into one

Looking into how i can run make command already
i'll push the updates soon

@sowunmi-mayowa if you are using windows, you should use wsl

Alright thank you
I have wsl installed already, I’ll work on it

this is the error i've been etting

@sowunmi-mayowa you can run npm run format at the directory which contains package.json

@sowunmi-mayowa thanks, if you like the project, please give it a star.

you're welcome @yp969803


Several Windows Bugs Still in 4.0 b2

Love this plugin, it's crucial for me as I wish to support Gamepad and Dpad remote support for a Windows app and the native picker doesn't allow this. There are still sever bugs which prevent me from using it in production. I've attached a video showing them and the sample project.
filesystem_test_project.zip
https://user-images.githubusercontent.com/16900871/219255302-cac960ed-1517-4096-a94f-7dc47643d837.mp4

@seanocali Can you also provide the output of the flutter doctor -v command, as well as the version of your operating system?

Windows 11 Pro
10.0.22000 Build 22000
[√] Flutter (Channel stable, 3.7.3, on Microsoft Windows [Version 10.0.22000.1574], locale en-US)
    • Flutter version 3.7.3 on channel stable at C:\Users\seano\source\repos\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (11 days ago), 2023-02-08 15:46:04 -0800
    • Engine revision 248290d6d5
    • Dart version 2.19.2
    • DevTools version 2.20.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\seano\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.4)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.4.33213.308
    • Windows 10 SDK version 10.0.22000.0

[√] Android Studio (version 2022.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[√] VS Code (version 1.75.0)
    • VS Code at C:\Users\seano\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22000.1574]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 110.0.5481.96
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 110.0.1587.41

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Fixed in 4.0.0-beta.3


Rewrite for v2 robins mods

Once more!
Hey Andre.
How about this attempt to remove the raw asm code ?
Thanks,
Robin

As agreed offline, I am closing this one.
It is intended to be a dedicated lesson to exchange the inline assembly with Rust code from the cortex-a crate and explain the benefits of having such crates to the reader.