event grid docs missing

in the host.json 2.x there's settings for eventgrid things..but i don't see anything about eventgrid anywhere else. seems like there should be something in concepts section about this.

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

ID: 3799266d-bc0a-63f0-b67a-bc182d37667a
Version Independent ID: b768cbf4-c572-58d9-d5e2-1d067e9bba5e
Content: Developer's Guide to Durable Entities in .NET - Azure Functions
Content Source: articles/azure-functions/durable/durable-functions-dotnet-entities.md
Service: azure-functions
GitHub Login: @sebastianburckhardt
Microsoft Alias: azfuncdf

Hello @drdamour, Thank you for your feedback! We will review and update as appropriate.

@drdamour Looks like you have created the issue in the wrong document. I believe you are looking for this. You can create a new issue for a doc which is related to your feedback and I will be closing out this issue.


Expose subscribed event or log messages to an external application

Problem description
The proposal is to integrate the Guardian application with external monitoring tools to expose internal  nats events or strategic logs, messages, errors, and so on.
Requirements
We need to build a new layer (js file) where we can define the channel where errors, tracing, or subscribed events will be exposed.
Here is a simple documentation of how we can obtain these events: https://docs.hedera.com/guardian/guardian/standard-registry/external-events. However, the idea is to provide the integration with grafana.
Either the tracking level or the channel used will be provided via env variables.
MONITORING_CHANNEL=grafana // cloud
MONITORING_LEVEL="fatal" //  "critical", "error", "warning", "log", "info", and "debug"
MONITORING_EVENTS=true // to activate the script that will log
Note: If the Guardian application is running in a cloud service like AWS or Google App Engine any console.log in the code will automatically register messages in its built-in logging solution such as AWS Cloud Watch or Google Logging.
To avoid the amount of code changed we can explore something like that to intercept the application errors.
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
 console.log('Erro request:', JSON.stringify({
    statusCode: err.status,
    message: err.message,
    stack: req.app.get('env') === 'development' ? err.stack : undefined
  }));
  res.status(err.status || 500)
  res.send({
    statusCode: err.status,
    message: err.message,
    stack: req.app.get('env') === 'development' ? err.stack : undefined
  })
});

Definition of done
The easy integration with external tools to expose internal data such as logs, errors, and nats events.
Acceptance criteria
An easy configuration that allows the client to switch between different technologies to log data externally.

Hi, I try to recap the task.
We need to:

Monitor the state of all services/microservices that compose Guardian
Make external tools able to read this information
Leverage enterprise environment settings. This means we should expect clients already use other tools to monitor their environments, and we should be compliant with those tools

Potential solution:

Expose application events, so clients can understand what's happening inside the product as a whole and what's happened in the past
Expose service metrics to understand the current and past status of the service (CPU, RAM, disk, etc.)

Details of the potential solution:

Define interesting applications events to expose externally
Define interesting metrics to expose externally
Expose application events

JS library to log events (logger)
Embed the logger in every service
Update the code to expose interesting events
Configure the logger to send events to nats

Expose metrics

Embed Prometheus in every service
Expose updated metrics

Create a new application-events service that

Reads events from nats
Saves those events for processing
Sends those events to external tools
Can be configured to

Process and send events to different enterprise tools/enterprise services
Process and send events to different agnostic tools (i.e., get/post to URL endpoints, send emails)

Create a metric-service service that

Scrapes exposed metrics periodically from every service
Saves those metrics for processing
Exposes all updated metrics to be used by external enterpirse and agnostic scraping tools
Can be configured to

Prepare/format data for specific external scraping tool needs
Periodically send metrics to nats so that they can be processed as events and pushed to external tools

application-events and metrics-service uses the exact mechanisms to expose events and metrics as any other service, so we don't have custom behaviors. This means they will have the same configuration options to expose data as other services and specific configurations for their purposes.
Configuration for all the above features will be integrated with the new Environment concept introduced with issue #1607 (https://github.com/hashgraph/guardian/issues/1607)
Create documentation for all the common configurations
Create dedicated documentation for the new application-events and metrics-service

Some optional / nice-to-have features, in order of priority:

Create a Grafana dashboard (JSON file) to reads metrics from Guardian
Provide a pre-configured grafana-service for visualization of metrics in Guardian
Use Guardian-CLI to create proper configuration files.
Use Guardian-CLI to send test events to nats.

Additional notes:

The component guardian-service already exposes events via nats (https://docs.hedera.com/guardian/guardian/standard-registry/external-events). Let's evaluate if we can leverage and extend that mechanism to all the other services.


Unit tests do not work on AMD GPUs

Summary
Like #46 for Intel GPUs, there seems to be problems with our unit tests on AMD GPUs at least on the version of ROCm (5.1.0) and specific GPU that I tried (I think MI210).
Steps to reproduce
Here are some steps to reproduce on the AMD GPU nodes on COSMA.

SSH to COSMA8
Clone AMReX:git clone https://github.com/AMReX-Codes/amrex.git

Clone this repo:git clone https://github.com/GRTLCollaboration/GRTeclyn.git

SSH to ga005 (which is running ROCm v5.1.0 at the time of writing)
ROCm 5.1.0 is already in the system path so there is no need to load any modules for it but it is necessary to load a newer version of GCC and tell hipcc to use it. First load the modulemodule load gnu_comp/11.1.0

Add the following lines to ~/amrex/Tools/GNUMake/Make.local (create this file if it doesn't exist):ifeq ($(USE_HIP),TRUE)
  GCC_PATH := $(shell realpath -m $(shell which gcc)/../..)
  GCC_VERSION := $(notdir $(GCC_PATH))
  CXXFLAGS += --gcc-toolchain=$(GCC_PATH)
  SYSTEM_INCLUDE_LOCATIONS += $(GCC_PATH)/include/c++/$(GCC_VERSION)
  AMREX_AMD_ARCH = gfx90a
endif

Change into the Tests directory:cd ~/GRTeclyn/Tests

Build with USE_HIP=TRUE:make -j 128 USE_HIP=TRUE

Run the testsmake run USE_HIP=TRUE

Observed outcome
The tests abort with the following error:
:0:rocdevice.cpp            :2614:<PHONE_NUMBER>190 us: 124592: [tid:0x2b2d6af70700] Device::callbackQueue aborting with error : HSA_STATUS_ERROR_MEMORY_FAULT: Agent attempted to access an inaccessible address. code: 0x2b
SIGABRT
See Backtrace.0 file for details

Additional information
Passing -DCATCH_CONFIG_NO_COUNTER to the preprocessor which changes the way Catch2 internally names test cases uniquely from using the __COUNTER__ predefined macro to the __LINE__ one allows the tests to work (although the CCZ4 RHS test currently fails as the tolerances are currently too small).
Since the test cases are currently in different translation units (i.e. different .cpp files) which means __COUNTER__ ends up being 0 for each of them, the "unique" names are not unique and the ROCm linker has difficulty figuring out which device code to link to each kernel in test cases. Since TEST_CASE is currently on a different line for each test (although we can't guarantee that going forward), __LINE__ ends up being different and the test cases are uniquely named.

The tests work on b340cd1edaa5ba345b2100a4e3384e8a705e458b but the CCZ4 RHS one fails as the tolerances are too tight.


Make responseUrl for msg.respond optional

This simply makes the first parameter of msg.respond optional. If not included, msg.body.response_url will be implied and will pass an error to the callback if not found.
Tests kept at 100%
fixes #21

Coverage remained the same at 100.0% when pulling 1d7578e4a63322c723967941fbde0273b65a37e9 on respond-response-url-optional into 4ba83014f99c0c13b8b3c40460179fde802b3e67 on master.

LGTM


All goals fix

split navbar into navbar(header) and sidebar (but named as sidemenu, due to conflict with Semantic's component). primary reason for this is formatting: under header, we want to see the body of content (e.g. goals, bookmarks) on the left column, and the sidebar on the right column. to use flexbox, sidebar (which is a vertical element) had to be separated from the header (a horizontal element).
fixed "add goal" input field bug in all goals view. add goal input field disappears when the user has 5 goals
formatted all goals view
added header/sidebar to all bookmarks view

note: do not use Semantic's  component, use  instead! Container has auto margin left and right that makes it hard to format our own components :)


fix(TextBox): if content changes from array to string (InlineContent to text), reset marquee props

Description

If the TextBox's content changes from InlineContent to a string, the Marquee was not properly updated.
References

Testing

In the TextBox's InlineContent story, add marquee: true and something like this to ensure you swap from an array to plain text:
    _init() {
      setTimeout(() => {
        this.tag('TextBox').content = 'plain text';
      }, 2000);
    }

Previously, the text would just disappear, now it should update.
Automation

Checklist

[ ] all commented code has been removed
[ ] any new console issues have been resolved
[ ] code linter and formatter has been run
[ ] test coverage meets repo requirements
[ ] PR name matches the expected semantic-commit syntax

Test Execution Failed.


Thanks a lot! / Suggestion: Order the favorites themes list first by light and then by dark themes

Hello,
thanks a lot for sharing your great work!
it's a very useful extension.
I have a suggestion:
At the moment, ThemeStar lists the favorites Themes in alphabetical order. Unfortunately, this order mixes light and dark themes:

Therefore, if one tries switching between different dark themes by using the cursor up/down keys, it hurts the eyes because it constantly switches between light and dark themes.
I guess that it's a problem for you to decide if a Theme is light order dark because a theme probably has no property like e.g. IsLightTheme: True|False
If that's true, then I propose that you just test if the theme name contains the word 'light' or 'dark', because most names contain one of them😃
If both words are missing, I propose to assign the theme to the light themes, because it is better to have light themes mixed with dark ones (if one would like to switch between just light themes, then it's probably daytime, and therefore, it does not hurt to see dark themes). With this logic, the dark themes always have just dark themes 😃
Thanks a lot, kind regards,
Thomas

@schittli thanks for the feedback and appreciate the nice review in the marketplace! I Just published v1.1 with this and a few other improvements to the selection dialog. Try it out and let me know what you think!


added support for simple informix outer joins

Support of simple outer joins.
See https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqlt.doc/ids_sqt_163.htm
This fixes partially #364
e.g.  SELECT DISTINCT t1.f1, t2.f2 FROM t1, OUTER t2 WHERE t1.f3=1 AND t1.f4=t2.f4

Coverage decreased (-0.07%) to 82.956% when pulling 9344658b71da26e3f379189ab826fe2358ce34a9 on schwitters:informix_simple_outer_join into 7cd189c326d3d84ddc0033b945e41b93001cde8a on JSQLParser:master.

Coverage decreased (-0.07%) to 82.956% when pulling 9344658b71da26e3f379189ab826fe2358ce34a9 on schwitters:informix_simple_outer_join into 7cd189c326d3d84ddc0033b945e41b93001cde8a on JSQLParser:master.


Ahead of time compilation issue with kwargs in the function signature.

This MWE is the test_aot_compilation from test_jit.py with the addition of a keyword argument.
import equinox as eqx
import jax.numpy as jnp

def f(x, y, **kwargs):
    return 2 * x + y

x, y = jnp.array(3), 4
lowered = eqx.filter_jit(f, donate="none").lower(x, y, test=123)
lowered.as_text()
compiled = lowered.compile()
compiled(x, y, test=123)

As of v0.11.2 (working in v0.11.1) the above MWE raises the following error:
TypeError: function compiled for PyTreeDef((({}, {'first': (*,), 'fun': (None,), 'rest': (None, None)}), {})), called with PyTreeDef((({}, {'first': (*,), 'fun': (None,), 'rest': (None,)}), {}))

I believe the error is caused by the updated _preprocess function used in _JitWrapper._call yielding a different set of arguments for the Lowered.lowered than those yielded for the Compiled.compiled inside of Compiled.__call__. For example if we make the following change to _preprocess, without considering any other implications, the error appears to be resolved:
def _preprocess(info, args, kwargs, return_static: bool = False):
    signature, dynamic_fun, static_fun, donate_first, donate_rest = info
    args, kwargs = _bind(signature, args, kwargs)
    # add dummy to avoid special casing `len(args) == 0`.
    args = args + (None,)
    first_arg = args[0]
    rest_args = args[1:]
    if return_static:
        dynamic_first, static_first = hashable_partition(first_arg, is_array)
        dynamic_rest, static_rest = hashable_partition((rest_args, kwargs), is_array)
    else:
        dynamic_first = hashable_filter(first_arg, is_array)
        # dynamic_rest = hashable_filter(rest_args, is_array)
        # Include kwargs in dynamic_rest
        dynamic_rest = hashable_filter((rest_args, kwargs), is_array)
    dynamic_donate = dict()
    dynamic_nodonate = dict()
    if donate_first:
        dynamic_donate["first"] = dynamic_first
    else:
        dynamic_nodonate["first"] = dynamic_first
    if donate_rest:
        dynamic_donate["fun"] = dynamic_fun
        dynamic_donate["rest"] = dynamic_rest
    else:
        dynamic_nodonate["fun"] = dynamic_fun
        dynamic_nodonate["rest"] = dynamic_rest

    if return_static:
        static = (static_fun, static_first, static_rest)  # pyright: ignore
        return dynamic_donate, dynamic_nodonate, static
    else:
        return dynamic_donate, dynamic_nodonate

I'm not familiar with the argument donation semantics so perhaps such a modification is unsuitable?

Thanks for the report! I agree with your proposed fix -- I've just written #627 to fix this.
We'll have this fixed in the next release :)


Generalization of EitherD, RWS

This PR contains a POC generalization of the repo's current approach to program verification. A single datatype, AST, can be instantiated to a type equivalent to the existing RWS or to one equivalent to EitherD. Furthermore, the work of adding predicate transformers for branching operations need not be repeated for each such instance (as is done in the code currently), but can be generically added to a set of AST operations.

Perhaps this can merged into its own branch for now, rather than main, since it is still under development?


Improve tool selection

show the 4 most used tools per user by default
if this statistic cannot be loaded (because the view is missing e.g.) use the order of configuration and show the first 4
the user can configure to show specific tools initially (instead of by usage) in the users config

@manuelroth this is deployed on stage env atm


As IDEM I want to deploy the API proxy so it can be used

Set up DO droplet for the API proxy
When merge to main, GH action to deploy to server
https://github.com/dltxio/proxy.idem.com.au

Note - won't be a DO droplet. Will be a DO app

Test steps:

Verify endpoint works - https://proxy.idem.com.au/accounts (sample endpoint that comes with the nest template)

@xcjlo985 update ticket to be app instead of droplet


[Feature][connector-v2]Add Kafka Protobuf Data Parsing Support

Purpose of this pull request
handle #7059
How was this patch tested?
Check list

[x] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

@Hisoka-X @hailin0
By configuring the protobuf data structure, we can successfully receive and send related messages.
This is an example used, and I will continue to improve the relevant documentation and unit testing.
Help me see where we need to optimize ,  thk.
# Defining the runtime environment
env {
    parallelism = 1
    job.mode = "STREAMING"
    flink.execution.checkpointing.interval=5000
     flink.execution.restart.strategy = failure-rate
     flink.execution.restart.failureInterval = 60000
     flink.execution.restart.failureRate = 100
     flink.execution.restart.delayInterval = 10000
   # execution.restart.strategy = fixed-delay
   # execution.restart.attempts = 11
   # execution.restart.delayBetweenAttempts = 10000
}
source {
  Kafka {
    schema = {
      fields {
        name = string
        id = int
        email = string
        Address {
            city = string
            state = string
            street = string
            }
        attributes = "map<string,float>"
        }
    }
    topic = "test"
    format = protobuf
    protobuf_message_name = Person
    protobuf_schema = """
              syntax = "proto3";

              package wiki.hadoop.protobuf;

              option java_outer_classname = "Test2";

              message Person {
                string name = 1;
                int32 id = 2;
                string email = 3;

                message Address {
                  string street = 1;
                  string city = 2;
                  string state = 3;
                  string zip = 4;
                }

                Address address = 4;

                map<string, float> attributes = 5;

                repeated string phone_numbers = 6;
              }
    """
    consumer.group	= "test-202301011"
    bootstrap.servers = "<IP_ADDRESS>:9092"
    kafka.config = {
      client.id = client_1
      max.poll.records = 500
      auto.offset.reset = "latest"
      enable.auto.commit = "false"
    }
    result_table_name = "kafka_table"
  }
}
transform {
  Sql {
    source_table_name = "kafka_table"
    result_table_name = "kafka_table2"
    query = "select name, Address.state ,Address.city ,attributes.test1 from kafka_table"
  }
}

sink {

    Console{
    source_table_name = "kafka_table2"
    }

}

# Defining the runtime environment
env {
    parallelism = 1
    job.mode = "STREAMING"
    flink.execution.checkpointing.interval=5000
     flink.execution.restart.strategy = failure-rate
     flink.execution.restart.failureInterval = 60000
     flink.execution.restart.failureRate = 100
     flink.execution.restart.delayInterval = 10000

}
source {
   FakeSource {
      parallelism = 1
      result_table_name = "fake"
      row.num = 16
      schema = {
        fields {
                  name = string
                  id = int
                  email = string
                  Address {
                      city = string
                      state = string
                      street = string
                      }
                  attributes = "map<string,float>"
                  phone_numbers = "array<string>"
        }
      }
    }
}

sink {
  Console{}
  kafka {
      topic = "test_topic"
      bootstrap.servers = "<IP_ADDRESS>:9092"
      format = protobuf
      kafka.request.timeout.ms = 60000
#       semantics = EXACTLY_ONCE
      kafka.config = {
        acks = "all"
        request.timeout.ms = 60000
        buffer.memory = 33554432
      }
      protobuf_message_name = Person
      protobuf_schema = """
              syntax = "proto3";

              package wiki.hadoop.protobuf;

              option java_outer_classname = "Test2";

              message Person {
                string name = 1;
                int32 id = 2;
                string email = 3;

                message Address {
                  string street = 1;
                  string city = 2;
                  string state = 3;
                  string zip = 4;
                }

                Address address = 4;

                map<string, float> attributes = 5;

                repeated string phone_numbers = 6;
              }
              """
  }
}

protobuf_schema = """
              syntax = "proto3";

              package wiki.hadoop.protobuf;

              option java_outer_classname = "Test2";

              message Person {
                string name = 1;
                int32 id = 2;
                string email = 3;

                message Address {
                  string street = 1;
                  string city = 2;
                  string state = 3;
                  string zip = 4;
                }

                Address address = 4;

                map<string, float> attributes = 5;

                repeated string phone_numbers = 6;
              }
              """

+1 for this configure way. cc @hailin0

Hi @hailin0 , Is this method OK? If so, I will add the documentation and e2e code

Please add e2e test case with read/writer PROTOBUF format.

@Hisoka-X Add Complete

I am working on a streaming job using this feature, where I need to parse a Kafka topic containing a protobuf message with nested objects in an array. Below is the relevant portion of my configuration:
hocon
复制代码
source {
Kafka {
schema = {
fields {
sn = string
tenantId = int
groupId = int
utcCode = int
updateTime = bigint
totalUsers = int
array{CurrentUserInfo {
userId = int
mac = string
userIp = string
rssi = int
uplinkRate = float
upRate = bigint
timeDelay = int
score = int
}
}
}
}
topic = "pb-wirelessUser"
format = protobuf
protobuf_message_name = CurrentUserContent
protobuf_schema = """
syntax = "proto3";
package com.ruijie.cloud.macc.log.proto.sta;
  message CurrentUserContent {
    string sn = 1;
    uint32 tenantId = 2;
    uint32 groupId = 4;
    int32 utcCode = 8;
    int64 updateTime = 9;
    uint32 totalUsers = 11;
    repeated CurrentUserInfo userList = 20;
  }

  message CurrentUserInfo {
    int32 userId = 1;
    string mac = 2;
    string userIp = 3;
    int32 rssi = 7;
    float uplinkRate = 8;
    int64 upRate = 11;
    int32 timeDelay = 17;
    int32 score = 25;
  }
"""
consumer.group = "seatunnel-test"
bootstrap.servers = "<IP_ADDRESS>:9092"
result_table_name = "kafka_table"

}
}
transform {
Sql {
source_table_name = "kafka_table"
result_table_name = "kafka_table2"
query = "select CurrentUserInfo from kafka_table"
}
}
sink {
Console {
source_table_name = "kafka_table2"
}
}
The protobuf message has a repeated field CurrentUserInfo as part of the CurrentUserContent message. My question is: How should I configure SeaTunnel to correctly parse and extract the nested CurrentUserInfo array?
I've tried the above configuration, but I'm not sure if this is the correct approach. Any guidance or examples of similar configurations would be greatly appreciated!

@chessplay have you tried https://seatunnel.apache.org/docs/2.3.7/transform-v2/sql#struct-query ?

@chessplay  https://github.com/apache/seatunnel/blob/dev/docs/zh/connector-v2/source/Kafka.md
Here are some usage examples

@Hisoka-X I have tried struct-query ，but it does not seems to  work。The following is key configuration and log，I would like to ask if this feature does not support handling nested object arrays in JSON?

@chessplay Could you create an issue for this?

ok,i have created an issue for this https://github.com/apache/seatunnel/issues/7585


Paperclip integration?

A you going to implement it? Or maybe you will accept patch for this?

+1

:+1:

+1

+1

+1

+1


Use Oauth2 login with spotify

fixes #729, fixes #728 and fixes #726
works for me locally, I preserved the original login method, added a new one for login with spotify and fixed an issue that stopped tracks playing. I'm not massively familiar with this code (I pulled it yesterday because I wanted it to work on my pinephone) I'm happy to do a bit more to get this mergeable if needed but please bear in mind I may need a bit of guidance on what files to look at to solve issues

That flatpak builder failure looks like clippy complaining about pre-existing code. Is this a new thing?

tested it on my pinephone too and I have tunes :)

but it should work with librespot 0.6.0 too which is also what I run on my OS currently
but thanks for the fix it works now :))))

You must have commented 0.6.0 within days of it's release :') I'll give it a go and see how it works. I was actually looking at the login5 stuff on librespot too as it may fix the other authentication issue....

Looks like a lot of great work, I'll try to review that tomorrow, thanks!

Looks good overall! I would have a few things to nitpick but nothing major/no reason to delay this. Just hesitant about the client id change, is it needed?

Hi @xou816 :wave:  nice to meet you. I'll have a look through your comments, I did kind of just lift and shift the oauth2 code out of librespot as it was printlning the auth URI but I'm still happy to fix it up :heart: specifically the client ID, first shot with the existing didn't work for me as the return URI is a <IP_ADDRESS> address and I don't know how your return URI was configured so I took a pivot and used the client ID that librespot used :see_no_evil: if yours works I'm happy to do the reversion :angel:

hi! :) no yeah you're right I had not thought of this initally, you had no choice in order to test! but yeah it can be reverted, the client is now configured with the expected redirect uris
as for the rest dont worry about it too much, that can all be adressed later, i dont mind too much, your MR brings a lot of long needed fixes so thats the priority!

looks like the refresh token is not being used when re-opening Spot at a later time, I'll look into that

I pushed a few modifications hope you don't mind!

66

I pushed a few modifications hope you don't mind!

not at all :smile:  I'll fix up the oauth2 stuff this morning and bump librespot to 0.6.0

merged!! thanks for fixing a major issue!

i might still need to fix a few things with reopening the app after while -- the token needs to be refreshed

Thanks @xou816 if you want me to look at anything, feel free to @ me on an issue. I can make some time for spot :heart:


More workspaces by default

Workspacer should give 10 workspaces by default, given that there is no way to add them at runtime, its better to have too many (they just won't get used)

I'm gonna close this since workspaces can now be added at run time, and I like the low-initial workspace count in terms of reducing the default config size.


docs: note api run in same process

Description
Close #8204
Clarify when using createServer and build simultaneously on the same nodejs process
Additional context
Not sure of the perfect spot to put the note.

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

I also noticed that using process.env.NODE_ENV in the docs breaks dev mode, but prod is not affected. Related issue: https://github.com/vuejs/vitepress/issues/419


VK_EXT_metal_objects2 for command buffers?

Would it be possible to get an extension similar to VK_EXT_metal_objects but then also adding support for accessing the underlying metal command buffers?
I want to call a library function that injects commands into metal command buffers. I have a frame graph based setup where eventually everything synchronizes into an output based command buffer. I'd like to access this command buffer's metal backing object so that i can pass it along to this library.
Currently i'm fencing the empty output command buffer and on fence signal i'm trying to manually allocate a metal command buffer by accessing the metal queue from the vulkan graphics queue. I'm getting crashes autoreleasing these custom allocated command buffers so i'm not sure yet if this can even work.
I'm using MVK_CONFIG_PREFILL_METAL_COMMAND_BUFFERS = 1.
I need parallel command transcribing as well as no memory leaks. Maybe we need another option, or similar to VK_EXT_metal_objects when a command buffer is created containing the mtl export flag it could bypass the lazy command buffer creation?

Interesting idea. Upon first review, this sounds fairly dangerous, and I'm not sure how we'd even sync this.
MTLCommandBuffers are transient objects, and are pooled in a fixed and relatively small pool by Metal.  If we passed them out and the app retained them beyond their use in MoltenVK, it could jam all activity if the pool ran out of command buffers.
In addition, the MTLCommandBuffer is normally populated within MoltenVK during a vkQueueSubmit() command, so it's hard to see where the app would hook into this at the right place in order to add its content.
We do have the concept of prefilling MTLCommandBuffers during Vukan command entry, so it's possible that would be a place to do this. In general, prefilling slows things down in Metal, so there might be performance penalty to this. But at least it might be an option.
But even with that, there is the problem of MoltenVK and Metal recovering from the arbitrary changes in Metal encoder state that the external operations could apply (for instance if the external operations were run in the middle of a render pass).
And, is this level of inline intrusion even necessary? The function you posted seems to be just copying one texture to another, using either BLIT or rendering. Could you not retrieve the MTLTexture from Vulkan using VK_EXT_metal_objects, use your function to BLIT/ render to it using your own MTLCommandBuffer, and then depending on what you need to do, issue a Vulkan command to use that texture for further processing within MoltenVK?
Or of course, just replicate the function operation in Vulkan?

Interesting idea. Upon first review, this sounds fairly dangerous, and I'm not sure how we'd even sync this.
MTLCommandBuffers are transient objects, and are pooled in a fixed and relatively small pool by Metal. If we passed them out and the app retained them beyond their use in MoltenVK, it could jam all activity if the pool ran out of command buffers.

I would consider that to be application error and not something that MVK needs to worry about. It's the app's responsibility to configure MVK to request enough command buffers using the layer properties extension.
In fact i think this risk is already present with exposing queues because applications can now access the queue and drain the command buffer pool by creating new command buffers from it and retaining those.

In addition, the MTLCommandBuffer is normally populated within MoltenVK during a vkQueueSubmit() command, so it's hard to see where the app would hook into this at the right place in order to add its content.
We do have the concept of prefilling MTLCommandBuffers during Vukan command entry, so it's possible that would be a place to do this. In general, prefilling slows things down in Metal, so there might be performance penalty to this. But at least it might be an option.

I'm imagining a new member of the VkExportMetalObjectTypeFlagBitsEXT enumeration. Then when creating a command buffer the application requests export support. By requesting this support MVK can override the MVK_CONFIG_PREFILL_METAL_COMMAND_BUFFERS setting to be value 2 or 3 for that specific command buffer. This should only reduce performance for those specific command buffers supporting api interop and not the ones only being used from Vulkan.

But even with that, there is the problem of MoltenVK and Metal recovering from the arbitrary changes in Metal encoder state that the external operations could apply (for instance if the external operations were run in the middle of a render pass).

I'm not sure i understand what you mean here (might be my lack of metal experience). How would the application make changes to MVK's encoder? If MVK exposes the command buffer, that would require the app to create their own encoder correct? Are you referring to the application writer being able to confuse himself by doing a vkBeginRenderPass first and then a MTLBlitCommandEncoder::endEncoding resulting in the blits happening before the render pass?

And, is this level of inline intrusion even necessary? The function you posted seems to be just copying one texture to another, using either BLIT or rendering. Could you not retrieve the MTLTexture from Vulkan using VK_EXT_metal_objects, use your function to BLIT/ render to it using your own MTLCommandBuffer, and then depending on what you need to do, issue a Vulkan command to use that texture for further processing within MoltenVK?

I am doing what you're suggesting currently but i have several concerns with it. Here's the code for reference:
@autoreleasepool
{
	id< MTLTexture > mtlTextureRef = VulkanMetalUtils::GetMetalTexture( image );
	id< MTLCommandQueue > graphicsQueue = VulkanMetalUtils::GetMetalQueue( *image.GetDevice().GetGraphicsQueueFamily()->GetQueue( 0 ) );
	id< MTLCommandBuffer > commandBufferRef = [graphicsQueue commandBuffer];

	[syphonServer publishFrameTexture:mtlTextureRef
					onCommandBuffer:commandBufferRef
						   imageRegion:NSMakeRect( 0.0f, 0.0f, (float)image.GetFormat().GetWidth(), (float)image.GetFormat().GetHeight() )
							   flipped:true];
	[commandBufferRef commit];
}

First of all this creates a new command buffer. I dont know if creating a command buffer is safe or if this could throw off some internal MVK live command buffer count tracking system of sorts.
Even if creating a new command buffer is safe, it's a new resource being taken from the pool. I already have a command buffer intended for outputs so if i could inject these commands into that one it would save me a a resource.
Currently i have a fence on the vulkan based output command buffer. Then when that fence is signaled i execute this code. This is cpu side sync which i want to be gpu side, there should be no reason or additional delay that the frame cannot be published as soon as the gpu is ready.
Not really an unsolvable problem, but synchronizing this external command buffer back into my graphics engine is a pain at the moment. I have a circular buffer of frames fencing on that final output command buffer. When i'm recycling a frame i wait on that fence before i start reusing it's resources. Theoretically this external command buffer is not being waited on and thus rendering to it's source mtlTextureRef could start prior to this blit/render being done reading from it.
I'm using MVK_CONFIG_SPECIALIZED_QUEUE_FAMILIES=1. I'd need to dig into MVK internals to figure out which queue i need to commit the command buffer to and hope that the queue submission order = execution order guarantee that metal provides will save me.

Or of course, just replicate the function operation in Vulkan?

Well yeah... but i prefer doing less work and not more ;)
On top of all the engine plumbing i'd need to do to render to iosurfaces instead of vulkan images i'd also end up with a fork of that library which i'd need to maintain as they aren't active / accepting merge requests. Definitely a lot more work than uncommenting the 3 lines i have in the output command buffer recording right now ready to go if i'd have the MTLCommandBuffer

this risk is already present with exposing queues

Yes...you're correct here.

I'm imagining a new member of the VkExportMetalObjectTypeFlagBitsEXT enumeration...

Yes. This would be a good way to do it.

I'm not sure i understand what you mean here (might be my lack of metal experience). How would the application make changes to MVK's encoder?

MoltenVK tracks render encoder state, to avoid calling MTLRenderpassCommandEncoder functions more often than needed. If the app grabs the MTLCommandBuffer in the middle of a render pass and starts submitting changes to the MTLRenderpassCommandEncoder, MoltenVK would have no way of knowing what the current state was. The app may have even ended the render pass by submitting a compute or BLIT command to the MTLCommandBuffer.
We'd likely have to have some kind of indication that the command buffer is in a dirty state, and on the next draw call, MoltenVK would have to re-establish the entire MTLRenderpassCommandEncoder state. I assume this would need to be done in a Vulkan command...maybe something like vkCmdMarkCommandBufferDirtyEXT() that the app would issue when it was done messing with the command buffer.

First of all this creates a new command buffer. I dont know if creating a command buffer is safe or if this could throw off some internal MVK live command buffer count tracking system of sorts.

This is actually pretty safe, because MTLCommandBuffers are separate and submitted to the GPU in order of calls to [MTLCommandBuffer enqueue], which for MoltenVK happens at the beginning of vkQueueSubmit(). The only challenge the app would have is to call [MTLCommandBuffer enqueue] on the MTLCommandBuffer it creates either before or after vkQueueSubmit(), depending on what it's trying to do relative to the vkQueueSubmit().
See, for example, MVKQueue::waitIdle() which creates an arbitrary MTLCommandBuffer and commits it as a mechanism for knowing when everything submitted before has finished.

Even if creating a new command buffer is safe, it's a new resource being taken from the pool. I already have a command buffer intended for outputs so if i could inject these commands into that one it would save me a a resource.

But, as you indicated above, by using pre-filled MTLCommandBuffers, that resource is going to be needed anyway. If you issue a vkQueueSubmit() with say 7 Vulkan command buffers and one in the middle is the one your messing with, then that vkQueueSubmit() will require 3 MTLCommandBuffers instead of the normal 1.

Currently i have a fence on the vulkan based output command buffer. Then when that fence is signaled i execute this code. This is cpu side sync which i want to be gpu side, there should be no reason or additional delay that the frame cannot be published as soon as the gpu is ready.

You don't need to wait for GPU activity to finish to submit your [MTLCommandBuffer enqueue] call. For post-processing, you can do this immediately after the call to vkQueueSubmit() returns. Or if you're doing preprocessing, before calling vkQueueSubmit().

I'm using MVK_CONFIG_SPECIALIZED_QUEUE_FAMILIES=1. I'd need to dig into MVK internals to figure out which queue i need to commit the command buffer to and hope that the queue submission order = execution order guarantee that metal provides will save me.

I assume you'd want to do this on the VkQueue on which you run your vkQueueSubmit(), wouldn't you? As I mention above, Metal guarantees that MTLCommandBuffers are executed on the queue in the order on which [MTLCommandBuffer enqueue] is called across al the MTLCommandBuffers created on that queue, regardless of when the MTLCommandBuffer is created or committed.


Appropriately set status for router ports

The router port is set to ACTIVE if the APIC config
for L3 succeeds.
In the case of external gateway setting, there is no
configuration on the APIC the port is always set to ACTIVE
once its created successfully in L3 DB code.

I wonder if it is more appropriate to set the port status from the ML2 driver instead of L3. It'll definitely be more straightforward because all you need to do is added the update status calls to _perform_port_operations() and delete_port_postcommit().

This change of port status is specific to the router interface port. We want to be able to set this status only after the contract creation is successful on the APIC side, and which is where we are doing it in this patch.

Good suggestion, done.


Layout is called with wrong height value on Mac OS after disabling fullscreen with green button

Discussed in https://github.com/hajimehoshi/ebiten/discussions/1883

Originally posted by IlyaFloppy November 23, 2021
I am running a game in fullscreen using ebiten.SetFullscreen(true). Layout method is called with width=1919 and height=1200. Then I use green window button to exit fullscreen and Layout method keeps getting called with the same width and height. The game looks squeezed vertically. After I resize the window dragging the corner it looks normal and width and height change to 1920 and 1073 respectively.
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
	fmt.Println("LAYOUT", outsideWidth, outsideHeight)
	return outsideWidth, outsideHeight
}

// App starts
LAYOUT 1920 1073
// SetFullscreen is called
[1535] LAYOUT 1919 1200
// Green button is used to disable fullscreen
[2643] LAYOUT 1919 1200
// Start changing window size
LAYOUT 1907 1073
LAYOUT 1906 1073
LAYOUT 1905 1073
LAYOUT 1907 1073
LAYOUT 1908 1073
LAYOUT 1909 1073
[14105] LAYOUT 1920 1073
```</div>

https://user-images.githubusercontent.com/16950/142989645-4474a939-4ddc-445b-a8e2-b3f39ff81b27.mov
Video from @IlyaFloppy

CC @IlyaFloppy
Confirmed. I reproduced this issue with these steps:

Make the window resizable by SetWindowResizable
Make the window fullscreen by SetWindowFullscreen
Click the green button

@IlyaFloppy
OK this should be fixed at 22e64c7df030d882951e4a33dd1e0c0b2b5dd99b. Could you test this?

I can confirm this issue has been fixed. Thank you!


Fixed typo

Hi, thanks for the PR. I guess the docker-compose file also needs to be fixed? https://github.com/ngoduykhanh/wireguard-ui/blob/master/docker-compose.yaml#L13

Hi, thanks for the PR. I guess the docker-compose file also needs to be fixed? https://github.com/ngoduykhanh/wireguard-ui/blob/master/docker-compose.yaml#L13

Fixed.

Merged! Thanks for your contribution 👍


🐛 BUG: It's not clear how wrangler pages dev proxy is supposed to work

What version of Wrangler are you using?
2.0.023
What operating system are you using?
MacOS 12.5
Describe the Bug
I'm currently trying to add a couple of dynamic routes to my static site using CF functions. The recently added Functions feature that was added to CF Pages fits my use case perfectly.
To try out the functionality, I set it up as follows:

Repository: https://github.com/jsterlibs/website-v2/tree/feat/use-extended-data
Command: wrangler pages dev . -- deno task start (run after checking out at the repository root. This depends on Deno 1.23.3)

After running the server, I can access my test function at http://localhost:8788/ping as expected. However, it doesn't seem to run my static development server (deno task start) at all although based on the current documentation it should.
It's entirely possible I misunderstood something as it's my first steps with the tool. As a temporary solution, I could proxy wrangler through my development server but I can see the benefit of having wrangler CLI as a shell. Now that I think of it, it could easily be some port thing as it's not clear how the proxy is supposed to work (how does wrangler know where my dev server is running?).

Wrangler silently ignores your proxy command when you specify a directory. I actually created an issue (#1543) and a PR (#1545) for this yesterday :)
Remove the . and it should proxy.

Yeah, that's it. Thanks a lot.
Now there's some other error to debug but that's separate from this and might be related to my personal setup and Deno somehow.


Submission stuck in import 63eb6008ff81b7000156caa6 PMID:36515925

Submission is stuck in import from yesterday. Please reset it for importing.
http://ves-ebi-e4.ebi.ac.uk:8080/gwas/curation/submissions/63eb6008ff81b7000156caa6

Mine is also stuck in import - '6153061809113d00018b107a', PMID '34215507'. Not sure if related. Please reset for importing.

I've another submission 63c805d37325c200011f3570 (PMID:36320039) also stuck in submission

Also this one 62de55b9c6aae20001d385d5


Issue 182 draft

Closes #627

@morqon @fassko When both of you agree to this pull, I'd say let's go. We landed a ton of new subscribers due to the mention by Antoine in his newsletter. 👍

Work by @morqon and @JaredHalpern is in. So @fassko What's next?

@jeroenleenarts merge the PR. Check locally if everything is fine. Then move the from _drafts to _posts. You can do it in master no need for PR. Then we can send it out. ;)

Will do that in about an hour. 👍


datetime2 cols read as character not date

Not just an issue with package's read_table_from_db fn
Also occurs with DBI::dbReadTable
Consider converting datetime2 data types in SQL Server table to R POSIXct
What about time type in SQL Server that might have been created by loading difftime column in R df?

Seems related to ODBC drivers available on SCOTS see this issue
User found does not happen if SQL Server column is datetime not datetime2
Future change can cast to datetime in read_table_from_db()  for example:
sql <- paste0("select cast(end_date as datetime) end_date from ", schema, ".test_load;")

db_selected_df <- execute_sql(
  server = server,
  database = database,
  sql = sql,
  output = TRUE
)

Include warning of conversion and range of dates.


Bug in calculation of encoder B forward pass when calculating correlation coefficients

https://github.com/callummcdougall/sae_vis/blob/034eefa5a4163e9a560b574e2e255cd06f8f49a1/sae_vis/data_fetching_fns.py#L119C1-L119C62
feat_acts_B = F.relu(feat_acts_pre_B + encoder.b_enc) -> feat_acts_B = F.relu(feat_acts_pre_B + encoder_B.b_enc)
The wrong encoder bias was being used in the calculation of feature activations.

facepalms thanks!


Fix typo in PPO recipe

as title

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

Project coverage is 70.28%. Comparing base (6b55c1d) to head (fc0be0e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1607      +/-   ##
==========================================
- Coverage   72.27%   70.28%   -1.99%
==========================================
  Files         290      290
  Lines       14552    14570      +18
==========================================
- Hits        10517    10241     -276
- Misses       4035     4329     +294

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


Large batch of minor changes again

Eyyy with updated commits we now have exactly 250 cat facts! :)


Support referencing environment variables in configuration

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Similar to Secrets support, there is a desire to include "Environment Variables" support to specify values within configuration files.  Proposed behavior is to match Home Assistant's implementation that also supports specification of a default value to be used if the environment variable is not defined.
Sample config:
radarr:
  api_key: !env_var ENV_API_KEY # No default specified.
  url: !env_var RADARR_URL http://radarr:7878 # Default specified
  complicated: !env_var SOME_ENV "value with a space in it" # The default value has a space in it and must be quoted.

The environment variables must be Scalars and will not be interpreted as additional yaml.

I would love to see this, env configuration is the bees knees.

Started work on this. Want a little bit of input on design/direction.
Branch: https://github.com/voltron4lyfe/recyclarr/tree/env_vars
Draft PR: https://github.com/recyclarr/recyclarr/pull/154

I'm not really a dotnet developer but reviewing the logic it seems like you're heading down the right path.


support all route options

Issue
What issue is this PR targeting? If there is no issue that addresses the problem, please open a corresponding issue and link it here.
https://github.com/Telenav/osrm-backend/issues/102
Please read our documentation on release and version management.
If your PR is still work in progress please attach the relevant label.
Tasklist

[ ] CHANGELOG.md entry (How to write a changelog entry)
[ ] update relevant Wiki pages
[ ] add tests (see testing documentation
[ ] review
[ ] adjust for comments
[ ] cherry pick to release branch

Requirements / Relations
Link any requirements here. Other pull requests this PR is based on?

To confirm my understanding, I create an issue for discussion:
https://github.com/Telenav/osrm-backend/issues/121


Engine: F*: fix \0

This PR:

Fixes issue #993
Adds a test
Improve the justfile recipes related to testing

Let's wait for https://github.com/hacspec/hax/pull/1146 to be merged


Re-wrire Rcontainerizer to use the jinja2 templates

To have a bit of cleaner Rcontainerizer

@skoulouzis this is done


dropna() is not working propertly

I'm trying to drop na values using dask, but I'm not able to do it. I keep on getting the same error message. I just updated to the lastest versions of pandas and dask, that were realeased earlier today.
Information for reproducing the error.

OS: Microsoft Windows 10 Pro
OS Version: 10.0.17763
dask: 2.10.1
pandas: 1.0.0

Get the data from www.kaggle.com/new-york-city/nyc-parking-tickets
import dask.dataframe as dd
from dask.diagnostics import ProgressBar
import numpy as np

dtypes = {
    'Date First Observed': np.str,
    'Days Parking In Effect    ': np.str,
    'Double Parking Violation': np.str,
    'Feet From Curb': np.float32,
    'From Hours In Effect': np.str,
    'House Number': np.str,
    'Hydrant Violation': np.str,
    'Intersecting Street': np.str,
    'Issue Date': np.str,
    'Issuer Code': np.float32,
    'Issuer Command': np.str,
    'Issuer Precinct': np.float32,
    'Issuer Squad': np.str,
    'Issuing Agency': np.str,
    'Law Section': np.float32,
    'Meter Number': np.str,
    'No Standing or Stopping Violation': np.str,
    'Plate ID': np.str,
    'Plate Type': np.str,
    'Registration State': np.str,
    'Street Code1': np.uint32,
    'Street Code2': np.uint32,
    'Street Code3': np.uint32,
    'Street Name': np.str,
    'Sub Division': np.str,
    'Summons Number': np.uint32,
    'Time First Observed': np.str,
    'To Hours In Effect': np.str,
    'Unregistered Vehicle?': np.str,
    'Vehicle Body Type': np.str,
    'Vehicle Color': np.str,
    'Vehicle Expiration Date': np.str,
    'Vehicle Make': np.str,
    'Vehicle Year': np.float32,
    'Violation Code': np.uint16,
    'Violation County': np.str,
    'Violation Description': np.str,
    'Violation In Front Of Or Opposite': np.str,
    'Violation Legal Code': np.str,
    'Violation Location': np.str,
    'Violation Post Code': np.str,
    'Violation Precinct': np.float32,
    'Violation Time': np.str
}

nyc_data_raw = dd.read_csv('*.csv', dtype=dtypes, usecols=dtypes.keys()).rename(columns= lambda x: x.lower().strip().replace(' ', '_'))
nyc_data_raw.head()

missing_values = nyc_data_raw.isnull().sum()

with ProgressBar():
    percent_missing = ((missing_values / nyc_data_raw.index.size) * 100).compute()

columns_to_drop = list(percent_missing[percent_missing >= 50].index)
nyc_data_clean_stage1 = nyc_data_raw.drop(columns_to_drop, axis=1)

with ProgressBar():
    count_of_vehicle_colors = nyc_data_clean_stage1['vehicle_color'].value_counts().compute()

most_common_color = count_of_vehicle_colors.sort_values(ascending=False).index[0]

nyc_data_clean_stage2 = nyc_data_clean_stage1.fillna({'vehicle_color': most_common_color})

rows_to_drop = list(percent_missing[(percent_missing > 0) & (percent_missing < 5)].index)

nyc_data_clean_stage3 = nyc_data_clean_stage2.dropna(subset=rows_to_drop)

nyc_data_clean_stage3.head()

Error:
TypeError                                 Traceback (most recent call last)
<ipython-input-19-c4ac39ee4122> in <module>
----> 1 nyc_data_clean_stage3.head()

~\Anaconda3\lib\site-packages\dask\dataframe\core.py in head(self, n, npartitions, compute)
    969             Whether to compute the result, default is True.
    970         """
--> 971         return self._head(n=n, npartitions=npartitions, compute=compute, safe=True)
    972
    973     def _head(self, n, npartitions, compute, safe):

~\Anaconda3\lib\site-packages\dask\dataframe\core.py in _head(self, n, npartitions, compute, safe)
   1002
   1003         if compute:
-> 1004             result = result.compute()
   1005         return result
   1006

~\Anaconda3\lib\site-packages\dask\base.py in compute(self, **kwargs)
    163         dask.base.compute
    164         """
--> 165         (result,) = compute(self, traverse=False, **kwargs)
    166         return result
    167

~\Anaconda3\lib\site-packages\dask\base.py in compute(*args, **kwargs)
    434     keys = [x.__dask_keys__() for x in collections]
    435     postcomputes = [x.__dask_postcompute__() for x in collections]
--> 436     results = schedule(dsk, keys, **kwargs)
    437     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    438

~\Anaconda3\lib\site-packages\dask\threaded.py in get(dsk, result, cache, num_workers, pool, **kwargs)
     79         get_id=_thread_get_id,
     80         pack_exception=pack_exception,
---> 81         **kwargs
     82     )
     83

~\Anaconda3\lib\site-packages\dask\local.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, **kwargs)
    484                         _execute_task(task, data)  # Re-execute locally
    485                     else:
--> 486                         raise_exception(exc, tb)
    487                 res, worker_id = loads(res_info)
    488                 state["cache"][key] = res

~\Anaconda3\lib\site-packages\dask\local.py in reraise(exc, tb)
    314     if exc.__traceback__ is not tb:
    315         raise exc.with_traceback(tb)
--> 316     raise exc
    317
    318

~\Anaconda3\lib\site-packages\dask\local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    220     try:
    221         task, data = loads(task_info)
--> 222         result = _execute_task(task, data)
    223         id = get_id()
    224         result = dumps((result, id))

~\Anaconda3\lib\site-packages\dask\core.py in _execute_task(arg, cache, dsk)
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]
--> 118         args2 = [_execute_task(a, cache) for a in args]
    119         return func(*args2)
    120     elif not ishashable(arg):

~\Anaconda3\lib\site-packages\dask\core.py in <listcomp>(.0)
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]
--> 118         args2 = [_execute_task(a, cache) for a in args]
    119         return func(*args2)
    120     elif not ishashable(arg):

~\Anaconda3\lib\site-packages\dask\core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~\Anaconda3\lib\site-packages\dask\optimization.py in __call__(self, *args)
    980         if not len(args) == len(self.inkeys):
    981             raise ValueError("Expected %d args, got %d" % (len(self.inkeys), len(args)))
--> 982         return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
    983
    984     def __reduce__(self):

~\Anaconda3\lib\site-packages\dask\core.py in get(dsk, out, cache)
    147     for key in toposort(dsk):
    148         task = dsk[key]
--> 149         result = _execute_task(task, cache)
    150         cache[key] = result
    151     result = _execute_task(out, cache)

~\Anaconda3\lib\site-packages\dask\core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~\Anaconda3\lib\site-packages\dask\utils.py in apply(func, args, kwargs)
     27 def apply(func, args, kwargs=None):
     28     if kwargs:
---> 29         return func(*args, **kwargs)
     30     else:
     31         return func(*args)

TypeError: apply() got an unexpected keyword argument 'how'

Does it have a limit?

No, not deliberately.  http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports has some tips on writing minimal examples. Let us know if you're able to provide one.

@jorgelmadrid have you been able to make a minimal example?

@joergdietrich any chance you were able to simplify this or debug things to see where things break?

I think this is directed at @jorgelmadrid, not me.

Here is a minimal example that yields the same result:
import dask.dataframe as dd
from dask.diagnostics import ProgressBar
import numpy as np
import pandas as pd

df = pd.DataFrame()
for x in range(0,100):
    df[x] = np.random.choice(10, 10000)
    df[x] = np.where(df[x]<3,np.nan,df[x])

dask_df = dd.from_pandas(df, npartitions=10)
dask_df2 = dask_df.dropna(subset=[0,1,2,3,4,5,6,7,8,9,10])

with ProgressBar():
    dask_df2.compute()

Environment
OS:	Ubuntu 18.04.4 LTS
Python 3.6.9
numpy==1.18.1
pandas==1.0.1
dask==2.11.0
dask-glm==0.2.0
dask-ml==1.2.0
dask-tensorflow==0.0.2
dask-xgboost==0.1.10

Error:
[                                        ] | 0% Completed |  0.1s

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-45aa99df1bb7> in <module>
      1 with ProgressBar():
----> 2     dask_df2.compute()

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/base.py in compute(self, **kwargs)
    164         dask.base.compute
    165         """
--> 166         (result,) = compute(self, traverse=False, **kwargs)
    167         return result
    168

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/base.py in compute(*args, **kwargs)
    435     keys = [x.__dask_keys__() for x in collections]
    436     postcomputes = [x.__dask_postcompute__() for x in collections]
--> 437     results = schedule(dsk, keys, **kwargs)
    438     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    439

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/threaded.py in get(dsk, result, cache, num_workers, pool, **kwargs)
     82         get_id=_thread_get_id,
     83         pack_exception=pack_exception,
---> 84         **kwargs
     85     )
     86

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/local.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, **kwargs)
    484                         _execute_task(task, data)  # Re-execute locally
    485                     else:
--> 486                         raise_exception(exc, tb)
    487                 res, worker_id = loads(res_info)
    488                 state["cache"][key] = res

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/local.py in reraise(exc, tb)
    314     if exc.__traceback__ is not tb:
    315         raise exc.with_traceback(tb)
--> 316     raise exc
    317
    318

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    220     try:
    221         task, data = loads(task_info)
--> 222         result = _execute_task(task, data)
    223         id = get_id()
    224         result = dumps((result, id))

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/optimization.py in __call__(self, *args)
    980         if not len(args) == len(self.inkeys):
    981             raise ValueError("Expected %d args, got %d" % (len(self.inkeys), len(args)))
--> 982         return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
    983
    984     def __reduce__(self):

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/core.py in get(dsk, out, cache)
    147     for key in toposort(dsk):
    148         task = dsk[key]
--> 149         result = _execute_task(task, cache)
    150         cache[key] = result
    151     result = _execute_task(out, cache)

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~/Documents/Courses/Dask/venv/lib/python3.6/site-packages/dask/utils.py in apply(func, args, kwargs)
     27 def apply(func, args, kwargs=None):
     28     if kwargs:
---> 29         return func(*args, **kwargs)
     30     else:
     31         return func(*args)

TypeError: apply() got an unexpected keyword argument 'how'

As stated before if we change the number of columns to drop, i.e.
dask_df2 = dask_df.dropna(subset=[0,1,2,3,4,5,6,7,8])

No error ocurrs.
This was run in a Jupyter Notebook. I attached the requirements file (I have many other packages installed) and the notebook.
requirements.txt
Dask Error.zip

@jorgelmadrid thanks for the bug report.  I ran and I'm also getting seeing the bug.  In addition to reducing the columns, if you use range(10) things should work.  This may unblock you will I find out what's going on

Small update, this happens whenever we have a "complex" subgraph (multiple collections) and enforce_metadata=False. This counts as complex since it has a list with >= 10 elements, which we put in a Delayed.
In [1]: import pandas as pd; import dask.dataframe as dd

In [2]: df = dd.from_pandas(pd.DataFrame({"A": [1, 2, 3, 4]}), npartitions=2)

In [3]: r = df.map_partitions(lambda x, y: x, y=[1] * 11, enforce_metadata=False)

In [4]: r.compute()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-8c9e270be48d> in <module>
----> 1 r.compute()

~/sandbox/dask/dask/base.py in compute(self, **kwargs)
    164         dask.base.compute
    165         """
--> 166         (result,) = compute(self, traverse=False, **kwargs)
    167         return result
    168

~/sandbox/dask/dask/base.py in compute(*args, **kwargs)
    435     keys = [x.__dask_keys__() for x in collections]
    436     postcomputes = [x.__dask_postcompute__() for x in collections]
--> 437     results = schedule(dsk, keys, **kwargs)
    438     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    439

~/sandbox/dask/dask/threaded.py in get(dsk, result, cache, num_workers, pool, **kwargs)
     82         get_id=_thread_get_id,
     83         pack_exception=pack_exception,
---> 84         **kwargs
     85     )
     86

~/sandbox/dask/dask/local.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, **kwargs)
    484                         _execute_task(task, data)  # Re-execute locally
    485                     else:
--> 486                         raise_exception(exc, tb)
    487                 res, worker_id = loads(res_info)
    488                 state["cache"][key] = res

~/sandbox/dask/dask/local.py in reraise(exc, tb)
    314     if exc.__traceback__ is not tb:
    315         raise exc.with_traceback(tb)
--> 316     raise exc
    317
    318

~/sandbox/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    220     try:
    221         task, data = loads(task_info)
--> 222         result = _execute_task(task, data)
    223         id = get_id()
    224         result = dumps((result, id))

~/sandbox/dask/dask/core.py in _execute_task(arg, cache, dsk)
    119         # temporaries by their reference count and can execute certain
    120         # operations in-place.
--> 121         return func(*(_execute_task(a, cache) for a in args))
    122     elif not ishashable(arg):
    123         return arg

~/sandbox/dask/dask/optimization.py in __call__(self, *args)
    996         if not len(args) == len(self.inkeys):
    997             raise ValueError("Expected %d args, got %d" % (len(self.inkeys), len(args)))
--> 998         return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
    999
   1000     def __reduce__(self):

~/sandbox/dask/dask/core.py in get(dsk, out, cache)
    149     for key in toposort(dsk):
    150         task = dsk[key]
--> 151         result = _execute_task(task, cache)
    152         cache[key] = result
    153     result = _execute_task(out, cache)

~/sandbox/dask/dask/core.py in _execute_task(arg, cache, dsk)
    119         # temporaries by their reference count and can execute certain
    120         # operations in-place.
--> 121         return func(*(_execute_task(a, cache) for a in args))
    122     elif not ishashable(arg):
    123         return arg

~/sandbox/dask/dask/utils.py in apply(func, args, kwargs)
     28 def apply(func, args, kwargs=None):
     29     if kwargs:
---> 30         return func(*args, **kwargs)
     31     else:
     32         return func(*args)

TypeError: apply() got an unexpected keyword argument 'y'

That's (possibly) because we end up with a double apply
In [9]: sgc = list(r.dask.values())[0]

In [10]: sgc[0].dsk
Out[10]:
{'lambda-a0a6dfe4551984cac116c096722ea52c': (<function dask.utils.apply(func, args, kwargs=None)>,
  <function dask.utils.apply(func, args, kwargs=None)>,
  ['_0', '_1'],
  (dict, [['y', '_2']]))}

sgc is a SubgraphCallable.
Will look more later.

@mrocklin longshot, but do you recall why you added different paths for simple vs. not simple paths in https://github.com/dask/dask/pull/5660, specifically https://github.com/dask/dask/pull/5660/commits/4ab2a41b948218ab419adc644f18976a38f1a455?
If I remove that elif clause, and avoid using dask.utils.apply, then things are fine.

Nevermind, I seem to have a fix regardless.

Actually... I don't have a solution. I hadn't fixed one of the problems.
It seems to come down to a difference in signatures between partitionwise_graph wanting to dive into *args to find out the argindpairs, while dask.utils.apply expects args as a tuple (not unpack with *args) and kwargs as a dictionary (not **kwargs).

The same error is occurring when i run the same code in Ubuntu 22.04 LTS conda environment , using the latest release.

Thanks @nabeel-io .  Are you able to provide a minimal example of how you were able to produce this error?  That would be a great help in aiding us to understand what is going on.

After trying a lot i deleted the library and reinstall with conda again , i think i was using an older version after the update it is working fine now

After reinstalling the library again through conda it is working properly

I'm glad to hear it.  Thanks!

Had the same problem just today, on Windows Anaconda.
Installed with conda install dask, on Python 3.10, Dask 2022.2.1
I can try and get a minimal example in the next couple of days


Add option to filter documents by overdue review reminders

Description
This adds in an additional filter to the documents search page which allows users to be able to filter by review reminders that are overdue.
Unforunately i've had to manually adds the joins to the documents and review reminder tables due to some custom sql written in the :with_title_containing scope
in_default_locale
  .includes(:document)
  .where("edition_translations.title LIKE :like_clause OR documents.slug = :slug", like_clause:, slug: keywords)
  .references(:document)

This expects the documents table to be called documents, but when you use active record to inner join a has one relationship it aliases the table to singular.
So in this case, when you inner join the document it aliases the documents table to 'document'. This causes  the above where clause to blow up as it can't find the documents table. Interestingly the same behaviour doesn't seem to occur for left outer join.
Screenshots

Trello card
https://trello.com/c/IX8jDbW9/379-add-review-overdue-to-the-states-search-list-on-the-document-search-page
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

Amazing that's working perfectly now 👍 thanks so much for sorting that!


Empty files and directories should not resolve to a task in serialize_v1

Empty files and directories (any directory) have a simple digest: just the hash of the header. Hence, it does not make sense to waste one thread to compute the digest, when it can be computed directly from the start.
This is especially relevant for models that have multiple subdirectories.

All that's left is to remove the tree from https://github.com/sigstore/model-transparency/blob/19a1d45771dc61cfedb55ee879fd529880712720/model_signing/serialization/serialize_by_file.py#L183


Fix regex to allow more types of version strings

we need the version strings <IP_ADDRESS>5011 or 6.4.0.test to
work as well

@mrietveld could you please review this?

I will apply the same fix for org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorMergerTest.changeDefaultLimitSerializationClassesValueToTrueIn7x once this one is done.

@mswiderski, @cristianonicolai could you please take a quick look? Marco is on PTO and this fixed failing test.

@psiroky looks ok to me as far as I understood the test - most relevant is the major version of the version string so the snapshot suffix is not relevant. If that's valid then +1 from me

@mswiderski yes, my understanding is the same. I will merge it then.


Fix bug where form fields clear themselves after clicking on dropdown

So that's super weird bug, i suggest cherry picking it by following commits from 2020-04 release.
The general flow for reproducing it is that you'll have to go to add new drive, input some text into the simple form fields (such as "Start location" and "Starting Mileage") and then click on "Project" dropdown. Values from previous fields should disappear.
This bug is reproducible on dev.pahfm.codeforpoznan.pl, just follow instructions above, if it doesn't happen then try to add few drives normally and try again after refreshing, it happens 80% of time.

From what I see it is not entirely related to clicking on dropdown, but with the onBlur event of one of the Starting Mileage or Ending Mileage fields.

Solution found, during the "cleaning" of the form it removes everything, instead of emptying object properties. Because of that vuex binding cannot get value from store, so it's set but not visible.


Changed the entity's ID to match the server's requirements for detect…

Fix to #279, by changing the entity ids to match the server's requirements to check ownership of a booking.

@Stidro Please also review this pull request so that the server's develop branch is able to run alongside the client's.


Tile boundary artifacts after ingest of SRTM data

Seeing missing data for every tile boundary in the ingest, screenshots below. To reproduce:
mrgeo ingest -o s3://mrgeo/images/srtm-elevation -sk -sp -z 10 -v s3://mrgeo-source/srtm-90
mrgeo buildpyramid s3://mrgeo/images/srtm-elevation
500 m3.xlarge
Ingest - 9:30.51elapsed
BuildPyramid - 11:16.55elapsed

Adding the nodata flag for the correct srtm nodata value did not make a difference, output is the same.

Can you tell if the artifact is nodata, or another value?

The artifacts are nodata. If I do not specify a nodata value on ingest, the pixel value for the artifacts is -32768 (nodata value of the source data). When I ingest using the nodata flag set to this value, the artifacts are nodata. I verified by exporting geotiffs at their native resolution.

Verified working, looks great.

Btw, using latest release the ingest took 5min and pyramids took 5min on 100 nodes.

Can you re-run the ingest on 20 nodes?  I'd like to mentally compare what we did back when on the 20 node.
This is pretty fast, into S3 to boot.


Fix syntax for ellipsis

All of those are fine for cython and are parsed as ellipsis
. . .
. ..
.. .
(
    .
    ..
)
[
    ..
    .,
    .
    .

    .
]

Is there any nice way that'll allow several syntax error to be detected in one file? I don't really like creating all of those ellipsis_syntax_0.pyx, ellipsis_syntax_1.pyx

Is there any nice way that'll allow several syntax error to be detected in one file? I don't really like creating all of those ellipsis_syntax_0.pyx, ellipsis_syntax_1.pyx

A syntax error (in the parser) is usually fatal and means that continuing to parse the input is probably futile. But you don't need to use file tests here. You can list these in Cython/Compiler/Tests/TestGrammar.py.

Relatedly, I don't think we've got a test for four dots (attribute lookup on a ellipsis) e.g. ....__class__. At least I can't easily find one.

Relatedly, I don't think we've got a test for four dots (attribute lookup on a ellipsis) e.g. ....__class__. At least I can't easily find one.

It should probably be a separate pr

It looks like the official Python grammar (https://docs.python.org/3.7/reference/grammar.html or https://docs.python.org/3/reference/grammar.html) has to handle ellipsises specially in import statements:
# note below: the ('.' | '...') is necessary because '...' is tokenized as ELLIPSIS
import_from:
    | 'from' ('.' | '...')* dotted_name 'import' import_from_targets
    | 'from' ('.' | '...')+ 'import' import_from_targets

Yes, I think a simple change in the p_import_statement and maybe other functions will handle everything

Welp, I think we're good to go

Nice points!
Huh, I didn't know that from . . . import xyz was allowed, very interesting!

... ... doesn't really fit with testing ellipses, it's more about expressions separated with space

@scoder well, I can put ... ... into a separate file, but is it nessesary? It was failing before, (even the . . .   . . . one is secured) and is failing now. I feel like it's out of place tbh ..

With the exception of this, all the requested changes have been made.

@scoder I would like to get some input from you on this

Thanks


Minor fix to feedback migration task

Fix bug where attributes is undefined.

Review app deployed to https://teaching-vacancies-review-pr-2872.london.cloudapps.digital


[stdlib] Finish expunging atomic ops from ABI

@swift-ci please benchmark

@swift-ci please test

@airspeedswift only if we're also going to take this for 5.0

Build comment file:
Performance: -O

TEST
OLD
NEW
DELTA
RATIO

Improvement

DictionaryBridgeToObjC_Access
1325
1178
-11.1%
1.12x (?)

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

--------------

Build failed
Swift Test OS X Platform
Git Sha - 908992ec5260577c1dbd32840d7b7ce29b05ecc8

Build failed
Swift Test Linux Platform
Git Sha - 908992ec5260577c1dbd32840d7b7ce29b05ecc8

😅 SwiftSyntax uses _stdlib_atomicLoadARCRef and _stdlib_atomicInitializeARCRef...
https://github.com/apple/swift-syntax/blob/master/Sources/SwiftSyntax/AtomicCache.swift


fix(resolve): fix resolve cache to consider conditions and more

Description

closes https://github.com/vitejs/vite/issues/18222
fixes https://github.com/vitejs/vite/issues/16631 too

I simply expanded the cache key of "resolved cache", but I'm not sure if just concatenating everything is the best way in terms of performance.
todo

[x] measure perf

https://github.com/hi-ogawa/reproductions/pull/41

I created a bench script with server.pluginContainer.resolveId("some-package") loop. https://github.com/hi-ogawa/reproductions/pull/41
Negative perf impact on resolvePackageEntry seems clear, but I'm not sure if there's a way to mitigate this.
beta: CPU.20241009.130606.40833.0.001.cpuprofile

PR https://github.com/vitejs/vite/pull/18302: CPU.20241009.130349.39525.0.001.cpuprofile

Maybe a simpler approach o split the cache for environment is to split PackageCache, which I think is currently shared at base ResolvedConfig.packageCache.
I was testing css @import which uses style condition and I thought it would have the same issue, but it didn't on main. This made me wonder it's because css resolver doesn't use packageCache.

I was thinking we can instantiate a dedicated config.packageCache for each environment by proxying it here. Build is working but dev seems to have some issues. Is this approach supposed to work or packageCache should be still singleton?
https://github.com/vitejs/vite/blob/25868f2e68733530132b16639dea7165dba625e8/packages/vite/src/node/baseEnvironment.ts#L67-L80

I made environment.config.packageCache approach in a separate PR https://github.com/vitejs/vite/pull/18319. This seems like a sensible solution, but I need to double check if we can replace currently usages of config.packageCache nicely.


Clipboard fixes

Fixes for the issues mentioned in #76
I figured allocating memory would be better than a VLA or setting a clipboard limit.
If we're using raylib's allocator, the array should have been allocated with calloc rather than malloc, but I still set the terminating zero byte just in case another allocator is used.

Thanks a lot :+1:


why no composer package?

downloading zip files? Isn't that a bit too 2005?
Is there a reason that it is not available as a composer package?

downloading zip files? Isn't that a bit too 2005?

The large portion of the target audience for Directory Lister is less-than-technical and zip downloads is their preferred method of installation.

Is there a reason that it is not available as a composer package?

Directory Lister is a fully-fledged application and wouldn't work as a composer package.
That being said I'm considering a one-liner install you can run on your server that will pull the archive and extract it to the current directory. Maybe this could do some sanity checking to insure all necessary dependencies (e.g. PHP version, PHP extensions, etc.) are met. Something like this
curl -sSL https://install.directorylister.com | bash


Integration of WFS support into eoAPI via an extension to TiPG

Objective: Extend the capabilities of eoAPI by integrating support for the OGC Web Feature Service (WFS) standard through enhancements to TiPG. This integration enables eoAPI to handle WFS requests, offering advanced geospatial querying and transactional operations in line with WFS protocols. The focus will be on ensuring full compatibility with WFS standards while maintaining the existing functionality and performance of eoAPI and TiPG.
Lead Contributor: DevSeed
Priority: 1
Upper Bound Estimate: 4
Lower Bound Estimate: 3
Requirements:

BR054 – Provide services for retrieval of features via standard interfaces including OGC API Features, OGC WFS

WFS support has been dropped, as documented here:

https://github.com/EOEPCA/data-access/issues/94


Race Condition for multiple tools spawned via direnv exec

Describe the bug
I'm running a lot of automated processes via editor tooling; language servers, linters, etc. I'm seeing a lot of extra errors due to race conditions when trying to set up the devenv environment.
Since a lot of these tools are spawned at the same time, it seems that they race to create the various symlinks required by devenv.
Examples:

ln: .devenv/profile: File exists
ln: .devenv/profile/a4jvj862kmjmlgmqc4f17166n3qhp5b6-devenv-profile: Permission denied

To reproduce
I've created an example rails project with a lot of the tooling we use in our real repos:
https://github.com/detaso/rails-tooling
Version
devenv: 0.6.2

This is fixed in #745


Optimise field arithmetic in BaseUltraVerifier.sol

Redundant addmod calls converted to add. Duplicate mload calls is changed.
#2636

thanks for making this pr! ill have a look at it at the start of next week!

I marked it as draft. There is an error happening sometimes. Not always though, I ran tests more than 30k times and it only happened once. So I am trying to reproduce error. I commented on the issue. It would be better if you look at the issue comments first. Thanks!

@Maddiaa0 I fixed the problem. Now it works with every tests and lots of trial (I ran tests with runs=100000 setting and there was no error).

@codygunton is this a PR you'd be keen to pursue?


Sorting of conformers in the output sdf file

Hi Team,
Thanks for this amazing tool.
In the output sdf file, there are many conformers of a same molecule. I just want to ask if the "best" molecule is the first one?
Best regards,
Hien

Yes, the output conformers is sorted by docking score, we use first one to virtual screening.


⚠ ClamAV has degraded performance

In 9a15a67, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in dc078eb.


[bug report] mount sub components multiple times

Element UI version
2.15.5
OS/Browsers version
chrome 92.0.4515.131 (x86_64)
Vue version
2.6.14
Reproduction Link
https://codepen.io/pen/tour/welcome/start
Steps to reproduce
当el-table-column有fixed属性时，column包裹的子组件会mounted2次并且不会destroy。(当有selection属性时，也会出现这个问题)，例如：

</el-table-column />
alert会mounted 多次。
What is Expected?
子组件mounted1次，或者mounted后还能执行destroy钩子函数
What is actually happening?
子组件mounted多次，并且不会执行destroy钩子函数

I figured out why,be due to "render-after-expand" by default "true",so meet appeared this problem ,let " :render-after-expand='false'",This should resolve the problem.

However, I found another problem, that is, sometimes the "check-change" event cannot be triggered when the parent node selects and cancles all when clicking the selection box. I don't know why.  Here's the code:
tree:    <el-tree
:data="currentShowArr"
show-checkbox
node-key="Id"
accordion
:render-after-expand="false"
:default-checked-keys="selectArr"
@check-change="checkchange"
ref="tree"
:props="defaultProps"
>

methods:  // 更改状态后改变数组
checkchange(a, b, c) {
console.log(a, b, c, "改变选中", this.changeSelectArr);
let Idx = this.changeSelectArr.findIndex(item => {
return item.DepartId == a.Id;
});
console.log(Idx, "Idx", this.changeSelectArr);
debugger;
if (Idx == -1) {
this.changeSelectArr.push({
DepartId: a.Id,
Name: a.DepartmentName,
Selected: b
});
} else {
console.log(this.changeSelectArr[Idx], "this.changeSelectArr[Idx]");
this.changeSelectArr.splice(Idx, 1);
}
console.log(this.changeSelectArr, "更改结果");
},

I figured out why,be due to "render-after-expand" by default "true",so meet appeared this problem ,let " :render-after-expand='false'",This should resolve the problem.

I mean，it is not el-tree but el-table-column。Dose the el-tree have the same problem?

yes,it is "el-tree".I tried to get the changed array when I checked it, and delete the original changed elements when I unchecked it, but I can get the level 1 directory when I checked it, but the level 1 directory cannot trigger the "check-change" event when I unchecked it, so what do I need to do to make the node at the top level trigger the "check-change" event?

I'm sorry. I commented in the wrong place

我很抱歉，我评论错地方了。我提交的bug编号是#21230。我已经将内容及问题移动到那个地方了。
I'm sorry. I commented in the wrong place.  The bug number I submitted is #21230.  I have moved the content and the question to that place.


Constructed types schema inspection

Before this PR, any Set/Sequence/Choice object component access would automatically create that component. Sometimes this is not convenient as it makes it impossible to reliably tell uninitialized components from the ones being instantiated automatically.
This PR introduces the instantiate flag to .getComponentBy* methods which can be flipped to False to disable automatic instantiation.
Also:

Choice.clear() fixed to fully clean up the internal state of the object
OpenType resolution fixed not to run over uninitialized optional component

Codecov Report

Merging #87 into devel-0.4.1 will decrease coverage by 0.04%.
The diff coverage is 80%.

@@               Coverage Diff               @@
##           devel-0.4.1      #87      +/-   ##
===============================================
- Coverage        85.39%   85.35%   -0.05%
===============================================
  Files               29       29
  Lines             3986     3995       +9
===============================================
+ Hits              3404     3410       +6
- Misses             582      585       +3

Impacted Files
Coverage Δ

pyasn1/type/univ.py
83.05% <100%> (+0.06%)
:arrow_up:

pyasn1/codec/ber/decoder.py
86.57% <25%> (-0.35%)
: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 368d2ef...e938687. Read the comment docs.


Source code archive from release page seem to be mistaged

This Link from Release Page is listed in v4.21.3, but core.go contains
const (
	version  = "4.21.2"
	build    = "Custom"
	codename = "V2Fly, a community-driven edition of V2Ray."
	intro    = "A unified platform for anti-censorship."
)

I think you mistagged the source release version.

fix


🐛Checkbox story, all checkboxes share same state

Quick fix so each checkbox is checked and unchecked indepently.

@rohni - Thanks for this! Happy to merge this but unfortunately, no gitmoji's. So if you could change the name, then we're ready to go :)

Closing this. Captured changes in #32


The new version makes some changes to the metadata

metadata of the file so that it contains a sorting order that we're just starting to work on. To prioritize the elements of a list. We have to refine the algorithm to specify whether via Pearson or via Spearman correlation coefficients, we can focus our search on high affinity targets or low affinity targets.
We have to prioritize the method to at times de-link, de-couple, the types of the numbers flowing through the program.

I'm prioritizing certain parts of the code through making deliberate efforts to rectify code behaviors, is a routine task of software engineering.

I'm working on a method to tease apart some indexing issues in my codebase. I'm changing the code so that it conforms to some standards about integers and floating point numbers.

We are implementing a switch from standard Python machine integer representations, we're instead using an advanced array technology called NumPy arrays. And we're using this to house our frequencies. Which are and can be sparse in population. But it makes particular sense to emphasize that we use integers to represent our frequencies of k-mers and they need to be put into a proper numerical context, to better see and observe the frequencies of these puzzle pieces into there proper numerical state and context. A graph database like this may provide some solutions to finding efficient import. I'm struggling to identify some Index Errors and Type Errors that have found there way into my codebase. I know these artifacts are being uses to track the patterns of broken, gears, interconnections in my software that facilitate data flow.

It is not entirely accurate at this point that the format does sparse representation. Our initial investigations have been on complete profiles, including all nullomers. Nullomers are important mathematical components to the model, as they represent sequence space that is for technical and non-technical reasons, (information preferences), the representation is "decompressed". I want to keep track of how large this nullomer space could be for potential applications, because the demand on memory would be huge. To keep anything reasonably specific you'd need Gigabytes of memory to house an entire sequenced experiment. In my case I've been performing a "treatment vs control" style linear analysis to a soil bacterium genus to two well known model organisms: B subtilis and E. coli.
In more style, I'm looking at profile fidelity statistics and correlation distance matrices to see how tolerant my data structure is to the full absorption of k-mer space into memory.

It's worth saying that the --metadata feature in the kmerdb profile command may not be functioning properly. It's not the primary use case of kmerdb at this point, so forgive the rust.


Calibrate - command API

https://github.com/Rokoko/Unreal-Demo-Project/blob/0e2900a072b2158b94affb41c2f77ac2bdfb883f/Plugins/Smartsuit/Source/Smartsuit/Private/SmartsuitController.cpp#L119
I noticed all the command API calls are commented out in SmartsuitController, can anyone comment on their stability? i.e. can I uncomment calibrate to use it from my project? Or should I be looking to integrate the CommandAPI code more directly?

We do actually have the command API working, take a look at RokokoStudioCommandAPI.cpp. If you want, you can place a SmartsuitUIController into your map which creates the widget with the command API buttons.

Great, that's what I was thinking should work, just wanted to be sure it wasn't under construction or anything! Thanks for the clarification.


Moving SwiftBar to upstream?

Hi. Do you plan to submit SwiftBar cask to https://github.com/Homebrew/homebrew-cask?

Ok, moving on to https://github.com/swiftbar/SwiftBar/issues/153 :)


Bump to latest versions of libxmtp

What's Changed

Stop setting new lifetimes by @neekolas in https://github.com/xmtp/libxmtp/pull/964
Add libxmtp version to requests by @neekolas in https://github.com/xmtp/libxmtp/pull/1011
Store or ignore group messages by @neekolas in https://github.com/xmtp/libxmtp/pull/1019
Fix send update interval ns calculation, move to configuration by @cameronvoell in https://github.com/xmtp/libxmtp/pull/1008
Create group with initial members by @neekolas in https://github.com/xmtp/libxmtp/pull/1020
Retry PoolNeedsConnection Errors by @nplasterer in https://github.com/xmtp/libxmtp/pull/1010
Skip duplicate message processing by @neekolas https://github.com/xmtp/libxmtp/pull/1022

My last libxmtp PR is in this one, but not in the iOS version (since it came in later). It doesn't change any APIs, but just calling out for awareness.


Toggle internals on another person

Description

In the examing worn/pickpocket UI there needs to be an additional button to toggle the internals usage on the person.

if this is implemented i really wouldnt want it to be in the stripping menu, very weird place for that to be

if this is implemented i really wouldnt want it to be in the stripping menu, very weird place for that to be

where else would it logically be?

the only other method i can think of is the examine text, but thats also still weird imo

Stripping menu does seem like the most reasonable place to put it, especially seeing as you need to use the stripping menu anyway to place equipment on them if you're tying to anesthetize someone.

The stripping menu is also where this lives in ss13 iirc.

It is in ss13 this way, which I know isn't a good excuse, though it would be the most relevant spot after you actually put the equipment on them.
I do agree with electro in that stripping menu could use a cleanup and would help facilitate it better.


Authentication Policy Admin Role

The new role "AUTHENTICATION POLICY ADMINISTRATOR" lets you import the OAUTH hardware token seed file and then it shows the error that the import failed.
When the same file is imported by the Global Admin role, it goes through successfully.
Looks like the broken or untested functionality of the new role.

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

ID: f720f767-871a-b92b-0efa-e0e35d3ccca8
Version Independent ID: ee84f58e-7791-40cf-9b38-1d5b416303af
Content: Start using PIM - Azure Active Directory
Content Source: articles/active-directory/privileged-identity-management/pim-getting-started.md
Service: active-directory
Sub-service: pim
GitHub Login: @curtand
Microsoft Alias: curtand

@btatter
Thanks for your feedback! We will investigate and update as appropriate.

Thank you. I have reported the issue to the product team and will get back to you. I'm testing in my own tenant as well.

This is by design. At the moment hardware tokens are only supported by global admin. Even though other admins maybe able to navigate to hardware tokens page, they will not be able to upload the files. As a test, an oauth token uploaded by global admin will not be visible to a user with authentication administrator role. A work item has been created to update the documentation to address this. https://github.com/MicrosoftDocs/azure-docs/issues/71772


Signup might also needs modification

If the account linking is used for a tenant, TP "AAD-UserReadUsingAlternativeSecurityId" should check the account in alternativeSecurityIds rather than checking alternativeSecurityId, else a linked account can be added as a new account. This should be specified before the step #1 in the example.

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

ID: 5028e81b-68b8-5f52-7c66-c26b6b207767
Version Independent ID: 38813976-f2de-6dc4-5ea1-1961c8dc0e70
Content: Social account claims transformation examples for the Identity Experience Framework Schema of Azure Active Directory B2C
Content Source: articles/active-directory-b2c/social-transformations.md
Service: active-directory
GitHub Login: @davidmu1
Microsoft Alias: davidmu

I've tried to get clarification on what change might be required for this issue, but the engineering team believes that that article is accurate.
#please-close


Do not override user mounts

Podman should not override users mounts with default mounts
for /etc/hostname, /etc/resolv.conf, and /etc/hosts.
Resolves issue #388
Signed-off-by: baude<EMAIL_ADDRESS>

LGTM

@rh-atomic-bot r+


Mrtk controller mapping update fix

Overview
Basically inverts an Equal test that should have been that way from the beginning.
Write new values if they are different and not ignore them.
Changes

Fixes: #7405

/azp run