org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 : [no body]

I am trying to run an integration test. When I add the Auth header, I get the above error. When I remove the auth header, the test passes.  I have removed any authentication on my end points just so I can try get this working.
I have downgraded to sring-boot 2.4.4 as suggested in other discussion threads.
The jwt is being successfully created, but when I add it to auth headers, I get the 401 error
    @Test
    public void test_endpoint2() {
        KeycloakMock mock = new KeycloakMock(aServerConfig().withDefaultHostname("http://localhost").withPort(8000).withDefaultRealm("SpringBootKeycloak").build());

        mock.start();

        RestTemplate restTemplate1 = new RestTemplate();
        String token = mock.getAccessToken(aTokenConfig().build());

        String fullToken = "Bearer " + token;

        ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
            HttpHeaders headers = request.getHeaders();
            headers.set("Authorization", fullToken);
            headers.set("Content-Type", MediaType.APPLICATION_JSON_VALUE);
            headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);

            return execution.execute(request, body);
        };

        restTemplate1.setInterceptors(Arrays.asList(interceptor));
        String url = "http://localhost:" + port + "/api/test2";

        ResponseEntity<String> customerResponse = restTemplate1.getForEntity(url, String.class);
        assertThat(customerResponse.getStatusCode(), Matchers.is(HttpStatus.OK));
    }

Error logs:
2021-12-18 12:40:43.496  INFO 7640 --- [ntloop-thread-0] c.t.k.impl.handler.CommonHandler         : 200: GET /auth/realms/SpringBootKeycloak/.well-known/openid-configuration
2021-12-18 12:40:43.560  INFO 7640 --- [o-auto-1-exec-1] o.keycloak.adapters.KeycloakDeployment   : Loaded URLs from http://localhost:8000/auth/realms/SpringBootKeycloak/.well-known/openid-configuration
2021-12-18 12:40:43.612  INFO 7640 --- [ntloop-thread-0] c.t.k.impl.handler.CommonHandler         : 200: GET /auth/realms/SpringBootKeycloak/protocol/openid-connect/certs

org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 : [no body]

applicaction.properties:
keycloak.auth-server-url=http://localhost:8000/auth
keycloak.realm=SpringBootKeycloak
keycloak.resource=login-app
keycloak.public-client=true
keycloak.bearer-only=true

I am not (yet) authenticating the above endpoint in security config
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.authorizeRequests()
                .antMatchers("/api/hello")
                .hasRole("user").anyRequest().authenticated();
        http.csrf().disable();
    }

As far as I can see, the issue is with the server configuration: you use withDefaultHostname("http://localhost"), but the hostname is not supposed to contain the protocol part. Please use withDefaultHostname("localhost") and see if it works.

This was the problem! Thank you so much.


Doesn't run on iPad

App doesn't go beyond registration screen on iPad however works fine on iPhone.

@vdharankar Currently we have no plan to add iPad support to these sample apps. However iPad support has been added to ResearchKit 1.1.2, please feel free to check it out:)


Publii: desktop CMS for creating static websites

Project description
Publii is a desktop-based CMS for Windows, Mac and Linux
that makes creating static websites fast and hassle-free, even for beginners.
fix #104376
Metadata

homepage URL: https://getpublii.com/
source URL: https://github.com/GetPublii/Publii
license: gpl3
platforms: unix, linux, darwin

#226522

The current package got me pretty far except there seems to be some issues with permissions when it comes to saving changes. It keeps throwing errors like this:
Rendering process failed
An error occurred during rendering process:

EACCES: permission denied, open '/home/user/Documents/Publii/sites/test/input/themes/simple/assets/css/style.css'

For example when pressing the "Preview your changes" button:

This seems to be nodejs related though I'm not sure what's exactly wrong here.

As mentioned here, know issue but unsure how I can fix it maybe worth asking at NixOS-discourse or upstream at Publii if there is a known / easy-solution. Quick look through the issues on GitHub (Publii) didn't showed something to me but sadly no time atm. to dig deeper.

As mentioned here, know issue but unsure how I can fix it maybe worth asking at NixOS-discourse or upstream at Publii if there is a known / easy-solution. Quick look through the issues on GitHub (Publii) didn't show something to me but sadly no time atm. to dig deeper.

Thanks! Forcing chmod 644 on all Publii project files does fix this (e.g. cd ~/Documents/Publii && fd --type f --exec chmod 664 {}). My bet is it's related to Node runtime as it's notoriously clunky as a desktop runtime.

Just to track as it's really annoying when working with more regularly, created an upstream-issue to maybe resolve it: https://github.com/GetPublii/Publii/issues/1322

Thanks! Forcing chmod 644 on all Publii project files does fix this (e.g. cd ~/Documents/Publii && fd --type f --exec chmod 664 {}). My bet is it's related to Node runtime as it's notoriously clunky as a desktop runtime.

Yes I agree, we debugged quite deep but couldn't find a solution so I guess this workaround will be needed for now - as the app is packaged I'm closing this for now 🙏🏻


Removed spaces in kobman-help.sh

To raise a new Pull Request, the following prerequisites need to be met. Please tick before proceeding:

[ ] a conversation was held in the appropriate Whatsapp Group channel.
[ ] a Github Issue was opened for this feature / bug.
[ ] test coverage was added .

This addresses Issue #XXX

Rejecting this pull as more accurate has been accepted


Switch Clinic stopcode defaults

For the TEST_VISTA_SETUP clinics, use 111 as the default to denote the
clinic is a "Telehealth" clinic.  Use the original value as the 'CREDIT
STOP CODE' value.
Change-Id: I6dda327ec2569b536ccba1c76c66d2fe6c828bab

Hey Joe, can I test this using the Docker Set-up for OSEHRA VistA?

Closing in favor of "routine replacement" commit to be created.


Merging schemas would be helpful

I'm currently working on wrapping multiple rest- and microservices into a single graphql schema. The only problem I have is that my single schema becomes very bloated and large. It would be very helpful if it was possible to merge multiple schemas into one single schema.
Again thank you very much for your awesome framework :)

I see your point. It is not straightforward, but it is possible to merge multiple schema declarations. Function KGraphQL.schema accepts instance of receiver function SchemaBuilder.() -> Unit, but you can compose them, example:
    val schemaPartOne : SchemaBuilder.() -> Unit = {
        query("hello") {
            resolver { name : String -> "Hello, $name" }
        }
    }

    val schemaPartTwo : SchemaBuilder.() -> Unit = {
        query("goodbye") {
            resolver { name : String -> "Goodbye, $name" }
        }
    }

    val schema = KGraphQL.schema {
        schemaPartOne()
        schemaPartTwo()
    }

This mechanism has been used in KGraphQL demo application, see ApiConfiguration.kt
Anyway, this is not as simple as it should and I guess we need some better solution. This issue will stay open as long as some satisfying solution will come up.
Thank you for your great feedback!

Great this work as well. No need for merge. Just a small note. After implementing your suggested pattern I noticed that I had to pass "this" to the SchemaBuilders.
  val schema = KGraphQL.schema {
        schemaPartOne(this)
        schemaPartTwo(this)
    }

Oh, I've thought that compiler will be able to infer receiver. Thank you for pointing that out. I will extend wiki with article about modular schema creation, based on you question.
Thanks!


OWASP 3.1 rules missing

There used to be the following rules on a WAF v2 - OWASP 3.1.  These don't seem to be present in documentation OR the FW UI any more.  Is there a reason why they've been removed?
920360	Argument name too long
920370	Argument value too long
920380	Too many arguments in request
920390	Total arguments size exceeded
920400	Uploaded file size too large
920410	Total uploaded files size too large
See attached for a screen shot from 2020

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

ID: 079888f6-188c-1bb9-0516-bd52ad0f287e
Version Independent ID: 1971c541-4019-f620-b57b-8cfd5acf87a1
Content: CRS rule groups and rules - Azure Web Application Firewall
Content Source: articles/web-application-firewall/ag/application-gateway-crs-rulegroups-rules.md
Service: web-application-firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

@phil-dando
These rules were removed because the CRS default configuration uses a value of "unlimited", so it was not possible to trigger them.
#please-close


Detecting commonly used enhancements for Eloquent models

Elegant should be able to detect and utilize commonly used packages for Eloquent models, such as:

Listify
Translatable
Stapler

Detection of these packages on a per-model basis should be simple, since these packages are trait-based.

Done.


Small corrections to the savegame menu

After the save is done, you should exit the menu after pressing a key:

Saving the game should position you on the last saved location. E.g. if you saved the game on 3rd row, it should position you automatically on that row the next time you make a save. Also after you load the game it should position you automatically to 3rd row when you make a first save.

Linked to #248
I also need to add a border around the save screen, and the background colour is incorrect.


add configuration for setting the Spanner host to use

This PR adds the functionality described in #930
If a host is specified in the configuration file, that host will be used when creating a Spanner instance. This could be a (local) emulator instead of a real Cloud Spanner instance.
If no host is specified, the default Google Cloud Spanner host will automatically be used.
See http://www.googlecloudspanner.com/2018/07/create-trial-account-for-cloud-spanner.html for a short description on how to create an account for an emulator that you could use to test this.

Closing this PR. Please see the linked issue.


docker supported

hi, thanks for sharing this excellent tools. do you have plan package this tool into docker images? its a little hard to prepare the environment without knowledge of java. thanks again

Thanks for the praise 👍
Unfortunately, I am not planning to package this into docker. A couple of reasons I thought for this decision:

The target audience implies someone with interest in visualizing the insides of 5GS traces. These are quite complex and implies quite some technical know-how and/or interest in technical details. I would be surprised if such a person cannot install Java and copy a couple of files ;)
If it would be packaged in a container, it would need to contain (at least) Java, PlantUML and Wireshark. But since there is no server way to communicate with it, you would need to access the container's console to execute the scripts
Additionally, setup shared folders so that you can access the traces and (e.g.) use other Wireshark versions than the one packaged in the container

All in all, it would be quite some work but I am not sure if it would be a bit cumbersome.
If the issue is that the Java client used is the one in PATH, I could implement (or I would be very grateful if you could do that) an option to add a Java path, that would be no problem at all.


v0.8.1 causing insane performance spike

Updated from 0.8.0 to 0.8.1, game starts fine, when i click on load game i notice a weird fps(?)/screen performance spike, when i spawn into the game it feels like I'm playing on 15 fps even though the fps counter is on 130+
MetaphorFix.ini set to default except SkipMovie = true

disconnected my second monitor and it started working normally. i tried playing the game without the fix and it was still lagging because of my second monitor


feat: Add load_balancing_cross_zone_enabled option to aws_lb_target_group

Description
https://github.com/hashicorp/terraform-provider-aws/pull/29920
Motivation and Context
https://github.com/hashicorp/terraform-provider-aws/pull/29920
Breaking Changes
No.
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 8.5.0 :tada:


Error in running Leiden algorithm

Hi Ming Tang,
I previously ran pyflow_seurat_parameter with the default Louvain algorithm and it worked. However, when I changed the algorithm to Leiden (i.e. algorithm = 4) after installing leidenalg, the process kept getting killed during the run. I am not sure what went wrong, the log files do not show any specific error. I have attached the terminal output for your reference. Could you take a look and see what may be the issue?
Terminal Output.txt

Hi Ming Tang,
I ran it in the terminal and it went through, but when I ran with snakemake it failed again. I realised this is a memory issue - somehow running Leiden uses more memory than Louvain, so I had to reduce the core number. Thank you so much for your suggestion!

Hi @crazyhottommy,
Just a question out of curiosity. Previously I installed leidenalg in the python snakemake venv itself on a local workstation and ran pyflow_seurat_parameter with 3 cores, which threw an error (due to memory consumption but I wasn't aware at that time). I then posted this issue and tried what you suggested by running the command in the R terminal, which prompted me to install leidenalg through r-reticulate venv. Eventually by decreasing the cores to 2, it was able to run smoothly.
However, when I deleted the r-reticulate venv (since it made sense that the script was using leidenalg in the snakemake venv), I realised that it could no longer run on 2 cores, again due to memory consumption (it was hitting above 128 GB on 2 cores, which is the max memory of my workstation). So I had to lower it to 1 core to run the workflow. My question is - why are there memory differences when interfacing leidenalg from r-reticulate vs snakemake venv? Is it to do with how the script is written to interface the specified venv?
Thanks so much!
Regards,
Jay


Commented out the "What people are saying" section

https://github.com/OpenSourcePolicyCenter/webapp-public/issues/56

LGTM. +1


Unexpected driver error occurred while connecting to database: invalid null input

System information:

Operating system (distribution) and version  Windows 10 pro x64
DBeaver version <IP_ADDRESS>908191349
Additional extensions none

Connection specification:

Database name and version 10.2.20-MariaDB-10.2.20+maria~xenial mariadb.org binary distribution
Driver name MariaDB
Do you use tunnels or proxies (SSH, SOCKS, etc)?  No, direct LAN connection

Describe the problem you're observing:
I have a mariaDB server set up on ubuntu, I can connect to it with mysql workbench, php driver using SSL certificates. Only with dbbeaver I get the error invalid null input without any logs or other helpful information what exactly is null.

Steps to reproduce, if exist:
Set up mariadb on ubuntu via https://www.cyberciti.biz/faq/how-to-setup-mariadb-ssl-and-secure-connections-from-clients/ to generate certificates
Use those certificates to connect DBbeaver to the mariadb server.
Include any warning/errors/backtraces from the logs
!SESSION 2019-08-21 13:47:32.502 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.3
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en
Command-line arguments:  -os win32 -ws win32 -arch x86_64
!ENTRY org.jkiss.dbeaver.model 4 0 2019-08-21 14:45:07.671
!MESSAGE Error running job 'Create new database object with DataSourceDescriptorManager' execution:

Can't reproduce.
Please send error/debug log file (https://github.com/dbeaver/dbeaver/wiki/Log-files).
Perhaps some config parameters are wrong but it is impossible to say which exactly. Or maybe it is driver internal error (you could try to use another driver version (change it in the driver editor dialog->Download/Update)

Hello, I have the same issue as reported by tschallacka, OS is Windows 10 64 bits, DBeaver Enterprise <IP_ADDRESS>909091348, and the same error occurs when trying to use SSL on a MariaDB server. Parameters modified are "UseSSL" checkbox, "CA certificate", "SSL certificate" and "SSL certificate key" pathes. Please note that the error doesn't occur with non-SSL connections. Here is my dbeaver-debug.log content
dbeaver-debug.log
I tried to use latest MariaDB java client driver (2.4.4) without effect on the error. Tried to force Cipher suite, useSSL driver property and enableSslCipherSuites driver property without success.
Thanks for you help

A bit late to the party but it seems like I'm coming across the same problem
2020-03-24 13:56:35.708 - org.jkiss.dbeaver.model.exec.DBCConnectException: Unexpected driver error occurred while connecting to the database
org.jkiss.dbeaver.model.exec.DBCConnectException: Unexpected driver error occurred while connecting to the database
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:216)
	at org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource.openConnection(MySQLDataSource.java:375)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:92)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:89)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:55)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:110)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.<init>(JDBCDataSource.java:105)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.<init>(JDBCDataSource.java:94)
	at org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource.<init>(MySQLDataSource.java:85)
	at org.jkiss.dbeaver.ext.mysql.MySQLDataSourceProvider.openDataSource(MySQLDataSourceProvider.java:127)
	at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:812)
	at org.jkiss.dbeaver.runtime.jobs.ConnectJob.run(ConnectJob.java:70)
	at org.jkiss.dbeaver.runtime.jobs.ConnectionTestJob.run(ConnectionTestJob.java:103)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:103)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.NullPointerException: invalid null input
	at java.base/java.security.KeyStore$PrivateKeyEntry.<init>(Unknown Source)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetEntry(Unknown Source)
	at java.base/sun.security.util.KeyStoreDelegator.engineGetEntry(Unknown Source)
	at java.base/java.security.KeyStore.getEntry(Unknown Source)
	at org.mariadb.jdbc.internal.protocol.tls.MariaDbX509KeyManager.<init>(MariaDbX509KeyManager.java:97)
	at org.mariadb.jdbc.internal.protocol.tls.SslFactory.loadClientCerts(SslFactory.java:91)
	at org.mariadb.jdbc.internal.protocol.tls.SslFactory.getSslSocketFactory(SslFactory.java:46)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:712)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:415)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1128)
	at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:620)
	at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:175)
	at org.mariadb.jdbc.Driver.connect(Driver.java:92)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:160)
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:184)
	... 14 more

is it still actual against the recent version?

Hello, I can confirm the issue is not present anymore in version <IP_ADDRESS>006231904 CE.
Thanks a lot, nice job !


ValueError: Unsupported model type t5

System Info
Linux gaudi2-wsf-test 5.15.0-92-generic #102-Ubuntu SMP Wed Jan 10 09:33:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

docker image: ghcr.io/huggingface/tgi-gaudi:2.0.0
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Doc claims that flan-t5 is supported. However, when I try to run "google/flan-t5-base", shows:
ValueError: Unsupported model type t5
cmd:
docker run --rm  -p 9000:8000 --runtime=habana -e HABANA_VISIBLE_DEVICES=all  -e OMPI_MCA_btl_vader_single_copy_mechanism=none --cap-add=sys_nice --ipc=host ghcr.io/huggingface/tgi-gaudi:2.0.0 --port 8000 --trust-remote-code --model-id google/flan-t5-base --dtype bfloat16 --max-input-tokens 1024 --max-total-tokens 2048

Expected behavior
Either add support of flan-t5 or remove this model from doc.

Doc claims that flan-t5 is supported

Which doc are you talking about? This one: https://huggingface.co/docs/text-generation-inference/supported_models ?

https://github.com/huggingface/tgi-gaudi/blob/habana-main/docs/source/supported_models.md

Arf yes, this is the source code of TEI's docs which is inherited in this fork. I'll add a banner in the README to specify that this doc doesn't fully apply to this fork.


ARROW-14292: [C++][Python] Join foundation for Tables

This implements the Table.join method and the underlying infrastructure.
It provides the tables_join function that wraps the execplan machinery and tests to verify that joins work as expected.

Not sure why getting in CI the error
pyarrow._exec_plan.tables_join
-> pyarrow._exec_plan.tables_join(join_type, left_table, left_keys, right_table, right_keys)
PR01: Parameters {'left_keys', 'left_table', 'right_table', 'right_keys'} not documented

That function has all arguments documented, will need to dive a bit more into why it's complaining.

@github-actions crossbow submit test

@jorisvandenbossche
Added use_threads option and added support for excluding the left/right keys on specific joins.

There seem to be a bunch of problems with CI unrelated to the PR, there are failures related to
Error: getCacheEntry failed: connect ETIMEDOUT <IP_ADDRESS>:443

and
CMake Error at /opt/conda/envs/arrow/lib/cmake/AWSSDK/AWSSDKConfig.cmake:119 (while):
  had incorrect arguments:

    "NOT" "TEMP_NAME" "STREQUAL"

  Unknown arguments specified

@jorisvandenbossche
Added use_threads option and added support for excluding the left/right keys on specific joins.

@jorisvandenbossche mind confirming if the PR is now good enough to go? I'd like to start working on support for Datasets and docs.

@amol- Can you rebase?

I would personally prefer to see this comment addressed as well (or at least get some thoughts on it):

You also need to specify the key column for both left and right table separate. While this is certainly the most generic (since it can handle different names in left and right table), I think it could also be nice to give the user the possibility to just give one name (or list of names) in case it is the same in left/right table (for better ergonomics when using this method)

For the join keys columns in the output: you now selected one of the columns for most joins, but not for outer join, I think? I am not fully sure if we should do something different here for outer join (for example, both pandas and dplyr will only have a single key column in the output also in the case of an outer join)

I would personally prefer to see this comment addressed as well (or at least get some thoughts on it):

You also need to specify the key column for both left and right table separate. While this is certainly the most generic (since it can handle different names in left and right table), I think it could also be nice to give the user the possibility to just give one name (or list of names) in case it is the same in left/right table (for better ergonomics when using this method)

I'll add support for suffixing columns in the output as supported by HashJoinNodeOptions.

For the join keys columns in the output: you now selected one of the columns for most joins, but not for outer join, I think? I am not fully sure if we should do something different here for outer join (for example, both pandas and dplyr will only have a single key column in the output also in the case of an outer join)

That's an interesting point. Personally I think that for outer joins it makes a lot of sense to have both columns. Coalescing the key columns would make the information about from which table the key comes from getting lost. I think it's more reasonable to let users decide if they want to coalesce outer join keys or not, especially given that the coalesce operation would add a cost as we don't provide it in joins out of the box.

@amol- Can you rebase?

rebased!

Thanks for the updates!
(small workflow request: could you keep new changes in a new commit instead of squashing it into a previous one? That makes it much easier to see what you changed since the last review)

That's an interesting point. Personally I think that for outer joins it makes a lot of sense to have both columns. Coalescing the key columns would make the information about from which table the key comes from getting lost. I think it's more reasonable to let users decide if they want to coalesce outer join keys or not, especially given that the coalesce operation would add a cost as we don't provide it in joins out of the box.

It indeed gives more information (although you will also often see it from other columns having all nulls if the key was not present). But there is also the expectation / usability for people coming from libraries like pandas or dplyr.
Now, I was looking a bit at some other libraries how they handle this. So pandas and dplyr combine the both join columns in a single column. I was checking ibis, but I think it might depend on the backend you are using in that case. You need to actively select the columns you want to retain after the join (so you could say that by default they retain both join columns). With the pandas backend though, it does coalesce nulls in the left key column with values from the right column. But eg the sqlite backend does not do that for a "right" join (this backend doesn't support an outer join).
Duckdb seems to preserve both left/right join columns for inner/left join (and doesn't support an outer join).
Polars follows the pandas / dplyr behaviour.
In general, I think the behaviour depends on whether the library is SQL "based" (wrapping sql, or using mostly sql concepts) or not (where dubck and ibis fall into that group). Since in SQL, you always have to explicitly select columns as well (a project) while doing a join.
Some of my explorations: https://notebooksharing.space/view/902129774575d83b4e3096d4a7c1eb26b8e830842096d3dc01a600d220848d99#displayOptions=

IMHO, it would be more consistent to get two key columns for all joins.

That's certainly the most consistent, but also not always very practical IMO. For example, we can't easily deal with duplicate column names. As an example, if you would do a group_by after the join, you get errors about duplicate columns names (then you can of course use the suffix option, but that's also not super convenient).

Given that Arrow is a bit in between (or has users from both) the database and dataframe worlds, I am wondering if we can provide both expected results through some keyword?
The keyword could determine whether we return a single join column (and in that case I think we could also "combine" / coalesce them automatically) or preserve both columns as is in the output.


Update KlipTok.pl.json

Added translated auto-play settings and advanced search filters.

Sorry for the delay... thank you for sending these along.  I will deploy them shortly


Submit AwsCodeCommitCredentialProvider upstream to jgit?

It's very useful, but the maintainers of jgit have expressed willingness to get first-class support for CodeCommit in jgit (in this ticket) and I was wondering if you would consider submitting it upstream there for broader adoption. Or whether you'd be opposed to someone else submitting it upstream on your behalf.
cc @dlaidlaw @tapvirvirk

I have no problem with having the code added to jgit. That would actually help. I am not familiar with the jgit project, so I am not sure about the best way to go about the whole thing. But I can take a look in jgit to see how things might be done.

Continuing the discussion on the jGit ticket.


Add FRIDAY HAUS playlist by Bleu Clair

AKA, testing the entry validator bot... fingers crossed!

Something went wrong while validating new entries! @mackorone should handle it shortly...

Hmm... weird, let me check the logs, because I think we've got a new edge case

@mackorone, I've implemented a fix. I'll check it out on my test repo. Feel free to merge this PR!


Infinite scroll renders large amounts of slides in the DOM

Describe the bug
When using infinite scroll in the carousel it renders large amount of unnecessary DOM elements.
To Reproduce
https://codesandbox.io/s/x3k64q47qq
Expected behavior
DOM elements should be removed when they are not needed.
Additional context
I'm currently using react-slick to render infinite carousel that contains slides that display information and buttons that allow interaction with the application. If I switch to this library, rendering these components many times could have bad implications on the performance.
One of the solutions that I was thinking about was to use react-virtualized or react-window to efficently render slides, but I could not find a way to achieve infinite scroll with them.

<EMAIL_ADDRESS>This seems like a good way to improve it without adding new library. Using flex order property elements can be reordered without need to modify DOM.

I love this carousel. It has exactly the features that i want. Sadly i wont be able to use this because of this issue. Is this a priority for you guys?

Hey, I'm sorry it's taken me so long to write back but we were a little busy. We will look at this issue and take care of it ASAP. Stay tuned 🙂

Yeah, well. Your carousel has exactly futures I wanted. But it generates infinite copies of slides in infinite mode. Honestly this is the first time I see this in carousels and its quite fun 🤣

@jaworek Flex order looks promising. We'll look into it.

Shouldn't this issue be open once again? I tested it now in my case, for 5 slider it renders 35 DOM elements. I'm using latest version (1.13.37).

Now when I scroll I get 28-32 DOM nodes for 4 slides

It seems that it renders N * 7 DOM elements, where N is slides count, why?

Also, when I scroll through slider very quicky, every N steps there is another N elements added. Shouldn't there also be N elements removed?
N is slides count


No Hosts visible after Update

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
After updating to the latest image I can't log in anymore. Error message: "no relevant user found". But I was able to login with default credentials.
Now the GUI shows no configured hosts. I wondered, because they are active.
So now I have active hosts, but I'm not able to manage them anymore.
I could reproduce this with to instances and also a second time after restoring a backup of each.
Operating System
Proxmox LXC with Ubuntu 22.04 LTS

Same here, als with reverting back to x.x.x22

Just upgraded to latest - the same error. No users available (like DB is gone?!) I've been able to login with default changeme password, but that brings me to empty dashboard. Regardless of emptiness - proxy seems to be working in background using flat config files.
I've stop NPM, bring backup of my docker storage, then revert back to previous version.
2.9.22 working as expected.

Have a look here: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2754
Maybe you forgot to define your environment variables to access the DB. It was before in the production.json file with 2.9.x but it's defined in environment variables starting 2.10.x
Example of what docker-compose.yml would look like https://nginxproxymanager.com/setup/#using-mysql-mariadb-database.

Same issues as above since latest update, and it still seems to route traffic. My data is all intact on the mapped volumes. What alerted me to someone wrong, was when I tried to login I was given "invalid user" error. I tried the default user ID and password, and I was in, but no proxy hosts etc listed inside dashboard.
In my case I've always used a shared MariaDB database so had mapped those details in the environment variables to point to it. The database exists with the same I gave it, but suspiciously the access_list and proxy_host tables show rows as 0. I'm not sure if it was like that before, or if that is a problem, but I cannot see how data from inside the database would have disappeared. I've done image updates before and not had any issue with proxy hosts just disappearing.
But I'm also going to try reverting to the older image.

@Danie10 Could you post your docker-compose.yml ?

Here you go:
# This installs Nginx Proxy Manager and connects to database
services:
  app:
    image: "jc21/nginx-proxy-manager:latest"
    container_name: nginxpm
    hostname: nginxpm
    restart: always
    # Connect to the database container's network
    networks:
      - mysql-net
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    environment:
      DB_MYSQL_HOST: db
      # Root user so we don't have to add a new user for each service to database
      DB_MYSQL_USER: root
      DB_MYSQL_PASSWORD: *redacted*
      # Just make sure you create an empty database in MariaDB with this name first before spinning up this stack
      DB_MYSQL_NAME: nginxpm
    volumes:
      - nginxpmdata:/data
      - nginxpmletsencrypt:/etc/letsencrypt

volumes:
  nginxpmdata:
    # Specify name so it does not append stack name
    name: nginxpmdata
  nginxpmletsencrypt:
    # Specify name so it does not append stack name
    name: nginxpmletsencrypt

networks:
  mysql-net:
    # Joins existing network of this name
    external: true
    # Specify name so that it does not append stack name
    name: mysql-net

Seems correct to me. Missing the DB_MYSQL_PORT but that should not the problem here if you're using standard port. Could you post the log of npm and mariadb ?

NPM for v2.9.22:
-------------------------------------
 _   _ ____  __  __
| \ | |  _ \|  \/  |
|  \| | |_) | |\/| |
| |\  |  __/| |  | |
|_| \_|_|   |_|  |_|
-------------------------------------
s6-rc: info: service prepare successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service frontend: starting
s6-rc: info: service backend: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service frontend successfully started
s6-rc: info: service backend successfully started
❯ Starting nginx ...
s6-rc: info: service legacy-services: starting
❯ Starting backend ...
s6-rc: info: service legacy-services successfully started
[4/12/2023] [2:39:18 PM] [Global   ] › ℹ  info      No valid environment variables for database provided, using default SQLite file '/data/database.sqlite'
[4/12/2023] [2:39:19 PM] [Migrate  ] › ℹ  info      Current database version: none
[4/12/2023] [2:39:19 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[4/12/2023] [2:39:19 PM] [Setup    ] › ℹ  info      Logrotate completed.
[4/12/2023] [2:39:19 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[4/12/2023] [2:39:19 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[4/12/2023] [2:39:20 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[4/12/2023] [2:39:20 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[4/12/2023] [2:39:20 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[4/12/2023] [2:39:20 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[4/12/2023] [2:39:20 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[4/12/2023] [2:39:20 PM] [Global   ] › ℹ  info      Backend PID 119 listening on port 3000 ...
Duplicate relation "access_list" in a relation expression. You should use "a.[b, c]" instead of "[a.b, a.c]". This will cause an error in objection 2.0
[4/12/2023] [2:41:05 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/proxy_host/15.conf
[4/12/2023] [2:41:06 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[4/12/2023] [2:43:08 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/redirection_host/1.conf
[4/12/2023] [2:43:08 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[4/12/2023] [2:43:10 PM] [SSL      ] › ✖  error     Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --preferred-challenges "dns,http" --disable-hook-validation
Failed to renew certificate npm-30 with error: Some challenges have failed.
All renewals failed. The following certificates could not be renewed:
  /etc/letsencrypt/live/npm-30/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)
    at ChildProcess.exithandler (node:child_process:402:12)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1100:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
[4/12/2023] [2:44:14 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/redirection_host/1.conf
[4/12/2023] [2:44:14 PM] [Nginx    ] › ℹ  info      Reloading Nginx

For MariaDB I am seeing some errors replicating:
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578920 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2023-04-12 15:19:15 578919 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).

It looks like that you never used your actual DB according to the following line in your log:
[4/12/2023] [2:39:18 PM] [Global   ] › ℹ  info      No valid environment variables for database provided, using default SQLite file '/data/database.sqlite'

That's why when upgrading it's like a new install and you don't see anything. That would also explain why you don't see any records in your DB. All your data are actually in the sqlite file.
What you could do is to remove the environment variables in the app section to connect to the DB and replace it with: DB_SQLITE_FILE: "/data/database.sqlite"
For the MariaDB errors, it's seems to not be related to NPM.

OK thanks, yes I'm running an upgrade command on the DB but you are right on that. Got you on the SQLlite as I see it does exist in the volume. So somehow the latest image is then picking up on the DB connection and ignores the SQLlite database. I'll try that so long though and go for latest image again.

Have a look here: #2754
Maybe you forgot to define your environment variables to access the DB. It was before in the production.json file with 2.9.x but it's defined in environment variables starting 2.10.x
Example of what docker-compose.yml would look like https://nginxproxymanager.com/setup/#using-mysql-mariadb-database.

According to this I changed my docker-compose.yml by adding environment vars (and uncommenting the config.json-file):

services:
  npm:
    container_name: nginx-proxy-manager
    restart: always
    image: jc21/nginx-proxy-manager:latest
    network_mode: bridge
    ports:
        - 80:80
        - 85:81
        - 443:443
    volumes:
#        - ./config.json:/app/config/production.json
        - ./data:/data
        - ./letsencrypt:/etc/letsencrypt
        - ./logs:/var/log/nginx
    environment:
        DB_MYSQL_HOST: 192.168.2.x
        DB_MYSQL_PORT: 3306
        DB_MYSQL_USER: npmi
        DB_MYSQL_PASSWORD: secret
        DB_MYSQL_NAME: npmi
        FORCE_COLOR: 1
        DISABLE_IPV6: "true"

Now I get the "Bad Gateway" error when trying to log in.
As you can see I'm using an external MySQL-Server (version 8.0.32-0ubuntu<IP_ADDRESS>), so this is not because my mysql-folder may be inside the data-folder.
I want to use MySQL in future too instead of SQLlite. Does anyone has an idea?

How are you guys reverting to a previous image?  Changing the docker-compose file from :latest to :2.9.19 then docker-compose up -d?

i need to use "v2.9.22" to get it running again.

So am having the same issue, but everything remains working.  Does anyone know if there is a way to just view the data in database.  I just want to see my host configurations.  Only 2 fairly simple, would like to just recreate but I do not remember what options I had.  Would like to just see the data that NPM is using.

Having the same problem, but i already switched to sqlite and created all hosts again a few months ago (because of this issue)..
lately I thought, "lets try again with a newer version" using my sqlite file..
but when I update to latest (v2.10.4) (even when I comment-out the line with the bind to production.json - leaving DB_SQLITE_FILE: "/data/database.sqlite" as is..) -

my log looks like normal (as in v2.9.22), (see below for comparison)
I can still login with provided login information
though no hosts show up..

my production.json (when using together with DB_SQLITE_FILE:) also still does include my old maria-database information..
could that be a problem?
the logs from v2.10.4 (sill with production.json mounted) definetly show the usage of the sqlite-file.:
[10/10/2023] [10:22:58 PM] [Global   ] › ℹ  info      Using Sqlite: /data/database.sqlite
[10/10/2023] [10:23:02 PM] [Migrate  ] › ℹ  info      Current database version: none
[10/10/2023] [10:23:02 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[10/10/2023] [10:23:02 PM] [Setup    ] › ℹ  info      Logrotate completed.
[10/10/2023] [10:23:02 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[10/10/2023] [10:23:02 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[10/10/2023] [10:23:03 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[10/10/2023] [10:23:03 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[10/10/2023] [10:23:03 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[10/10/2023] [10:23:03 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[10/10/2023] [10:23:03 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[10/10/2023] [10:23:03 PM] [Global   ] › ℹ  info      Backend PID 163 listening on port 3000 ...
[10/10/2023] [10:23:06 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[10/10/2023] [10:23:07 PM] [SSL      ] › ℹ  info      Renew Complete
[10/10/2023] [10:23:19 PM] [Express  ] › ⚠  warning   invalid signature
[10/10/2023] [10:23:59 PM] [Express  ] › ⚠  warning   invalid signature
[10/10/2023] [10:24:59 PM] [Express  ] › ⚠  warning   invalid signature
.. *just much more of the signature warnings*

v2.10.4 with old production.json:
for [10/10/2023] [10:32:51 PM] [Global   ] › ℹ  info      Manual db configuration already exists, skipping config creation from environment variables
[10/10/2023] [10:32:56 PM] [Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214
[10/10/2023] [10:32:56 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[10/10/2023] [10:32:56 PM] [Setup    ] › ℹ  info      Logrotate completed.
[10/10/2023] [10:32:56 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[10/10/2023] [10:32:56 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[10/10/2023] [10:32:57 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[10/10/2023] [10:32:57 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[10/10/2023] [10:32:57 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[10/10/2023] [10:32:57 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[10/10/2023] [10:32:57 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[10/10/2023] [10:32:57 PM] [Global   ] › ℹ  info      Backend PID 116 listening on port 3000 ...
[10/10/2023] [10:33:01 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[10/10/2023] [10:33:02 PM] [SSL      ] › ℹ  info      Renew Complete

v2.10.4 without old production.json:
[10/10/2023] [10:36:24 PM] [Global   ] › ℹ  info      Generating SQLite knex configuration
[10/10/2023] [10:36:24 PM] [Global   ] › ⬤  debug     Wrote db configuration to config file: ./config/production.json
[10/10/2023] [10:36:29 PM] [Migrate  ] › ℹ  info      Current database version: none
[10/10/2023] [10:36:29 PM] [Setup    ] › ℹ  info      Creating a new JWT key pair...
[10/10/2023] [10:36:56 PM] [Setup    ] › ℹ  info      Wrote JWT key pair to config file: /app/config/production.json
[10/10/2023] [10:36:56 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[10/10/2023] [10:36:56 PM] [Setup    ] › ℹ  info      Logrotate completed.
[10/10/2023] [10:36:56 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[10/10/2023] [10:36:56 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[10/10/2023] [10:36:57 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[10/10/2023] [10:36:57 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[10/10/2023] [10:36:57 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[10/10/2023] [10:36:57 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[10/10/2023] [10:36:57 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[10/10/2023] [10:36:57 PM] [Global   ] › ℹ  info      Backend PID 109 listening on port 3000 ...
[10/10/2023] [10:36:59 PM] [Express  ] › ⚠  warning   invalid signature
[10/10/2023] [10:37:02 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[10/10/2023] [10:37:02 PM] [SSL      ] › ℹ  info      Renew Complete
[10/10/2023] [10:37:06 PM] [Express  ] › ⚠  warning   invalid signature

anyway same issue when updating while using sqlite..

This restored them for me: https://github.com/hassio-addons/addon-nginx-proxy-manager/issues/344#issuecomment-1222771448
I make no claims as to what results you will get, make a backup first.

I really don't know where my actual data is laying - maybe it was still beeing edited in the maria-database the whole time without me noticing.. which would make sense if I accidentally would have created the sqlite with new password information (switched back to my old production.json and ended up editing my database instead of the "fresh" sqlite.....
very confusing tbh.. the issue started after v2.9.22 and to this day drives me nuts.. still wondering what happened back there..

I solved with running mysql_upgrade --user=root --password command in MariaDB container.
First, enter your MariaDB(jc21/mariadb-aria) container:
docker exec -it MARIADB_CONTAINER_NAME sh

Be sure that using sh instead of bash
Second, run this command in container:
mysql_upgrade --user=root --password
# enter MYSQL_ROOT_PASSWORD root password

I have just updated nginx proxy manager to v2.11.3 on my portainer instance and now face the same issue as OP. Login is not possible anymore with usual credentials, only default works and no hosts or anything set.
Running with default config sqlite as provided from the documentation.
Proxying works in the background but no management is possible.


Adding localStorageDB 2.3.1

http://nadh.in/code/localstoragedb/
https://github.com/knadh/localStorageDB

Shit, was updating my fork...

localstoragedb/localstoragedb.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/localstoragedb
http://bower.io/search/?q=localstoragedb
others?

[ ] has a test file? (localstoragedb/localstoragedb-tests.ts or others)
[ ] pass the Travic-CI test?

Alright, I'll setup a test file, and adjust the file name. Will be a bit later in the day.


How about multi dimensional list (numpy array)

Great work. I know I can write small loop to collect single dimensional arrays from multi dimesional numpy array to do compress and store into list of compressed strings. And get back to numbers by calling decompress into series of numbers to make original N-dimensional numpy array.
But still, do you have any further plan to extend this numcompress to take multi-dimensional array input ?
Thanks.

I have opened new pr to support this check #5

Compressing n-dimensional array is now possible as mentioned here.
Closing.


Adding in Master of Divinity Suffix

This is important because it is four characters long.

Low value, seldom used, closing.


fix: voice input not trigger search

Fix the issue when using speech search does not trigger a search for the voice input. Also, make an update to open the dropdown menu if the input mode is results.
Standard mode
https://user-images.githubusercontent.com/12707960/112083180-29b6f980-8bb9-11eb-948a-367808266a11.mov
Results mode
https://user-images.githubusercontent.com/12707960/112082668-56b6dc80-8bb8-11eb-98ca-4227b5e39abd.mov

Might be worth to put an example on the Input doc page?

Might be worth to put an example on the Input doc page?

@tuanddd I think it's unnecessary as we explicitly said the Input inherits the props from the Combobox and we already had the example for speech recognition in the page.


Add new slang

Pre-Submission Checklist

You have only one commit (if not, squash them into one commit).
All new and existing tests pass the command yarn test and yarn lint.

Description

@gukiboy  could you resolve the conflict?


Feature/benchmarks on windows

This PR contains changes necessary to run the benchmarks locally on a Windows machine.
Main changes:

Introduced shell=True param to subprocess calls.  Without this, the virtualenv was not accessible to the subprocesses, which would fail with, e.g. ModuleNotFound: pandas exceptions.

Python subprocesses in windows are heavyweight and so use a lot more RAM than linux, so I've added a variable in utils that limits the number max_workers param in ProcessPoolExecutor constructors to a small number (used to be the number of cpus). Without this limitation, the pool-inside-a-pool structure of the benchmarks was spawning 32*32 python.exe processes and using all my 64Gb of RAM in a few seconds.

Added a --debug switch to run_benchmarks to run each benchmakr as a function call, allowing use of debuggers/breakpoints

CI now runs CSV-only regression tests if GAMS license isn't in secrets

Great, thanks a lot @SamRWest! So soon I won't have any excuse not to run benchmarks this way on windows. 😃 I've been mostly using batch scripts to run the tool on a benchmark I was working on and than letting CI point out what I was breaking. 😆

Great, thanks a lot @SamRWest! So soon I won't have any excuse not to run benchmarks this way on windows. 😃 I've been mostly using batch scripts to run the tool on a benchmark I was working on and than letting CI point out what I was breaking. 😆

No worries!
I'm a firm believer that speeding up the feedback loop is always better for productivity.

Thanks Sam, these are some great improvements to our CI/dev process! I've left a few minor comments/suggestions.
But now, thinking about it again, do we really need subprocess in run_benchmarks? With your changes, we can always call the main functions of dd_to_csv and xl2times directly, and perhaps that eliminates some overhead, even in linux/macOS. What do you think?

Yeah agreed.   Whenever I've used them I always spend way too long troubleshooting silly things like cross-OS inconsistencies and character encoding bugs.
Changing the subprocess calls to function calls, and maybe even sticking them into unit tests (so you can run with, say pytest -m benchmarks) would be a lot simpler and make it easier to debug using exception messages rather than exit codes.
Probably one for a future PR though as it'd be a pretty big change to the pipeline.

I think I've addressed all the comments here now @olejandro. If you're happy, it just needs an approval now.

Issues dealt with in this PR are a bit outside of my area of expertise. :) @siddharth-krishna please feel free to merge if you are happy. I am happy. :)

Ah crap, it auto-merged once you approved @siddharth-krishna, sorry.
I'll address your comments before merging #186 instead.

No worries! That sounds good, thanks. :)

Addressing your last two comments (I can't reply directly now it's been merged):

Sam, do you need to make this change here too?
It's not strictly necessary as argparse will do this for us.  But I'll do it anyway so it's more clear what's going on.

Without --run, if --debug is specified and the developer enables a breakpoint in the code in say transforms.py, that breakpoint will potentially be hit on every benchmark that is being run in parallel. So on which one does the debugger stop? Will this break the debugger?

The python debuggers I've used (pycharm, vscode) generally work fine on multiprocess breakpoints.  They'll usually just break at the same point in every process (though sometimes just the first hit), which is sometimes useful (if you don't know which one has the bug you're hunting, for example).
Granted this can be confusing if you have all 13 benchmarks enabled and you get stopped at the breakpoint 13 times though..
A potential alternative could be to disable the process-pool benchmark parallelisation in --debug mode.  This might be easier to understand, and better suited to the comment-out-stuff-in-benchmarks.yml workflow?

It's not strictly necessary as argparse will do this for us. But I'll do it anyway so it's more clear what's going on.

Cool, didn't know how argparse worked. Sounds good

A potential alternative could be to disable the process-pool benchmark parallelisation in --debug mode. This might be easier to understand, and better suited to the comment-out-stuff-in-benchmarks.yml workflow?

Great idea! I had anyway wanted to include a --no-parallel flag, because right now the runtimes reported aren't super meaningful given that there's so much parallelism and non-determinism involved, so it would be useful to have it run all the benchmarks in series to benchmark perf changes. --debug could be used for this.


Exclude specific files from auto import suggestions

Search Terms
autoimport, exclude, ignore, isolation, encapsulation
Suggestion
We need a way to exclude files from auto import. Not from the project, only from the auto import suggestions.
Use Cases
My project includes a .d.ts file (generated from the previous version of the project) with legacy data structures (interfaces), many of which have the same names as their counterparts, newer data structures. As that file uses declare module "..." { ... } syntax, imports from it are non-relative, which is why auto import gives them a higher priority whereas modules with the newer structures have relative paths. The result is that the 'Add all missing imports' command constantly creates lots of wrong imports. If only there were a way to suppress suggestions for that specific module. I want to import from it only in rare cases.
I feel like this problem kind of defeats one of the important points of modules: I wanted to isolate those legacy definitions inside their module and forget about them, but because of this auto import issue they constantly get in the way.

Another example. Type definitions for libraries are in no hurry to use the new asserts feature of TS 3.7 for compatibility reasons. When I defined my own assert function to benefit from this feature, VS Code started to insist on importing assert form Node's console module instead, so, for lack of a better solution, I ended up renaming the function.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

We have a similar issue in a large project: a legacy set of code that no new code should reference but which must stay where it is for compatibility. Being able to instruct VSCode to ignore the files in that folder for the purposes of auto-import would be VERY beneficial.
Currently, we're looking into whether or not ESLint can at least cause an error but I'm not sure it supports restricting relative modules like that.

I would also love to be able to exclude certain files. In my case I need a certain CSS file included AFTER another, however the organizeImports config automatically sorts them in the wrong order.

An additional use case we have is to enable splitting implementation of a large namespace to multiple module files but still expose it under a single namespace. This would allow us to have better control over shape of exposed apis without being tied to the internal module structure we use.
For example, assuming we have three module files:
module1
module2
module3
We then define a re-exports module like this:
import * as module1 from './module1';
import * as module2 from './module2';
import * as module3 from './module3';

export const lib = { ...module1, ...module2, ...module3};

We then use the lib namespace to access all members of module1...3. But the members of these internal modules are also exposed on the global 'namespace' which pollutes the api surface. This cannot be avoided due to the way the module system works, but if we were able to exclude these files from intellisense auto-import it would make them practically hidden and thus partially solve our problem.

I also would love to see this feature.
I recently created a library named rocon and it has react.d.ts at the root directory so that users can import stuff from "rocon/react". The react.d.ts reexports everything from ./lib/react.
The problem is that TypeScript's auto-import suggestion prioritizes importing from rocon/lib/react rather than rocon/react. So it would be nice to exclude files inslide rocon/lib from the suggestion.

@RyanCavanaugh It looks like this ticket generated quite a bit of feedback since you added that label. Is there any other specific feedback you're looking for?

@RyanCavanaugh It looks like this ticket generated quite a bit of feedback since you added that label. Is there any other specific feedback you're looking for?

I liked the prior comment's example of a real-life file layout that caused problems.

I liked the prior comment's example of a real-life file layout that caused problems.

I have a different use-case for asking for the same (or perhaps a different, but very similar) feature.
I have a codebase which uses a couple of libraries which have thousands of types defined in them (e.g. the "aws-sdk" library has, by my count, 28MB of ".d.ts" files). These libraries are only used in a couple of places in this codebase. It appears that their entire contents get considered for auto-suggestion everywhere. I believe this makes IDEs misbehave (I see VS Code spends >500ms in JSON.parse(), I'm told that IntelliJ exhibits weird behaviour) when typescript sends the IDE a big auto-complete candidate list.
Since I only use those libraries directly in a handful of files, it would be very useful to be able to omit them from typescript's auto suggestions. It would be even more useful to be able to turn auto suggest for them back on in just the specific files where I do want to use them.
As a workaround, I'm considering splitting my project into multiple packages (in one repo) so that the main top-level package doesn't have a direct dependency on the big libraries & their types aren't visible in it.

I have a different use-case for asking for the same (or perhaps a different, but very similar) feature.
...snip

Issue #32826 looks like it's describing the same performance problem that I'm having & I'm looking for a way to work around.

I have a different use-case for asking for the same (or perhaps a different, but very similar) feature.
...snip

Issue #32174 looks like it's describing the same performance problem that I'm having & I'm looking for a way to work around.

Disabling autoimports with "typescript.suggest.autoImports" does fine for me, as the Quick fix functionality does the auto importing well enough, even though it would be nice to be able to exclude some folder paths to improve perfomance.

I have a Vue application with a main.ts:
import Vue from 'vue'

import './plugins/logger'
import './plugins/axios'

import App from './App.vue'
import router from './router'
import store from './store'
import i18n from './i18n'

// Auth needs axios and vuex (in store) defined
import './plugins/auth'
import vuetify from './plugins/vuetify'

// Make sure to register before importing any components
import './class-component-hooks'

import './plugins/caches'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  vuetify,
  i18n,
  render: h => h(App)
}).$mount('#app')

I am using a code action on save to organize imports automatically. On this very file, I have:
import Vue from 'vue'
import App from './App.vue'
// Make sure to register before importing any components
import './class-component-hooks'
import i18n from './i18n'
// Auth needs axios and vuex (in store) defined
import './plugins/auth'
import './plugins/axios'
import './plugins/caches'
import './plugins/logger'
import vuetify from './plugins/vuetify'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  vuetify,
  i18n,
  render: h => h(App)
}).$mount('#app')

As you can see, the import order is now wrong, since auth is imported before axios.
Organize Imports is a very good features, especially on save, but I need to exclude this specific file from it. Even an inline comment could do the trick.

This would be really useful for Vue as some libraries use an intermediate package in order to support Vue 2 and Vue 3 at the same time. The package is named vue-demi and is used by the libraries, but never in the application. So when people are using libraries using vue-demi (which points to either Vue 3 or Vue 2 depending on the installed dependencies), the auto-import features automatically adds import { ref } from 'vue-demi' instead of the corresponding import { ref } from 'vue' or import { ref } from '@vue/composition-api'. This is very easy to overlook and can cause very subtle and hard to debug issues.
Given the existing options of typescript.preferences.import... and some others, maybe there could be an option typescript.preferences.excludeAutoImports: string[] that exclude paths and package names. Maybe even a glob if that even makes sense but I think ignoring a whole folder would be enough.

Maybe the exports keyword from packages.json is not a propper standard yet despite being widely supported, but it could be used as guideline of the preferred import path.
Whenever I want to import {Logger} from my @app/core/logs package within {repo}/packages/core and I am suggested imports from

'../../core/src/logs'
'../../core/build/logs'
'../../core/dist/logs'
'../node_modules/@app/core/logs'

Would it be so strange looking into /packages/core/package.json and guess I just want this?

`@app/core/logs'

Currently it is not even suggested. Sure I can configure my editor to ignore the build/dist/node_modules paths, but still there is the problem that package exports are not even suggested

@chakra-ui/react is facing the same issue, it's reexporting everything, but autocomplete prefers direct imports from @chakra-ui/button etc.

Vue 3 project here and the problem in my case is https://github.com/jquense/yup/blob/master/docs/typescript.md.
It exports types that clash with practically all primitive types, so if I want to define string as a type, VSCode will auto-import/suggest string from yup, not the default string type.
Been Googling this issue for hours, but so far haven't found a solution outside of getting completely rid of yup.

This has become an issue in the last few weeks that did not use to occur. If I try to auto import standard React functions or types, the default suggestion is coming from a different folder in node_modules. This consistently breaks my build and always takes me a minute to figure out. I would love to be able to add 'react-transition-group' to a blocked auto import list.

@HaveSpacesuit that's #45784, fixed by #45792

@Dids can you open a new issue for your problem? I believe globals are supposed to prevent auto-imports of the same name from showing up at all, but the rules around this have changed a couple times. It’s worth looking into though.
As a general rule, if auto-imports is doing something that objectively makes no sense, please file a new issue instead of commenting on this one for better visibility. This thread is about excluding things that we really have no way of knowing to exclude without the user telling us explicitly, like https://github.com/microsoft/TypeScript/issues/35395#issuecomment-682898798. Thanks!

Yeah, anytime I write ": string", vscode auto imports "string" from fp-ts. Pretty annoying.

@kkirby that’s not related to this issue—please open a new one.

As a general rule, if auto-imports is doing something that objectively makes no sense, please file a new issue instead of commenting on this one for better visibility. This thread is about excluding things that we really have no way of knowing to exclude without the user telling us explicitly, like https://github.com/microsoft/TypeScript/issues/35395#issuecomment-682898798. Thanks!

@andrewbranch I wouldn't say it doesn't make any sense. fp-ts does have a string export. And it might be useful for some people. I'd rather the import be opt-out rather than opt-in. If you insist I make a new issue for this one, then I will.

@kkirby string from fp-ts 7.5.2 is a namespace that doesn’t export any types, so it’s never going to be valid in a type position like const s: string. Even if it did export types, globals are supposed to shadow auto-imports with identical names. For both of these reasons, I can’t reproduce the issue you’re having, so a small repro would be super helpful when you open a new issue.

I think a good rule of thumb would be: "If there's an empty line between two groups of import statements, avoid joining those groups together."
Comments would not count as empty lines.

@aleclarson did you mean to comment on https://github.com/microsoft/TypeScript/issues/41494 instead? 🤔

I am eagerly looking forward to this.  aws-sdk is killing me.  It both makes it hard for me to find out the real import that I am looking for and makes even typing on this project in VS-Code extremely slow. 😢😢😢

PS. I really hope a solution better than "turn it off" comes into play  after 3 years.

hard for me to find out the real import that I am looking for

Isn’t it the first one in the list?
I’m open to trying this, but I have to warn everyone who thinks this is going to be a big perf improvement that they’re probably going to be disappointed. Filtering stuff out of auto-imports is not going to filter it out of your program. All those files in aws-sdk are still going to be there, instantiating types, taking up slots in the global symbol table, etc. The only place it’s going to save any time is the work done actually generating these auto-imports lists, and much of the hard work there is already heavily cached.

@eyedean also, if you want the best auto-imports and perf experience, try to use the latest version of TypeScript. I can tell you’re not because I changed those fix descriptions in 4.6.

@andrewbranch Thanks for your prompt response, Andrew!
Yes, we are on 4.2.4 and I take that.  We have a plan to upgrade to 4.6 (or 4.7 after 5/24) across the board later this month.  Catching up with TypeScript requires us to 1) make sure we utilize new features (going through Daniel Rosenwasser's thorough changelog posts one by one), 2) make sure there is no breaking change, 3) make sure there is no breaking change with the libraries we use (e.g. we are still on Vue 2.)  It's a good problem to have though, I am always excited for new features and great improvements that make life easier! 🙌
About this specific problem, I googled for a way to limit this list as a cmd+dot hotkey (autocomplete) on VSCode can take up to 5 seconds for me right now.  And I vaguely remember that the intended import is not always the first one and there have been cases that I needed to go through the list to catch what I am after.  Anyhow, I don't have this problem on similar projects that don't have aws-sdk imported.  That's why I was looking for a way to fight that problem specifically.
I'll update here after we upgraded to 4.6 or 4.7.  In the meantime, I will be looking forward to seeing if "excludeAutoImports: string[]" (as suggested in this comment) will be added. :)
Cheers!

Hmm, the ⌘ . functionality actually doesn’t use the export cache like completions does; I should look into that separately. Although even completions in 4.2 lacks some major caching and performance improvements made since then.

@andrewbranch I am on TS 4.6.3, VS-Code 1.67.0 and aws-sdk: 2.1130.0 and the desired import is the one at the bottom of the suggestion list:

I am literally uninstalling (npm un aws-sdk) if I am planning to do more than 10 lines of code on this project.  Without aws-sdk everything is amazing. :)  I reaaaaaaallly wish TS would have a way to exclude one giant npm package from its suggestions.

Just to reiterate, auto-import quickly (in relative terms) does a scan of all the files which are already being analyzed (causing the slowness) for general typechecking purposes. This suggestion is about excluding things from auto-import, not excluding them from analysis in general.
Excluding aws-sdk from auto-import only will make the auto-import completion list show up a small amount faster, but everything else is still going to be bogged down an equivalent amount.

This still needs a corresponding change on the VS Code side—I’ll update here when that’s done.

@andrewbranch looks like it was done in https://github.com/microsoft/vscode/pull/153160 correct?

Yes, my apologies; I forgot to message here as promised. This is available in typescript@next and VS Code now. https://github.com/microsoft/TypeScript/pull/49578 explains how to use it. We’ll probably put something in the TypeScript release notes or the next VS Code release notes.

This is all very cool, but now I find myself wanting to disable specific imports from libraries, while allowing others 🥴
First thing that comes to mind would be to make the autoImportFileExcludePatterns accept an object such as the following (a similar "set" pattern is already used in files.exclude in VSCode):
"autoImportFileExcludePatterns": {
  "someLib": {
    "default": true,
    "someExportedSymbol": true
  }
}

Any plans for something like this?

@fo-fo I 2nd that request. I would like it to stop suggesting
import { isEqual } from 'lodash-es';

and only allow
import isEqual from 'lodash-es/isEqual';

The former is very easy to accidentally select, and miss on review. The problem is that on our project, we lose tree shaking, and then the final bundle balloons. Sure, we could mitigate that in other ways, but this is the most elegant solution, IMO.

I am with a project that each time that I write test, it autocompletes:
const { default: test } = require("node:test");

I am tired of deleting that line. How can I avoid that without renouncing to auto import?

This is all very cool, but now I find myself wanting to disable specific imports from libraries, while allowing others 🥴

Hi, @fo-fo, @acarroll-trend and others, I made VS Code extension that should satisfy your requests:

Configuration examples
To disable (ignore) specific imports from any module:
"tsEssentialPlugins.suggestions.ignoreAutoImports": [
    "path/*#resolve,join", // ignore resolve and join from `path` module and any subpaths of it
    "path/win32" // ignore all imports from this module specifically
],

https://github.com/microsoft/TypeScript/issues/35395#issuecomment-1239843287, It ensures these two imports will appear on top. For example when running Fix all missing imports quick fix, lodash-es/isEqual will be selected.
"tsEssentialPlugins.autoImport.changeSorting": {
    "isEqual": [
        // ensures these two will always be on top even if other libs are installed
        "lodash-es/isEqual",
        "lodash-es"
    ]
}

While it should work from quick fix, it doesn't work from autocomplete, because AFAIK reexports takes precedence in autocomplete, I can add a setting for that, but I'm not sure of format that would cover all cases.

@andrewbranch
How to use this feature in context of issue?
The situation is this:

next-i18next imports useTranslation() from react-i18next in its type definitions.
Creates a type alias off it.
Then reexports useTranslation().
The index file reexports useTranslation() from react-i18next.
The result of all of this is next-i18next doesn't even appear in suggestions for useTranslation().

Let's say I have this project structure:
/project
  - frontend

Where frontend is the folder with nextjs project (and therefore next-i18next).
project is where the vscode workspace file is stored, which also defines project and /project/frontend as multi-roots of the workspace.
I've tried to put this snippet:
{
  "typescript.preferences.autoImportFileExcludePatterns": [
    "/**/node_modules/react-i18next"
  ]
}

In .vscode/settings.json in either/both of these folders and react-i18next is still in the autoimport suggestions. Am I right to assume this feature is not applicable because it's technically the same symbol spread across several files/packages? If so, how to make next-i18next  at least appear in suggestions?

Am I right to assume this feature is not applicable because it's technically the same symbol spread across several files/packages?

That wasn’t the intention—it’s really just supposed to be individual files that are ignored. It sounds like that could be a bug.
Are react-i18next and next-i18next both listed as dependencies in your package.json in this case? Re-exports do tend to “shadow” their sources in completions, but I think that behavior should be disabled for cross-package re-exports.

Yes, the instructions say to install both of them.

@GabenGar would you mind opening a new bug to track this? I’ll take a look at both issues you mentioned.

@andrewbranch a bug? Isn't it like at least 3 (potential) bugs?

Cross-package re-exports of symbols.
I also noticed it does sometimes show next-i18next or react-i18next in the autocompletion (but never both), so there might be a race condition involved.
that new feature of ignoring files/symbols/modules and it might or might not working due to issue above.
that new feature of ignoring files/symbols/modules and multi-root workspaces.
I think for a start the first issue has to be resolved first, since others are dependent on it.

I don’t understand what your third bullet point means, but yes, there are two potential bugs. Feel free to open two separate ones if you prefer.

It resolves relative to the “workspace folder” of the file being edited (vscode.workspace.getWorkspaceFolder). I’m not sure what that returns in a multi-root workspace, but it sounds like it would be the directory where the workspace file lives, not the root within the workspace. Which would make the relative paths specified inside individual roots unintuitive.

The current implementation doesn't cover nodejs built-in modules, right? The two that are bothering me the most are "assert" and "console", but adding them to the config doesn't seem to have any effect.
I will give the VSCode plugin from @zardoy a try...

The current implementation doesn't cover nodejs built-in modules, right?

It does. You just have to specify filenames or globs that cover the file(s) where those ambient modules are declared (whatever shows up in Go To Definition on the module specifier).
Every time someone proposes a very reasonable sounding change to auto-import heuristics, we find that implementing it makes the experience worse for ~50% of people. When “local” modules are given priority, people in really large codebases get mad that Component gets auto-imported from "../../../../../apps/email-templating/external/__mocks/types/flux-capacitor" when they obviously meant to import from "react". It can definitely be worth revisiting these things from time to time, but my preference is to come up with solutions that don’t make zero-sum trades in sorting/priority.

@andrewbranch Awesome. For me, adding @types/node fixed my problem 👍

... but somehow it doesn't work for "log" coming from the debug module. Vscode points to<EMAIL_ADDRESS>but including it in the list of exclude patterns has no effect for me.

That file doesn’t exist in @types/node, so I’m not sure what you’re seeing.

@andrewbranch I got confused. It pointed to @types/debug, an external dependency. Everything seems to work fine after all 🎉

Update your settings.json file:

"javascript.preferences.autoImportFileExcludePatterns": ["**/node_modules/@types/node/**", "**/node_modules/@types/node/console", <EMAIL_ADDRESS>"typescript.preferences.autoImportFileExcludePatterns": ["**/node_modules/@types/node/**", "**/node_modules/@types/node/console", <EMAIL_ADDRESS>

Then reload your VSCode

I wanna exclude all the import suggestions from "data-fns".
{
  "typescript.preferences.autoImportFileExcludePatterns": [
    "date-fns",
    "**/date-fns",
    "**/date-fns/**",
    "**/date-fns/**/*",
    "node_modules/date-fns",
    "**/node_modules/date-fns",
    "**/node_modules/date-fns/**",
    "**/node_modules/date-fns/**/*"
  ],
  "javascript.preferences.autoImportFileExcludePatterns": [
    "date-fns",
    "**/date-fns",
    "**/date-fns/**",
    "**/date-fns/**/*",
    "node_modules/date-fns",
    "**/node_modules/date-fns",
    "**/node_modules/date-fns/**",
    "**/node_modules/date-fns/**/*"
  ]
}

I have tried these but still not working.
Typescript version: 5.3.2
VSCode version: 1.85.1
OS: Windows

Currently only workspace-relative paths (starting with ./ or ../) work on Windows. A fix is in progress.

Got it....
After using:
./**/node_modules/date-fns
It's working

./**/node_modules/@types/node should do it. Also, leading with ./ shouldn’t be necessary by now if you’re using TypeScript nightly or VS Code Insiders.

I'm working on an Ionic using Angular's standalone components and they give you the following settings on a newly generated project:
  "typescript.preferences.autoImportFileExcludePatterns": ["@ionic/angular/common", "@ionic/angular"]

But it doesn't seem like it does what is intended, because firstly, the first entry @ionic/angular/common is completely useless, since every single import under @ionic/angular is excluded, including the imports from @ionic/angular/standalone which you'd expect to be allowed, since it's where all the imports you need from their package reside.
I also found the option typescript.preferences.autoImportSpecifierExcludeRegexes, which as per it's description:
Specify regular expressions to exclude auto imports with matching import specifiers. Examples:

^node:
lib/internal (slashes don't need to be escaped...)
/lib\/internal/i (...unless including surrounding slashes for i or u flags)
^lodash$ (only allow subpath imports from lodash)

should allow me to exclude the other imports while maintaining @ionic/angular/standalone that I need, but it does not seem to work, at all.

Can you open a new issue following the template with repro steps?

Can you open a new issue following the template with repro steps?

As soon as I said that here I saw that there was a new VS Code update, turns out that fixed the issue immediately for typescript.preferences.autoImportSpecifierExcludeRegexes. I was gonna say that here but I couldn't find where I posted anymore 😅


NIFI-2861 ControlRate should accept more than one flow file per execution

Support multiple files per onTrigger call.

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically master)?

[X] Is your initial contribution a single, squashed commit?

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[X] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@mosermw this is the replacement for https://github.com/apache/nifi/pull/1127, rebased and squashed.

reviewing

+1 will merge, thanks jskora


add ^et interface pattern matching to if-wait script for arista ceos

Should fix #880

good catch
thanks


Fix inplace arg removed in xarray

This has been removed in xarray 0.13 and it wasn't used here.

Test fail seems to be related to https://github.com/pytest-dev/pytest/issues/4656.


aarch64: Fix return_call's interaction with pointer authentication

This commit fixes an issue where a return_call would not decrypt the return address when pointer authentication is enabled. The return address would be encrypted upon entry into the function but would never get restored later on.
This addresses the issue by changing the encryption keys in use from the A/B key plus SP to instead using A/B plus the zero key. The reason for this is that during a normal function call before returning the SP value is guaranteed to be the same as it was upon entry. For tail calls though SP may be different due to differing numbers of stack arguments. This means that the modifier of SP can't be used for the tail convention.
New APIKey definitions were added and that now additionally represents the A/B key plus the modifier. Non-tail calling conventions still use the same keys as before, it's just the tail convention that's different.
Closes #6799

Heh I was just digging into this a bit more and reached the same conclusion! Apparently with QEMU 8.0.2 (what I happen to have installed locally) it will, by default, enable the necessary bits for authentication so the retaa instruction, for example, works with QEMU 8.0.2 out-of-the box. The same binary fails on one piece of native hardware I can run on which doesn't have support (presumably I suppose).
I can confirm though that if I force sign_return_address then the runtests as-is will crash. With this PR, however, they pass. In that sense I don't think a new runtest is necessarily needed since the wasm suite and runtests should cover everything already.
Otherwise though I don't feel like I know enough about aarch64 pointer authentication bits to know what to do here. Given that pointer authentication, as we're using it, is purely a function-local decision I don't know why we would ever want to disable sign_return_address. I'm also not sure why it matters which key (A or B) is used.

I'm also not sure we can enable them in cranelift native (i.e. alongside paca), since I think that would automatically enable return address signing for anyone who just uses all native features, and that might not be desirable.

Can you expand on this @afonso360? Do you know why this might be bad and/or not desirable?

Given that pointer authentication, as we're using it, is purely a function-local decision I don't know why we would ever want to disable sign_return_address. I'm also not sure why it matters which key (A or B) is used.

I guess it matters for unwinding? This is why e.g. we're forced to use the feature, and the B key specifically, on macOS, at least if I understand correctly. I'd be very curious to know if aarch64 Linux lets us do signing locally though; that would be a nice defense-in-depth thing...

Ah ok yeah that all makes sense, and this is sort of coming back to me. So I think that functionally we could enable sign_return_address unconditionally for normal execution and wasm backtraces should work due to the use of our own custom frame-pointer unwinder which bakes in xpaclri to handle encrypted return addresses. The remaining issues I think are (a) what does std::backtrace::Backtrace::new() do when there's wasm on the stack and (b) is it possible to get a backtrace through wasm in a debugger. In theory both of these are functions of dwarf unwinding information we emit, which in theory is correct, but that may require newer debuggers/systems to handle that libgcc bug mentioned.
Testing this locally looks like the B key can't be used on Linux with Wasmtime since we haven't implemented the dwarf stuff to indicate that. If I force-enable sign_return_address then std::backtrace::Backtrace::new() segfaults with wasm on the stack. Additionally in gdb the stack trace (of that segfault) stops at the wasm on the stack. The segfault is in libgcc_s.so which may mean I'm running into this. I think I've then confirmed that where if I run in a recent container (ubuntu:23.10) then the backtrace looks correct. Running in a slightly older contains (ubuntu:22.10) I hit the same segfault.
So that's a long way of saying:

Ignoring native backtraces, it seems like we can safely enable sign_return_address at all times. This will then enable automatic testing in CI since QEMU implements both pauth and the non-hint semantic versions of the instructions
We must use the A key since encoding the usage of the B key in unwind information is not yet supported.
Only recent builds (of libunwind?) support the dwarf we're emitting meaning we have the options of:

Emit no dwarf unwind information, meaning native backtraces terminate at wasm frames (safely? unsure)
Emit current dwarf meaning native backtraces crash unless they have the gcc patch from #3183
Some other blending like emit native unwind info by default except on AArch64 Linux for a few years.

We don't use docker for tests in CI, just for release builds, so my guess is that the patched toolchain is so new that it's not available on GitHub actions by default (they're using ubuntu 22.04). This means that sign_return_address, if enabled, I believe would fail on GitHub actions if we acquire a native backtrace in tests (which we may not do, I forget). Given all this I'm tempted to say we shouldn't do anything else here at this time. In a few years we should be able to flip the sign_return_address config option by default and have everything "just work" though.

The rabbit hole continues to go deep on this one.
I've attempted to follow-through on suggestions from today's Cranelift meeting by enabling sign_return_address for a single test case (or a few) throughout our runtest test suite. Turns out tail-call-conv.clif already does this! Turns out that not only passes in CI but additionally passes locally on my macbook. This appears to be due to:

Locally on macOS this passes because it's signing with the A key not the B key (e.g. sign_return_address_with_bkey isn't specified). Apparently macOS is configured such that signing with the A key is a noop, so it's as-if these instructions don't exist. That means that all the tests pass if the pointer authentication is mixed up by accident.
On CI this is passing because cranelift-filetest is skipping the test that wants sign_return_address. Linux hosts (as @afonso360 pointed out) never infer this flag, and then the default logic is to reject the test if a feature is specified that the host doesn't support.

On main if I specify sign_return_address_with_bkey then tests segfault as-is on macOS. That means that the test suite already has coverage of the necessary bits that's being fixed here. To help catch this in the future on CI I've added special logic to cranelift-filetest to specifically ignore the sign_return_address feature. This way we should now start running sign_return_address code, on Linux, in CI. This I can confirm segfaults qemu on main because QEMU supports has_pauth.
All-in-all I believe that this should now be run on CI.