authtoken issue

During a bugathon of logstream where he was asked to use AppScope, Jacob W noticed this:
I couldn't use SCOPE_CRIBL along with the -a option on the CLI.
if SCOPE_CRIBL is set, -a is ignored.
If I unset SCOPE_CRIBL and use -a with -c, it works fine.

Running scope run --authtoken secret -- foo doesn't add the token to the generated scope.yml and scope doesn't ever set the SCOPE_CRIBL_AUTHTOKEN environment variable.  The token is only added to the config if the -c option is also used to enable the cribl backend.
Not sure how we want to handle this.

Mixing cli options and environment variables seems like a good way to produce this kind of confusion. Is this just operator error or something we should handle?
Either scope run -c ... -a ... -- foo or set both SCOPE_CRIBL and SCOPE_CRIBL_AUTHTOKEN.

If we wanted to support this, in cli/run/scopeconfig.go
    if c.CriblDest != "" {
        err := parseDest(&c.sc.Cribl.Transport, c.CriblDest)
        if err != nil {
            return err
        }
        c.sc.Cribl.Enable = true
        // If we're outputting to Cribl, disable metrics and event outputs
        c.sc.Metric.Transport = ScopeTransport{}
        c.sc.Event.Transport = ScopeTransport{}
        c.sc.Libscope.ConfigEvent = true
        c.sc.Cribl.AuthToken = c.AuthToken           <<----- move this outside the if
    }

Related, setting cribl > enable : true obviates these lines
        c.sc.Metric.Transport = ScopeTransport{}
        c.sc.Event.Transport = ScopeTransport{}
        c.sc.Libscope.ConfigEvent = true

QA INSTRUCTIONS
Log in to your logstream cloud instance and do the following

Configure -> Sources -> Appscope
If you don't have a source set up:

Add New
Set the Input Id to __inputId=='appscope:'
Set the Port to 10090
Set the Shared Secret to sometoken
Save
Close source pane

If you have a source set up:

Click to open the source
Set the Shared Secret to sometoken
Save
Close source pane

Commit and Deploy Button
Click to open the new source
Live data tab
Stop Button
Capture Button
Set the Capture Time to 1000
Set the "Capture up to..." to 1000
Start Button

CRIBL_DEST=tcp://in.logstream.[YOUR_CLOUD_NICKNAME].cribl.cloud:10091 scope run -a sometoken -- top
Expect: Events to appear in the logstream capture window

Verification failed. @seanvaleo is looking at this now.

Verified on:
Version: v0.7.2-rc3
Build Date: 2021-08-15T14:04:29Z


Query with regex pattern returns same result every time.

When i trying out bug fix of regex, allright it is fixed but only for the first time after cache it will allways return the same result irrespective of name string which i will provide.

the new version was pulbished one minute ago - 2.0.10. That one contains the fix for regexp. Closing ticket


Version bumps on unagi-chan and io-streams

I'll try to get to this this week. Sorry for the delay.

k no worries


compute event subscriptions - fails on custom event

When trying to subscribe with a custom event, it looks like the computation of subscriptions fails with:
java.lang.NoSuchMethodException: io.obswebsocket.community.client.message.event.general.CustomEvent.<init>()

The method itself uses introspection to get the event type of the class...Maybe we could just use the getter?
Would also be a great opportunity to add some unit tests for this feature.

I suspect this happens on other events that extend Event and have a many-argument constructor...there would be no zero-arg constructor.
Trying to think of a clever way to solve this that doesn't involve either declaring a static constructor on all events, or a unique event registration method for each event type...

Also noticed while investigating that we have no tests verifying deserialization of events....Makes it difficult to determine if any breaking changes will be introduced when trying to fix this.
Depending on how this should be fixed, eventType may be a static ref or an instance method...refactoring that would be a PIA.
So, I suggest we start a few tests in this ticket, and then followup with unit tests for events.

Yeah, I knew it would produce some errors but didn't find a better way to handle it at that time

The CustomEvent shouldn't have a Builder and a param in the constructor imo
The object instance is created by Gson when deserialized not by us
By default Gson uses the no-args constructor to create an instance
There is a way of providing a custom InstanceCreator if we need, but I don't think it should be the case here

@ChristopheCVB I got back from my walk and saw you've created a branch for this issue, so I've assigned it to you.


Flyway doesn't respect changes to search_path

What version of Flyway are you using?
4.0.3
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin, SBT plugin, ANT tasks)
Command line
What database are you using (type & version)?
PostgreSQL 9.3 and 9.5
What operating system are you using?
Windows
What did you do?
This is my beforeMigrate.sql script:
CREATE SCHEMA IF NOT EXISTS hstore;
CREATE EXTENSION IF NOT EXISTS hstore SCHEMA hstore;
DO $$
BEGIN
    -- This is only dynamic to grab the current DB
    EXECUTE 'ALTER DATABASE ' || current_database() || ' SET search_path TO "$user",public,hstore';
END;
$$;

-- The current session doesn't pick up on the updated search_path, so we update it manually.
SET search_path TO "$user",public,hstore;

-- This just proves our change works by calling functions without prefix
SELECT hstore_eq(hstore('akey', 'avalue'), hstore('akey', 'avalue'));

This is a migration script (I named mine V1__create_a_table.sql):
CREATE TABLE my_table_with_hstore(
    id SERIAL PRIMARY KEY,
    some_date HSTORE
);

I executed flyway.cmd migrate, no other arguments. I set the url, user, and password in the default conf file. All my files are in the default sql directory.
What did you expect to see?
I expected the migration to succeed on the first try.
What did you see instead?
Instead, it fails on the first try:
Flyway 4.0.3 by Boxfuse

Database: jdbc:postgresql://*******:5432/******* (PostgreSQL 9.3)
Successfully validated 1 migration (execution time 00:00.014s)
Executing SQL callback: beforeMigrate
Creating Metadata table: "public"."schema_version"
Current version of schema "public": << Empty Schema >>
Migrating schema "public" to version 1 - create a table
ERROR: Migration of schema "public" to version 1 - create a table failed! Changes successfully rolled back.
ERROR:
Migration V1__create_a_table.sql failed
---------------------------------------
SQL State  : 42704
Error Code : 0
Message    : ERROR: type "hstore" does not exist
  Position: 77
Location   : *******/flyway-4.0.3/sql/V1__create_a_table.sql (*******\flyway-4.0.3\sql\V1__create_a_table.sql)
Line       : 1
Statement  : CREATE TABLE my_table_with_hstore(
    id SERIAL PRIMARY KEY,
    some_date HSTORE
)

But it succeeds when I run again, presumably because it's picking up the updated default search_path on the second run:
Flyway 4.0.3 by Boxfuse

Database: jdbc:postgresql://xendb03:5432/johnmflywaytest (PostgreSQL 9.3)
Successfully validated 1 migration (execution time 00:00.018s)
Executing SQL callback: beforeMigrate
WARNING: DB: schema "hstore" already exists, skipping (SQL State: 42P06 - Error Code: 0)
WARNING: DB: extension "hstore" already exists, skipping (SQL State: 42710 - Error Code: 0)
Current version of schema "public": << Empty Schema >>
Migrating schema "public" to version 1 - create a table
Successfully applied 1 migration to schema "public" (execution time 00:00.043s).

(The WARNINGs are normal. They're from my  CREATE IF EXISTS commands.)
Thoughts:
Note that I both ALTER the database level default search_path and SET the value of the current connection. This makes it extremely strange that Flyway isn't picking up on the updated search_path. New connections should have the database default value when they're established, and it should have the value I set in my script if the connection is reused. This means that Flyway must be setting or resetting the search_path somewhere.
I did some testing with PostgreSQL outside of Flyway, and it looks like PostgreSQL doesn't actually pick up on the new database default until you establish a new connection. That is,
SET search_path TO DEFAULT;

will ignore changes to the database default search_path until a new connection is established. Strange.
So this could be an issue where Flyway is resetting the search_path using built in PostgreSQL functionality, or it could be setting it to a cached value somewhere. Either way, though, this prevents you from adding extensions in a separate schema to the search_path.

I think I've found a workaround in the meantime.
You can set the search_path in beforeEachMigrate.sql. My main problem with this is that you then have to duplicate the new search_path in multiple places since PG wasn't recognizing the new default, but I found a way to obtain the new default. If you put this in beforeEachMigrate.sql, it works on the first run:
DO $$
DECLARE
    default_search_path TEXT := NULL;
BEGIN
    SELECT setting_value INTO default_search_path
    FROM (
        SELECT
            substring(setting from 1 for eq_position - 1) AS setting_name,
            substring(setting from eq_position + 1) AS setting_value
        FROM (
            SELECT position('=' in setting) AS eq_position, setting
            FROM (
                SELECT UNNEST(setconfig) AS setting FROM pg_db_role_setting s JOIN pg_database d ON s.setdatabase = d.oid WHERE d.datname = current_database()
            ) raw_db_role_settings
        ) presplit_db_role_settings
    ) split_db_role_settings
    WHERE setting_name = 'search_path';

    IF default_search_path IS NOT NULL THEN
        EXECUTE 'SET search_path = '||default_search_path;
    END IF;
END;
$$

@bladeoflight16 Thanks, man, can confirm it worked for me!

Closing as workaround is available and current default behavior is preferable for most users.

This seems inconvenient when deploying multiple schemas.  Granted, I'm trying to not type as much.
I have a schema-per-file approach for organization, and set the search path at the top of the script.  Then I know anything below that will be created in the first schema set, unless otherwise specified.
My workaround would be to just prepend schema. to every object.  It can be done, but it would be nice if this utility would honor calls to set search_path.


Multiple Commands: Last Added Command Overrides Existing Run Commands

First, thank you so much for this nice plugin 🙏
I've configured it, and it works with one "Run Command" as it should. But when I add more than one "Run Command" to my Stream Deck, then it only uses the last added configuration.
For example, when I have one button defined as "app:open-settings" and label it "Settings", then it correctly opens the settings. But when I now add a 2nd button called "Switcher" defined as "command-palette:open", then, no matter if I press "Settings" or "Switcher", always Switcher is opened (the last added button seems to override the command of every already existing "Run Command" button).
Do I overlook something? Can I provide you more information to fix it?
Thanks in advance!

Thanks for raising this issue, I was able to replicate it and have pushed a fix. I've published a new release (v1.1.1) which you can download directly (and install manually) from the releases page. This release should also be available in the Elgato Marketplace in the next couple of days.

@j4ckofalltrades thanks a lot 🙏 I can confirm, the dev version resolved the problem, and it's now working as it should 🙂👏
If I can allow me a last question: When I've downloaded and installed the version of your releases pages, do I need to install it again from the Elgato Marketplace to keep it updated by it?

@blankster The Stream Deck app should automatically detect and install updates.

That's perfect - thanks a lot!


feat(EU): Charge Port Action

Unable to test this as I am not in the EU.  I also don't have an EV.

Looking good.
So I see this is a V2 endpoint, do we know which cars are compatible?
I don't think my 2020 niro has the ability to remotely operate the charge port.
How do we handle differences in support for cars?
I'm fine with not performing pre checks and letting the API reject the request.

No unfortunately I am not sure which cars support it and which don't.

OK.
Maybe at some point we could implement something to let the user know if the car is compatible with the action. I'm not sure it's a good idea to do it at the library level, though. And it requires maintenance (adding car models as they get released).
Feel free to merge, https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/pull/155 is stalled at the moment.

It wouldn't be bad for us to collect it as we know.  I have commented in the kia_uvo side to validate using your native app.  If it exists in that it will probably work.    The native apps must have a way of knowing though.


refactor transports to be fully featured

DO NOT MERGE (yet)
Part of: libp2p/go-libp2p#297

So, during the refactor, I inverted the transport/net dependency. That is, instead of go-libp2p-net depending on go-libp2p-transport, go-libp2p-transport now depends on go-libp2p-net. My reasoning was that transports are one way to implement a libp2p networks. That's why this package has a transport.Network interface that extends inet.Network.
However, go-libp2p-net contains the Network interface which, unfortunately, depends on the peerstore. Given that all transports will depend on go-libp2p-transport, this is a bit unfortunate.
One solution is to:

Move inet.ConnMultiaddrs to go-multiaddr-net. Really, that's where it belongs (and then maddr.Conn would simply be a composition of net.Conn and this interface).
Move inet.ConnSecurity somewhere... Honestly, I don't know where it belongs. Maybe go-libp2p-peer or a new go-libp2p-peer-net package? We don't really need this mixin but it's nice to have.
Make a new go-libp2p-transport-net package and move the transport.Network interface there.

Personally, I'm inclined to finish this refactor and punt on this. Unlike the current refactor, moving these interfaces around won't be a major operation.


Button exemple in chapter 4.3 Components conflicts with Buttton QML Types

When trying to create a specific QML file, compiler uses the QML Button instead

Try to remove importing QtQuick.Controls or rename your QML file to something other than "Button", such as "Clickable".


Feature/Question: MatSelect drop focus after selecting an item

Hi!
Is it possible to automatically drop focus from MatSelect after clicking an element from the dropdown? If not, this would be a useful feature.
Thanks.

This is a really annoying issue, because the validation is only updated after the focus is dropped. So currently users have to click somewhere else (after selecting an item) to see the updated validation styles

Hi @kristof12345!

MDC components doesn't leave focus by default - therefor MatBlazor doesn't do it either (we have had a previous discussion about this if we were to make this a global setting)

Dropping focus on a HTML element is not supported in Blazor (as far as I know) and you have to use JS interop.

Example code below:
Blazor
<MatSelect Label="Pick a Food Group" TValue="string" @ref="matSelect" ValueChanged="@Blur">
    <MatOptionString Value="grains">Bread, Cereal, Rice, and Pasta</MatOptionString>
    <MatOptionString Value="vegetables">Vegetables</MatOptionString>
    <MatOptionString Value="fruit">Fruit</MatOptionString>
</MatSelect>

@code{
    public MatSelect<string> matSelect;
    public void Blur()
    {
        JSRuntime.InvokeVoidAsync("BlurActiveElement");
    }

}

Javascript
window.BlurActiveElement = () => {
    document.activeElement.blur();
}


Synchronizing with pyproject.toml

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Added python version requirements as well to match pyproject.toml, since this was causing linting issues

Thanks for this pull request @michaelcdevin The Windows builds seem to be broken though with these changes.

@michaelcdevin I'm closing this since the typing_extension dependency is no longer an issue.


Template changes during watch

hi everyone,
i'm really enjoying the cecil + netlifycms stack right now but i feel something is messing around
ie. when i cecil serve it livereloads every assets except templates (twig files) and i have to cecil build again to see applied changes..
i wanted to know if i can find a way to fix this ?

Hello Maxime,
Unfortunately it's a "known bug": for a reason that I - still - don't know it seems that the Twig cache (the template engine) is persistent between each build (in serve mode).
I have already tested different approaches in the past to solve this problem, without success... :-/
If I have the time and courage during the next weeks I will try again.
Thanks for your feedback.

hey arnaud,
i'll take a half-hearted look on my side too, btw thanks for your answer

Hello @maxperei, a temporary workaraound could be to use --no-watch (-nw) option to disable the watcher.
In this case, you have just to stop (ctrl+c) the server and (re)run it (cecil serve -nw) after a template modification.

hello @Narno,
i know it's been a long long time but i think i figured out what's going on about this
first, sure this does not relate to twig directly, but something more associated with the buildCommand->run($buildInput, $output) method inside Serve.php which is not re-building templates properly (maybe due to a fail of the Process cache reconstruction, idk)

btw, if you force a full regeneration by putting a Process::fromShellCommandline('vendor/bin/cecil build')->run() instead of the previously quoted build command this actually solves it.. like if you re-run ina separate process
anyway, it's really dirty, and a pull request deserves something better
see u,

Hello @maxperei,
Interesting approach: I will try to take the time to investigate in this direction.
Thank you! 🤗


Add WordWeb. Coinvero. Update MS Authenticator. Fix Boost

Pending (to close):
Added icons #82 #17 #33 #87 #63 #18 #52
Mapped/linked icons (pls review) #17 #33 #19 #47

Thank you, @ninopiamonte!


use correct/new repo

should fix https://github.com/WalletWasabi/WasabiDoc/pull/1730

updated my comment, 1ms before you commented :D

Let's see if this fixes the deployment issue. If not let's open it again.

This didn't work, I will open the issue again.


Implementation of JAXB-API has not been found on module path or classpath.

I tried to access - /swagger-ui.html#/burp-controller/getProxyHistoryUsingGET after setting up rest-api jar. This works fine!
However, upon accessing /burp/proxy/history, seems to have an issue.
Obtaining the below error, please suggest the needful to make it working.
There was an unexpected error (type=Internal Server Error, status=500).
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Could not create JAXBContext for class [class com.vmware.burp.extension.domain.HttpMessageList]: Implementation of JAXB-API has not been found on module path or classpath.; nested exception is javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath. - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]

Hey @sindhua25, hope you resolved this problem, if not, can you share more details about your installation?

Since the issue is stale, and verified that curl -X GET "http://localhost:8090/burp/proxy/history" -H "accept: */*" works on the latest release, I am closing this issue. In case of problems, please open a new issue with clear step-by-step instructions.


DOCS-#2436: Explicit local / single node backend

Explain how in local ( single node ) modin work and use a simulated dark or ray cluster
#2436

@raphaelauv Thanks for the patience with the review, it was a holiday last week in the US, so many were not able to review it yet.

@devin-petersohn thank for your review , I updated the PR


Using native-tls with an identity in the OS X Keychain

Hi there!
I'd love to be able to use native-tls and be able to specify an Identity that's backed by the OS X keychain, so as to support client-certificate TLS without exporting the credential (and then be able to use hyper-tls, etc.). Currently, you can only create an Identity through the from_pkcs12 method - what are your thoughts on adding a IdentityExt trait (or similar name) that exposes OS-specific functionality for the Identity structure?  Something literally as simple as:
impl IdentityExt for Identity {
  pub fn from_keychain(identity: security_framework::identity::SecIdentity) -> Result<Identity> {
    Identity {
      identity,
      ... // cert chain stuff here
    }
  }
}

I'd be happy to submit a PR implementing this if it's something that sounds reasonable!

This library is focused on providing a platform independent interface. If you want to specifically work with the OSX keychain, why not use security-framework directly?

So, I actually have a Connect implementation for hyper that uses security-framework directly, but it involves essentially copying 300+ lines of code from hyper-tls / native-tls to get the same behavior.  Specifically:

I need to copy MaybeHttpsStream from hyper-tls, since it assumes that it's using native-tls, and I want to support both HTTP and HTTPS.  This applies to the other support/wrapper structs like HttpsConnecting, TlsStream, Handshaking, etc.)
I needed to copy most of the connect method from TlsConnector in native-tls along with the supporting methods (e.g. to set the min. TLS version).

Ideally, I could avoid all the duplication and associated incompatibility with other crates that use hyper-tls if I can just create the native-tls Identity object with right identity 😃

Again, 0.2 explicitly avoids exposing the internal implementations directly. I don't think not wanting to copy 300 lines of code for a use case that's tangentially related to native-tls's goal is really sufficient motivation to change that decision.


Create performance benchmarks for key pgroll features

Gather benchmarks data for the following parts of pgroll:

Backfill duration - How long does it take to perform backfill operations on a table of some fixed size (say 10^7 rows)?
Effect of dual writes - What overhead do the up/down triggers incur on UPDATE heavy tables?
read_schema query performance  - Benchmark the performance of the read_schema query, run on every DDL statement to capture 'inferred' migrations.

Having these benchmarks in place would allow us to measure performance improvements over time and avoid regressions.

I'd like to have a go at this.
In a perfect world we'd probably want to run these against every commit, but I imagine they may take a while to run and I don't want to affect the velocity of getting things into main. Maybe a compromise is that we spin up an environment once a day and run the tests against all new commits?
Apart from actually writing the benchmarks, we need to decide on a few things:

How often do we run them? I suggest once a day as mentioned above
Where do we run them? I think we may want to spin up a dedicated environment in EC2 so that the results are consistent
Where do we store results? Ideally, since this is an open source project, we may want the results to be public. Perhaps we can upload results to a wiki / docs area in this repo?

Anything else?

I think what you suggest is a good start. We want the benchmarks for a couple of reasons:

Guard against performance regressions
Have benchmarks available as part of the public documentation for the repository.

I suggest running the benchmarks as a separate workflow that is automatically run on changes to main and that can also be invoked manually on branches.
A consistent environment in terms of hardware and probably also software (maybe run the benchmarks in a container) is a must too.
Results could be uploaded to object storage and pulled from there into our docs.

@andrew-farries @exekias The basic benchmarks are all done now, shall we close this?
We can add new issues if we want to add more benchmarks, change how they're run etc.

Yes, let's close it.


I haven't conection

Type: Bug
My proxy is fine, and I don't have any malware blocking my connection, but VS Code still isn't recognizing my internet connection.
VS Code version: Code 1.70.2 (e4503b30fc78200f846c62cf8091b76ff5547662, 2022-08-16T05:35:13.448Z)
OS version: Windows_NT x64 6.1.7601
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (4 x 2294)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
undefined

Memory (System)
3.91GB (2.72GB free)

Process Argv
--crash-reporter-id 401e8166-a76e-4380-a458-7eaf4867a95c

Screen Reader
no

VM
0%

Extensions: none

Unfortunately, I can’t update because I’m using Windows 7. There is another
solution?
Thanks
Em seg., 30 de set. de 2024 às 13:42, vs-code-engineering[bot] <
@.***> escreveu:

Thanks for creating this issue! It looks like you may be using an old
version of VS Code, the latest stable release is 1.93.1. Please try
upgrading to the latest version and checking whether this issue remains.
Happy Coding!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/230140#issuecomment-2383687477,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLSHW6ISAA37E5ANP2F52CDZZF5QVAVCNFSM6AAAAABPDXURM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBTGY4DONBXG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

The VS Code version you are using is 2 years old. There have been fixes in the proxy support since.


Updating to cats 1.0.0

Thanks, I'm still away from decent internet, so will take another couple of days to get a release out, but will merge this now.

👍

https://github.com/scanamo/scanamo/pull/177 @philwills
Cats ended up needing another release because of maven versioning priorities between 1.0.0 and 1.0.0-MF.  Probably should merge this in and just release with the above referenced PR.


Fix AvroUtils.getFieldSchemaHelper() to support map and union types in schema

Currently AvroUtils.getFieldSchemaHelper() doesn't support map and union types in schema passed to it as parameters. This fix is to support map completely in schema. Further it will support union with primitive data types. A union with complex data types will result in AvroRuntimeException.

@abti can you review?

@abti I made the required changes. Can you review it again?


bug: failed to get host in health check configuration.

code location
https://github.com/apache/incubator-apisix/blob/master/apisix/balancer.lua#L64
https://github.com/apache/incubator-apisix/blob/master/apisix/balancer.lua#L95
https://github.com/apache/incubator-apisix/blob/master/apisix/balancer.lua#L198
https://github.com/apache/incubator-apisix/blob/master/apisix/balancer.lua#L201
https://github.com/apache/incubator-apisix/blob/master/apisix/balancer.lua#L206

refer to the health check configuration:
https://github.com/apache/incubator-apisix/blob/master/doc/health-check.md
host should be from checks.active.host instead of checks.host

you are right, welcome PR to fix it

you are right, welcome PR to fix it

OK


feat(model): add guild_scheduled_events to guild struct

Closes #1961

Shouldn't we add this to the cache implementation (mapping of scheduled event IDs to the events)?

hi, just chiming in that this would be quite useful for me if it were implemented 🙏

I'm not planning on landing this change, but feel free to base any PR upon this draft.


The status bar is displayed incorrectly

I set right font( power line font name "hack" form power line fonts) and not display well see the right of picture

let g:airline_powerline_fonts = 1
but I don's know why the right corner not display well like left. I try to set font size and other font family or update airline.But no help on this problem.
MacVim Version 8.0 (121) on OSX 10.11.6

Which terminal emulator are you using? I am using Meslo powerline font wich is working well in Terminator but with display error in alacritty.

So you are using a gui version? Good to know. What is your configuration? Have you tried a different theme?  Please show the output of  echo airline#statusline(1).
What other problems do you have in the terminal?

@chrisbra ye I try install Airline themes but useless on this problem. here is log

ah ........ In terminal ( system build-in ) It's cool when launch vim

But if enter edit mod and type some character status line will be like this

I have the same issue. I tried on iterm2 and vimr with several air-line theme.
Seem like the powerline symbols have a full-width but other mono fonts are half-width. thence this issue happened.

@TsumiNa Interesting！Even I try to change fonts but never think about what if use half-width character may fix this. LOL thanks a lot.

Yup same issue on Macvim 8.0

**Output of airline status **
%{airline#check_mode(1)}%#airline_a#%( %#airline_a_bold#%{airline#util#wrap(airline#parts#mode(),0)}%#airline_a#%{ai
rline#util#append(airline#parts#crypt(),0)}%{airline#util#append(airline#parts#paste(),0)}%{airline#util#append(airl
ine#parts#spell(),0)}%{airline#util#append("",0)}%{airline#util#append("",0)}%{airline#util#append(airline#parts#imi
nsert(),0)} %)%#airline_a_to_airline_b#%#airline_b#%#airline_b_to_airline_c#%#airline_c#%( %<%f%m %#airline_c_re
d#%{airline#util#wrap(airline#parts#readonly(),0)}%#airline_c# %)%=%#airline_c_to_airline_x#%#airline_x#%( %{airli
ne#util#wrap(airline#parts#filetype(),0)} %)%#airline_x_to_airline_y#%#airline_y#%( %{airline#util#wrap(airline#pa
rts#ffenc(),0)} %)%#airline_y_to_airline_z#%#airline_z#%( %3p%% %#airline_z_bold#%{g:airline_symbols.linenr}%4l%#a
irline_z#%#airline_z_bold#/%L%{g:airline_symbols.maxlinenr}%#airline_z# :%3v %)%#airline_z_to_airline_warning#%#ai
rline_warning#%( %{airline#util#wrap(airline#extensions#whitespace#check(),0)} %)

according to other issues here, you need to set the font in macvim to something like Source Code Pro. For iterm you need to check various configuration options (check issues here).

guifont is set in mvim

@chrisbra TsumiNa is right, use half-width character work well for me.

@TsumiNa 顺便问个问题，我的vim 中文字体显示不对，每次都要重载vimrc 后才能正确显示中文字体。你能帮我想想怎么回事么？对啦，新年好呀~

so it is either a font problem or a terminal/GUI problem. I am closing this then.

@vose2008 我还真没遇见过这个情况，MacVim，Vimr（现在backend是neovim）和archlinux上的gnome-terminal+neovim都没有出现过unicode字符的问题。你用neovim试试看，macvim的vimrc能直接用在neovim上。


scopedNamespace: Is this limited to a single namespace or a comma delimited list?

Describe the solution you'd like
Describe the end goal of this proposal. What is this new functionality or the new behaviour (or what problem does it fix)?
Our company are looking to use External Secrets in a GKE cluster that would be used by many of our product teams. Essentially, we will be hosting an External Secrets instance per product team in the GKE cluster, where each instance will use a product team specific workload identity to point at their own Secret Manager service in their own GCP service project (i.e. each product team have their own GCP service project).
Each product team will be deploying their workloads to more than one namespace in the GKE cluster. Thus, we want each instance of External Secrets to "watch" the namespaces used by a product team (where there will usually be more than one).
Does scopedNamespace allow the definition of more than one namespace? If not, why is it restricted to a single namespace and is it practical to request a feature enhancement to support multiple namespaces. We are switching from the use of KES, as advised by the community, but this multi-tenancy limitation of just watching a single namespace was not a restriction when using KES.
What is the added value?
Explain the value that it adds. e.g. "Secret refreshing will make internal secrets up to date with external secrets".
Improves the multi-tenancy implementation in a single k8s cluster.
Give us examples of the outcome
One k8s cluster
Team A and Team B deploy their workloads to the k8s cluster and both want to use External Secrets
Operations team deploy an instance of External Secrets for Team A and a separate instance for Team B to the k8s cluster
Team A: Uses namespace1 and namespace 2
Team B: Uses namespace3 and namespace4
Operations team want to list "namespace1,namespace2" for the scopedNamespace field in values.yaml for the Team A External Secrets instance and "namespace3,namespace4" for the scopedNamespace field in values.yaml fo the Team B External Secrets instance.
Provide templates if you are proposing changes in the CRD. Provide example workflows or code snippets if they make sense to present.
Observations (Constraints, Context, etc):
Give here all extra information that could be interesting. Such as Golang version and Kubernetes version if you are reporting a bug/problem. You can also foresee technical constrains like "this could only be implementing using this specific technology or approach, because of this and that".

Hey folks, thanks for your interest in the project!
I think you are confusing how to configure the project. Most of the "final" functionality of the project will be configured by creating the Custom Resources in the cluster, and not the configs of the helm chart.
In KES you only had one CRD, named ExternalSecret (externalsecrets.kubernetes-client.io), in ESO we have ExternalSecret (externalsecrets.external-secrets.io), SecretStore (secretstores.external-secrets.io) and ClusterSecretStore (clustersecretstores.external-secrets.io).
For multi-tenancy, have a look over this documentation: https://external-secrets.io/guides-multi-tenancy/
You probably want to use one SecretStore per namespace.
We also started to ship a tool to make it easier to migrate from KES: https://github.com/external-secrets/kes-to-eso
But I guess it won't be that useful in your case specifically. :thinking:
cc @gusfcarvalho

I think it is worth to point some differences between KES and ESO:
KES can only have one ''provider account'' attached to a controller, during deploy time. So, in order to have multiple workload identity configuration, multiple KES deployments are needed.
ESO can have "multiple accounts" attached to the same controller, at runtime. This is done through configuration of a secretStore to use different service accounts (which then are annotated with different permissions).
TL;DR:
Option 1) (my personal recommendation)

Create ClusterSecretStore A bound to Workload Identity of Team A
Create Kyverno/Gatekeeper rules to enforce Team A can only use ClusterSecretStore A
Repeat the process for any other teams or needs (and use ESO deployment as is)

Option 2) (closer to KES setup)

Create custom RBAC for ESO controller team-a so it can only access specific Service Accounts. Deploy it using controller label team-a
Create ClusterSecretStore A bound to Workload Identity of Team A, configured to use ESO controller team-a
This will enforce that only ESO Controller team-a could possibly access information from Team A Workload Identity.
Repeat the process for any other Teams.

Longer Version:
For your specific use case, I agree with @knelasevero. The "ESO way" of having this setup as close as possible to your intent would be to create a SecretStore bound to a ServiceAccount with WorkloadIdentity permissions to namespace1 and namespace2, and then have team a using these SecretStores. SecretStores are currently namespaced, so you would need to have one per namespace (which I think is the main issue you're having here, as teams can have potentially hundreds of namespaces). Alternatively, you can create a ClusterSecretStore bound to a serviceAccount with specific WorkloadIdentity permissions. This ClusterSecretStore would impersonate access to Team's A, but could be used by Team B if no policy is implemented. My personal recommendation would be to use something like Kyverno to enforce these policies, but you can achieve that with External Secrets as well by configuring the Cluster Secret Store to a given ESO controller, and then have multiple ESO deployments (each with its own controller label). You'd still need to take into account appropriate RBAC permissions to avoid impersonations from unwanted SAs.
Regarding kes2eso, it can actually help you out with manifest configuration, as by default it creates all resources based on KES service accounts. You can pass --kes-deployment-name and --kes-namespace to force the tool to look for a particular KES deployment, and it will create a ClusterSecretStore and ExternalSecrets that are configured to use that specific KES ServiceAccount. The manual change you'll need to do is to point to a new SA (with the same WI annotations), and specify a controller for the ClusterSecretStores that are generated by KES (and be sure to configure the right match between a group of KES-ExternalSecrets and Its appropriate KES Deployment).

Thank you @knelasevero @racdev @gusfcarvalho
I get the general gist of the advice but still a little confused.
I'm good with using a SecretStore per namespace and would not want to go with the ClusterSecretStore due to the RBAC considerations you refer to - defining admissions controller policy on the k8s with Kyverno or something similar is not something we have in scope to implement (yet), so I'd like to limit this to namespace logic.
The challenge I see with the current implementation and the use case I describe is that the workload identity is "bound" to the eso controller - e.g. if it is deployed to a namespace named es, then that is where the k8s serviceaccount is used for the workload identity mapping to a Google Service Account (GSA). Ideally, if the authentication was to be managed within the namespace where the SecretStore is being defined such that a local k8s sa mapped to a GSA, then the one eso controller could be used.
The multi-tenancy documentation at https://external-secrets.io/guides-multi-tenancy/ has the ESO Service section with a diagram that visually suggests that SecretStores in different namespaces can access different external stores (diagram shows AWS but logically no different than accessing Secret Manager in GCP). The diagram, I assume, is correct if the authentication defined in each SecretStore defined, say, a k8s secret with the specific credentials in a k8s serviceaccount (as described at the top of the page at https://external-secrets.io/provider-google-secrets-manager/ (Service account key authentication).
But when using a workload identity, the SecretStore definition doesn't any content other than to defer to the serviceaccount that the eso controller runs as:
apiVersion: external-secrets.io/v1alpha1
kind: SecretStore
metadata:
name: example
spec:
provider:
gcpsm:
projectID: pid
Ideally, in the SecretStore, the workload identity k8s sa could be referenced with it expecting it to be local to the namespace and used for authentication (so that it would be at the same logical level if defining a sa with a json key to authenticate the SecretStore).
I don't want product teams to add a JSON key into a k8s secret in their namespaces (for security considerations of downloading a credential from GCP) and much prefer for them to define and use a workload identity for authentication of a SecretStore in the namespace(s) they are deploying to.
Doing this with a single eso instance in the GKE cluster rather than doing one per product team would be ideal.
Hoping I'm making sense :)
Thanks
Tommy

You make a lot of sense.
I guess you want to +1 this issue request ;)
https://github.com/external-secrets/external-secrets/issues/372
Would love to get contributions there as well!

@knelasevero - yes definitely a +1 from me.
My go skills are a bit scratchy, as otherwise I'd have a stab at this myself. If someone else has the inclination to look at this, that would be ideal.

@tommyreilly  I think a workaround for now can be 'a little bit of both'. I think you could set ESO controller labels per team / workload identity and create namespaced secretstores pointing to those controller labels. You'd still need 1 ESO controller per team, but you wouldn't have to face RBAC issues anymore (because the secretstore now exists only in a specific namespace).
but yeah, ideally its #372 =)

So my use case is that we only use HashiCorp Vault and I have a "platform team" that manages services in namespaces a, b and c, each with a service account a, b and c in each namespace respectively. Each SA is bound to a role in Vault with relevant policies to access the secrets needed for the services running in the respective namespace.
I therefore deploy the ESO controller in namespace es running as SA es that has the relevant RBAC to read the SA's in namespaces a, b and c - I can then create SecretStores in namespaces a, b and c referring to the relevant namespace SA and role and then create my namespaced secrets. All good.
My understanding however is, because the controller is cluster scoped in terms of namespaces it watches, team x using namespace x could create a SecretStore in namespace x and refer to the SA's in namespaces a, b and c, and because the controller sees all SecretStores in all namespaces and has the relevant RBAC to access the SAs in namespaces a, b and c, the SecretStore would work and team x has access to the "platform teams" secrets. Not good.
If the controller was namespace scoped to only refer to namespaces a, b and c, then it would only ever "see" the platform teams SecretStores and hence no other team could ever create a SecretStore that uses the SAs in the platform teams namespaces as those SecretStores would be invisible to the controller running in the es namespace. Each team would obviously have to have their own controller - again scoped to just their namespaces - but this would provide a common pattern of one controller per team, scoped to the teams namespaces with a SA with access to the SAs in the managed namespaces. This would remove any issue of cross namespace access, without the need for another service to police usage. - whilst letting teams do what they like SecretStore and ExternalSecret wise.
Apologies if my understanding is not correct.

[...] team x using namespace x could create a SecretStore in namespace x and refer to the SA's in namespaces a, b and c [...]
The controller reconciles the ExternalSecret and SecretStores resources in all namespaces. However, A SecretStore can only use SAs from it's own Namespace. SAs from other namespaces can not be used. This is by design: Namespaced resources (and references) should not transcend namespaces.

Scoping the controller to a list of namespaces is desirable to limit the reconciling of resources to a subset of namespaces (and hence eliminate the issue of a potential software bug that allows users to use SAs across namespaces).

That's true. Even though the discussion evolved to the solution that delivers what users are looking for, scoping some namespaces is still something that needs to happen. Do we have some other issue for it?

However, A SecretStore can only use SAs from it's own Namespace. SAs from other namespaces can not be used

Ah, that clarifies things. The bit that confused me was that the SecretStore configuration has namespace as a field when referring to the Service Account which suggests it can refer to a SA in another namespace than the namespace of the SecretStore itself:
        # Optional service account reference
        serviceAccountRef:
          name: "my-sa"
          namespace: "secret-admin"

That's a documentation flaw because the underlying type is shared with the ClusterSecretStore where you can specify the field (it's ignored in a SecretStore).

@gusfcarvalho - thank you, at this time, I'll try and see if I can get your suggested workaround working for our use case.

Closing this one so we can track the remaining bit of it at #163!


Flyway docker build is failing

Which version and edition of Flyway are you using?
latest or 10-alpine
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
no issue with the older version
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Maven plugin
Which database are you using? (Type & version)
postgres
Which operating system are you using?
windows and linux
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
Dockerfile:
FROM flyway/flyway:10-alpine
COPY target/com.someorg.flyway*.gz /tmp
RUN tar -xvf /tmp/com.someorg.container.flyway*.gz
RUN rm -f V*__${args}.sql
RUN mv *.sql /flyway/sql/
What did you expect to see?
should be able to copy the .SQL files to the directory /flyway/sql/
What did you see instead?
flyway build is failing with the error "mv: target '/flyway/sql/' is not a directory"

This issue is due to the default sql folder no longer being shipped with CLI and Docker as we do not recommend using the install directory to store your migration scripts.
This had been missed from the release notes but have now been updated. Our apologies.
Please mkdir to create a folder to store your migrations.


[hotfix][docs] Fix ./build_docs.sh error caused by elasticsearch page not exists

What is the purpose of the change
When I ran ./build_docs.sh in folder docs to build localhost web page as required by docs/readme.md. An error that   page not found was thrown as follow:

Brief change log

Fix ./build_docs.sh error caused by elasticsearch page not exists. Deleted related links in overview.md.

Verifying this change
No tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper:  no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? no docs.

If you follow the build instructions for the docs it will work: https://github.com/apache/flink/blob/master/docs/README.md

If you follow the build instructions for the docs it will work: https://github.com/apache/flink/blob/master/docs/README.md

Hi, @zentol , thanks for the tip.  I followed the steps of   several times and tried to install a lower version of go in my mac, but the problem in the screenshot still exists.
Also, I found the document of elasticsearch  was removed in FLINK-27394, but these links in different overview.md in docs/content/docs/connectors  still exists,  is this reasonable?


Deactivate when following a link and browser.tabs.insertRelatedAfterCurrent is true

Is it possible to have this addon not act when:

A link is opened in a new tab?
browser.tabs.insertRelatedAfterCurrent is set to true?

My objective is to have ctrl + T + links opened externally + menus opened to appear next to the current tab but links opened in a web page appear as they were when I have insertRelatedAfterCurrent turned on.
Related to #17

Unfortunately it's not possible. All I know is that a tab is being opened, the API does not expose why/by what action a tab was opened.

How about trying this (and then improve the detection means):
When a page is opened, place an event on the  E.g.
When opening the tab, listen for a ready state:
https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs#ready
When you get the ready state, get the tab (the parameter) and place a contentScript.
E.g. here in the contentScriptOptions row
https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs#Parameters_3
On the contentScript just do:
document.body.addEventListener('mouseup', function(e){
	self.port.emit("clicked", true);
}, true);

On the main script then do:
var clickingTimeout = null;
var clickingReactivate  = function (){
	state.reenable();
}
var clickingDeactivation = function (){
	clearTimeout(clickingTimeout);
	clickingTimeout = setTimeout(clickingReactivate, 500);
}
//...
	pageWorker.port.on('clicked', clickingDeactivation);
//...

Docs: https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts#Accessing_port_in_the_content_script
It's not perfect or anything like that but I think it can be done as a starting point given that you don't have API to know the cause for the tab to open.

Thanks for the suggestion, but that's way too hacky for my taste. However, I checked and it should be possible to do what you want to do with the webextension API. I just need to find the time to migrate...

I was afraid of that.
I can give you some assistance if you want. I've been wrestling with it recently.

I think it's not much to be done, but getting all the tooling to work and working around the signing will need some work and I just have to find the time first...

Now I actually had some time to read up and it seems rather straight forward, however I don't think I can do this: https://github.com/sblask/firefox-open-tabs-next-to-current/blob/master/index.js#L23 with webextensions? @brunoais Not directly related to this add-on: there doesn't seem to be an equivalent to jpm test any idea how to do that?

I don't know what that event is for :S... Even after trying reading the manual.
https://github.com/mozilla/web-ext ?

The reason I need to listen to that event is that if Firefox crashes or it's closed while tabs are open, the order of the tabs is reversed by default. I need to disable the reordering during session restore to avoid that...

Ah! OK. It is the event specifying that SessionStore is working on the tabs. So that's how your addon doesn't mess up tabs like others do... I see...
Can you try making a hybrid addon, then? It is still not possible for stable firefox but recently they made an API for communication between WebExtensions and Legacy addon and SDK addons.
Actually, there's a quite lighten up discussion about how WebExtensions can actually help anything actually useful and how they are still quite limited.

I think I will contact dev-addons to see whether they've got some suggestions first. A hybrid is a possibility, but I was hoping it wouldn't be necessary as I think I'd be aiming for less than 100 lines of code in a pure webextension.

Either that or IRC: irc:irc.mozilla.org/webextensions

I was playing around with https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs to see what's possible with the tab API I thought I could get the information necessary for your requirements from openerTabId (https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/Tab) But it's undefined :-S As I can't check the preferences and thus insertRelatedAfterCurrent I would have to implement the same logic (#17), but I would also need openerTabId. The problems just never end...

Opened a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1311504

Thanks for the update!
@sblask https://bugzilla.mozilla.org/show_bug.cgi?id=1311504#c1 <- They always ask that.

See #22, I think the beta I uploaded should do what you want.

Thank you! I've been using for a bit longer than a week now.
It is working very well! The tab scroll is jumping around when a tab is opened #24 but I think that is an OK price to pay for having this problem solved.


Update ADAL4J and AKV

Codecov Report

Merging #516 into 6.2.2 will increase coverage by 0.03%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##              6.2.2     #516      +/-   ##
============================================
+ Coverage     40.43%   40.47%   +0.03%
  Complexity     1832     1832
============================================
  Files           103      103
  Lines         23667    23657      -10
  Branches       3919     3920       +1
============================================
+ Hits           9570     9574       +4
+ Misses        12428    12412      -16
- Partials       1669     1671       +2

Flag
Coverage Δ
Complexity Δ

#JDBC41
40.35% <0%> (+0.02%)
1826 <0> (+1)
:arrow_up:

#JDBC42
40.33% <0%> (-0.03%)
1826 <0> (-3)

Impacted Files
Coverage Δ
Complexity Δ

...om/microsoft/sqlserver/jdbc/SQLServerResource.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

...QLServerColumnEncryptionAzureKeyVaultProvider.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...m/microsoft/sqlserver/jdbc/KeyVaultCredential.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...a/com/microsoft/sqlserver/jdbc/PLPInputStream.java
39.75% <0%> (-1.21%)
28% <0%> (-1%)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
48.19% <0%> (-0.46%)
66% <0%> (-1%)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
46.77% <0%> (-0.07%)
0% <0%> (ø)

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
30.33% <0%> (+0.22%)
57% <0%> (-1%)
:arrow_down:

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
27.98% <0%> (+0.29%)
201% <0%> (+4%)
:arrow_up:

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
47.19% <0%> (+2.24%)
16% <0%> (ø)
: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 1bf3ea1...f1ab1f9. Read the comment docs.


Porting performance tests to xunit perf

Moving Utf8StringPerformanceTests out of System.Text.Primitives.Tests and into System.Text.Primitives.Performance.Tests since these are performance tests.
This should reduce our CI (and build/test) time by a few minutes, but cause running performance tests to be even longer. Hopefully, we can get the xunit.performance update where we can run specific performance tests.
Note: I made changes in PerformanceTests.cs so that the diff is easier to see. This file will be deleted in the next commit and we will only have the Utf8StringPerformanceTests.cs file (these have duplicate copies of the code).

Diff visible here:
https://github.com/dotnet/corefxlab/pull/1213/commits/73b1f43e231ba4e0d99458c4684990f31382cc60#diff-c9b483d639c86eac8468c47d46797180

cc @KrzysztofCwalina

@dotnet-bot test this please.


GC: writeJsonSummary writes file with interleaved null characters

The function uses stream.writeChars on a JObject which results in a an invalid string, which causes an exception when trying to read into json object afterwards
[�, {, �, ", �, r, �, u, �, n, �, _, �, i, �, d, �, ", �, :, �, ", �, 1, �, 4, �, 1, �, 9, �, f, �, c, �, e, �, a, �, -, �, a, �, 4, �, 4, �, 1, �, -, �, 4, �, 9, �, 7, �, b, �, -, �, b, �, 3, �, 0, �, 1, �, -, �, 2, �, 4, �, 6, �, c, �, 7, �, f, �, 3, �, 6, �, 0, �, 1, �, b, �, a, �, ", �, ,, �, ", +178 more]

Suggested solution to use writeBytes instead

@Jonathan-Rosenberg  FYI

Analysis
writeJsonSummary uses DataOutputStream.writeChars, which writes each char of the String as if using DataOutputStream.writeChar, which literally says it does a bad UTF-16 impression:

Writes a char to the underlying output stream as a 2-byte value, high byte first. If no exception is thrown, the counter written is incremented by 2.

We shouldn't use that function 🤷🏽 .


Fix CI

Fix ci build

:tada: This PR is included in version 8.6.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Upgrade scalajs-js-envs-test-kit to 1.4.0

scalajs-js-envs-test-kit to 1.4.0 has more test cases and additionally supports CommonJsModule

Resolved in https://github.com/gmkumar2005/scala-js-env-playwright/pull/9


Fleshing out parseArgs to support withValue and Multiples options

Added support for multiples option and withValue option case mentioned here https://github.com/nodejs/node/pull/35015
**The Requirement of = for Options Expecting a Value**
For example, one may argue that --foo=bar should be the only way to use the value bar
for the option foo; but users of CLI apps built on Node.js expect --foo bar to work just as well.

Let me know if anyone thinks I should change lines 48, 58, 63 into some helper function or make it less concise and split the logic over several lines.
Thanks for the review & consideration.

For some context: @JessNah was using the examples here to help guide this implementation: https://github.com/pkgjs/parseargs#examples-w-output


Remove reflections library from ND4J

Related:
https://github.com/deeplearning4j/deeplearning4j/issues/4504
https://github.com/deeplearning4j/deeplearning4j/issues/3899
ND4J extensively uses the reflections library, for a number of purposes. However, this causes problems:

Performance: classpath scanning can be very costly; in some cases, infeasibly so - https://github.com/deeplearning4j/deeplearning4j/issues/3899
Compatability: android can't use reflections - https://github.com/deeplearning4j/deeplearning4j/issues/4504

I'm opening this issue to plan out where and how to remove reflections.

Where reflections library is used:

Version check
a. Where: https://github.com/deeplearning4j/nd4j/blob/master/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/versioncheck/VersionCheck.java
b. Possible solution/replacement: ServiceLoader, that points to name and location of resources?
Compression
a. Where: https://github.com/deeplearning4j/nd4j/blob/master/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/compression/BasicNDArrayCompressor.java#L38
DifferentialFunctionClassHolder (finds SameDiff DifferentialFunction instances)
a. Where: https://github.com/deeplearning4j/nd4j/blob/master/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/imports/converters/DifferentialFunctionClassHolder.java#L120
Nd4jBackend: fallback (if ServiceLoader fails) for backend identification
a. Where: https://github.com/deeplearning4j/nd4j/blob/de51cbe9bcb6d06c540be20ef596c5cf3665dd6a/nd4j-context/src/main/java/org/nd4j/linalg/factory/Nd4jBackend.java#L199
b. Solution: Don't fix - should be fine most of the time (i.e., unless a backend can't be found). Alternatively, have this be disabled by default + log how to enable it.
JacksonReflectionLoader (not widely used - maybe Arbiter though?)
a. Where: https://github.com/deeplearning4j/nd4j/blob/master/nd4j-serde/nd4j-jackson-reflectionloader/src/main/java/org/nd4j/reflectionloader/JacksonReflectionLoader.java
ND4J JDBC drivers (DriverFinder)
a. Where: https://github.com/deeplearning4j/nd4j/blob/master/nd4j-jdbc/nd4j-jdbc-api/src/main/java/org/nd4j/jdbc/driverfinder/DriverFinder.java
b. Solution: ServiceLoader - all JDBC 4 compliant drivers apparently use this already: https://stackoverflow.com/a/18297412
TrainerProvider
a. Where: https://github.com/deeplearning4j/nd4j/blob/aafbd0101b1a10a0d4dae1a2671895410a1708b2/nd4j-parameter-server-parent/nd4j-parameter-server-node/src/main/java/org/nd4j/parameterserver/distributed/training/TrainerProvider.java#L42
b. Solution: ServiceLoader mechanism
ND4J tests - OpsMappingTests
a. Where: https://github.com/deeplearning4j/nd4j/blob/aadd8d68d105e4765eb85e56e73d3f09d28e92f3/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/nativ/OpsMappingTests.java#L126-L128
b. Solution: Don't fix. Tests only, so performance here doesn't matter.

General reflections alternatives:

Java ServiceLoader (fast, robust (other than badly configured uber-jars), easy to use)
Hard-code classes - for use in Class.forName(String)

Ugly, but might be "good enough" in a few cases.

JSPF: https://code.google.com/archive/p/jspf/ (seems to rely on classpath scanning, according to docs - may have the same scalability issues as reflections library. ALso not maintained?
OSGi (I don't know enough about this yet to comment. Might be overkill for many cases?)
Reflections library, but with AOT scanning during build: https://github.com/ronmamo/reflections#integrating-into-your-build-lifecycle

Probably not suitable for most of our use cases (like: user custom functionality, uber-jars, etc)

PF4J - https://github.com/decebals/pf4j

@AlexDBlack thoughts for the apache folks?

Removing reflection library entirely is going to take a bit of work, given how extensively we use it (and, the fact that we want to maintain backward compatibility with functionality that currently relies on it.
There's not much benefit removing only a few bits and pieces - for dependency issues especially, it has to removed entirely (in ND4J, DL4J and DataVec).
It's important - but I was planning on looking at this after the release.

Thanks for explaining! Okay, so https://github.com/deeplearning4j/deeplearning4j/pull/4662 won't be included in the release, that's totally fine.

Partially fixed here: https://github.com/deeplearning4j/nd4j/pull/2846
Only items 1 and 3 left (plus 8, but that's trivial to fix once the others are done).


bug: video watched checkbox not working as expected

Describe the bug
when I finished watching the video and click on the checkbox(done), i have to refresh the page, after that it will show me that the video is watched
To Reproduce
Steps to reproduce the behavior:

open the video
click on show contents
update the checkbox

click somewhere else and see again the checkbox, it doesn't get updated, i have to refresh the page.

Expected behavior
it should be updated immediately
Screenshots or GIFs
done

Info (please complete the following information):

Browser chrome
Version 131.0.6778.205 (Official Build) (64-bit)

Additional context
nothing

i  would like to work on it

please do


Add fuel blending quota

Description of the issue
In many studies it is mentioned that they assume a certain share of renewable fuel mixed into fossil fuel.
Ideas of solution
fuel blending quota: A fuel blending quota is a fraction value that indicates the share of renewable fuel mixed into fossil fuel.
'quantity value of' some 'combustion fuel'
Workflow checklist

[x] I discussed the issue with someone else than me before working on a solution
[x] I already read the latest version of the workflow for this repository
[x] The goal of this ontology is clear to me

I am aware that

[x] every entry in the ontology should have a definition
[x] classes should arise from concepts rather than from words

As a biofuel is not necessary a renewable fuel I modify the proposal (in line with #1504) to: A fuel blending quota is a fraction value that indicates the share of renewable fuel or biofuel mixed into fossil fuel.

No one reacted or object to my latest proposal so I consider this issue as ready for implementation.

I will implement.

I am ok with that.
However, the whole "quantity value and entity in reality" topic is currently under investigation at OVGU with @nelekoehler and @fabianneuhaus, as mentioned before. Therefore, we might have to revisit it again at some point.


[Suggestion] - Allow setting TLS host(s)

Suggestion
Dear Atlassian charts team,
we would like to be able to set the TLS host(s) separately from the normal (rules) hosts to make it easier to work with wildcard certificates (issued e.g. with Letsencrypt) which is especially useful on pre-prod environments.
Example known from many other charts:
  ingress:
    enabled: true
    apiVersion: ...
    hostName: service.staging.example.com
    tls:
    - hosts:
      - *.staging.example.com
      secretName: tls-secret
    ...

Thank you
Patrick
Product
Jira, Confluence, Bitbucket, Other
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@pathob, can you please expand on the use case? Do you want to define a fully qualified domain name for the instance host and wildcard for TLS hosts? E.g. ingress.host: jira.staging.example.com and ingress.tlsHost: *.staging.example.com?
In our setup we are usually using ingress configuration that is described here:
https://atlassian.github.io/data-center-helm-charts/examples/ingress/INGRESS_NGINX/#ingress-resource-configuration
We have a wildcard certificate for the domain and then we have an Issuer that will create a TLS certificate for the instance domain name when it is installed. Would this setup work for you?
I just would like to understand whether we need to extend the helm chart to cater for a new use case and if so, understand the use case in more detail. Thank you very much.

Hi @nanux

Do you want to define a fully qualified domain name for the instance host and wildcard for TLS hosts? E.g. ingress.host: jira.staging.example.com and ingress.tlsHost: *.staging.example.com?

Yes, exactly

In our setup we are usually using ingress configuration that is described here: https://atlassian.github.io/data-center-helm-charts/examples/ingress/INGRESS_NGINX/#ingress-resource-configuration
We have a wildcard certificate for the domain and then we have an Issuer that will create a TLS certificate for the instance domain name when it is installed. Would this setup work for you?

I'm not sure whether I fully understand. Yes, we're also using the ingress configuration you mentioned. And we are also working with an issuer (ClusterIssuer) that can issue TLS certificates for the instance domain name (e.g. jira.staging.example.com). The problem is, that we cannot make the cert-manager issue or re-use existing wildcard-certificates in pre-production environments. And we would like to be able to use wildcard-certificates here, because:

that helps to prevents from running into the "Certificates per Registered Domain" limit by Letsencrypt
issuing a new TLS certificate for the instance domain name can take a moment and makes deployments very slow when many instances are involved.

To give more details: in our setup, developers can create a new test environment dynamically based on a PR and involving quite a large number of services, e.g.

developer 1: jira.pr42.example.com, confluence.pr42.example.com, keycloak.pr42.example.com, jenkins.pr42.example.com, ...
developer 2: jira.pr43.example.com, confluence.pr43.example.com, keycloak.pr43.example.com, jenkins.pr43.example.com, ...
etc.

Being able to set ingress.tlsHost: *.pr42.example.com would allow us to work with the same wildcard certificate in all instances (cert-manager automatically takes care of that). I also tried to solve that with cert-manager "Ingress shims" but that doesn't seem to be possible.
I hope this explanation is more clear now.
Thank you!

Thank you for the explanation. If you have a working example, would you mind raising a PR with the proof of concept and describe how to test the setup?

I will get back to you soon, thanks

Hey @pathob,
Just wondering if you've had time to look into this yet? If not I might close this issue for now.

@pathob I can see what you are trying to achieve here. I was just wondering if wildcard works for you in rules[0].host. Obviously not, otherwise you'd never raise this  issue. The change should be pretty straightforward:
spec:
{{ if and (.Values.ingress.tlsSecretName) (.Values.ingress.tlsHost) }}
  tls:
    - hosts:
        - {{ .Values.ingress.tlsHost }}
      secretName: {{ .Values.ingress.tlsSecretName }}
{{ end }}

and in values have ingress.tlsHost or even better a list of hosts (then the syntax in ingress template will be different).


Successful Sierra build gets BSD-based guests error w. default Vagrantfile

The Vagrantfile produced from OS X 10.11 will yield errors after doing vagrant up.  As there are no virtualbox guest editions built into the image, the default /vagrant file system with Shared Folders vboxsf cannot be mounted.
STEPS TO REPRODUCE
STEP 1: Build the Box
Build an image with Mac OX 10.12.1 (later versions apparently do not work).
sudo prepare_iso/prepare_iso.sh ~/Downloads/Install\ macOS\ Sierra.app dmg
packer build \
    -only=virtualbox-iso \
    -var-file=macos1012.json \
    -var iso_url=dmg/OSX_InstallESD_10.12.1_16B2657.dmg \
    macos.json

STEP2: Install Box and Init Env w/ Box
vagrant box add box/virtualbox/macos1012-0.1.0.box --name mac/sierra
mkdir macbox
cd macbox
vagrant init mac/sierra
vagrant up

ACTUAL RESULTS
Warning with this:
Vagrant is not able to mount VirtualBox shared folders on BSD-based
guests. BSD-based guests do not support the VirtualBox filesystem at
this time.

To change the type of the default synced folder, specify the type as
rsync or nfs:

    config.vm.synced_folder ".", "/vagrant", type: "nfs" # or "rsync"

Alternatively, if you do not need to mount the default synced folder,
you can also disable it entirely:

    config.vm.synced_folder ".", "/vagrant", disabled: true

You can read more about Vagrant's synced folder types and the various
configuration options on the Vagrant website.

This is not a bug in Vagrant.

EXPECTED RESULTS
Expected a Vagrantfile that would not cause an error.

I did some further research on this, and recommend simply putting config.vm.synced_folder ".", "/vagrant", disabled: true with a comment in the default Vagrantfile.
Each iteration from Apple seems to break NFS in some new way, even to the point of kernel panics.


Add solution for renpy

Ren'Py supports the RENPY_PATH_TO_SAVES variable to set its save directory.

Thank you!


Produce Koryphe examples with documentation

Koryphe needs a set of examples covering the different function types and working with tuples.

Merged into develop.

Migration Steps
The koryphe project has been split up into 2 modules: core and doc. So instead of using the the previous 'koryphe' artifactId you will now need to use 'core'.


Moves python tutorial into sub-folder

Moves the python tutorial from the main directory to it's subfolder.
Adds a broader readme to the main directory.
Moves the environment builder to the python sub-folder (to help reduce confusion). @RMeli thoughts on this?
We no longer need to have separate instructions for the course VMs and the Linux stuff as they will be using a clean anaconda 3 install.

Looks good to me!


Implement Alerts component styling for the public portal

The implementation should reference the example provided on the styling mockup screen  5: https://www.figma.com/file/Vut3l9et1gLgonCIXuHuWS/Boxfusion-High-Fidelity-Components?type=design&node-id=0-1&mode=design&t=h0AOdXbmi8UlihtZ-0

Created a separate card to ensure the alert colors are theme based: #1360


#568 feat(containers): add column visibility dropdown in containers view

Host column is pending

I found a strange issue while testing: try to click on the "Columns" setting and then directly on "Settings" (you can continue to alternate clicking on these two) it seems that some padding/marging is added on top of the container action bar... could you investigate this?

I tried on FF and Chrome and that didn't happen for me. I clicked on Columns then Settings and alternated between them. Is that the way to reproduce it? Are you referring to the padding / margin mismatch when you show / hide State column?

After that, we'll also need to persist the filters.

Done 👍 I had already added that after my PR, was planning to add it with the review changes anyway
There is one potential issue though. Let's say the user hides all the columns and we persist these settings. Once the user refreshes, the containers list is going to be empty since there are no columns to be displayed in the table. Should we manually force the Name column to be there on initialization?
Also, what about Host column?

I found a strange issue while testing: try to click on the "Columns" setting and then directly on "Settings" (you can continue to alternate clicking on these two) it seems that some padding/marging is added on top of the container action bar... could you investigate this?

I tried on FF and Chrome and that didn't happen for me. I clicked on Columns then Settings and alternated between them. Is that the way to reproduce it? Are you referring to the padding / margin mismatch when you show / hide State column?

Here is what I mean by that: https://youtu.be/Ypks0NtLCtc

There is one potential issue though. Let's say the user hides all the columns and we persist these settings. Once the user refreshes, the containers list is going to be empty since there are no columns to be displayed in the table. Should we manually force the Name column to be there on initialization?

My opinion is that we should not allow to hide the column containing the checkbox used to select an item (usually the identifier, Name in this case).

Still having the padding issue on latest Chrome (67.0.3396.87).

Yes, the padding issue is solved ! So, what about adding that Host column now?

Yes added the Host column now. I am displaying the option in the menu only if showHostColumn is set, otherwise it doesn't make sense since the table is not displaying that anyway

Awesome, I'll review this soon.

Hey @parag-datar, any chance that you can add the Created column as well? It was originally requested in https://github.com/portainer/portainer/issues/1890

Sure I have it ready. Let me add that


Upgrade Java version to 17

The idea here is to upgrade de Java version to 17 :)

Fixed by https://github.com/quarkiverse/quarkus-qute-web/commit/7ffeed7a52baa6d53bf7e6b13f7505ee8d1e043d.


git.path in user settings

I have portable git on my Windows 10. In VS Code you can set user settings for this section:
	//-------- Git configuration --------

	// Is git enabled
	"git.enabled": true,

	// Path to the git executable
	"git.path": null,

	// Whether auto fetching is enabled.
	"git.autofetch": true,

So I set "git.path": "c:\tools\git\bin" and restart, it still can't find git install.
Later I set System Env Path to include git, then it's happy; seems setting above doesn't really change anything?
Best,
Dong

git.path should contain the path to the git executable: git.exe. Not its parent directory.

@joaomoreno You are absolutely right. In case others got same misunderstanding, this should be:
// Path to the git executable
    "git.path": "c:\tools\git\bin\git.exe"

:+1:


units: Remove internals::InputString from the public API

internals is not stable and is not going to be. Nothing from internals should appear in the public API of any of the leaf crates.
Fail
core::convert::Into<bitcoin_internals::error::input_string::InputString>>(s: S) -> core::result::Result<T, bitcoin_units::parse::ParseIntError>
As a rule so this doesn't happen again I don't think we should put types into internals - period.

Hello, we tried to solve the issue.
This is what we did:
To address the issue of internals not being stable and not appearing in the public API of leaf crates, we need to remove the usage of InputString from the public API of the units crate. We'll replace it with a custom error type that doesn't expose internals types.
You can review changes in this commit: https://github.com/mnmnk43434/rust-bitcoin-rust-bitcoin-3708/commit/5c1abdb036974b669a164dfe5e51cd3e765ec17c.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

This is pretty far from even being close to correct.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

Will keep an eye out for more of these. Glad they're open about what they're doing at least. Probably they are gonna get site-banned if they're using "thousands of users should all block me" as a feedback mechanism lol.

As a rule so this doesn't happen again I don't think we should put types into internals - period.

This seems overly strong and also not strong enough to prevent problems. We would also need to ban traits in internals and arguably macros. We could just have a rule that we're not allowed to import types or traits and have to refer to them by their interals:: prefix, which would make them visible in the API files.

That gave me an idea. We don't need to worry about how we import because the api files use the full path. We can just add a CI job that greps the api files and fails if it finds bitcoin_internals - WIN!

Related: #3322


update: add macro known_drop_and_execute_activities

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind feature

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area rules

/area registry

/area build

/area documentation

Proposed rule maturity level

Uncomment one (or more) /area <> lines (only for PRs that add or modify rules):

/area maturity-stable

/area maturity-incubating

/area maturity-sandbox

/area maturity-deprecated

What this PR does / why we need it:
This adds a generic macro to the rule to match the pattern in other rules that have a macro included.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: SEANDOUGHTY
Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @SEANDOUGHTY! It looks like this is your first PR to falcosecurity/rules 🎉

LGTM label has been added.  Git tree hash: cd4b8c4a0ed799a7ac62a1d5e2bbf7d466ac8a6d

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incertum, SEANDOUGHTY
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

HI @SEANDOUGHTY , LGTM! Thanks for contributing

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: darryk10, incertum, SEANDOUGHTY
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


The calculated MCS is not the substructure of one parent SMILES

I want to use the function rdFMCS.FindMCS() in rdkit to find the maximum common substructure of the following SMILES:
N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc[nH]1
N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc(Cl)[nH]1
The calculated MCS in SMARTS is N=C1:N:C:C:C(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2):N:1
I want to plot the two molecules and highlight the MCS part.
However, 1. this SMARTS cannot be converted to SMILES; 2. when I try to match the MCS to the molecules, using mol.GetSubstructMatch(mcs_marts), the returned list of matched atoms is empty.
To Reproduce
Here is my code:
def cal_MCS_centroid(SMILESs):
    """
    Helper function to calculate the centroid defined as the MCS of the cluster
    :param SMILESs: list of str, list of SMILES
    :return: str, the centroid SMILES
    """
    # compute MCS
    mol_list = [Chem.MolFromSmiles(smiles) for smiles in SMILESs]
    mcs_SMARTS = rdFMCS.FindMCS(mol_list, ringMatchesRingOnly=True, completeRingsOnly=True,
                                bondCompare=rdFMCS.BondCompare.CompareOrderExact).smartsString

    # convert MCS from SMARTS format to SMILES format
    mcs_mol = Chem.MolFromSmarts(mcs_SMARTS)  # Not sanitize mol when coverting SMARTS to mol
    Chem.SanitizeMol(mcs_mol)
    mcs_SMILES = Chem.MolToSmiles(mcs_mol)
    try:
        mcs_SMILES = Chem.MolToSmiles(Chem.MolFromSmiles(mcs_SMILES, sanitize=True))
    except Exception:
        print('Error: Cannot convert pattern to proper SMILES, using pattern instead.')
    print(f'The MCS centroid is {mcs_SMILES}.')

    return mcs_SMILES

def plot_MCS_centroid(ID, SMILES, centroid):
    """
    Helper function for plotting
    :param ID: str, ID of the compound
    :param SMILES: str, compound SMILES
    :param centroid: str, MCS centroid SMARTS
    :return:
    """
    print(ID)
    mol = Chem.MolFromSmiles(SMILES)
    centroid_mol = Chem.MolFromSmarts(centroid)
    match_atoms = list(mol.GetSubstructMatch(centroid_mol))
    print(match_atoms)
    match_bonds = []
    for bond in centroid_mol.GetBonds():
        atom1 = match_atoms[bond.GetBeginAtomIdx()]
        atom2 = match_atoms[bond.GetEndAtomIdx()]
        match_bonds.append(mol.GetBondBetweenAtoms(atom1, atom2).GetIdx())

    # plot and save img
    d = rdMolDraw2D.MolDraw2DCairo(450, 400)
    rdMolDraw2D.PrepareAndDrawMolecule(d, mol, highlightAtoms=match_atoms, highlightBonds=match_bonds)
    d.FinishDrawing()
    filepath = Path(f'temp/{ID}.png')
    if not filepath.parent.exists():
        filepath.parent.mkdir()
    d.WriteDrawingText(f'temp/{ID}.png')
    print('Done')

if __name__ == '__main__':
    SMILESs = ['N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc[nH]1', 'N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc(Cl)[nH]1']
    mcs_SMILES =  cal_MCS_centroid(SMILESs)
    ID = 'test'
    SMILES = 'N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc[nH]1'
    plot_MCS_centroid(ID, SMILES, mcs_SMILES)

Expected behavior
I expect the code can calculate the MCS of the two SMILES, and plot the molecule with the MCS part highlighted
Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

RDKit version: 2023.09.05
OS: Sonoma 14.3
Python version (if relevant): 3.9
Are you using conda? Yes
If you are using conda, which channel did you install the rdkit from? conda-forge
If you are not using conda: how did you install the RDKit?

Additional context
I think the problem is related to the nitrogen in the aromatic ring. When the MSC is calculated, it looses the track of H position.

I can't reproduce this with a recent RDKit release:
In [8]: rdkit.__version__
Out[8]: '2024.03.3'

In [9]: from rdkit.Chem import rdFMCS

In [10]: m1 = Chem.MolFromSmiles('N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc[nH]1')

In [11]: m2 = Chem.MolFromSmiles('N=c1nc(N(Cc2ccc(C(F)(F)F)cc2)c2ccc(S(N)(=O)=O)cc2)cc(Cl)[nH]1')

In [12]: mcs = rdFMCS.FindMCS([m1,m2],ringMatchesRingOnly=True, completeRingsOnly=True,
    ...: bondCompare=rdFMCS.BondCompare.CompareOrderExact)

In [13]: mcs.smartsString
Out[13]: '[#7&!R]=&!@[#6]1:&@[#7]:&@[#6](-&!@[#7&!R](-&!@[#6&!R]-&!@[#6]2:&@[#6]:&@[#6]:&@[#6]:&@[#6]:&@[#6]:&@2)-&!@[#6&!R](-&!@[#9&!R])(-&!@[#9&!R])-&!@[#9&!R])-&!@[#6]2:&@[#6]:&@[#6]:&@[#6](:&@[#6]:&@[#6]:&@2)-&!@[#16&!R](-&!@[#7&!R])(=&!@[#8&!R])=&!@[#8&!R]):&@[#6]:&@[#6]:&@[#7]:&@1'

In [15]: q = Chem.MolFromSmarts(mcs.smartsString)

In [17]: m1.HasSubstructMatch(q)
Out[17]: True

In [18]: m2.HasSubstructMatch(q)
Out[18]: True

In your code above you parse the SMARTS, sanitize the molecule (which generally doesn't make sense), and then convert to SMILES, thus losing all of the query information. It's not a big surprise to me that this doesn't work.

I'm going to close this because I don't think it's a bug. Please let me know if I have misunderstood something.

I'm going to close this because I don't think it's a bug. Please let me know if I have misunderstood something.

Thanks for your reply.
Without sanitizing the molecule and converting to the SMILES, I can plot the molecule with MCS highlighted. Thanks! But can I somehow convert the SMARTS to SMILES? Because other softwares do not recognize the SMARTS format.

Thanks for your reply. Without sanitizing the molecule and converting to the SMILES, I can plot the molecule with MCS highlighted. Thanks! But can I somehow convert the SMARTS to SMILES? Because other softwares do not recognize the SMARTS format.

There's no way to do this without information loss, often significant information loss. SMARTS includes features for expressing queries that cannot be encoded in SMILES. There's an explanation that you may find helpful here:
https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html

Thanks for your reply. Without sanitizing the molecule and converting to the SMILES, I can plot the molecule with MCS highlighted. Thanks! But can I somehow convert the SMARTS to SMILES? Because other softwares do not recognize the SMARTS format.

There's no way to do this without information loss, often significant information loss. SMARTS includes features for expressing queries that cannot be encoded in SMILES. There's an explanation that you may find helpful here: https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html

Thanks! I'll read through the material first.


Added a LSTM Language Model.

Issue: #6
You can use a LSTM model now.
Be aware 3 layers with 512 hidden units take a huge amount of time to train. Probably we should decrease layers and nodes and experiment with different parameters. I think our number one priority should be a 95/5 split for training for now so that we can see when training starts to overfit to avoid spending time on uneccessary epochs - afterwards we can evaluate different parameter configurations and their performance.

Awesome. LGTM; thanks for the changes!


how to watch the contents of a folder in addition to typescript files?

My scenario is that I'm loading data from a folder when the app starts up. I would love to have ts-node-dev also watch that folder and restart if any of its contents change.
Is there any way to do this?

No watching non-code files/directories is out of the scope of ts-node-dev. A hacky way of accomplishing such things of course always possible.

I'd love to hear about this 'hacky way', @whitecolor !

I'd love to hear about this 'hacky way', @whitecolor !

For example, along with your app require some script that will watch for need files and modify (touch) it self (so ts-nod-dev will restart) ha-ha.

There is now a --watch flag. You should be able to close this issue.
https://github.com/whitecolor/ts-node-dev/issues/154


O.3.3. still has issues with Pacing and DoM in Firefox 42.

Sorry @blargity. With 0.3.3. on Firefox (42 - will test later on 43.0.4 ), the move box search bug is squashed ;), but DoM and Pacing still don't show, even if selected in the tollkit options. :(
Had to create a new issue thread, because I must not have permissions to reopen closed threads. Sorry.

@Newguru-1
DoB works for me in Firefox 43.0.3 with v0.3.3, but the number is impossibly large.
As of today (14 Jan. 2016):
AoM = 44 days
DoB = 289 days
On-Budget positive total: 2,724.38
On-Budget negative total: -59.00
=> On-Buget Total: 2,665.38
Off-Budget positive total: 21.41
Off-Budget negative total: -12809,96
=> Off-Budget Total: -12.788,55
Closed accounts:
One with a balance of: 0.00
First ever transaction: 20 Apr. 2006
Last transaction: 14 Jan. 2016

Pacing is not showing Firefox version 43.0.4.

@Mansarde #78 will probably fix large numbers.

@egens
This is what the DoB tooltip says:
Total outflow: 32.707,90
Total days of budgeting: 3557
Average daily outflow: ~9,20
Average daily transactions: 0.4
But since yesterday that is based on the following data:
As of 15 Jan. 2016:
AoM = 47 days
DoB = 288 days
On-Budget positive total: 2,593.88
On-Budget negative total: -59.00
=> On-Buget Total: 2,652.88
Off-Budget positive total: 22.47
Off-Budget negative total: -12,797.46
=> Off-Budget Total: -12,774.99
Closed accounts:
One with a balance of: 0.00
First ever transaction: 20 Apr. 2006
Last transaction: 15 Jan. 2016
Hope it helps, if there's anything else I can provide (incl. Javascript commands on the console), then give me a holler. :)
Cheers

@Mansarde your average daily outflow of 9 is too low. 3557 days is almost 10 years. Do you have some spaces in it? The feature won't work if so. But I will soon limit it to look 1 year history only. Hope it works if this is the problem.

@egens
Yes, I do indeed have gaps. Not for all accounts though.
When I started YNAB 4 in July 2014 I didn't enter any past transactions of my checking account except for all of my student loan payments from years earlier.
That means there are transactions from my checking account to my student load (off-budget) account from years before July 2014, but the rest of my checking account transactions all start from July 2014.
Which means except for my student loan payments, there is a long gap in my YNAB history, until suddenly in July 2014 there is a "starting balance" in all my other accounts.
The reason why I did this is because I wanted to track my full student loan.
And because there were a manageable number of payment transactions for that load I entered them all.
I couldn't be bothered to enter ALL my previous checking account transactions though.^^
Would it perhaps be possible to have an option to set the starting date for the DoB calculations?

@Mansarde I'm going to add an option to set how much history use in average daily outflow calculation. This will help you I hope.

@egens
Aw thanks man, much appreciated! :smiley: :+1:

Just an update @Mansarde, I merged this new configuration option into the code tonight, so it'll be headed your way shortly!

:bow:

Released in 0.3.4. I think we're still having issues getting Pacing to work in Firefox, but let us know how you go!

Hi, just updated to 0.3.4, but there's still no pacing column visible.

If there's anything I can do to provide more helpful info (no matter how technical), let me know. :)

I'll see if I can replicate. Last I checked I was able to see this but I'll try harder to break it this time.

There was one more bug fix that might have fixed this for you that got released in 0.3.5 (just a few minutes ago). Are you still seeing this issue with the latest release?

@blargity
Yes! Pacing is now shown in Firefox.
Thank you very much, nice work! :+1:

Awesome! Thanks for letting us know.


[FLINK-12484][runtime] move checkpoint lock to source task

What is the purpose of the change
This PR depends on #10435
This PR removes usages of the StreamTask#getCheckpointLock() method and moves the field to SourceStreamTask.
Checkpoint lock acquisition in "network" tasks (not source/sink) is unnecessary after moving them to the mailbox execution model.
This PR depends on the removal of the checkpoint lock usage from ContinuousFileReaderOperator (#10435).
Brief change log

remove usages of the StreamTask#getCheckpointLock() method
use IMMEDIATE (no-op) StreamTaskActionExecutor (decorator) in StreamTask by default
move the actual checkpoint lock object (field) to SourceStreamTask and use SynchronizedStreamTaskActionExecutor in it

also push lock down to MockStreamTask

remove testing of checkpoint lock acquisition

Verifying this change
This change is already covered by existing tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): yes (removes lock acquisition for mails in network tasks which may be per record)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Thanks for the feedback @AHeise

Would make a final pass, once CFRO is merged. Could you please ping me then?

Can you rebase this PR @rkhachatryan to solve the conflicts?

Thanks for the feedback @pnowojski,
rebased to the current master.


ceph-crash: Only deploy key to targeted hosts

The current task installs the ceph-crash key to "most" hosts via
"delegate_to". This key is only used by the ceph-crash daemon and should
just be installed on all hosts targeted by this role. There is no need
for using a delegated task.
Signed-off-by: Gaudenz Steinlin<EMAIL_ADDRESS>

jenkins test centos-container-collocation

jenkins test centos-non_container-all_daemons


Develop an Interactive Infographic

Pull Request Details:

Title: Develop an Interactive Infographic
PR Link: #9
Issue: #8

Next Steps:
I'm ready for feedback and any necessary revisions. Please review at your earliest convenience, and feel free to provide comments or suggest improvements.
Thank you for your time and consideration!

Hello User,
Thank you for your interest in working on this issue. I've assigned the issue to you, and you can now start working on it. If you have any questions or need any assistance, feel free to ask. Good luck with your contribution!
Best regards,
Jayesh


open with arguments

I want to do something like that:
./Notifier --type alert --message "My Message" --messagebutton "Open" --messagebuttonaction "/System/Applications/Utilities/Terminal.app ~/test.sh"
Unfortunately everything this doesn't work. It would also be nice to be able to pass option to open, like:
Options:
      -a                    Opens with the specified application.
      -b                    Opens with the specified application bundle identifier.
      -e                    Opens with TextEdit.
      -t                    Opens with default text editor.
      -f                    Reads input from standard input and opens with TextEdit.
      -F  --fresh           Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
      -R, --reveal          Selects in the Finder instead of opening.
      -W, --wait-apps       Blocks until the used applications are closed (even if they were already running).
          --args            All remaining arguments are passed in argv to the application's main() function instead of opened.
      -n, --new             Open a new instance of the application even if one is already running.
      -j, --hide            Launches the app hidden.
      -g, --background      Does not bring the application to the foreground.
      -h, --header          Searches header file locations for headers matching the given filenames, and opens them.
      -s                    For -h, the SDK to use; if supplied, only SDKs whose names contain the argument value are searched.
                            Otherwise the highest versioned SDK in each platform is used.
      -u, --url URL         Open this URL, even if it matches exactly a filepath
      -i, --stdin  PATH     Launches the application with stdin connected to PATH; defaults to /dev/null
      -o, --stdout PATH     Launches the application with /dev/stdout connected to PATH;
          --stderr PATH     Launches the application with /dev/stderr connected to PATH to
          --env    VAR      Add an enviroment variable to the launched process, where VAR is formatted AAA=foo or just AAA for a null string value.

I tried debugging it, but I don't really get it. When sending ncCenter.add(ncRequest) the argument is still there so ncRequest._content._userinfo doesn't know what to do with that argument? But throws no error?
And am I right that this:
func openItem(globalOpenItem: [String]?, verboseMode: Bool) {
    if verboseMode {
        NSLog("Notifier Log: alert - opening %@", String(describing: globalOpenItem))
    }
    openItem:
    do {
        let task = Process()
        task.launchPath = "/usr/bin/open"
        task.arguments = globalOpenItem
        let outputPipe = Pipe()
        let errorPipe = Pipe()
        task.standardOutput = outputPipe
        task.standardError = errorPipe
        task.launch()
        if verboseMode {
            NSLog("Notifier Log: alert - opened %@", String(describing: globalOpenItem))
        }
    }
}

Is only used pre 10.15 with NSUserNotification?
Sorry this is the first time I touch swift.


[FLINK-18307][scripts] Rename 'slaves' file to 'workers'

Purpose of the change / Change log
This changes the name of the file for the TaskManager workers from slaves to workers.
Note: This change breaks setups that currently use the slaves file, because it only checks for the workers file. The reason is that production setups should not really rely on that file and the associated start/top scripts (rather use Yarn, Kubernetes, custom init.d scripts) because of all the limitations (for example never restarting failed TaskManagers).
The advantage of not implementing the "backwards compatibility" here is to get rid of the "slaves" term in the scripts right away.
Verifying this change
This change can be verified by building Flink and starting/stopping a standalone session via bin/start-cluster.sh / bin/stop-cluster.sh.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Thanks a lot for addressing this.
Two quick comments:

There are still some mentions of "slave" in the docs
This might cause the Java e2e tests to fail: https://github.com/apache/flink/blob/master/flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/flink/FlinkDistribution.java#L271

I tested the updated scripts locally, and they work as expected (on a Mac) for starting and stopping a cluster with 3 TaskManagers.

Thanks for the fast and thorough review. Will address the issues as you mentioned.

Merged in c47fb4704ccd123cb71ee9f3379a166f91f1c217