ImportError: No module named idawasm.loader

E:\IDA_Pro_v7.0_Portable\loaders\wasm_loader.py: No module named idawasm.loader
Traceback (most recent call last):
  File "E:\IDA_Pro_v7.0_Portable\python\ida_idaapi.py", line 553, in IDAPython_ExecScript
    execfile(script, g)
  File "E:/IDA_Pro_v7.0_Portable/loaders/wasm_loader.py", line 1, in <module>
    import idawasm.loader
ImportError: No module named idawasm.loader
E:\IDA_Pro_v7.0_Portable\loaders\wasm_loader.py: No module named idawasm.loader
Traceback (most recent call last):
  File "E:\IDA_Pro_v7.0_Portable\python\ida_idaapi.py", line 553, in IDAPython_ExecScript
    execfile(script, g)
  File "E:/IDA_Pro_v7.0_Portable/loaders/wasm_loader.py", line 1, in <module>
    import idawasm.loader
ImportError: No module named idawasm.loader

PROCESSOR_ENTRY: E:\IDA_Pro_v7.0_Portable\procs\wasm_proc.py: No module named idawasm.processor
Traceback (most recent call last):
File "E:\IDA_Pro_v7.0_Portable\python\ida_idaapi.py", line 584, in IDAPython_LoadProcMod
procmod = imp.load_module(procmod_name, fp, pathname, description)
File "E:/IDA_Pro_v7.0_Portable/procs\wasm_proc.py", line 1, in
import idawasm.processor  # NOQA: F401 imported but unused
ImportError: No module named idawasm.processor

looks like the package is not installed correctly. did you follow the installation steps listed in the readme?

yes.I try to use python to run wasm_loader.py. when I import firist line(import idawasm.loader),it tell me No module named idaapi
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import idawasm.loader
Traceback (most recent call last):
File "", line 1, in
File "build\bdist.win-amd64\egg\idawasm\loader.py", line 9, in
ImportError: No module named idaapi

I move ida_idaapi.py to python libs but it doesn't work. I am no idea to deal with it

you need to install this package (...python setup.py install) using the python interpreter that IDA uses. you won't be able to load the module from a python prompt because things like idaapi are only available within IDA. you should be able to do import idawasm from within IDA if things are working correctly. I would verify that the path that IDA uses (sys.path) matches the installation of python that you've been using.

thanks.I had slove this. My ida has its own python. I add it to system path but not work.I use Absolute Path（D;\ida\python27\python.exe setup.py install）solve this

thank you, i solve the problem


HSEARCH-2488 Throw an exception with a clear message when field bridges bypass @IndexedEmbedded prefixes with Elasticsearch

https://hibernate.atlassian.net/browse/HSEARCH-2488

merged


Adding QueryServiceControl interface, to handle registration

and mocking of the query service. Still needs some cleanup,
but it's a good time to get a review.
@sougou @enisoc @aaijazi @yaoshengzhe

Generally LGTM

Ready to merge this, I added a unit test that exposes the bug, now will work on the fix after merging this back. Will wait for Ammar's tricky import before merging and importing.


Requested hosts aren't allowed

When I specify a host that I want to use (because some API webhooks I want to use are tied to that hostname specified by proxylocal) I am unable to do so and get the message:
Requested hosts aren't allowed
Connection has been terminated
Why is this? Have I been blacklisted or something?

...ping

I'm guessing this gem is just not supported anymore?

someone should update a Readme telling service is shut down


Table.fetch() always include hidden fields

Describe the bug
When I called Table.fetch(), result always include hidden fields
table.fetch(['Example1', 'Example2'], { pk: `example#${exampleId}` }, { log: true, hidden: false });

Then return this data including hidden field '_type'
{
    "example1": {
        "pk": "example1#01G1FXM24W81V4R91818VRAWGK",
        "sk": "example1#",
        "id": "01G1FXM24W81V4R91818VRAWGK",
        "_type": "Example1"
    },
    "example2": [
        {
            "pk": "example1#01G1FXM24W81V4R91818VRAWGK",
            "sk": "example2#01G1GC3W67H5VDDT77V7QX4GXG",
            "id": "01G1GC3W67H5VDDT77V7QX4GXG",
            "_type": "Example2",
            "created": "2022-04-25T12:46:04.487Z",
            "updated": "2022-04-25T12:46:04.487Z"
        }
    ]
}

And I Checked that params don't pass correctly
https://github.com/sensedeep/dynamodb-onetable/blob/main/src/Model.js#L913
Expected behavior
table.fetch(['Example1', 'Example2'], { pk: `example#${exampleId}` }, { log: true, hidden: false });

Then
{
    "example1": {
        "pk": "example1#01G1FXM24W81V4R91818VRAWGK",
        "sk": "example1#",
        "id": "01G1FXM24W81V4R91818VRAWGK",
    },
    "example2": [
        {
            "pk": "example1#01G1FXM24W81V4R91818VRAWGK",
            "sk": "example2#01G1GC3W67H5VDDT77V7QX4GXG",
            "id": "01G1GC3W67H5VDDT77V7QX4GXG",
            "created": "2022-04-25T12:46:04.487Z",
            "updated": "2022-04-25T12:46:04.487Z"
        }
    ]
}

Environment (please complete the following information):

OS Mac OS X
Node Version 16.4.2
OneTable Version 2.3.6
TypeScript Version 4.5.5

Group by needs the hidden fields to do the grouping. This is intended behavior.
I'll update the doc to say so.


Optional chaining operator (?.)

Current Behavior
The code is working as expected but i have a warning in the function node :

Expected Behavior
No warning displayed
Steps To Reproduce
this code works as expected but it throw the warning
var p2 = msg.payload.event?.device_id || "empty";
Example flow
paste your flow here

Environment

Node-RED version: 3.1.0
Node.js version: 16.20.2
npm version:
Platform/OS: Docker
Browser: Chrome

It looks like you might be using the old ACE editor.
This is fully supported in the monaco editor.

If you can access settings.js can you see what is set for the editorTheme.codeEditor.lib?

Nothing has been set, so I suppose I am using the default editor, whatever that may be.
editorTheme: {
/** The following property can be used to set a custom theme for the editor.
* See https://github.com/node-red-contrib-themes/theme-collection for
* a collection of themes to chose from.
*/
//theme: "",


Feat/pyinstaller ci

Adds support for building pearl binary in CI.

@0xArdi please make sure trader.yaml is consistent with the .ts file as well, as discussed.

@jmoreira-valory its addressed


Example train_mnist.py failed to run

When I run
python example/image-classification/train_mnist.py --network lenet --gpus 0

I got
Traceback (most recent call last):
  File "example/image-classification/train_mnist.py", line 73, in <module>
    sym = net.get_symbol(**vars(args))
  File "/home/tester/mxnet/example/image-classification/symbol/lenet.py", line 10, in get_symbol
    if(add_stn):
NameError: global name 'add_stn' is not defined

I remember this worked three weeks ago. And I saw there is a large refactor in train_mnist.py, is that related? Thanks.

This has been fixed by PR #4148


Added Missing Return Type at the useQueue hook.

Hi, It seems to be added the queue on the return statement of useQueue [in: #207], but a types definition still missing.
...but I realized while writing this PR, As well as perhaps you might intend to add a type definition later. https://github.com/uidotdev/usehooks/pull/217#issuecomment-1676463549
Thanks for nice library.

Thank you!


Add Minkowski distance

🚀 Feature
Add Minkowski distance, which is a metric that can be considered as a generalization of Euclidean and Manhattan distance
Additional context
https://en.wikipedia.org/wiki/Minkowski_distance

Hi everyone. If this is still open, I would like to take this up. This is my first time to open source contributions and I feel this should be a good start.


edge: filter ipv6 turn addresses

@shijuns told me that the RTCIceGatherer doesn't support ipv6 turn servers (like the ones used by apprtc)

LGTM


Phone fake seam connect implementation

Epic for fake seam connect endpoints that need to be implemented. Currently blocked by https://github.com/seamapi/phone/issues/165

[ ] /internal/phone/user_identities/load_invitations
[ ] /internal/phone/user_identities/get_invitation
[ ] /internal/phone/user_identities/list_endpoints
[ ] /internal/phone/user_identities/prepare_endpoint

https://github.com/seamapi/phone/pull/164/files?short_path=711e716

https://github.com/seamapi/fake-seam-connect/pull/146
https://github.com/seamapi/fake-seam-connect/pull/141


Add qemu-kvm to Ubuntu runners

Tool name
qemu-kvm
Tool license
GPL v2
Add or update?

[X] Add
[ ] Update

Desired version
Whatever is latest on Ubuntu repositories
Approximate size
Approximate download size on a 22.04 Ubuntu is 140MB.
Brief description of tool
QEMU allows us to boot any kernel we want to test (including custom builds) in our GitHub Action runners thanks to nested virtualization.
Installation time is short, but the need to download the packages for every test run tends to increase flakiness due to short connectivity blips.
URL for tool's homepage
https://www.qemu.org/
Provide a basic test case to validate the tool's functionality.
qemu-system-x86_64 --help

Platforms where you need the tool

[ ] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[X] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Can this tool be installed during the build?
apt-get install -y qemu-kvm

Tool installation time in runtime
Approximately 30 seconds in our CI
Are you willing to submit a PR?
Of course!

I want it too, it can run android adb, github never generates android images :(

Hello @pchaigno . We will take a look.

Hello, given that we do not load kvm modules during runners preparation and do not see high demand to do so we would not like to provide an emu package by default as well. Please continue installing in runtime.


Custom async validators to aligned with angular validators

Question
Is that normal that the custom validation returns is not aligned with angular validation.
In my case, I'm just returning an object with the error field set as true like indicated in the Angular Documentation.

When the object is returned, I don't get any validations errors displayed.
When null is returned, I get a validation error displayed.

The error set is the following: {0: true}

Example
https://stackblitz.com/edit/ngx-formly-ui-bootstrap-validation?file=src%2Fapp%2Fexist.validator.ts

Fill the input, random will decide if you get an error or not. (Error = null)
When you see the validation error inside the input, press the submit button to see the error from the input.

Environment

Angular version: 9.0.5
Formly version: 5.5.15
Tested with and without Ivy enabled and I get the same result.

Error was caused by a bad implementation.
Old code:
field.asyncValidators = [
  ...(field.asyncValidators
    ? Array.isArray(field.asyncValidators)
      ? field.asyncValidators
      : [field.asyncValidators]
    : []),
  key,
];

Correction:
field.asyncValidators = {
  ...(field.asyncValidators || {}),
  validation: [...(field?.asyncValidators?.validation || []), key],
};


fix profiledetails to open rightmenu

profileDetailController is telling that it has right menu activated but actually  it didn't

Thanks, this was set to false on purpose to demo disabling side menu


Store and expose the branch and git remote as part of our builds JSON

For the build list we want to also show the branch information, as the sha isn't useful for the user, but a branch name (e.g. add-about-screen) is useful.
More context

Working on this now 🚀

Built with https://github.com/fastlane/ci/pull/809

I think master vs a sha is more comprehensible. Do you think we might want to do a combination since there can be different points in master? Something like master@032cbjl. Or a new column in the table?

@nakhbari I think that's a great idea. I often search by SHA to know which build I need to kick off (in case of a specific failed build)

yeah that's a great idea, I'll go ahead and create a new issue for this

I personally never went to a CI system, selected a project, and then searched for a sha, as I always land on the CI system by clicking the Details button on GitHub instead 👍

@nakhbari here we go https://github.com/fastlane/ci/issues/815


Unclear definition of self-rerencing typedef

According to §15.3 it is 'a compile-time error if a typedef refers to itself  via a chain of references that does not include a class declaration.'
What 'include' means in this context is unclear. For instance, is this a valid typedef?
typedef F(List<F> list);

All of the cases described above works now (produces compile-time errors). But the following cases still don't produce any errors in Dart (both checked and production modes) and dartanalyzer
typedef F1(F1 f);
typedef F2([F2 f]);
typedef F3({F3 f});
Tested on Dart VM version: 1.14.0-dev.1.0 (Wed Nov 18 18:17:16 2015) on "windows_x64"

All of the cases listed the above are works now (produce compile-time erorrs). Tested on Dart VM version: 1.14.0-dev.1.0 (Wed Nov 18 18:17:16 2015) on "windows_x64"

typedef F1<F1>(F1 f);
typedef F2<F2>([F2 f]);
typedef F3<F3>({F3 f});

The code above doesn't produce compile errors. I believe that it's according the spec but... Does it makes sense to allow typedefs like those above?

typedef F1<F1>(F1 f);
typedef F2<F2>([F2 f]);
typedef F3<F3>({F3 f});

These are OK, though confusing. They are declaring type parameters that shadow the name of the typedef itself.
Looks like the spec wording was tweaking and the implementations are doing the right thing, so I'm going to close this.


Make errors more noticable

This is a great project, thanks for it!
When using this in a project with unit tests and/or a bigger project with multiple builds it is easy to miss errors as you are likely to be viewing another terminal. While errors from the editor is usually enough it would be nice if the errors from this plugin would be more noticeable.
Some ideas:

Console log them in the browser via the dev server.
I don't know if it's possible to hook into webpacks support for this or if a custom web socket server and client script would need to be added.
Growl/libnotify notifications

Hi @Pajn,
I too wanted:

Growl/libnotify notifications

So I built the fork-ts-checker-notifier-webpack-plugin.  This might give you what you need.
@piotr-oles - would it be worth mentioning the notifier in the readme of fork-ts-checker-webpack-plugin?

Awesome, that totally solves number 2.
There is not a big need for both but I will keep the issue open for discussion about 1 but feel free to close if it's not interesting.

@johnnyreilly - yes, of course, please create pr with modified readme :)

@Pajn I cannot find any method in webpack dev server and webpack dev middleware api that could make this possible. Maybe there is a way to hack into webpack dev server internals but it's not an option for the library - there is no guarantee that internals will be backward compatible in next releases :/
Websocket server could be a solution - you could make it as another package and use plugin hooks (like  fork-ts-checker-notifier-webpack-plugin did)


Fix #1303 Create unique dirs for sorted WALs

Added UniqueNameAllocator() to walPath in RecoveryPath.java.

Thanks for the PR @tynyttie ; It looks like the build is failing due to formatting issues, so the tests aren't being run. Please run mvn clean package -DskipTests locally on your branch to format the files, and commit the changes to your branch. Then, we will be able to see the test results from in the PR checks.

I'm going to run the full ITs on this change, but I don't anticipate any issues with this. Thanks, @tynyttie !

Looking into now.

@ctubbsii On my side, I am not seeing the test fail when I run RestartIT.

@ctubbsii On my side, I am not seeing the test fail when I run RestartIT.

Try this command in your branch: mvn clean verify -Dtest=blah -Dit.test=RestartIT -PskipQA -DskipTests=false -DskipITs=false and then watch the logs in test/target/mini-tests/org.apache.accumulo.test.functional.RestartIT_restartMasterRecovery/logs/* for the ERROR line with LogSorter while that is running.

Ok.Thank you.

FYI the error that @ctubbsii referenced java.io.IOException: Stream is closed! I think is fairly "normal" behavior for recovery.  There is usually no way to close the WAL properly if the tserver is killed so when we read the WAL and try to close it, this is the error that is seen.  This error is also seen when running RestartIT in the main branch.  There must be something else going on for the test to time out.

Converting to draft for now, because it seems like the test failure issue is a bit difficult to track down.

Converting to draft for now, because it seems like the test failure issue is a bit difficult to track down.

Process I used for debugging this issue. Note doing this process I tailed the logs for new info.

In RecoveryPath.java, I hard coded a string and notice that RestartIt passed with no issues.
Example: walPath = Path(walPath, FileType.RECOVERY.getDirectory() + '-' + 'addedFileName');

In RecoveryPath.java., I used StringBuffer, StringWriter, and normal String creation to build a new string.
Example: testSting = FileType.RECOVERY.getDirectory() + '-' 'namer.getNextName();
Path newPath = new Path(walPath, testString); ------ RestartIT failed with this approach.

In RecoveryPath.java, instead of using UniqueNameAllocator to generate the name, I create a new name generate in order to make sure the name was present when needed. ---  RestartIT failed with this approach.

I used Jstack to help track down the cause of threads stuck in wait state. With this approach, I couldn't pinpoint the true origin.

I connected to the server and added break statement to walk through the code. This approach was unsuccessful. None of my break statements was picked up by the Tserver.

In LogSorter, I added a sleep where the issue is to make sure the process doesn't end. This approach was unsuccessful.
The issues are on: (LogSorter.java:197) and (LogSorter.java:167)

Process I used for debugging this issue. Note doing this process I tailed the logs for new info.

In RecoveryPath.java, I hard coded a string and notice that RestartIt passed with no issues.
Example: walPath = Path(walPath, FileType.RECOVERY.getDirectory() + '-' + 'addedFileName');

In RecoveryPath.java., I used StringBuffer, StringWriter, and normal String creation to build a new string.
Example: testSting = FileType.RECOVERY.getDirectory() + '-' 'namer.getNextName();
Path newPath = new Path(walPath, testString); ------ RestartIT failed with this approach.

In RecoveryPath.java, instead of using UniqueNameAllocator to generate the name, I create a new name generate in order to make sure the name was present when needed. ---  RestartIT failed with this approach.

I used Jstack to help track down the cause of threads stuck in wait state. With this approach, I couldn't pinpoint the true origin.

I connected to the server and added break statement to walk through the code. This approach was unsuccessful. None of my break statements was picked up by the Tserver.

In LogSorter, I added a sleep where the issue is to make sure the process doesn't end. This approach was unsuccessful.
The issues are on: (LogSorter.java:197) and (LogSorter.java:167)

Thanks, @tynyttie ; I spent some time looking into this, and realized that the "Stream is closed" error messages are a bit of a red herring. I've created a PR to fix those in #1856 .
Although I still haven't figured out why the changes in this PR are causing RestartIT to hang, I suspect it has something to do with the fact that it's doing recovery using a RawLocalFileSystem, which might behave differently than the default implementation of the local FileSystem.
In addition, I found a deficiency in this PR's code. It does not update the SimpleGarbageCollector code that looks for recovery files to clean up. The following patch is my attempt to fix that, but because of the hanging issue of RestartIT, I'm not sure if it will be sufficient.

Click to expand/collapse patch for SimpleGarbageCollector
diff --git a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
index ae6c0da8c7..1e357e5af5 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
@@ -166,8 +166,8 @@ public class ServerConstants {
     return prefix(getBaseUris(context), TABLE_DIR);
   }

-  public static Set<String> getRecoveryDirs(ServerContext context) {
-    return prefix(getBaseUris(context), RECOVERY_DIR);
+  public static Set<String> getRecoveryDirPatterns(ServerContext context) {
+    return prefix(getBaseUris(context), RECOVERY_DIR + "-*");
   }

   public static Path getInstanceIdLocation(Volume v) {
diff --git a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
index 40cd9d180d..da432854b0 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
@@ -393,10 +393,9 @@ public class GarbageCollectWriteAheadLogs {
   protected Map<UUID,Path> getSortedWALogs() throws IOException {
     Map<UUID,Path> result = new HashMap<>();

-    for (String dir : ServerConstants.getRecoveryDirs(context)) {
-      Path recoveryDir = new Path(dir);
-      if (fs.exists(recoveryDir)) {
-        for (FileStatus status : fs.listStatus(recoveryDir)) {
+    for (String dir : ServerConstants.getRecoveryDirPatterns(context)) {
+      for (FileStatus recoveryDir : fs.globStatus(new Path(dir))) {
+        for (FileStatus status : fs.listStatus(recoveryDir.getPath())) {
           try {
             UUID logId = path2uuid(status.getPath());
             result.put(logId, status.getPath());

Thanks, @tynyttie ; I spent some time looking into this, and realized that the "Stream is closed" error messages are a bit of a red herring. I've created a PR to fix those in #1856 .
Although I still haven't figured out why the changes in this PR are causing RestartIT to hang, I suspect it has something to do with the fact that it's doing recovery using a RawLocalFileSystem, which might behave differently than the default implementation of the local FileSystem.
In addition, I found a deficiency in this PR's code. It does not update the SimpleGarbageCollector code that looks for recovery files to clean up. The following patch is my attempt to fix that, but because of the hanging issue of RestartIT, I'm not sure if it will be sufficient.

Click to expand/collapse patch for SimpleGarbageCollector
diff --git a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
index ae6c0da8c7..1e357e5af5 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java
@@ -166,8 +166,8 @@ public class ServerConstants {
     return prefix(getBaseUris(context), TABLE_DIR);
   }

-  public static Set<String> getRecoveryDirs(ServerContext context) {
-    return prefix(getBaseUris(context), RECOVERY_DIR);
+  public static Set<String> getRecoveryDirPatterns(ServerContext context) {
+    return prefix(getBaseUris(context), RECOVERY_DIR + "-*");
   }

   public static Path getInstanceIdLocation(Volume v) {
diff --git a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
index 40cd9d180d..da432854b0 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
@@ -393,10 +393,9 @@ public class GarbageCollectWriteAheadLogs {
   protected Map<UUID,Path> getSortedWALogs() throws IOException {
     Map<UUID,Path> result = new HashMap<>();

-    for (String dir : ServerConstants.getRecoveryDirs(context)) {
-      Path recoveryDir = new Path(dir);
-      if (fs.exists(recoveryDir)) {
-        for (FileStatus status : fs.listStatus(recoveryDir)) {
+    for (String dir : ServerConstants.getRecoveryDirPatterns(context)) {
+      for (FileStatus recoveryDir : fs.globStatus(new Path(dir))) {
+        for (FileStatus status : fs.listStatus(recoveryDir.getPath())) {
           try {
             UUID logId = path2uuid(status.getPath());
             result.put(logId, status.getPath());

Another reason it might pass with a fixed string, but not a unique string generator, is that the unique string might need to be consistent (at least, within a process), if different parts of the recovery code are getting the path at different times.

Another reason it might pass with a fixed string, but not a unique string generator, is that the unique string might need to be consistent (at least, within a process), if different parts of the recovery code are getting the path at different times.

Based on what I am seeing, the scan function in ThriftScanner will always error with "Failed to locate tablet for table : 1 row : row_0000000000". Then it pauses and will ultimately retry. Here is the scan function that I am seeing the breakpoints hit

Based on what I am seeing, the scan function in ThriftScanner will always error with "Failed to locate tablet for table : 1 row : row_0000000000". Then it pauses and will ultimately retry. Here is the scan function that I am seeing the breakpoints hit

Based on what I am seeing, the scan function in ThriftScanner will always error with "Failed to locate tablet for table : 1 row :

The failure in the scanner (client side) and retry is expected if the tablet isn't loaded yet because it has not yet completed recovery. What needs to be determined is what is holding up the recovery on the server-side. Once the tablet is recovered and loaded on the server side, the scanner will be able to find it without issue, and read from it.

Based on what I am seeing, the scan function in ThriftScanner will always error with "Failed to locate tablet for table : 1 row :

The failure in the scanner (client side) and retry is expected if the tablet isn't loaded yet because it has not yet completed recovery. What needs to be determined is what is holding up the recovery on the server-side. Once the tablet is recovered and loaded on the server side, the scanner will be able to find it without issue, and read from it.

That does make a lot of sense.

That does make a lot of sense.

I think I have found the issue, currently working on trying to come up with a solution. It appears everything does recover as expected (each recovery file contains the finished marker) but it doesn't properly remove it from the queue in RecoveryManager. This is because the destination path gets overridden with a new unique name so when it checks for that marker, it doesn't find it. At least I think that is how everything is supposed to work.
What I see now in hdfs are multiple recovery directories with the same walog UUID and all with the finished markers.

I think I have found the issue, currently working on trying to come up with a solution. It appears everything does recover as expected (each recovery file contains the finished marker) but it doesn't properly remove it from the queue in RecoveryManager. This is because the destination path gets overridden with a new unique name so when it checks for that marker, it doesn't find it. At least I think that is how everything is supposed to work.
What I see now in hdfs are multiple recovery directories with the same walog UUID and all with the finished markers.

I can foresee another issue possibly happening in the recover function of TabletServer.java. It also calls the same getRecoveryPath function and it will return a new directory each time. Thoughts?

I can foresee another issue possibly happening in the recover function of TabletServer.java. It also calls the same getRecoveryPath function and it will return a new directory each time. Thoughts?

Part of this reminds me of https://github.com/apache/accumulo/issues/961 - I don't think it is exactly the same, but maybe that description / solution provides pointers for things to look for? Or not....

Part of this reminds me of https://github.com/apache/accumulo/issues/961 - I don't think it is exactly the same, but maybe that description / solution provides pointers for things to look for? Or not....

Another option for having each tserver use a unique directory, is to make it unique and non-random, so it is reproducible. So, if the tserver had a unique id for its lifecycle, it could just append that and it would be consistent on multiple calls to the method.

Another option for having each tserver use a unique directory, is to make it unique and non-random, so it is reproducible. So, if the tserver had a unique id for its lifecycle, it could just append that and it would be consistent on multiple calls to the method.

I like that solution @ctubbsii . It should be pretty simple to use the name of the tserver as the unique id.
I was also thinking of making RecoveryPath.java store all the recovery directories it creates so the other classes trying to get the recovery path wouldn't have too. Though if we go with your solution then that wouldn;t be necessary. I will leave that up to @tynyttie.

I like that solution @ctubbsii . It should be pretty simple to use the name of the tserver as the unique id.
I was also thinking of making RecoveryPath.java store all the recovery directories it creates so the other classes trying to get the recovery path wouldn't have too. Though if we go with your solution then that wouldn;t be necessary. I will leave that up to @tynyttie.

I think I figured out the issue with this change.  The problem is with how RecoveryManager.recoverLogs() works.  The first time the Master will call RecoveryManager.recoverLogs() it will generate dest (call it dest1) using RecoveryPath.getRecoveryPath().  RecoveryManager will check for a "finished" file at this location, which won't exist yet and kick off the log sorting process.  The LogSorter job will complete and put a "finished" marker at dest1.  The next time the Master tries to assign the Tablet, it will call RecoveryManager.recoverLogs() and generate a second dest (call it dest2).  RecoveryManager will check for a "finished" file at dest2, won't see it and start another log sort process.  The "finished" file is never seen by the next call of RecoveryManager.recoverLogs() and the log sorting process will continue indefinitely.

I think I figured out the issue with this change.  The problem is with how RecoveryManager.recoverLogs() works.  The first time the Master will call RecoveryManager.recoverLogs() it will generate dest (call it dest1) using RecoveryPath.getRecoveryPath().  RecoveryManager will check for a "finished" file at this location, which won't exist yet and kick off the log sorting process.  The LogSorter job will complete and put a "finished" marker at dest1.  The next time the Master tries to assign the Tablet, it will call RecoveryManager.recoverLogs() and generate a second dest (call it dest2).  RecoveryManager will check for a "finished" file at dest2, won't see it and start another log sort process.  The "finished" file is never seen by the next call of RecoveryManager.recoverLogs() and the log sorting process will continue indefinitely.

That is correct @milleruntime. Some ideas have been thrown around on how to fix it but implementing it has been more difficult since TabletServer.java also uses RecoveryPath.java for recovering tablets.

That is correct @milleruntime. Some ideas have been thrown around on how to fix it but implementing it has been more difficult since TabletServer.java also uses RecoveryPath.java for recovering tablets.

I think using the name of the tserver as the unique sub directory under the WAL directory would work.  As an added benefit, when the RecoveryManager sees that dir at the beginning of recoveryLogs it could also check if that tserver is still alive (coming from the master so this may be as simple as looking in a list of tservers).  It would still be possible that the tserver is alive and the thread died/hung or it was restarted so that sort process is gone.  But we could print warnings for this case and start another sort either way.

I think using the name of the tserver as the unique sub directory under the WAL directory would work.  As an added benefit, when the RecoveryManager sees that dir at the beginning of recoveryLogs it could also check if that tserver is still alive (coming from the master so this may be as simple as looking in a list of tservers).  It would still be possible that the tserver is alive and the thread died/hung or it was restarted so that sort process is gone.  But we could print warnings for this case and start another sort either way.

I think using the name of the tserver as the unique sub directory under the WAL directory would work. As an added benefit, when the RecoveryManager sees that dir at the beginning of recoveryLogs it could also check if that tserver is still alive (coming from the master so this may be as simple as looking in a list of tservers). It would still be possible that the tserver is alive and the thread died/hung or it was restarted so that sort process is gone. But we could print warnings for this case and start another sort either way.

The hiccup I can see with this is that I don't know what "name of the tserver" is. The most common identifier for a tserver is the hostname and port, but these are not necessarily unique (tservers fail and restart on the same host/port). I was actually just thinking about the tserver generating a unique ID internally when it starts, that can be used to make unique directories. The unique ID could be logged, or could be sent in hello messages to the manager server, or stored in Zookeeper locks, for additional uses, but for this issue, it would be enough to just log the directory that it created to be used for recovery.
Once the uniqueness issue is ironed out, with unique names, the SimpleGarbageCollector still needs to be updated and tested to ensure it works properly, cleaning up the old directories. I mocked up a patch above for that, but it has not been tested.

I think using the name of the tserver as the unique sub directory under the WAL directory would work. As an added benefit, when the RecoveryManager sees that dir at the beginning of recoveryLogs it could also check if that tserver is still alive (coming from the master so this may be as simple as looking in a list of tservers). It would still be possible that the tserver is alive and the thread died/hung or it was restarted so that sort process is gone. But we could print warnings for this case and start another sort either way.

The hiccup I can see with this is that I don't know what "name of the tserver" is. The most common identifier for a tserver is the hostname and port, but these are not necessarily unique (tservers fail and restart on the same host/port). I was actually just thinking about the tserver generating a unique ID internally when it starts, that can be used to make unique directories. The unique ID could be logged, or could be sent in hello messages to the manager server, or stored in Zookeeper locks, for additional uses, but for this issue, it would be enough to just log the directory that it created to be used for recovery.
Once the uniqueness issue is ironed out, with unique names, the SimpleGarbageCollector still needs to be updated and tested to ensure it works properly, cleaning up the old directories. I mocked up a patch above for that, but it has not been tested.

Since the original issue in #1303 was to "explore" the idea of creating unique directories, and a solution hasn't been identified in over 2 months, I'm inclined to think that this has been "explored" enough, and we should probably just close this, and the original issue #1303 , rather than continue to pursue it. ... unless somebody has some new strategy ready-to-try. Thoughts? Is #1303 worth continuing to pursue or no?

Since the original issue in #1303 was to "explore" the idea of creating unique directories, and a solution hasn't been identified in over 2 months, I'm inclined to think that this has been "explored" enough, and we should probably just close this, and the original issue #1303 , rather than continue to pursue it. ... unless somebody has some new strategy ready-to-try. Thoughts? Is #1303 worth continuing to pursue or no?

FWIW, I do think this is possible to implement. Either with the current mechanism, someting similar, or a rewrite of how we do the recovery process currently. Just depends on much this feature is desired and beneficial. Especially on a large scale cluster.


Support for config modules

Hello there, love your work here.
I've been wanting to try and move some of my default config settings into a module. Given that a chunk of my fav tools are already using cosmiconfig, I wondered if adding support into this module would be a great way to take a stab at this.
For example, I normally add
  "prettier": {
    "printWidth": 120,
    "semi": false,
    "singleQuote": false,
    "trailingComma": "es5",
    "bracketSpacing": true
  },

To every repo's package.json.
In an ideal world I could create a module called cosmiconfig-orta which would contain either:

a package.json with the prettier key
a prettierrc

Then prettier would use those settings instead of me needing to add them to each repo.  Meaning I can keep both the locked dependencies and their config in a single module.

Side note: I'm happy to implement this.

Hey @orta, could you elaborate on how the proposed feature would be used by the end-user(like what would be the cosmiconfig options)? Is it similar to how eslint shared configs work? eslint shared config work do not support package.json property or an rc file though.

An end-user would create a module, push it, then for every project they would just need to run yarn add cosmiconfig-orta --dev and each of those projects would pick up that settings are inside that module.
I'd expect it to be last on the prioritization list, e.g. section of package.json, ${module}rc, search node_modules for cosmiconfig-*.  This would mean I could consolidate the config for prettier, eslint, husky, semantic-release etc inside a single module.
If the module is found then it could run the same checks it runs in the current working dir  ( package.json, ${module}rc, etc ) giving you the ability to just move a bunch of files into a module and shipping it.

I don't think that'd work. With deduping and flattening, there is a high probability of multiple such modules being present in the node_modules folder.

I disagree, you'd only put it in once in a project at the root and it wouldn't be included as a dependency of another project.

Oh right.. Cause it's a dev dependency. I'll let @davidtheclark take a call on this though. Seems a bit too magical to me :sweat_smile:

I took a look at roughly implementing this, didn't finish, but there are two ways of building it that I could see:

Add support for a new cosmiconfig option inside the cwd's package.json which can have a reference to the module. This could allow any named module, and is very explicit. e.g.:
{
  "name": "cocoapods-decocoadocs",
  "version": "0.0.0",
  "description": "A web server for CocoaPods stats",
  "main": "index.js",
  "cosmic": {
    "config": "orta-config"
  }
}

Look inside the devDependenciess of the package.json for a cosmiconfig-x and then use that, which is more about convention over config
{
  "name": "cocoapods-decocoadocs",
  "version": "0.0.0",
  "description": "A web server for CocoaPods stats",
  "main": "index.js",
  "devDependencies": {
    "cosmiconfig-orta": "^0.0.1"
  }
}

@orta I really like the idea. I would love to have something like this myself — a single npm package that would include the eslint, prettier, husky, lint-staged, stylelint, remark-lint, etc. configs that I reproduce repeatedly.
However, I don't think that's within the scope of cosmiconfig. Cosmiconfig is a low-level tool and each of the dependent projects, like Prettier, actually determine their own configuration API. Prettier needs to decide upon and document how the user configures it — then Prettier can use cosmiconfig behind the scenes to enable that pattern. The dependent gets to decide which of cosmiconfig's features it uses; and if the dependent package decides to drop cosmiconfig to load its config in some other way, the end user shouldn't be disturbed by that move.
It seems to me that this proposal would slide behind the public APIs documented by dependents like Prettier. We can't make that decision for dependents, though; we can't provide a feature that would encourage end users to load config for some dependent in a way that is not what that dependent deliberately chose.
So I think this idea should be brought up a level, to the packages that end users install, like Prettier, stylelint, etc. If they want to band together and provide a new way of loading configuration that enables these configuration-bundle packages, that's up to them. (And I think they could probably accomplish this already by pointing cosmiconfig in the right direction.)

What do you think of this? A package which copies over config files in a post install hook or through a command(./node_modules/.bin/cfg-mgr refresh)? By looking at the currently installed packages, the necessary config files could be added to the project root.

Could this instead be added as an exposed function somehow from cosmiconfig, so that adding support for the clients is a single liner?

why not just use and extend key like in eslint? see https://eslint.org/docs/developer-guide/shareable-configs

That is likely custom code in eslint.
My aim in this issue is to have a way to make it so that all of the projects using cosmiconfig could have something where you define that extend key once and have it apply to all config consumers. Otherwise you still have configs everywhere, but each has to build the extends feature, and you still have to have configs that set the extends value.

I would say it's logical to require having a .prettierrc in every project,
how else would you know it's using prettier?
On Tue, Mar 6, 2018 at 10:55 PM, Orta<EMAIL_ADDRESS>wrote:

That is likely custom code in eslint.
My aim in this issue is to have a way to make it so that all of the
projects using cosmiconfig could have something where you define that
extend key once and have it apply to all config consumers. Otherwise you
still have configs everywhere, but each has to build the extends feature,
and you still have to have configs that set the extends value.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/davidtheclark/cosmiconfig/issues/110#issuecomment-370924939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUVF0iWcV7PNGOVGPVNKUY96rcj4fuCks5tbvfHgaJpZM4SQJLP
.

I can't tell if you're trolling, but you can determine it by either looking for the keys in the package.json or if it's in node_modules. I try keep as many settings as possible in package.json. I'm not quite sure how that really is relevant though?


Mismatch of user id when calling the session management API for the linked accounts in federated log in

Describe the issue:
For the federated users, session-related information is persisted under a different user id. So, when we try to retrieve the sessions (GET /users/v1/{user_id}/sessions) [1] using the user id in the user profile it won't return any results.
In the IDN_AUTH_USER and IDN_AUTH_USER_SESSION_MAPPING tables, it's maintaining a different user id, not the one in user profile.
How to reproduce:

Get updated IS-5.10.0 pack<PHONE_NUMBER>501)
Configure an identity provider, service provider and add Federated Authentication for the local and outbound authentication (with jit provisioning enabled).
Login to the service provider using federated login.
Get the provisioned user id from user profile and retrieve the sessions using session management API [1].
request: GET /users/v1/{user_id}/sessions

Expected behavior:
It's not returning the sessions, instead returning an empty array. The API should respond with active session for the user.
Environment information :

Product Version: [IS 5.10.0]
Database: [H2]
Userstore: [LDAP]

Related issues:
https://github.com/wso2/product-is/issues/7725
[1] - https://is.docs.wso2.com/en/5.10.0/develop/session-mgt-rest-api/#/

@vihanga-liyanage @Yasara-Y is this issue addressed in master as well? If the issue is not there in master, shall we close this?

Wasn't able to reproduce this in public according to the steps.

We need to provide PR as a u2 update for 6.0.0

Closing as completed


Add custom volume name support for Gluster Block Volumes.

Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

/assign @rootfs

@childsb Can you please review/merge this ?


Added the pipeline

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

TODO: fix CI not working

HPC test ran succesfully!


Save and restore VIsual_active and VIsual_select as curwin and curbuf (E315 error)

Version:
8.0.0000+(since wordcount() is introduced)
Confirmed: Vim 8.1.2345/8.0.0000 on MSYS2, GVim/Vim 8.1.2352 on Windows, Vim 8.1.2250 on Mac, Vim 8.1.2198 on Linux
To reproduce bug:
./vim -u ~/a.vim --noplugin
And type <C-V>

To get full backtrace I used :Termdebug like this:
(gdb) file ./vim
(gdb) b siemsg
(gdb) r -u ~/a.vim --noplugin
(Type <C-v> in Vim window)
(gdb) bt full

Content of ~/a.vim:
set noswapfile
function CallWordcount()
	set iminsert=0
	call wordcount()
endfunction
setl statusline=otherchars%{CallWordcount()}
normal i ^H
set nomodified
new
setl statusline=NO
normal o
set nomodified

noswapfile and nomodified is not needed but to stop messing up directory with swapfiles.
Two normal commands create two non-empty windows. So input ^H as <C-V><C-H>.
Bug description
We get E315 when current window has more lines than other windows in the same tab and set statusline to call wordcount() and other commands.
This bug happens when updating not-current window's statusline.
In backtrace, ops.c:3659 was called. It's inside VIsual_active == TRUE branch.
VIsual_active and VIsual_select should be saved, reset to FALSE when changing curwin and restored, when curwin and curbuf are saved/restored around buffer.c:4374.

Codecov Report

Merging #5278 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5278      +/-   ##
==========================================
- Coverage   82.15%   82.14%   -0.01%
==========================================
  Files         134      134
  Lines      147593   147600       +7
==========================================
- Hits       121248   121247       -1
- Misses      26345    26353       +8

Impacted Files
Coverage Δ

src/buffer.c
84.99% <100%> (+0.04%)
:arrow_up:

src/gui_beval.c
62.5% <0%> (-0.87%)
:arrow_down:

src/if_xcmdsrv.c
85.63% <0%> (-0.54%)
:arrow_down:

src/ui.c
71.89% <0%> (-0.09%)
:arrow_down:

src/terminal.c
81.74% <0%> (-0.04%)
:arrow_down:

src/window.c
88.27% <0%> (-0.04%)
:arrow_down:

Continue to review full report at Codecov.

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

I noticed the same with vim-airline. Note, one should probably check g:actual_curbuf inside the statusline, before trying to access the wordcount function inside the statusline.
See https://github.com/vim-airline/vim-airline/commit/af96e9745fe5f41c68b46437

Thank you for your fast reply.
Checking g:actual_curbuf before calling wordcount() suppresses the error but buffers which have never been visited can't use wordcount's stats and loses functionality.
function CallWordcount()
	set iminsert=0
	if !exists('b:chars')
		let b:chars = 0
	endif
	if get(g:, 'actual_curbuf', '') == bufnr('')
		let b:chars = wordcount().chars
	endif
	return b:chars
endfunction

If we rewrite the function like above, the b:chars remains 0 until we visit the buffer. And no autocmds can set it.
Without check, b:chars is set before we visit the buffer.
I think

Checking g:actual_curbuf before the call doesn't do the same thing. It loses functionality.
Calling with silent! does the same thing but it never can be the recommended way since it just hides the internal Vim error.
When a new function which relies on VIsual_* globals is implemented in the future, it will encounter the same problem.


add session info to all vignettes

I've added a call to devtools::session_info() to the bottom of all vignettes to provide information about the version of R and the package versions used.

The changes include coding style changes. I'm not against unifying the coding style (and we have a recommendation in the guidelines on contributing). I'll merge this, but generally for the future I suggest we keep differently motivated changes in different pull requests, and especially changes that aren't mentioned in and wouldn't generally be assumed given the pull request title and description.


Deal with table width not maxing out at the terminal width

Converting this to an issue because I need somewhere to write out observations while I figure out what math comes into play here. This mainly bases itself on random observations while I'm working on other stuff - this issue is currently not being worked on.
Observations so far, from dealing with a new table in ConfirmationHelper.cpp (unpushed change at the time of issue creation): two columns need (TermUtils::getWidth() - 2) / 2 to define the width of each column. Just using getWidth doesn't work, because tabulate is kinda stoopid and assumes the width is per-column. That basically means the total width, in a two-column table, is 2 times the terminal width. Hence the / 2 in a two-column table. It needs - 2 to deal with padding. I'm not entirely sure why 2 works out - it seems to be related to padding, but considering there's 2 borders, that should logically be 3 and not 2. Probably some extra padding in here.
TermUtils::getWidth() works on Linux (Gnome terminal); not sure about Windows, other Linux terminals, Mac terminals, and Cygwin and MinGW. I'm fairly certain the interaction with the Windows API means MinGW and Cygwin don't work, but iDunno and I can't test.  Setting the width to 0 or a negative number will actually cause the entire thing to blow up, because it wraps around size_t in the width function


User emails aren't making it from website signup to Mailchimp

When a new user joins Operation Code, their email address does not make it into our contacts list in Mailchimp.
Over the past 30 days, Mailchimp has not been automatically updating with website signups. I think the integration between the backend and Mailchimp may not be working.
For now, we can get around this by doing a manual export of emails in the current database, and importing them into Mailchimp.

List ID might be assigned incorrectly. Selfassigning for now

Thanks @AllenAnthes


Correct text in webaction doc.

Mainly remove the redundant A.
Signed-off-by: Tzu-Chiao Yeh<EMAIL_ADDRESS>
Description

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[x] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #3734 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3734   +/-   ##
=======================================
  Coverage   75.05%   75.05%
=======================================
  Files         127      127
  Lines        6042     6042
  Branches      393      393
=======================================
  Hits         4535     4535
  Misses       1507     1507

Continue to review full report at Codecov.

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


Remove - and validate - setting environment variables in shell for git

In buildenv we should only need to set the environment variables on in the binary (e.g. keep zopen_append_to_zoslib_env and remove zopen_append_to_env)

This is done, will close


feat(helm): add priorityClassName settings in charts

Description
This PR adds the option to configure a priorityClassName for pods in stackrox charts.
The main motivation is to be able to set the priority for collector because it is deployed as a DaemonSet.
This is important for DaemonSets as to provide a way for its pods to have higher priority over other pods, when scheduling on nodes that already reached capacity (to preempt and evict pods with lower priority).
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Added and ran helmtests
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/area-helm

/auto-cc

/area helm

/ok-to-test

Prow CI can be a bit temperamental at times, especially with regards to image availability. Please do check for any failing runs, though :smile:

/retest

/retest

Hi @Maddosaurus,
thanks for the review!
I'm not sure if the tests are failing due to image availability like you pointed, or if it's an issue with my changes. Any help would be appreciated 😄
I will open a PR in the docs repository for the parameter description. But here is what I had in mind:

Parameter
Description

collector.priorityClassName
Use this parameter to assign a Priority to Collector Pods. This is used to indicate the importance of the Collector Pods relative to other Pods. Set the value of this parameter to the name of an existing PriorityClass object in the cluster.

Assuming a PriorityClass with the name high-priority is created in the cluster as in the example given in the following page:
Pod Priority and Preemption
You can then install Secured Cluster Services using helm with parameter --set collector.priorityClassName=high-priority

Hi @ebisso,
thanks for staying on this!
We're reworking bigger parts of our automation and CI, and it's rather hard to always ensure that it works for everyone.
To eliminate the question of image availability, I've created PR #9422 with your changes, to see if CI is happy.
The CI problems mainly relate to the ones prefixed ci/prow.
For example, the Style issues (example run) are something that fails because changes in the PR are needed.
In this case, it looks like the YAML files have line ending CRLF, where we require LF. I do see that this linter error is not very intuitive, as it took me some digging to find that out 😅 Also, a single trailing whitespace was hiding in your yaml (see this commit in the test PR).
IIRC, prow tests will automatically exit early when other required checks (like Style) fail, so this might also already fix it.

Looks like all checks have passed in my PR test (#9422). I took the liberty of pushing the single commit to this PR that fixes the line endings in the test yamls.
Hope that's okay with you!

@ebisso Heads up: I've just pushed an empty commit to your fork to retrigger CI. I'm aiming for the required tests to pass so we can merge this PR :smile:


Feature Request: Support Backblaze B2 Storage

Backblaze B2 is a cheap storage provider and perfectly suited for storing backups.
There is a python SDK for Backblaze B2: https://github.com/Backblaze/b2-sdk-python

This is already supported. You can use the endpoint and bucket configuration and point them towards backblaze's S3 API. https://help.backblaze.com/hc/en-us/articles/360047425453-Getting-Started-with-the-S3-Compatible-API

yeah, using the S3 API is the intended solution for this problem. We don't want to implement storage providers for things that support any kind of universal storage connection standards like S3.

To be fair, backblaze could be added in the readme as another mention.


the bump to ember-source should be a 1.0.0 release

we should major bump the ember-source upgrade.

I think we can close this issue @gabrielcsapo. The release 1.0 is for the Roadmap - https://discuss.emberjs.com/t/engines-1-0-roadmap/14914

Might be good to open an issue that talks about 1.0.0 release here so we can track anything that needs to land before releasing


[WIP] Readme updates

Fixes #116

Fix broken link to Arnold foundation press & logo
Add links to modality specific publications

Thank you for the suggestions @nicholst!

:-) thank you!!

@all-contributors please add @KirstieJane for bug

@all-contributors please add @nicholst for review


Schema support for plot

Describe your changes
Add schema/-s for %sqlplot and ensure --table schema.table works
Issue number
Closes #854
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--855.org.readthedocs.build/en/855/

is this ready for review @bbeat2782 ?

@edublancas I was going to request a re-review after doing some testing on the failed test cases so that I can add more information to the issue, but besides that, it is ready for review


compdb tool: Expand response files (.rsp) inline

There's a PR for ninja which does this behind a switch. As mentioned in this comment though, you'd want this most of the time anyway, since the compile_commands.json file gets parsed by tooling (e.g. clang-tidy) and not executed in a command line.
As I doubt that the PR would be merged in Ninja anytime soon (the whole project seems to unmaintained with lots of useful PRs lying around since years), I was wondering what you think about implementing this in shake?

If I understand it correctly the PR gets the rsp file content as a std::string from the Edges and doesn't open any files.

This has since been added to Ninja. Is there a desire for it in the Shake Ninja-compatible stuff, or are people going to actually use Ninja instead? Happy to implement it if the desire still exists.

I'm fine with using ninja to generate compile_commands.json now that the PR has been merged.


Add SBI call to disable SBI

At the recent OSFC, the idea was raised that we'd like to have an SBI call to turn off SBI, for working with new implementations that can work without SBI being there.
We would like to add a call that permanently disables SBI. This should be pretty simple.

Some additional thoughts (which may or may not translate into considerations for the specification):

To disable all "runtime services", such a call would also disable timer/external interrupts previously handled in M-mode (or redirect them into H/S mode). Such interrupt handlers can interfere with OS control of the same hardware, so it may be useful to have a guarantee that they are now inactive.
After SBI calls are disabled, there is no need to even have stub that returns SBI_ERR_NOT_SUPPORTED: The OS knows that it requested the SBI to be disabled, it can refrain from making any more SBI calls. Thus, ECALL might be redirected to H/S-mode as well.
Finally, when there is no active entry point into M-mode code anymore, the code can be nulled out, and perhaps even returned to the lower privilege levels for their use (althought making previously reserved memory unreserved may involve some complications that may be beyond the scope of this extension).

Can you please provide more details about the usecase for such a call ?

Do you expect to disable SBI after the boot ?
Who will provide the run time services (e.g CPU hotplug, System reset. hart suspend)once it is disabled ?

Can you please provide more details about the usecase for such a call ?

My speculated usecase is perhaps not so much of a usecase, but more an assurance of simplicity: When this call returns successfully the SBI implementation should guarantee that no more M-mode code will run, and thus system state may become easier to reason about. This may be useful in some safety/realtime/security anlysis contexts.

1. Do you expect to disable SBI after the boot ?

"After the boot" is a bit ambiguous, as a boot process tends to proceed in multiple stages: Bootloader, SBI implementation, OS kernel, OS userspace, ...
I expect the call at some point during OS runtime (if at all). When exactly this call shall happen is the OS's choice (and I don't see why the SBI specification should care, although I may be missing something), but it probably makes sense during OS boot.

2. Who will provide the run time services (e.g CPU hotplug, System reset. hart suspend)once it is disabled ?

OS drivers.
Of course this can't work on every hardware platform, but in such cases when the OS can provide all hardware support, it could tell the SBI implementation to get out of the way.

SBI at this point is system management mode (SMM). There are a number of very successful attacks on SMM based on TOCTOU and SCA approaches, some just this year. Looking at the current SBI standard, there is certainly cause for concern that similar attacks might succeed as well. I suspect that SBI, if not a target today, will be one tomorrow.
In the x86 world, we are doing our best to eliminate SMM, for security reasons at least, so its reappearance and explosive growth in RISC-V is a cause for concern. When I wrote the first SBI support in coreboot, in 2014, I only needed to support a handful of calls. The current standard is at 40+ calls and growing, with 7 implementations in 2 different languages. The name space for the number of calls is gigantic, and at the recent Plumber's conference, it was clear that there will be continuing pressure from vendors to add more.
A number of us are discussing implementing RISC-V CPUs with no M mode but, at this point, a lot of software will want to use SBI -- grub being one example.
Hence, a second alternative to removing M mode is to boot, then disable SBI, and let the OS handle whatever is needed. In the x86 world, this option is becoming increasingly popular, and is called "OS first" mode.
I am not requesting that you implement this call, only that you make a place for it in the standard, so that I can implement and use it in oreboot/RustSBI. The question of who will provide those runtime services -- that's a problem I'm not asking you to solve. This request is purely for making a place in the standard for such a call, no more.

I guess you are referring system/hart suspend SBI functions while comparing with SMM. The PMU/Remote fence/IPI operations will no longer be used on capable hardware with new ISA extensions (counter delegation, AIA). The number of SBI calls actually used in the future will be way less than what it is today. Then there are proposed extensions benefiting virtualization (Debug console, Steal time accounting) which will be added in the future.
In the "Os first" mode, you are trying to disable complete M-mode access. What is the expected behavior from M-mode after the disable SBI call ?  Any further ECALL will continue trap to M-mode. Do you expect the M-mode to just return a particular error after that ?

SBI at this point is system management mode (SMM). There are a number of very successful attacks on SMM based on TOCTOU and SCA approaches, some just this year. Looking at the current SBI standard, there is certainly cause for concern that similar attacks might succeed as well. I suspect that SBI, if not a target today, will be one tomorrow.
In the x86 world, we are doing our best to eliminate SMM, for security reasons at least, so its reappearance and explosive growth in RISC-V is a cause for concern. When I wrote the first SBI support in coreboot, in 2014, I only needed to support a handful of calls. The current standard is at 40+ calls and growing, with 7 implementations in 2 different languages. The name space for the number of calls is gigantic, and at the recent Plumber's conference, it was clear that there will be continuing pressure from vendors to add more.
A number of us are discussing implementing RISC-V CPUs with no M mode but, at this point, a lot of software will want to use SBI -- grub being one example.
Hence, a second alternative to removing M mode is to boot, then disable SBI, and let the OS handle whatever is needed. In the x86 world, this option is becoming increasingly popular, and is called "OS first" mode.
I am not requesting that you implement this call, only that you make a place for it in the standard, so that I can implement and use it in oreboot/RustSBI. The question of who will provide those runtime services -- that's a problem I'm not asking you to solve. This request is purely for making a place in the standard for such a call, no more.

Sure. You can propose the SBI extension. However, it would be difficult to standardize anything without understanding how the system will operate after that. Moreover, introducing any new SBI extension requires complete PoC.


Dative jQueryUI dynamically chosen theme needs to be persisted to localStorage

This now works. You can change the jQueryUI theme in application settings and localStorage remembers it when you close the browser and re-open it and the app.


Yashupad

Ready to submit your project? Nice job! Hopefully you've read the submission guidelines. If not, make sure to read them first.
If you're unsure about the format, make sure to check out the Orpheuspad example and follow the format there.
If this PR isn't a submission, that's okay too! If there's anything about this PR template that seems confusing, let me know in #hackpad on the slack!

Looking at your PCB i see that the Traces are all quite narrow. Please make then wider. Especially the GND and VCC Traces. Also you have multiple GND Traces overlapping over some distance. Please fix that.

Why is that? These are the default settings and even the official tutorial doesn't say anything about changing the track width, and my own approved hackpad uses the default width as well. Is it really necessary?

I dont want to risk it. It would be even better if you used a Ground Plane. It isnt necessary but a requirement to get approved by me

I approve
My PR: https://github.com/hackclib/hackpad/pull/80


task/kernel: set the URI properly

...instead of relying on already-created repos to have
the correct URI.
Signed-off-by: John Spray<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1886/
Test PASSed.


ign -> gz : ros_gz Migration (Local Source)

Part of: #262
Migrates:

Namespaces
Class names and variables

Also:

Tick-tocks msg type matching

There are quite a few uncrustify lint errors that don't originate from the migration, if we want to deal with them we should merge everything else in first (otherwise we'll get a whole bunch of conflicts)


PyPi ready codebase

Investigate and structure the codebase to be able to be distributed via pip

Cookiecutter can be used for generating PyPi style codebase
Cookiecutter pypackage can be used as template


Recovery phrase interactive confirmation

Would be good to have some UI that makes users enter their recovery phrase after wallet creation to confirm that they have taken a copy of the phrase.
This could be manual entry of the words or perhaps clicking the words in the right order.

please add a user interface acceptance criteria here: https://github.com/vegaprotocol/specs/tree/master/user-interface/0001-WALL-wallet.md if/when implemented.

must be prompted to prove that they have an accurate copy of their back up phrase by re-entering the phrase


Offcanvas 'Remember me' conflicting with form-login.php

Just a small issue I noticed. Since the offcanvas login form and WooCommerce myaccount/form-login.php have the same IDs, we get invalid HTML markup. As well, the remember me checkbox can't be checked by clicking on the "Remember me" label because of the duplicate IDs (it works in the offcanvas form, but not on the my-account login form).
This can be seen on the official bootScore website while logged out: https://bootscore.me/account/

Hi cemmos,
you are right, thanks for the report. But it has nothing to do with the child theme, it has to be fixed in the parent. Please reopen this issue here  https://github.com/craftwerkberlin/bootscore-5/issues/new

Ah, that's right. Got mixed up since I copied some of the templates over. I've reposted in the parent theme's issue tracker. Thanks.


Replaced PrBodyContentReply `n with array

I just learned the use of @() 🤦♂
Needed the space on line 983 to make the PR look less cluttered

@OfficialEsco I’m wondering if we can abstract the switch a bit further now that we have the standardized menus.
Soemthing like:
Function
  For each line
    Switch -Wildcard
        Set the menu options, don’t display menu
    End switch
    Display menu and replace line
  Next line
End function

The more I think about it though, the more I believe the KeypressMenu function would need to be adjusted to handle empty strings. I can handle this in a separate PR

Think its best if you just show it in action, usually they make a lot more sense 😁


Doubled check Idaho water rights count

It caught my eye that Idaho shares this summary of points of diversions (different than the count of water rights). In comparison, WestDAAT QA shows ~336,000 rights. Not sure what's going on, but worth investigating.
https://data-idwr.hub.arcgis.com/

Well their 259,175 number is only including PODs.  Our 336,019 is PODs & POUs.  Our POD count is only 163,553.  I'm guessing we removed some records due to missing crucial WaDE data (i.e. Lat & long, missing CFS values, etc).
Look's like that source data has more records in it too compared to our original source files.  I'll download it and see if we can update our ID wr data.

Update ID wr info with latest download files.

Our sites.csv input does contain 259,175 POD sites, along with 210539 POU sites.
We noted 171,168 wr records. Updated Basis & Legal Status.
'Pretty' sure I was able to update the uat mapboxtiler info, but our WestDAAT site counter still does not match the ID POD count.  Not sure why.
Our WestDAAT site counter seems to be a bit off.  For ID, it's posting the same results for POD & BOTH, and only different for POU.  Not sure if this is related to the polygon issue what was discovered with maptiler.

Nice work. Let's review this together next week. You are right about the POU and POD count difference vs total. There could something here that we need to understand as far as how the DPL count work. The total (or both) should (at least my expectation) be like the sum of POD and POU count but that is tricky.
https://westdaatstaging.westernstateswater.org/?state=N4Ig7gTiBcoM4BcCGCCmcYG0QEkAiIAugDQgAOA9gDYCeVAlgHapYkiNUAm9AYvVWgh4USGKCop6CAK6cW0RtKpVSVCowDmU2fMXLS3CKgDGCeuozQAzAZEAFCkwSWA7AF83pALZIyYkABeFBReADKoAG6oVDAAbAB0AIwALABMABypLtkADLEAnHmx6aqSMnIwyVbx6ck5AKyxOenZ%2Bckt9arqWuXyALSJidWpVqmxLjmpiU1DVR5AA


Don't show recommendation for Docker extension for .devcontainer/Dockerfile

I do all my development in dev containers, many of which have a Dockerfile in the .devcontainer folder. Everytime I open one of those, I get a pop up recommending the Docker extension, and I always say no, since it is not relevant for dev container building. I also don't want the users of my dev containers to see this pop-up, since they don't all know about Docker, and it can be confusing to new users to see options they don't understand.

I recommend suppressing that recommendation when Dockerfile is inside a .devcontainer.
Thank you!

Some users use a docker-in-docker setup which may still want the prompt for docker. i.e., https://medium.com/@toonsev/dev-containers-isolate-your-visual-studio-code-workspaces-a2fed6c60606
If I am not mistaken, I believe you can supress this recommendation on your end by clicking either the gear icon or drop down error on install?

Agreed that it's useful if someone is using the docker-in-docker feature, I have a repo like that I use for Docker workshops. But for all my other samples that use dev containers, I don't want students to be confused by the Docker popup, since they may not know yet about Docker.

I think you could add "extensions.ignoreRecommendations": true to your workspace's .vscode/settings.json to avoid that. Does that help?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[gotify] adds chart for gotify server

Description of the change
This adds a chart for gotify, a simple server for sending and receiving messages
https://gotify.net/
Benefits
Self hosted message server that sends messages via a REST-API and subscribes/receives messages via web socket.
It has a native Andriod client.
Possible drawbacks
No native iOS client
Checklist

[X ] Title of the PR starts with chart name (e.g. [home-assistant])
[X ] Chart version bumped in Chart.yaml according to semver.
[X ] Chart artifacthub.io/changes changelog annotation has been updated in Chart.yaml. See Artifact Hub documentation for more info.
[X ] Variables have been documented in the values.yaml file.

Thanks for the comments and suggestions,
I've been running gotify for some years now, and my home k8s was deployed without helm, just using manifests files.
I just reinstalled my home environment using helm and found this beautiful helm repository so I thought that I maybe should contribute with my very first helm chart.


Wavenet training doesnot work

Hi @Rayhane-mamah,  I'm trying the latest commit with tenserflow 1.10 on LJSpeech-1.1. The tacobon training seems no problem but wavenet training gives meaningless result. Synthesised wavs can not be understandable after 1300000 steps. And it is strange that step-XX-pred.wav and step-XX-real.wav are 7k size (too small for audio). The only change to haparam is reduced batch size. Expect to your reply. Thanks!

me too, and even in my case, it results negative loss value.

@tdplaza I think negative loss is reasonable since WaveNet uses cross entropy as the loss function.

@lfzhai I think negative loss is reasonable since it uses the negative cross entropy as the loss function.

I have the same problem.

I think synthesize.py has some problems during wavenet vocoding. . .

@lkfo415579  and find another problem: if follow the hparams.py, when WaveNet training, an error will happen;  if change
hop_size = 300, #For 22050Hz, 275 ~= 12.5 ms
win_size = 1200, #For 22050Hz, 1100 ~= 50 ms (If None, win_size = n_fft)
sample_rate = 24000,
WaveNet training will be OK.
I do not know why?!

@peter05010402  what do you mean.. ? you gave the default setting, it should be able to train the WaveNet model. (I am still getting noises from synthesizing mode)

@lkfo415579 Could you tell me how long you trained for 800k wavenet model? I trained wavenet more than a week, and it only reached 160k steps on LJspeech with default hparams. The slow training is strange. The result is noise in logs-WaveNet/eval-dir/wavs and good audio in logs-WaveNet/wavs(is it GTA?)
The other question is: the sample rate of LJspeech is 22050Hz and the default setting is sample_rate = 24000. Why model can be trained though the sample rate is not matched? Is it upsampling in the preprocessing?

I did not manage to launch training. Can you tell me the issue right away, did I miss something? I used  preprocess:'python wavenet_preprocess.py', training:   'python train.py --model=WaveNet'
And I got the following:
InvalidArgumentError (see above for traceback): Conv2DCustomBackpropInputOp only supports NHWC.
[[{{node WaveNet_model/inference/conv_transpose1d/conv2d_transpose}} = Conv2DBackpropInput[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 5], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](WaveNet_model/inference/conv_transpose1d/stack, WaveNet_model/inference/conv_transpose1d/kernel/read, WaveNet_model/inference/ExpandDims_1)]]

@lkfo415579 Could you tell me how long you trained for 800k wavenet model? I trained wavenet more than a week, and it only reached 160k steps on LJspeech with default hparams. The slow training is strange. The result is noise in logs-WaveNet/eval-dir/wavs and good audio in logs-WaveNet/wavs(is it GTA?)
The other question is: the sample rate of LJspeech is 22050Hz and the default setting is sample_rate = 24000. Why model can be trained though the sample rate is not matched? Is it upsampling in the preprocessing?

yes, it does.
The librosa.load() function (in load_wav() function) works like this: if you pass sample_rate, it automatically resample your signal to match that sample rate. If you do not pass sample rate, It will use the default value as 22050Hz. If you want to keep the original rate, you have to pass sample_rate=None.

I did not manage to launch training. Can you tell me the issue right away, did I miss something? I used preprocess:'python wavenet_preprocess.py', training: 'python train.py --model=WaveNet'
And I got the following:
InvalidArgumentError (see above for traceback): Conv2DCustomBackpropInputOp only supports NHWC.
[[{{node WaveNet_model/inference/conv_transpose1d/conv2d_transpose}} = Conv2DBackpropInput[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 5], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](WaveNet_model/inference/conv_transpose1d/stack, WaveNet_model/inference/conv_transpose1d/kernel/read, WaveNet_model/inference/ExpandDims_1)]]

You are having problem with tensorflow-gpu.
If you are using GPU to train, make sure that you have totally remove tensorflow package and install tensorflow-gpu. Do not install both of them.

Has anyone trained wavenet model and got good samples by now? I've trained 1500000 steps and still much noise with the syntheized audio, any tips?


Listeners addition

Finished the addition of listeners to RM. Main listeners are:
IProgressListener -> intented to observe the progress of mining processes. It can be used to provide user-friendly information about mined entities (commits, tags). Current set of covered steps is not exhaustive and one may expand it to meet further externalizations of information.
IMiningListener -> purpose is to detach source analysis (calculation/detection) from any specific use of mined information (as pushing it into mongodb). A default mining listener is provided,  org.repositoryminer.listener.impl.DefaultMiningListener (defaults the persistence to mongodb), but one may inject a different implementation to fit special needs.
Other listeners were added. They play auxiliary roles to the MiningListener by dividing the mining procedure in specifc concerns: metrics, smells, tags and others.
Whereas I am positive that IProgressListener should be accepted/merged, IMiningListener may lead to undesired complexity. On the other hand, as we concentrate persistence code in implementations of IMiningListener, it may facilitate the controlling of information being saved. Plus, we might be able to more easily define general storing strategies as DB routines won't be scattered out through source code.

Not accepted due the unnecessary complexity added.


fix typo DateType -> DateTimeType, fixes #3069

This should fix #3069 AKA https://stackoverflow.com/questions/75857300/tell-if-object-isinstance-of-pydatetime-or-pydate. I've added an entry in newsfragments and I've added some regression tests in test_datetime.rs.

👍 (squashing for a tidy git history at the same time appreciated though not required)

I've merged in master using GitHub's UI, and now the CI passes. Could you just "squash and merge", or should I squash my changes in my branch when I get to a CLI tonight?

Could you just "squash and merge"

bors doesn't support per-PR squash-merge.

Perfect, thanks!


Fix EventSubscriberInterface typo in doc

Quick fix for a typo in documentation about EventSubscriber/EventSubscriberInterface

Please fix in code example as well

Please fix in code example as well

Thanks, i hadn't seen it

Thank you @MrYamous


Raw emiting invalid baseobject leads to a crash

Description of the problem
/
Reproduction steps
const veh = new alt.Vehicle("sultan2", 0, 0, 0, 0, 0, 0);

alt.emitRaw("test", veh) // ok
alt.log('sent');

alt.nextTick(() => {
  veh.destroy();
  alt.emitRaw("test", veh); // crash
})

Expected behaviour
/
Additional context
No response
Operating system
Windows 11
Version
dev/11.0/dev1
Scope
shared

does it also happen with alt.emit? it should happen there too i can fix it later

raw emit only

normal emit: #152

Fixed in https://github.com/altmp/altv-js-module/commit/eefa41d05ac2381c2caec520f1c66da7f624c7b5 (I tested it)


Parse interpolation and formatting in strings

I based my approach in the python implementation.
This is my fist time working with the tree-sitter machinery, please let me know of any issues.
Solves #129

Hey @maxbrunsfeld I would really appreciate if you could review this. Thanks you.

The difference with Rust & Python is that in Python, an f string's interpolations are always valid, whereas in Rust it's only valid in certain macro invocations, a regular string with brackets is not an interpolation, so I don't think this makes much sense and is better left to an lsp

This is kind of a new feature for Rust. Announcing Rust 1.58.0: Captured identifiers in format strings
And there is still a lot of work going on to improve things.

Tracking issue for improving std::fmt::Arguments and format_args!()

My point still stands, it's not valid in all string contexts and rust-analyzer handles this anyways

Sure, maybe it needs to be only in macro context, but the feature exists for other editors like intellij and vscode since at least one year if I remember correctly, so it shouldn't be so hard to implement.

The feature exists in Rust's LSP

From what I just tested on both helix and neovim, renaming a variable doesn't rename the one inside the println string, so I'm not sure of that. Furthermore, LSP doesn't provide syntax highlight, so the feature is still relevant.

Since which version ? Because I can't see any sign of this working in my installation of rust-analyzer 1.71.0. Renaming doesn't apply to the variable inside the string format and coloration is still the same as regular string.

Since which version ? Because I can't see any sign of this working in my installation of rust-analyzer 1.71.0. Renaming doesn't apply to the variable inside the string format and coloration is still the same as regular string.

I can't comment on your IDE/setup, but in Neovim inspecting the LSP semantic tokens shows the following under my cursor

I believe that it is okay for tree-sitter to have features that another system already has.
tree-sitter is designed to be very fast and run on every keystroke, rust analyzer on the other hand is not, it has to do a bunch of additional work and, depending the crate/project, this can take seconds or even minutes.
Two systems with two different goals. @amaanq

I believe that it is okay for tree-sitter to have features that another system already has.

Tree-sitter is not an lsp at all, if so, we'd have knowledge of when an identifier is a type, variable, or function when used anywhere. So that makes no sense
Introducing this would bring false positives in normal strings, rather than false negatives in print-like macro invocations. To me false negatives are better than false positives in this case, anywhere brackets are used would be highlighted incorrectly. You can also solve this with injections by writing a tiny rust format specifier grammar to inject in strings.

Since which version ? Because I can't see any sign of this working in my installation of rust-analyzer 1.71.0. Renaming doesn't apply to the variable inside the string format and coloration is still the same as regular string.

I can't comment on your IDE/setup, but in Neovim inspecting the LSP semantic tokens shows the following under my cursor

Hello, I am trying to figure out why I don't get syntax highlighting for string interpolation in rust

I am currently :Inspect-ing on params in the line println!("->> {:<12} - handler_hello - {params:?}", "HANDLER");
I'm wondering if I missed something in my config


WIP: Netlist Syntax README

Document netlist syntax recognized by ALIGN tool flow

@kkunal1408 , @parijatm does this syntax make sense?
examples/README.md

If nf is specified, the primitive generators should respect this. For example, if nf is specified for a pair of transistors in diff pair configuration:
Min d1 vin s b m=8 nf=4
Mip d2 vip s b m=8 nf=4

The MOS generator shall stamp four-fingered instances of a unit device either in common-centroid or inter-digitated style.

Adding @arvuce22  to the thread.

@meghna09 @Jiteshp01


[zh-cn]Sync container-runtimes.md

Sync upstream
content/zh-cn/docs/setup/production-environment/container-runtimes.md

en:

/lgtm

The duplicated section should be removed in the English upstream.
/hold


Datapoints plot / table does not load/reload

On the local version, the plot of already uploaded data does not plot on (same) cases of opening the "DDA quant ion" module. When selecting to highlight a datapoint, the page tries to reload and the plots and table are not rendered anymore.
To Reproduce
Steps to reproduce the behavior:

Open module
Either the plot shows or not, hard-reloading the page usually renders the plot
Select a datapoint to highlight in the plot -> reloading does not render the plot

Expected behavior
All plots and tables should be shown each time
Desktop (please complete the following information):

OS: macOS
Browser FireFox
ProteoBench version [e.g. 0.3.4-dev]

this is related to #353 (which I just saw now)

Hello, I've the same behaviour for the DDA quant ion module :
datable and scatterplot does not update if the "Minimal ion quantifications (# samples)" is modified
Any interaction in the scatterplot leads to the empty input file form.
Indeed, related to #353

Resolved in #405


Hide Landing page placeholders

Problem:
The landing page on master as of now is full of placeholders. In case we need to push something to production, we would unintentionally deploy this half-baked page.
Fix:
Remove the placeholders, leave a barebones landing page in place.

I'm gonna merge this PR now, to make master safe to deploy to production, should we need that


Can't browse host with transfence mode active

Hi there,
After set up credentials for my host, a green pop up indicates successful connect. But doesn't show any folder nor file.
I figure out that this host only works with transference mode active on my FileZilla Client.
Do you know how to set an active mode transference by default for remote-edit? Or what file is handling the connection?
Best regards.

See "Files are not displayed after successfully reading from remote server #143"

See "Files are not displayed after successfully reading from remote server #143"

Sorry for reposting.
I'll be specting for a solution and looking for one to share too.

I see that issue but it's not same scenario because i'm using atom 1.2.4 and my other host (which support pasive transference mode) is working great.

Hi. I assume this is FTP? The underlying ftp module used is https://github.com/mscdex/node-ftp. I'd urge you to look there to see if it supports what you're trying to do. Let me know what you find :)

Ok! I'm going to dive into that ftp module and let you know what I find.


ImageBuf: Improve interppixel_NDC and add bicubic interpolation

For a couple major releases now, we've considered interppixel_NDC to be deprecated, in the sense that it considers the NDC coordinates to be relative to the data window, which we realized too late was stupid and provided the interppixel_NDC_full to do the "right" thing by considering NDC space to be relative to the "display" window (or "full" image). With this patch, we change the behavior of interppixel_NDC to be the way it should always have been, i.e., identical to interppixel_NDC_full. Now we consider interppixel_NDC_full to be deprecated, and will eventually remove it.

Added interppixel_bicubic and interppixel_bicubic_NDC, which do the same things as interppixel and interppixel_NDC, but using b-spline bicubic interpolation, rather than bilinear interpolation. The bicubic is smoother and may be better suited for some purposes.

On the subject of cubic interpolation, perhaps Mr. Gritz, you would consider adding the prefilter pass to the interpolation.
For those that aren't aware, a cubic interpolation will not pass through the exact points of the curve for a given value, leaving values slightly under. In imaging, this reduces overall intensities towards the median, decreasing perceptual sharpness generally.
The prefilter pass considers the image and augments the values such that values are perfectly achieved when performing the cubic interpolation.
Remarkable byproducts are:

Maintains perceptual sharpness on a scale.
Does not deviate to a sharper (such as SinC or Lanczos) or blurrier (Cubic) result over a stair / multiple interpolations.
Results in a much more organic scale.

To the best of my knowledge, no imaging applications have harnessed the prefilter variation.
Turn on HD when viewing the sample here.
Further information here.

That looks really nice. I can see this being helpful in a number of situations.
I didn't find the code super clear in that example link. What is the prefilter? Do you have a reference explaining what's going on here in more detail?

Never mind, I've found a bunch of references. Looks like a great idea, though I think it's all implemented as a pre-pass before doing this kind of single-point bicubic lookup. I'll experiment with an implementation and see how it compares to the other interpolation methods we use. In particular, while it's clearly an improvement over straight-up B-spline cubic interpolation, I'm interested if it presents any improvement over Lanczos or the other "better" filters we already support, or if it's roughly equivalent.

It destroys Lanczos and SinC because those err on the sharpening side with their weights.
As said, you can do a 10 step stair interpolation and begin to see nasty halos from the over-sharpening with either of the above window functions.
With the prefilter, there is none.

Nice, I will definitely try it out. The catch, I suppose, is that you always need to pre-filter the whole image, yes? There's not an especially good way to compute it locally.
Seems orthogonal to this review, I'll open a new PR when I've got something working.

Yes to whole image, but as an arty fatty fluff, I will say beyond a shadow of a doubt the prefilter scale destroys all other forms.
I was considering trying to add this myself, and decided to make a note here when your commit popped up. Rather serendipitous.

Nah, I'll take a whack at it today. Sounds like it's not too hard, and I have some specific ideas about where to fit it in.


3156 shutdown and handlers map

Description
In this PR, several significant changes have been made (please bear with me):

Overhauled the Subscribe functionality, focusing on refining control constructs for categorizing messages by topic and ending short polling on SQS.
Relocated the intricate poller cancelation logic to a new structure, SubscriptionManager.
The SubscriptionManager oversees a control goroutine loop, monitoring subscribe/unsubscribe operations and context terminations.
Those events are fanned-in to a channel the control loop consumes from. When a subscribe/unsubscribe event emerges, a lock is employed to determine if SQS operations should cease or if only handler removal is required. Upcoming PRs will allow these subscribe actions to govern the initiation of operations at boot, contingent on the availability of infrastructure components.
Previously, the cancel function was derived from the initial subscription context and handed to the SQS poller. However, upon context cancel (unsubscribe) during shutdown, there was no guarantee this cancel function would be called last, thereby causing premature termination of consumption if called too early. This could have been prohibiting dynamic unsubscribes because if by chance a single subscription was  cancelled and unfortunately the consumption cancel function was 'pinned' to this topic, then the entire component consumption would be terminated until a new event of subscribe would be created
Swapped the restrictive mutexes safeguarding the synchronous map with xsync.MapOf for lock-free thread-safe reads. Notably, this supports the Size method that is used to determine what/if actions like halting of SQS consumption should be taken.

Now, each Subscribe creates a listener unsubscribe goroutine improving readability and the overall sense the system makes. As simple as "a subscribe creates an unsubscribe listener watching for subscribe context cancellation and acting upon it"
All termination procedures are now housed in the SubscriptionManager, while the primary component logic only manages its own status (closed or open) and invokes the manager's Close function.
Post-refactoring, the remaining maps were transitioned to the thread-safe sync.Map.
Standardized error messages to lowercase and restructured the frequently used "... topic (sanitized): abc" to "... (sanitized) topic: abc".
Revamped getOrCreateTopic to align with linter standards, avoiding named return variables.
Modernized consumeSubscription error handling using Errors.Is and Errors.As, and removed redundant waits on channel status or the termination of pollerRunning within the consumption process, simplifying understanding.

Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #3156
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[X] Code compiles correctly
[ ] Created/updated tests
[X] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#3820

@amimimor looks like this PR is in a "broken" state where unrelated commits have been added to the branch. I'm not sure what happened.
Could you please try fixing it before we can review it?

@amimimor looks like this PR is in a "broken" state where unrelated commits have been added to the branch. I'm not sure what happened.
Could you please try fixing it before we can review it?

should be now aligned. I had colab with a teammate and forgot to squash (as he is not DCOed) so I had to rebase like 17 commits back and probably made a mess. git keeps biting me 17yrs in the business

git keeps biting me 17yrs in the business

I think most of us can relate 🤣

thanks @ItalyPaleAle ! it wasn't an easy one and your comments had been very helpful. I'm now going to rush into adding documentation about the edge cases I came across with sns/sqs so that users could know what to expect. See you (maybe) in the coming PRs 🥳

thanks @ItalyPaleAle ! it wasn't an easy one and your comments had been very helpful. I'm now going to rush into adding documentation about the edge cases I came across with sns/sqs so that users could know what to expect. See you (maybe) in the coming PRs 🥳

Of course, thanks for the contribution and for your patience while we got this reviwwed :) Looking forward to see more from you!