Implement multi stage builds (closes #4)

Before merging I need to setup github actions to build the images because dockerhub is missing the feature to pass in build args to the pipeline.

Before merging I need to setup github actions to build the images because dockerhub is missing the feature to pass in build args to the pipeline.

Should we maybe provide a script as well, how to build the docker images (since its split into multiple files one has to build the base first, then android image).
Maybe this is the same as the github actions?

Should we maybe provide a script as well, how to build the docker images (since its split into multiple files one has to build the base first, then android image).
Maybe this is the same as the github actions?

We should but the main goal will be to directly use the images from a registry without building them.

We should but the main goal will be to directly use the images from a registry without building them.


Force Content-Type

Hello,
When using res.set() to set the response headers, express prevent invalid media types to be set as Content-Type. How can I force express to accept an invalid media type?
Regards,

Could you show how you set Content-Type? How exactly Express prevents you from setting it? Is the header not set, a different value is used or does it throw an exception?
With this code I can set it to any value I wish (Express 4.18.2, Node.js 20.0.0):
const assert = require("node:assert/strict");
const express = require("express");

const randomString = "jahsbdfheawbhyubfasuyb";

const app = express();

app.get("/", (req, res) => {
	res.set("Content-Type", randomString).send();
});

const server = app.listen(0, () => {
	fetch(`http://<IP_ADDRESS>:${server.address().port}/`)
		.then((r) => assert.equal(r.headers.get("Content-Type"), randomString))
		.then(() => console.log("Success"))
		.finally(() => server.close());
});

Thank you for your answer @krzysdz
I'm just using res.set(), here's how I'm using it:
import express from 'express'
const app = express()

import { createServer } from 'http'
const server = createServer(app)

app.post('/', (req, res) => {
	res.set("Content-Type","123")
	res.send('some content')
})

server.listen(3000, () => {
	console.log('Server started')
})

And I'm getting the TypeError 'invalid media type'

Thank you very much @dougwilson for your crystal clear answer! I now understand why I'm getting this error
Have a nice day/night and feel free to close this issue!


Fix TraceableTcpTransportChannel classcast exception

Description
Fix the TraceableTcpTransportChannel class cast exception when enabling the feature opensearch.experimental.feature.telemetry.enabled. Issue reported here - https://github.com/opensearch-project/security/issues/3464#issuecomment-1753641505
Issues Resolved
#3515
Reference Chnage - https://github.com/opensearch-project/OpenSearch/blob/8e5e54e87f6f86a2425a5c767e208767ba3df14c/server/src/main/java/org/opensearch/transport/RequestHandlerRegistry.java#L101
Is this a backport? If so, please add backport PR # and/or commits #
Testing
[Please provide details of testing done: unit testing, integration testing and manual testing]
Check List

[x] New functionality includes testing
[x] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@reta, @peternied Please take a look at it. We need to merge this fix in 2.11

@Gaganjuneja There is another issue with the Telemetry experimental feature and the security plugin. The way that the TraceableHttpChannel wraps the underlying channel here is problematic. Security needed to recently refactor where auth was performed from the last step of the netty pipeline to further up the pipeline and needs access to the netty channel.
You can see an example here of how the security plugin would access the channel: https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/filter/SecurityRestFilter.java#L135

@reta, This seems to be new changes which will be bypassed for TraceableHttpChannel always. I am thinking, if we can add a new method to the HttpChannel::getType and let all the implementations implement it.
default String getType() {
    return ChannelType.DEFAULT;
}

For Netty4
public String getType() {
    return ChannelType.NETTY4;
}

@reta, This seems to be new changes which will be bypassed for TraceableHttpChannel always. I am thinking, if we can add a new method to the HttpChannel::getType and let all the implementations implement it.

@Gaganjuneja  I sadly cannot look at the issue today, travelling back home, but it does not look right - the HTTP transport should have no dependency on the engine behind it, if any, I will take a look tomorrow morning

@reta, This seems to be new changes which will be bypassed for TraceableHttpChannel always. I am thinking, if we can add a new method to the HttpChannel::getType and let all the implementations implement it.

@Gaganjuneja I sadly cannot look at the issue today, travelling back home, but it does not look right - the HTTP transport should have no dependency on the engine behind it, if any, I will take a look tomorrow morning

Sure, sorry for bothering you!

@reta, This seems to be new changes which will be bypassed for TraceableHttpChannel always. I am thinking, if we can add a new method to the HttpChannel::getType and let all the implementations implement it.

@Gaganjuneja I sadly cannot look at the issue today, travelling back home, but it does not look right - the HTTP transport should have no dependency on the engine behind it, if any, I will take a look tomorrow morning

Other simplest option could be is to have TraceableHttpChannel::getDelegateChannel method and inside the security plugin we can put an additional check
HttpChannel channel = restRequest.getChannel();
if(channel instanceof TraceableHttpChannel){
   channel = ((TraceableHttpChannel)channel).getDelegateChannel();
}

//Now the Netty4 check could proceed.

Thanks - this change looks much cleaner. Happy to re-review after an integration test has been added.

@Gaganjuneja are you working on that?

Thanks - this change looks much cleaner. Happy to re-review after an integration test has been added.

@Gaganjuneja are you working on that?

@reta, I will pick this up very first thing next week.

Thanks - this change looks much cleaner. Happy to re-review after an integration test has been added.

@Gaganjuneja are you working on that?

@reta, I will pick this up very first thing next week.

There is nothing we can test about telemetry. Only thing is to enable it and see if cluster is coming up fine as far as the integration with security plugin is concerned. I have enable it for SearchOperationTest.java and now it should be able to catch if anything is breaking due to change in the Telemetry side.

@Gaganjuneja would you need any helping getting this across?

@Gaganjuneja are you still working on this?

Doesn't look like this is being worked on anymore, going to close this out. Please feel free to reopen if you re-engage on this @Gaganjuneja


Choppy, over-sized renders.

Recently, Visage renders on my site (pulled directly from visage.surgeplay.com rather than self-hosted) have displayed as larger than normal, with previously smooth borders around the render becoming more pixelated and choppy, with a seeming black border. See below for a before/after comparison of the 512*512px bust render:

Is this intentional? If so, is there a way to revert it? Thanks.

The render being larger is intentional to make better use of the space. The choppy antialiasing is #25 -  the fix for that issue isn't working in production and I haven't had time to look into it. (I do now.)

Fantastic, thanks for the quick response.


Deprecation of WebSocket endpoints

closes #1622

FYI @drew-distefano - I can't add you as a reviewer, for some reason.


Change value

Hi,
I have a question about your plugin.
I use it and I have a non update value in my change method.
Check the code here
http://plnkr.co/edit/R6iz6jJUlHym7rQLU4MH?p=preview
Is that normal to have a different value as the one shown in the h-number ?
Thanks

It's not correct, but a bug. Thanks for reporting this issue.
I just fixed it with a new version 1.2.2, you can check my new plunker

It's not correct, but a bug. Thanks for reporting this issue.
I just fixed it with a new version 1.2.2, you can check my new plunker


Fix name mismatch between omniauth strategy and callback.

Omniauth google didn't work out of the box, because callback method was misnamed.

Hi @coezbek, thanks for contributing.
I haven't used this gem and generator myself but going through the installation setup, it seems the controller action should be google_oauth2  instead of what you have changed to, which could possibly be a typo google_auth2 , can you take a look?

Also apart from the code, can you address other things as per the Contribution Guidelines? I will highlight the important ones here:
[ ] Update tests to ensure generator is working correctly after the change
[ ] Manual test in the actual Rails app to ensure your changes are working as intended
[ ] Update Changelog and add an entry for this change
Note: don't forget to add yourself to contributor list at the bottom of the doc first before referencing your username in the Changelog
Here is an example PR you can take reference from https://github.com/abhaynikam/boring_generators/pull/113/files
Thanks for your time and please don't hesitate to reach out to me here in the reply if you need help with anything to get this PR to the finish line.

@coolprobn Hey thanks for the review! I fixed this again in the branch and updated the changelog.
I don't know where to begin to test the omniauth flow. The existing tests are pretty much static (https://github.com/abhaynikam/boring_generators/blob/main/test/generators/oauth/google_install_generator_test.rb)

Hi,
I took a closer look and tested this generator in the actual app today and found some issues we need to handle and improvements we can make.
Would you mind taking a look at these so this PR can be taken to the finish line?

[ ] In Readme, update :google_auth in instructions 2 to :google_auth2 instead
[ ] In Readme, update instructions 3 to include the actual URL example at the end like so -> e.g. https://boringgenerators.com/users/auth/google_oauth2/callback
[ ] Remove skip_before_action :verify_authenticity_token because it's not working, let's instead add the code to install the gem "omniauth-rails_csrf_protection" for handling csrf protection

[ ] Add tests for this

[ ] Update google_oauth2 action to be same as what is in the gem readme example https://github.com/zquestz/omniauth-google-oauth2?tab=readme-ov-file#devise:

  def google_oauth2
      # You need to implement the method below in your model (e.g. app/models/user.rb)
      @user = User.from_omniauth(request.env['omniauth.auth'])

      if @user.persisted?
        flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', kind: 'Google'
        sign_in_and_redirect @user, event: :authentication
      else
        session['devise.google_data'] = request.env['omniauth.auth'].except('extra') # Removing extra as it can overflow some session stores
        redirect_to new_user_registration_url, alert: @user.errors.full_messages.join("\n")
      end
  end

[ ] Link @coezbek to the GitHub profile at the end of the Changelog file. If you are not seeing anything at the end then you might want to see raw version of the MD file that is editable


sys: util: Accept empty FOR_EACH

The ## part of ##__VA_ARGS__ in the Z_FOR_EACH_ENGINE macro technically
breaks the invocation of empty FOR_EACH sequences, as the empty
VA_ARGS gets squashed with in the invocation of Z_FOR_LOOP_1() in
Z_FOR_LOOP_2(), which makes the macro only pass 4 arguments to
Z_FOR_LOOP_1.
This breaks IntelliSense in Microsoft's C/C++ extension for VS Code,
which is strict about the amount of arguments you can pass to a variadic
macro.
Fixes #62460.

It was previously submitted (#46532) but did not get in. Reopening with additional test for FOR_EACH.


Handle maintenance mode for yggdrasil

Add a new maintenance mode :
This mode should be configured on the cluster configuration.
When a cluster is in maintenance mode :

[x] - Add a weight of 0 on all endpoint that are on more than 1 cluster (or just don't add it)
[x] - Don't touch any endpoint that are only on the cluster in maintenance mode
[x] - Yggdrasil wont start if all cluster are in a maintenance mode
[x] - Yggdrasil should send WARNING when their 1 or more cluster in maintenance
[x] - Add a metrics that permit to know cluster in maintenance mode

@Solvik @Aluxima


Use GNU Make to manage builds

(Re-)Install NPM dependencies before building react-c3js library.
Use yarn to install NPM dependencies since it's more faster and reliable.
Support both Make and NPM scripts by mapping each target to corresponding NPM scripts.
Update the Dockerfile to support Make targets and then use it explicitly.

Done.


Refactor keys rename

Codecov Report

Merging #183 (c5c93c7) into develop (c7ef88d) will decrease coverage by 0.07%.
The diff coverage is 86.95%.

@@             Coverage Diff             @@
##           develop     #183      +/-   ##
===========================================
- Coverage    95.64%   95.56%   -0.08%
===========================================
  Files           44       44
  Lines         1308     1309       +1
  Branches        76       77       +1
===========================================
  Hits          1251     1251
  Misses          44       44
- Partials        13       14       +1

Flag
Coverage Δ

integrationtest
95.56% <86.95%> (-0.08%)
:arrow_down:

unittests
95.56% <86.95%> (-0.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

test/Handlers/ValidateColumnExistsHandler.spec.ts
94.73% <ø> (ø)

...st/Handlers/ValidateFieldDependencyHandler.spec.ts
95.23% <ø> (ø)

test/Handlers/ValidateFieldHandler.spec.ts
95.23% <ø> (ø)

...est/Handlers/ValidateRulesForColumnHandler.spec.ts
94.73% <ø> (ø)

test/controllers/Builder.spec.ts
100.00% <ø> (ø)

test/models/Adobe.spec.ts
100.00% <ø> (ø)

test/models/FacebookAds.spec.ts
100.00% <ø> (ø)

test/models/GA.spec.ts
100.00% <ø> (ø)

test/models/GeneralVehicle.spec.ts
100.00% <ø> (ø)

test/models/GoogleAds.spec.ts
100.00% <ø> (ø)

... and 5 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Skin sounds in the new skin changer version

Hi, I just wanted to ask if there's any way to get the skin sounds like Aatrox Q or Pyke R sounds into the game with the new version of r3nzskin from the chinese people. I know theres a whole issue opened for this but i dont really know if the owner found a solution for this or if he didnt.
Thanks

Hi, I just wanted to ask if there's any way to get the skin sounds like Aatrox Q or Pyke R sounds into the game with the new version of r3nzskin from the chinese people. I know theres a whole issue opened for this but i dont really know if the owner found a solution for this or if he didnt.
Thanks

Nope, no solution

Alright, thanks.

雷神加速器可以的，有个中文转换，语音包也会换成中文


Contributor- documentation and Video with old name- request to fix content

https://github.com/GiuseppeScaramuzzino/quarkus-microprofile-restclient/issues/1

Hello @aeiras ,
the issue has been fixed

Hola, how awesome to see you in this space @GiuseppeScaramuzzino!
You are wonderful, thank you for the prompt turnaround!
If you are able, no rush, let's push your MP content broader.
Please check out the MP Blog guidelines  (improve the steps by submitting PRs, if anything is off) Click "Become an MP Author" https://microprofile.io/blog/

Hello,
I have created a new issue to become MP Contributor thanks to you

Thank you for becoming the 69 wordpress contributor of MP content Guiseppe!
Just wonderful! :)


If the Excel file name includes Chinese, or the sheet name is Chinese. Tagui does not work.

run cmd /c chcp 65001
timeout 100
variable = [D:\测试.xlsx]测试!A:A
echo variable[1]

Hi @KyleXYY yes I can replicate this issue, there is no support for excel file name in Chinese for excel step. We will look into this.

Hi @KyleXYY , @ruthtxh
Traditional Chinese test is OK.
variable = [D:\robot\test1\中文\中文.xlsx]工作表1!A:A
echo `variable[0]`

Is it possible that the array index starts from 0
Echo variables should be quoted

Is it possible that the array index starts from 0

Excel A:1 to A4:
#支付宝账务明细查询
#账号：[xxxxxxxxxxxxxxxxxxxxxx]
#起始日期：[2022年08月01日 00:00:00]   终止日期：[2022年09月01日 00:00:00]
#-----------------------------------------账务明细列表----------------------------------------

Echo variables should be quoted

Without \ in this editor,  ' miss
If no Chinese I will get the expected result aroud 10 minutes, otherwise output "undefine" about 3 seconds.

Hi @KyleXYY
have you tried this #1199

no yet, but I cannot change env to UTF8 since this Script must run at the default  windows env for Others.

Closing but please ping back if this is still relevant or an issue.


Certificates without versions are not parsed.

Hi,
It looks like the certificate without versions are not parsed.
Example:

-----BEGIN CERTIFICATE-----
MIICkzCCAfygAwIBAwIERhnVjjANBgkqhkiG9w0BAQQFADCBjTELMAkGA1UEBhMC
VVMxEjAQBgNVBAgTCUxvdWlzaWFuYTEMMAoGA1UEBxMDTlNLMRQwEgYDVQQKEwtT
d3NvZnQsIEluYzEMMAoGA1UECxMDMTIzMRUwEwYDVQQDEwxzc2x0ZXN0LmJjb20x
ITAfBgkqhkiG9w0BCQEWEm9sZ2FAbG9jYWxob3NkLm5ldDAeFw0wNzA0MDkwNTMz
NDNaFw0xMjA0MDkwNTMzNDNaMIGNMQswCQYDVQQGEwJVUzESMBAGA1UECBMJTG91
aXNpYW5hMQwwCgYDVQQHEwNOU0sxFDASBgNVBAoTC1N3c29mdCwgSW5jMQwwCgYD
VQQLEwMxMjMxFTATBgNVBAMTDHNzbHRlc3QuYmNvbTEhMB8GCSqGSIb3DQEJARYS
b2xnYUBsb2NhbGhvc2QubmV0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM
GGsfsVsajf9z3EfYhOw8wOX6tUkZFT8U9ZKfIvBSl4n7kvtmBsUhx5/h854sJcok
mnVyDQ+GGjPyggRlnFkp+ufiTenOSDmqtK5XzFRsovXH0iNecINkJ53cdJOT4dIX
K7fGj0VyVmFwVJ7M21TKZBEbO9TwO7CVW6sP/G83gwIDAQABMA0GCSqGSIb3DQEB
BAUAA4GBALsIYYU82hJglpZgbT2acxq/ZiaD21rJgBuvzzsQkAQLlNxegbbP8g+4
YGdC9vyxEIExb0ixPfAd4ReE9m2C+tFt2eTndt24Bgo27ga0tzx6UKUvl3NLUXGA
lpZpZqlNiczwz/R5Y40aRnGfgvdihnMsjLEuNFtazRRf+oLcWdiL
-----END CERTIFICATE-----

That one has the following data:
Certificate:
    Data:
        Version: Unknown (3)
        Serial Number:<PHONE_NUMBER> (0x4619d58e)
    Signature Algorithm: md5WithRSAEncryption
        Issuer: C = US, ST = Louisiana, L = NSK, O = "Swsoft, Inc", OU = 123, CN = ssltest.bcom, emailAddress =<EMAIL_ADDRESS>        Validity
            Not Before: Apr  9 05:33:43 2007 GMT
            Not After : Apr  9 05:33:43 2012 GMT
        Subject: C = US, ST = Louisiana, L = NSK, O = "Swsoft, Inc", OU = 123, CN = ssltest.bcom, emailAddress =<EMAIL_ADDRESS>        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    00:cc:18:6b:1f:b1:5b:1a:8d:ff:73:dc:47:d8:84:
                    ec:3c:c0:e5:fa:b5:49:19:15:3f:14:f5:92:9f:22:
                    f0:52:97:89:fb:92:fb:66:06:c5:21:c7:9f:e1:f3:
                    9e:2c:25:ca:24:9a:75:72:0d:0f:86:1a:33:f2:82:
                    04:65:9c:59:29:fa:e7:e2:4d:e9:ce:48:39:aa:b4:
                    ae:57:cc:54:6c:a2:f5:c7:d2:23:5e:70:83:64:27:
                    9d:dc:74:93:93:e1:d2:17:2b:b7:c6:8f:45:72:56:
                    61:70:54:9e:cc:db:54:ca:64:11:1b:3b:d4:f0:3b:
                    b0:95:5b:ab:0f:fc:6f:37:83
                Exponent: 65537 (0x10001)
    Signature Algorithm: md5WithRSAEncryption
         bb:08:61:85:3c:da:12:60:96:96:60:6d:3d:9a:73:1a:bf:66:
         26:83:db:5a:c9:80:1b:af:cf:3b:10:90:04:0b:94:dc:5e:81:
         b6:cf:f2:0f:b8:60:67:42:f6:fc:b1:10:81:31:6f:48:b1:3d:
         f0:1d:e1:17:84:f6:6d:82:fa:d1:6d:d9:e4:e7:76:dd:b8:06:
         0a:36:ee:06:b4:b7:3c:7a:50:a5:2f:97:73:4b:51:71:80:96:
         96:69:66:a9:4d:89:cc:f0:cf:f4:79:63:8d:1a:46:71:9f:82:
         f7:62:86:73:2c:8c:b1:2e:34:5b:5a:cd:14:5f:fa:82:dc:59:
         d8:8b

Attempt to parse ends with error:
problem parsing cert: org.bouncycastle.cert.CertIOException: malformed data: version number not recognised
Piece of stack:
org.bouncycastle.openssl.PEMParser$X509CertificateParser.parseObject(Unknown Source)
org.bouncycastle.openssl.PEMParser.readObject(Unknown Source)

Thank you

This certificate does have a version; it encodes the value 3 in its TBSCertificate.version field, but the highest valid version value is 2, corresponding to a V3 certificate (yes, it's off-by-1).

Hi Peter,
Thank you for replying.
But the certificate is valid. It was handled by bcprov-jdk15on-1.56.jar (and earlier versions) just fine until it was upgraded to 1.60.

https://github.com/bcgit/bc-java/commit/8df14f6e07399ef827e7f954ad0e99d358dd070b introduced validation of the version in TBSCertificate. That was released shortly afterwards, in 1.58. The certificate was always invalid, but earlier BC releases ignored the error.

Closing as (unfortunately) not a bug.

also got
java.lang.IllegalArgumentException: version number not recognised
at org.bouncycastle.asn1.x509.TBSCertificate.(Unknown Source)
at org.bouncycastle.asn1.x509.TBSCertificate.getInstance(Unknown Source)
at org.bouncycastle.asn1.x509.Certificate.(Unknown Source)
at org.bouncycastle.asn1.x509.Certificate.getInstance(Unknown Source)
at org.bouncycastle.cert.jcajce.JcaX509CertificateHolder.(Unknown Source)
at org.bouncycastle.openssl.jcajce.JcaMiscPEMGenerator.convertObject(Unknown Source)
at org.bouncycastle.openssl.jcajce.JcaMiscPEMGenerator.(Unknown Source)
at org.bouncycastle.openssl.PEMWriter.writeObject(Unknown Source)
at org.bouncycastle.openssl.PEMWriter.writeObject(Unknown Source)
for
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAwIJAPjc4aDV0NqAMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNV
BAYTAkJBMRwwGgYDVQQDDBNTTUZpemlja2lTZWxmc2lnbmVkMREwDwYDVQQHDAhT
YXJhamV2bzEQMA4GA1UECgwHRS12bGFkYTEcMBoGA1UECAwTQm9zbmEgaSBIZXJj
ZWdvdmluYTELMAkGA1UECwwCSVQwHhcNMTkxMjA2MTUyNTM3WhcNMjkxMjAzMTUy
NTM3WjB7MQswCQYDVQQGEwJCQTEcMBoGA1UEAwwTU01GaXppY2tpU2VsZnNpZ25l
ZDERMA8GA1UEBwwIU2FyYWpldm8xEDAOBgNVBAoMB0UtdmxhZGExHDAaBgNVBAgM
E0Jvc25hIGkgSGVyY2Vnb3ZpbmExCzAJBgNVBAsMAklUMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAnKuT3LmUPRLTiOF5fySpbf1kePknIt52BULkEYEr
n8+YV/E0ST8fMEpkaJtt6B1eMK1v0avIpBXVFaGRF+U9NCk+qC4GrbdczwKkcnvy
47B8zUJflxp0tP1h9NgCOczi9wLYjbG9CliLTd5R9Hohh/XVzgu1UqLzk/pCPbQK
CMaxCLYKANwueiNM/01TIADDzLYbWBCTdQdXAx+czUWOWP0S56HDydGM9RcfHeuT
RuQSE/HQ8wTnAHNfETiV2IeyaZ7LV6G/3l3BIzHkiWCNlF20W3ZmZRg2qdq4npVY
QfeVwVTyMr2JjtPhytu8Aq8u9U7SLkNuwsT8BuM+ZBKldQIDAQABMA0GCSqGSIb3
DQEBBQUAA4IBAQBfFbsYSAq1vI+QliEgFQTVsH+inCpOLAHSHuW4V0F2FIBtS/e2
NpQwq4h+aSfYdDMl7rC4gzbE/roPIXh0txI+i7n8CGcCcMosOSzoyZCaWS9t7sl+
yLYWn5WVpLl59acfqI5RjI/GaHViPZasJch51PaQBoM629mYuXwWO4mJzwxtM7KP
Gv/9mTBQEqpV/ThP7Z2CixnI9yVVMdg7aNqNhZZGB8ZqDaJhD0pOBHun6aCatkKI
4lRH3ZUEQBG5u/qeEAGkHjsB2tQDGf1/LG5n5gIvYF359FUX2wk+nxQgEbmtB48J
zJXE8ILSuz3A169O7Ecd6H3v2tpW9TzA/qEt
-----END CERTIFICATE-----
Interestingly, openssl or xca do not complain.
If it is the same, it would be great to

provide a more precise error message stating what the value found was and what the permitted values are
allow for a lenient/graceful treatment like above "Version: Unknown (3)"
(as done by openssl x509 -in cerfile.cer -noout -text)

Is this still the full truth in 2023?
Please have a look at the discussion in https://github.com/openssl/openssl/issues/6599
"Implementations SHOULD be prepared to accept any version certificate" https://www.ietf.org/rfc/rfc5280.txt


MicroWebSrv2Exception: Cannot load module "PyhtmlTemplate"

Hello.
I found if the MicroWebSrv2 folder in another place, the system can't found the module in the mods folder.
When I use MicroWebSrv2.LoadModule('PyhtmlTemplate')
The traceback is
src.MicroWebSrv2.microWebSrv2.MicroWebSrv2Exception: Cannot load module "PyhtmlTemplate".

Change the code in microWebSrc2.py can fix this error in my case. But this way is not good.
@staticmethod
    def LoadModule(modName) :
        if not isinstance(modName, str) or len(modName) == 0 :
            raise ValueError('"modName" must be a not empty string.')
        if modName in MicroWebSrv2._modules :
            raise MicroWebSrv2Exception('Module "%s" is already loaded.' % modName)
        try :
            # old
            # module   = __import__('MicroWebSrv2.mods.%s' % modName, { }, { }, [modName])
            # new
            module = __import__('src.MicroWebSrv2.mods.%s' % modName, {}, {}, [modName])
            modClass = getattr(module, modName)
            if type(modClass) is not type :
                raise Exception
            modInstance = modClass()
            MicroWebSrv2._modules[modName] = modInstance
            return modInstance
        except :
            raise MicroWebSrv2Exception('Cannot load module "%s".' % modName)

Thank You very much :)

I've pushed this : https://github.com/jczic/MicroWebSrv2/commit/fc6a6dfc5c383bcf7320f74d7430903ac9b4db6a
Do you can to try it please?

Nice!
I tried it, It works success.
Thank you very much :)

👍


Create form for period

Right now you cannot add periods to sections.

Can periods be a part of the section form since they arent their own resource? I think this would be more convenient than having a separate form too.

That's what I was thinking, I have no idea how to go about it though

@kburk1997 treat periods just as another attribute of sections that is an array of hashes. e.g.
section:  {
    id: 1, name: '02', ..., periods: [
      { startTime: '800',  endtime: '850', day: 2 },
      { startTime: '800',  endtime: '850', day: 5 }
    ]
  }

@kburk1997
http://stackoverflow.com/a/33948860

Right now, there are two parts to this issue:

Create the design for the form (frontend)

Create the actual variable for storing period (backend)

I suggest splitting this issue into two issues for clarity.

Frontend issue TBD


Rebar dependency missing

The repo "https://github.com/zinid/oneup.git" appears to be missing and throws an error when attempting to make this.

@zinid Ping?

I have moved it to ProcessOne organisation. All should be fine now.


Error Making user admin.

Installed Houston into a simple Meteor app, navigated to the admin page and created an account. I'm then shown a page telling me that I'm not an admin, with a large Claim Admin button. Pushing the button has no effect.
This is what's shown in the console.
I20150929-15:40:01.989(-5)? Exception while invoking method 'houston_make_admin' ReferenceError: check is not defined
I20150929-15:40:01.989(-5)?     at [object Object].Meteor.methods.houston_make_admin (packages/houston_admin/packages/h
ouston_admin.js:347:1)
I20150929-15:40:01.989(-5)?     at maybeAuditArgumentChecks (livedata_server.js:1692:12)
I20150929-15:40:01.989(-5)?     at livedata_server.js:708:19
I20150929-15:40:01.990(-5)?     at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150929-15:40:01.990(-5)?     at livedata_server.js:706:40
I20150929-15:40:01.990(-5)?     at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150929-15:40:01.990(-5)?     at livedata_server.js:704:46
I20150929-15:40:01.990(-5)?     at tryCallTwo (C:\Users\nramaker\AppData\Local.meteor\packages\promise\0.5.0\npm\node_m
odules\meteor-promise\node_modules\promise\lib\core.js:45:5)
I20150929-15:40:01.991(-5)?     at doResolve (C:\Users\nramaker\AppData\Local.meteor\packages\promise\0.5.0\npm\node_mo
dules\meteor-promise\node_modules\promise\lib\core.js:171:13)
I20150929-15:40:01.991(-5)?     at new Promise (C:\Users\nramaker\AppData\Local.meteor\packages\promise\0.5.0\npm\node_
modules\meteor-promise\node_modules\promise\lib\core.js:65:3)
Here is my version information:
E:\udemy_meteor\faq>meteor list
aldeed:collection2    2.5.0  Automatic validation of insert and update operations on the client and server.
autopublish           1.0.4  (For prototyping only) Publish the entire database to all clients
blaze-html-templates  1.0.1  Compile HTML templates into reactive UI with Meteor Blaze
ecmascript            0.1.5  Compiler plugin that supports ES2015+ in all .js files
ejson                 1.0.7  Extended and Extensible JSON library
es5-shim              4.1.13  Shims and polyfills to improve ECMAScript 5 support
ewall:foundation      5.5.2  Foundation by ZURB - an advanced responsive web framework
houston:admin         2.0.5  A zero-config Meteor Admin
insecure              1.0.4  (For prototyping only) Allow all database writes from the client
iron:router           1.0.9  Routing specifically designed for Meteor
jquery                1.11.4  Manipulate the DOM using CSS selectors
meteor-base           1.0.1  Packages that every Meteor app needs
mobile-experience     1.0.1  Packages for a great mobile user experience
mongo                 1.1.2  Adaptor for using MongoDB and Minimongo over DDP
session               1.1.1  Session variable
standard-minifiers    1.0.1  Standard minifiers used with Meteor apps by default.
tracker               1.0.9  Dependency tracker to allow reactive callbacks

I get the same bug too. Here's my version info:
aldeed:collection2    2.5.0  Automatic validation of insert and update operations on the client and server.
autopublish           1.0.4  (For prototyping only) Publish the entire database to all clients
blaze-html-templates  1.0.1  Compile HTML templates into reactive UI with Meteor Blaze
ecmascript            0.1.4* Compiler plugin that supports ES2015+ in all .js files
ejson                 1.0.7  Extended and Extensible JSON library
es5-shim              4.1.13  Shims and polyfills to improve ECMAScript 5 support
ewall:foundation      5.5.2  Foundation by ZURB - an advanced responsive web framework
houston:admin         2.0.5  A zero-config Meteor Admin
insecure              1.0.4  (For prototyping only) Allow all database writes from the client
iron:router           1.0.9  Routing specifically designed for Meteor
jquery                1.11.4  Manipulate the DOM using CSS selectors
meteor-base           1.0.1  Packages that every Meteor app needs
mobile-experience     1.0.1  Packages for a great mobile user experience
mongo                 1.1.1* Adaptor for using MongoDB and Minimongo over DDP
session               1.1.1  Session variable
standard-minifiers    1.0.0* Standard minifiers used with Meteor apps by default.
tracker               1.0.8* Dependency tracker to allow reactive callbacks

+1 this happens on Meteor <IP_ADDRESS>

+1 this happens on Meteor <IP_ADDRESS>

+1 this happens on Meteor <IP_ADDRESS>

@nramaker Had a similar issue, I fixed it adding the check package using meteor add check

Thanks @adrianbadarau!


Add backward compatibility to secret masking for legacy output schema

A new output schema using full JSON schema was introduced and secrets previously masked using the legacy output schema are now being displayed as plain text. To prevent security related issues, add backward compatibility to secret masking. Full output schema validation will need to be migrated to the new schema.

ok. I'll update the changelog and description here.


Support command line interface

I like to use the Hyperjump's bundle functionality like this one:
https://libraries.io/npm/@skriptfabrik%2Fjson-schema-bundler
Does the library currently support the command line interface?

There isn't a CLI, but it wouldn't be hard to make one. Unfortunately, I don't have to time to work on something like that at the moment. I'd be thrilled if someone wanted to contribute a proper cli wrapper, but here's a quick and dirty example if you something urgently.
import "@hyperjump/json-schema/draft-2020-12";
import { bundle } from "@hyperjump/json-schema/bundle";

const mainSchema = process.argv[2];

const result = await bundle(mainSchema);
console.log(JSON.stringify(result, null, "  "));

Just pass the initial schema and it will send the bundled schema to stdout: node bundle-cli.js main.schema.json. This example works for file-based schemas. If you need to register schemas that use $id, you'd have to expand on the script.


help

my computer is being sussy after i downloaded free minecraft free mode

this should be fixed in version 1.15.8-9ajekljdffdncv please go to the 4,000 page blah blah and find it in section 1.15.807

stop

no


Kmeans memory not duplicated

Not sure if this is a bug or an app mistake.
In Kmeans, I have an outerloop that loads in pts.  I then have a fold which has two different stages that both read from pts.  If I set the outer parallelization of the fold to 2, I would expect pts to have 4 duplicates, since there are two places where it is read and these get duplicated x2.  There are only 2 duplicates though and both are reading from it.  Is this correct?  It crashes right now in MaxJ because I can't connect two sets of addresses to pts unless if I know the addresses will always be the same.

Fixed in most recent commit. Duplication of each instance also has to be checked, per our discussion yesterday.


add middleware on the fly

is there a possibility to add a middleware while dispatching the queue?
a common scenario like laravel did, is:
bind middleware to a specific route and dispatch this middleware if the route gets used.
the problem is, that the router process is a middleware too. i only get the route specific middleware after resolving the route. and therefore i am on the dispatched queue.

You can use a dispatcher instance as the router handler. This is an example of integration of fast-route using middlewares/fast-route and middlewares/request-handler
$router = FastRoute\simpleDispatcher(function (FastRoute\RouteCollector $r) {
    $r->addRoute('GET', '/', new Dispatcher([
            'middleware1',
            'middleware2',
            'HomeHandler'
        ]);
    );

    $r->addRoute('GET', '/about', new Dispatcher([
            'middleware3',
            'middleware4',
            'AboutHandler'
        ]);
    );
});

$dispatcher = new Dispatcher([
    new Middlewares\FastRoute($router),
    new Middlewares\RequestHandler()
]);

ok, this is simple because you bind a specific route to one handler / controller
but whats  with Zend Routing you can bind n:n with e.g. https://framework.zend.com/manual/2.1/en/modules/zend.mvc.routing.html#zend-mvc-router-http-segment
i came up with somethink like this:
$middleware = [
    \twentytwo\middlewares\Route::class,
    function ($request, $next) {
        /** @var $router Router */
        $router = $DI->get(Router::class);
        /** @var Dispatcher $dispatcher */
        $dispatcher = $DI->get('dispatcher');
        $routeMiddleware = $router->getMatchedRoute()->getMiddleware();

        if(count($routeMiddleware) > 0){
            $nestedMiddleware = new Dispatcher($routeMiddleware, self::$DI);

            $dispatcher->addMiddleware($nestedMiddleware);
        }
        $response = $next->handle($request);
        return $response;

    },
    ...
    ...
    \twentytwo\middlewares\Renderer::class
];

$this->dispatcher = new Dispatcher($middleware, $container);
$DI->set('dispatcher', $this->dispatcher);

and a modification of your Dispatcher
/**
 * Class Dispatcher
 */
class Dispatcher implements MiddlewareInterface, RequestHandlerInterface
{
    ....
    ....

    /**
     * addMiddleware
     *
     * @param Dispatcher $nestedMiddleware
     */
    public function addMiddleware(Dispatcher $nestedMiddleware) {
        $i = key($this->middleware);

        array_splice($this->middleware, $i + 1, 0, [$nestedMiddleware]);

        while(key($this->middleware) < ($i)) {
            next($this->middleware);
        }
    }
}

i dont know if this is too hacky... what do you think? is it worth of implementing it?

Ok, so you want to add a middleware if some conditions are match. This can be done using an array with one or more conditions and the middleware to add if all conditions are true. For example:
$middlewares = [
    \twentytwo\middlewares\Route::class,
    [
        function ($request) {
            return conditionIsTrue($request);
        },
        \twentytwo\middlewares\Conditional::class
    ],
    \twentytwo\middlewares\Renderer::class
];

Here's more info: https://github.com/oscarotero/middleland#matchers

But how do i get the middlewares from $routeMiddleware = $router->getMatchedRoute()->getMiddleware(); into the array after the closure?
function ($request) {
            return conditionIsTrue($request);
        },
        ---> \twentytwo\middlewares\Conditional::class <---

Ok, now I think to understand what do you want to do.
Instead:
if(count($routeMiddleware) > 0){
    $nestedMiddleware = new Dispatcher($routeMiddleware, self::$DI);

    $dispatcher->addMiddleware($nestedMiddleware);
}

You can do simply:
if(count($routeMiddleware) > 0){
    $nestedMiddleware = new Dispatcher($routeMiddleware, self::$DI);
    return $nestedMiddleware->process($request, $next);
}

Due the dispatcher implements also the middlewareInterface, you can execute it directly instead merge it with the outer middleware.

yep but as i understand (please correct me if i am wrong).
with your approach the middleware queue is inside the main queue and the nested queue have to response and than the main queue goes ahead.
with my approach the nested queue sit inside the main queue
here is a picture:
R means the point when the middleware respond e.g.
public function process(ServerRequestInterface $request, RequestHandlerInterface $next): ResponseInterface {
        return new Response();
    }

your approach
my approach

Nope, my approach works also as 2 (or should be).

works!
very nice! thank you!


Images for training

Could you share the sampled images for Moe training, i.e. the images for Stage II SViT-157k, LVIS-220k  LRV-331k, MIMIC-IT-256k

here to download.
We have packaged the data for downloading.

Hi! Thanks for preparing and open-sourcing alll of these datasets. I noticed that you use the LA images in MIMIC-IT. May I know wether you applied in-context tuning when training the model or the LA images were just used in ordinary QA format?


Vue example one - the hot reload does not work

[Thanks for example, but the hot reload does not work]

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

ID: c924f1c1-823e-3e29-bf09-405fc4c6bbb8
Version Independent ID: 585c2426-5f9b-8499-8eda-0e56bd64c93c
Content: Create an ASP.NET Core app with Vue - Visual Studio (Windows)
Content Source: docs/javascript/tutorial-asp-net-core-with-vue.md
Product: visual-studio-windows
Technology: vs-javascript
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@trongphan -- thank you for your feedback.  Please clarify the expected and observed behavior on your machine.  Meanwhile, consider these resources:

Visual Studio on Microsoft Q&A
Visual Studio MSDN Forum
Stack Overflow
Reddit


Combined PR

✅ This PR was created by the Combine PRs action by combining the following PRs:
#111 Bump aws-actions/configure-aws-credentials from 2 to 3
#109 Bump gitpython from 3.1.31 to 3.1.32
#107 Bump selenium from 4.5.0 to 4.11.2
#83 Bump bandit from 1.7.4 to 1.7.5

Cancelled in favour of doing the dependabot merges one at a time


TypeError: 'SelfWrapper' object is not callable

I'm newbie to python and sh, I meet a problem when using sh. It's very kind of you if you could help me.
I want to use the _cwd to set the current working directory of a new shell. But I got the below error:
[root@hce2 kernel]# python3
Python 3.9.9 (main, Feb  9 2022, 09:00:41)
[GCC 10.3.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sh
>>> sh(_cwd="/root/")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'SelfWrapper' object is not callable

Is there anything wrong? Or I just misunderstand the sh(_cwd)?
Many thanks in advace.

Since version 2.0 this syntax has been deprecated. Instead, use the sh.bake() method. See https://github.com/amoffat/sh/blob/develop/MIGRATION.md#removed-execution-contexts--default-arguments

That works for me. Many thanks for your reply!

@MiaoheLin I'm trying the workaround and I see this:

not sure what I'm doing wrong


AttributeError: 'str' object has no attribute 'X'

GP-NARX  model
Hi I am using the narx model and the following error is thrown when I try to propose the model.
Traceback (most recent call last):
  File "/home/efkag/Desktop/BTBSimulator/SimulatorPackage/Simulator.py", line 163, in <module>
    model = pf.GPNARX(data=data_arr, ar=2, kernel='RQ', integ=4, target=[0, 1])
  File "/usr/local/lib/python3.5/dist-packages/pyflux/gpnarx/gpnarx.py", line 84, in __init__
    self.kernel.X = self.X().T
AttributeError: 'str' object has no attribute 'X'

I am using Python 3.5.
I tried changing the input from NumPy to Pandas Data Frame and changing the type of the kernel but nothing seems to work.
The IDE identifies the problem to be in line 84 in the library file gpnarx.py.

Please help I don't know how to fix this.

Hi - the short answer on this is that the GP part of the package was never really finished, so I wouldn't recommend using it. Should give PyMC3 a go for this -> https://github.com/pymc-devs/pymc3.
Thanks! Ross

The problem was that I was passing in a String as shown in this part of the documentation
http://www.pyflux.com/docs/gpnar.html#fit
but the parameter requires a kernel object like so:
model = pf.GPNARX(data=data, ar=4, kernel=pf.OrnsteinUhlenbeck(), integ=4, target=['Sl', 'Sr'])

Do you still recommend  to not use the NARX api?
I am only interested in the NARX model and not the GP part.
Does the GP part afffect the NARX?
If yes is there another NARX api I can use?
Thanks in advance.

The NARX part is essentially twofold : creating lagged features (AR) which you can plug into any standard regression models, and the non-linear part (which again, is a choice of an algorithm which is not linear regression). You can do this with scikit-learn; alternatively if you want to stay in the probabilistic space, then I'd recommend PyMC3!

So to understand you are saying that I could train an MLP in scikit by setting up the input and output features to represent the lag that a NARX network uses.
Then to run it in a closed loop ,a.k.a predict the outputs for given inputs, I would have to predict the output for an input and then use that output as the lag for my next input prediction.
Is that right?

Yes that sounds like the right approach! You may not have to use an MLP either, can use any non-linear regression algorithm (e.g. RF, SVM, etc).


Do you have any plans to support vue3?

You should check out https://github.com/serebrov/emoji-mart-vue. It's a maintained fork of this project and has Vue 3 support.


A convenient way to clip children to their parent's content without pixel overflow errors.

Use case
Animations are key to fluid UI, and flutter heavily endorses that. However, when it comes to revealing and hiding elements, pixel overflow often comes in the way.
The current method of ignoring pixel overflow is to wrap your widget in a Wrap or an Expanded widget. Both of those are far less than ideal for many cases.
This pixel overflow widget would simply resize itself to its children's size and would clip inside its parent's constraint box but ignore pixel overflow warnings. Alternatively, it could be a Container feature where it ignores its children's sizes and just clips them.
Now you might argue that this is exactly what ClipRect is for, but that takes a CustomClipper which is VERY unnecessary when you just want your child to clip inside its parent. This also brings the argument of the developer being lazy, but the whole purpose of Flutter is convenience, hence why we have a ton of intrinsicly animating widgets and even a widget that lets you animate any value without an external Animator (TweenAnimationBuilder).
This, in fact, could be a general feature for a lot of widgets like Container, SizedBox, BoxFit, etc...
EDIT: Furthermore, what I could dig up on ClipRect means that: no, ClipRect does NOT solve this. ClipRect clips widgets that are translated or offet using widgets like Transform.translate and such. This is not the solution for this. This clips all out of bounds widgets with respect to their parents. (specifically if you dont provide a custom clipper)
Here is a gif of a container clipping its children properly.
This is the code for the play and edit button that slide up without triggering any pixel overflow warnings even though they are outside the Container's constraints:
                                                  Expanded(
                                                    child: Wrap(
                                                      children: <Widget>[
                                                        Column(
                                                          mainAxisAlignment: MainAxisAlignment.end,
                                                          crossAxisAlignment: CrossAxisAlignment.start,
                                                          children: <Widget>[
                                                            if (widget.slideUpWidgets != null)
                                                              AnimatedPadding(
                                                                duration: const Duration(milliseconds: 400),
                                                                curve: Curves.easeOutQuart,
                                                                padding: EdgeInsets.only(bottom: expanded ? 20 : 300),
                                                              ),
                                                            if (widget.slideUpWidgets != null) widget.slideUpWidgets(context),
                                                          ],
                                                        ),
                                                      ],
                                                    ),
                                                  )

In the above gif, you are looking at an AnimatedPadding that shoves the play and edit button downwards (the padding is above them) and hides them by having the Container clip them away (supported by Expanded and Wrap). When the tile is tapped on and it expands the container, the Padding's EdgeInset goes to 0, allowing the buttons to animate upwards.
And here is a gif of a Playlist tile with pixel overflow that I could NOT get to work with neither Wrap nor Expanded (expanded specifically clips the Column of tracks properly but because the big bottom play button and edit button are both wrapped in an Expanded stack like the above code, the Expandeds fight for flex behavior. Any other combination of widgets like Wrap alone or Container or Column alone cause a pixel overflow error).
(furthermore, you can see my ditch effort to set a fixed height with a Container here, no dice.)
                                                    Expanded(
                                                      child: Container(
                                                          height: tracks.length * 32.0, child: Column(children: tracks)),
                                                    ),

Screenshot when I wrap that Container in a Wrap (with the Expanded above it)

Proposal
Either a seperate Widget that is essentially a CustomClipper that clips its children to its size and shape (borderRadius included) or an augment to Container and other-such widgets that simply IGNORES pixel overflow and directly clips their children inside of them. or a flag to enable in those widgets which enables a built-in Clipper that clips its children (borderRadius & boxShape supported and all, (so BoxDecoration support I assume)).
This, in my opinion, is a crucial feature Flutter is missing that animators require for basic dynamic fluid control.
My UI is currently an absolute mess of Wraps and Expandeds which I believe is unacceptable.
EDIT: I would like to add the following information:

ListView with NeverScrollable physics and SingleChildScrollView are not good solutions, they're work-arounds just like Wrap.
I got my playlist tile to work like I wanted it to work after a ton of tinkering, trying, and failing. It no longer overflows and works properly but using the work-arounds mentioned in this issue: https://gist.github.com/5bec2fefa10e383dd2ab38200afe24a6
I'm not sure if this is a bug or not, but I'm including it here because it is somewhat relevant, TextFields always overflow when they are out of bounds from the screen view. So you can't hide it outside the field of view of the screen. It throws a renderflex overflowed by x pixels error.

Seconding this - I'd consider dealing with to be a major pain point r/n.
My thinking on this particular issue is to:

Make Wrap, etc. overflow behaviour consistent
Add an overflow argument to any widget that manages it's own overflow (the flex widgets, etc).
Add an Overflow.warn option and make it the default for said argument
Apply the overflow/overflow warn concept more consistently and prefer it to other attempts at layout guidance (#48134)


Add Attachment API object support

Looks good to me! Just resolve the conflicts and I'll happily merge


Code style names collision

Structures with forward declarations (struct ke_interrupt_handler) may collide with other symbols,
Proposed solution:

change code style from

typedef struct type_name { } type_name _t;

to more predictable
typedef struct _TYPE_NAME { } TYPE_NAME;

other rules still apply
function names and struct members changes to PascalCase
system types are UPPER_CASE named
macro constants are UPPER_CASE too, but there is no collision with types
architecture related types and functions use PascalCase for functions and UPPER_CASE for types too
exception are intrinsics that maps 1:1 to assembly instructions. For them, only architecture name prefix applies

__forceinline __isa_xsave(void* pointer, uint64_t mask);
__forceinline __isa_xsave64(void* pointer, uint64_t mask);
typedef struct _ISA_FXSAVE_AREA { } ISA_FXSAVE_AREA;

Gosh, new one has similar problems.. I must think about how to create unified code style for this..

Reverting changes. New style guideline commited


Add option to cache results?

--cache=dir/cache: 'dir'
Save result of optimization by src digest + options digest

+1

Well, I believe you would need: src image digest + options digest + binaries digest to make sure upgrading binaries triggers cache eviction.

@gpakosz Using binaries digest depends on the assumption about the purpose of cache: without binaries digest, cache will be an efficient time saver and with binaries digest it may become much less efficient, though will probably save few or more bytes from time to time.

@toy well it's a matter of reproducibility I would say: an optimize image is the product of source image + optimizers versions + options. I would argue binaries deployed change rarely balancing your "much less efficient" point of view.

@gpakosz It will be often if binaries will be updated regularly — check https://github.com/toy/image_optim_pack/releases. Also cache can be removed manually. And caching can have an option to switch on/off binaries digest.

An option to cache upon binaries digest is indeed a good idea


Rerun failed tests

A very handy feature when running phpunit tests in PhpStorm is "rerun failed tests". If you have a large test suite and 1974 out of 2000 pass, it's very handy to be able to automatically rerun the 26 failing tests without having to go through the entire suite.
It doesn't look like the plugin supports this yet. How hard would this be to implement? I have no experience with PhpStorm plugins, but I'd be happy to help if someone could point me in the right direction.

Hi, yes this would indeed be an awesome feature.
I haven't tried implementing it myself, but it looks like you would have to overwrite PestRunConfiguration::createRerunAction
and return an implementation of AbstractRerunFailedTestsAction, which would have the logic needed for rerunning tests.
For running the plugin locally, use the following gradle task runIde.

New discovery for this one.
The way it finds out which tests are failing is from the output of running pest, however the teamcity format is wrong in pest as the locationHint says
##teamcity[testStarted name='it lives twice' locationHint='php_qn:///Users/uruloke/Code/dummy-project/vendor/pestphp/pest/src/Factories/TestCaseFactory.php(204) : eval()|'d code::\P\Tests\Unit\ExampleTest::it lives twice' flowId='83891']

Which is not something we can use.
For fixing this we have to write a custom teamcity printer and add it to pest and then we can implement a LocationProvider that understands our format for locationHint

Thank you for looking into this!

Alright, so this is actually working now, however it requires using the pest branch which adds the new TeamCity format (still waiting to be merged) and the pr of the plugin which adds rerun support (also waiting to be merged).

Amazing! Thanks so much for tackling this and sorry I wasn't able to help.

Re-opening this one as we are still waiting for https://github.com/pestphp/pest/issues/140 to be merged.

@adamthehutt  Could you please update your PestPHP to ^0.3.4 and report back if this works now. It should work 👍

I'm getting a fatal IDE error:
java.util.NoSuchElementException: Collection contains no element matching the predicate.
	at com.pestphp.pest.configuration.PestLocationProvider.getLocation(PestLocationProvider.kt:79)
	at com.pestphp.pest.configuration.PestLocationProvider.findElement(PestLocationProvider.kt:60)
	at com.pestphp.pest.configuration.PestLocationProvider.getLocation(PestLocationProvider.kt:31)
	at com.intellij.execution.testframework.sm.runner.SMTestLocator.getLocation(SMTestLocator.java:50)
	at com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil$CombinedTestLocator.getLocation(SMTestRunnerConnectionUtil.java:243)
	at com.intellij.execution.testframework.sm.runner.SMTestProxy.lambda$computeLocation$2(SMTestProxy.java:293)
	at com.intellij.openapi.project.DumbService.computeWithAlternativeResolveEnabled(DumbService.java:353)
	at com.intellij.execution.testframework.sm.runner.SMTestProxy.computeLocation(SMTestProxy.java:292)
	at com.intellij.execution.testframework.sm.runner.SMTestProxy.lambda$getLocation$0(SMTestProxy.java:275)
	at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
	at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
	at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
	at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
	at com.intellij.execution.testframework.sm.runner.SMTestProxy.getLocation(SMTestProxy.java:279)
	at com.pestphp.pest.configuration.PestRerunFailedTestsAction$getRunProfile$1.getState(PestRerunFailedTestsAction.kt:44)
	at com.intellij.execution.runners.ExecutionEnvironment.getState(ExecutionEnvironment.java:207)
	at com.intellij.execution.runners.DefaultRunProgramRunner.execute(DefaultRunProgramRunner.kt:17)
	at com.intellij.execution.testframework.actions.AbstractRerunFailedTestsAction.performAction(AbstractRerunFailedTestsAction.java:201)
	at com.intellij.execution.testframework.actions.AbstractRerunFailedTestsAction.execute(AbstractRerunFailedTestsAction.java:150)
	at com.intellij.execution.testframework.actions.AbstractRerunFailedTestsAction.actionPerformed(AbstractRerunFailedTestsAction.java:137)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:282)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:276)
	at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:182)
	at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:155)
	at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:439)
	at java.desktop/java.awt.Component.processEvent(Component.java:6419)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:838)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

@adamthehutt Thanks for testing it out, having some troubles replicating. Could you share your test file?

Ah nvm. I see the error. Small stupid mistake 👍

I released a new alpha version, could you test if it fixes it for you https://github.com/pestphp/pest-intellij/releases/tag/v0.4.0-alpha.6 ?

@olivernybroe It no longer errors, but now it re-runs all the tests from the last run, not just the failing ones.

@adamthehutt Hmm interesting. I'll see if I can reproduce. Thanks for testing out.
Will return when I have a new version for testing out.

I haven't been able to reproduce.
Could you share some more information?
Could be nice with some test where this is happening for you.

Ah do you have phpunit tests also in your testsuite?
I just tested it out with a failing phpunit test and was not able to rerun that one alone.

Yes, I do have a mix of legacy phpunit tests and pest tests. When I run only phpunit tests, that test runner is able to do this correctly (re-run only the failing tests). But when I use the pest runner, clicking that button reruns all tests from the previous run. This is the case whether the run included phpunit and pest tests or just pest tests.
Here's a simple example:

Just thinking about what might be different between your setup and mine... Any chance the settings in phpunit.xml could influence this?

Hmm do you have the newest version of pest in your composer? We had to do some changes in the php code for this to work, so the newest pest version is required, not only the newest plugin version.
In my example In just have the default Laravel

Composer shows pest 0.3.5, which I think is the newest version.
It's true that I'm doing this in a mature application with a ton of tests, code, etc. However, I just tested again in a very bare-bones project (not even a full laravel app, just a few files), and the same thing happens. :(

@adamthehutt Ah, just looked closely at your test case, I think I see the issue.
It cannot select the test because they are in a namespace. Can you make a quick tests to see if it works for you without the namespace, meanwhile I'll work on a fix for making it work with namespaces 👍 (It broke because of some speed optimisations we did for finding pest tests)

Third times the charm. Could you test out with this version?
https://github.com/pestphp/pest-intellij/releases/tag/v0.4.0-alpha.7

@olivernybroe We're getting closer! Still doesn't work, but I think I can give you some useful feedback. A few bits of hopefully helpful information:

When my tests use it(), the "rerun" feature never works. It always reruns every test from the prior run. However, when they use test(), it does rerun a subset of the previous run.

When a test() test fails, if I click the rerun failed tests button, it reruns the test that failed, but it is also picking up other tests that weren't even run in the latest attempt. My best guess is that this is a regex issue or something along those lines. Here's what's happening:

FileA:
test ('passes', function () {
    expect(true)->toBeTrue();
});

test ('fails', function () {
    expect(false)->toBeTrue();
});

I run pest for FileA, and the predictable happens - one pass and one fail. Then I click rerun failed tests, and the following strange behavior occurs.
It reruns the failed test, but it also runs a test from FileB that is totally unrelated (not even in the same directory and not even a Pest test!):
FileB (different directory, not included in original run)
class BlahBlahTest extends TestCase
{
    /** @test **/
    public function does_something_something_if_something_fails()
    {
        ...
    }
}

The reason I'm suggesting it could be a regex issue is that the end of this test's method name is "fails", which is the same as the name of the failing Pest test.

@adamthehutt Thanks for the detailed information. This makes is soo much easier for me to try and solve.
I'll make the regex a lot tighter, realised that the regex I use for rerunning and for running a single test was not the same 🤦
Will write when I have a patch ready with fixes for this.

Alright :) Sorry to keep bugging you with testing it out, but could you see if this version fixes it?
I have improved the regex, so it is tightly bound and found some code that should fix the it problem also.
pest-intellij-0.4.1-alpha.1.zip

Hey, sorry for the slow reply @olivernybroe. I'm honestly not sure how to install the plugin from a zip file instead of the marketplace. Will the update show up there or do you need me to test first?

@adamthehutt this time I'll wait publishing it until we know it works :) it will prompt you to update like normal (with marketplace) even when you install an update manually.
The way you install manually is
Preferences > Plugins > ⚙ > Install plugin from disk...
And then target the zip file, don't unpack it.

Victory! As far as I can tell, this solves the problem and it's working correctly now. Thanks so much for sticking with this one; it's a really useful feature.

@adamthehutt Awesome! Thanks for taking the time to test it out for me :)
I'll create the pr and make a new release soon with it! Then we just need rerunning support for phpunit tests also


119: Extract var for golang

#40
Needs create_constant in code generation.  Code generation also needs refactoring, so just follow what it does currently, and I'll refactor later ;)

I can take a look into this.

I think this can be closed.


Incompatibility with current Angular Version

Hi,
trying to Update to Angular 9, getting this:
Package "angularx-qrcode" has an incompatible peer dependency to "@angular/core" (requires ">= 5.0.0 < 9.1.0" (extended), would install "9.1.2").
Package "angularx-qrcode" has an incompatible peer dependency to "@angular/common" (requires ">= 5.0.0 < 9.1.0" (extended), would install "9.1.2").

Duplicate

Fixed.


No support for personal.signMessage?

Hi all,
I'm wondering if there's a reason why signPersonalMessage is not implemented -- would that be something for which you would accept a pull request?

Hello @eordano
It was our internal library and we didn't need it. But we are planing bigger overhaul in next two weeks and probably we will implement this functionality.

Did you guys ever do this?
We use eth_signTypedData method

Not yet but its somewhere in our plans for future.

okay EIP-712 is ratified now


Build failure: prl-tools (Parellel Tools)

Steps To Reproduce
Steps to reproduce the behavior:

Update system flake (unstable branch)
Ru nixswitch-rebuild
build prl-tools on aarch64 (M2 Mac VM with NixOS)

Build log
warning: updating lock file '/home/hausi/.config/system/nixos-gdata/flake.lock':
• Updated input 'nur':
'github:nix-community/NUR/18153db391b7a6cf5c496984f74f78875a382ee3?narHash=sha256-XCoRiukCZ7Tvr5KhuWOGX88XblaHQTmszOyCGNfxD0Y%3D' (2024-11-21)
→ 'github:nix-community/NUR/5e67f4745975ab2e5111ca7ff6c3ae02e9a555b8?narHash=sha256-l4YncGn8Ee2v8DW3WqtKI4qHeGk7aUc3KoAPvwunC%2Bo%3D' (2024-11-21)
warning: Git tree '/home/hausi/.config/system' is dirty
warning: Git tree '/home/hausi/.config/system' is dirty
building the system configuration...
warning: Git tree '/home/hausi/.config/system' is dirty
error: builder for '/nix/store/5wn0n7c4nsdkmabkvvlqj6v2csk05yrd-prl-tools-20.1.1-55740.drv' failed with exit code 2;
last 25 log lines:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:819:5: warning: no previous prototype for 'prlfs_readpage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
>   819 | int prlfs_readpage(struct file *file, struct page *page) {
>       |     ^~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:856:5: warning: no previous prototype for 'prlfs_writepage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
>   856 | int prlfs_writepage(struct page *page, struct writeback_control *wbc) {
>       |     ^~~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: In function 'prlfs_writepage':
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:875:17: error: implicit declaration of function 'SetPageError'; did you mean 'SetPageDirty'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Werror=implicit-function-declaration8;;]
>   875 |                 SetPageError(page);
>       |                 ^~~~~~~~~~~~
>       |                 SetPageDirty
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: error: initialization of 'int (*)(struct file *, struct address_space *, loff_t,  unsigned int,  unsigned int,  struct folio *, void *)' {aka 'int (*)(struct file *, struct address_space *, long long int,  unsigned int,  unsigned int,  struct folio *, void *)'} from incompatible pointer type 'int (*)(struct file *, struct address_space *, loff_t,  unsigned int,  unsigned int,  struct page *, void *)' {aka 'int (*)(struct file *, struct address_space *, long long int,  unsigned int,  unsigned int,  struct page *, void *)'} [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wincompatible-pointer-types-Werror=incompatible-pointer-types8;;]
>   930 |         .write_end      = prlfs_write_end,
>       |                           ^~~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: note: (near initialization for 'prlfs_aops.write_end')
> cc1: some warnings being treated as errors
> make[4]: *** [/nix/store/lr0ikljbkdiz846zpy11n5fdavy9dsmc-linux-6.12-dev/lib/modules/6.12.0/source/scripts/Makefile.build:229: /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o] Error 1
> make[3]: *** [/nix/store/lr0ikljbkdiz846zpy11n5fdavy9dsmc-linux-6.12-dev/lib/modules/6.12.0/source/Makefile:1936: /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
> make[2]: *** [/nix/store/lr0ikljbkdiz846zpy11n5fdavy9dsmc-linux-6.12-dev/lib/modules/6.12.0/source/Makefile:224: __sub-make] Error 2
> make[2]: Leaving directory '/nix/store/lr0ikljbkdiz846zpy11n5fdavy9dsmc-linux-6.12-dev/lib/modules/6.12.0/build'
> make[1]: *** [Makefile:36: all] Error 2
> make[1]: Leaving directory '/build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
> make: *** [Makefile.kmods:70: compile] Error 2
For full logs, run 'nix log /nix/store/5wn0n7c4nsdkmabkvvlqj6v2csk05yrd-prl-tools-20.1.1-55740.drv'.
error: 1 dependencies of derivation '/nix/store/jj5xcnpyl0isb4yyxzyh1m2ix27adxqv-hwdb.bin.drv' failed to build
error: 1 dependencies of derivation '/nix/store/1c9wcpfyznrwwm8qap0vrba5mg73h8gq-linux-6.12-modules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/b2555q9d4n1356vx8ddzlb399ljyik61-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/9f5daylbnzg3jjr11m580vbmds0m4aca-udev-rules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/6hn1a8awsjbdb8as2n24b8g05ap5vmam-unit-prlcc.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/z0sz1sf7bnn5iwx8y2b9wsp2abr6ixin-unit-prlcp.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/c58v73493ba842n2iv99ai8y743kp2dn-unit-prldnd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/idgbkqgkwlg7bbklavxcdh141vn449rp-unit-prlsga.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/rrqimh2vvd8ih9la8pb047wngdpmmkmp-unit-prlshprint.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2qaygjy5ypg28w9fxr4nh27qdshg0gx7-unit-prlshprof.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/32bddb048d2b98wcbzi66rwm7c5xn2xb-unit-prltoolsd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/k1wkk51a5d4ix1h6basbrpm5hqgc1p51-nixos-system-nixos-25.05.20241119.23e89b7.drv' failed to build
``

## Additional context
Problem is on a ARM64 Nixos VM on a M2 Macbook with Parallels as the Hypervisor.

## Metadata

<!-- Please insert the output of running `nix-shell -p nix-info --run "nix-info -m"` below this line -->

```bash
these 7 paths will be fetched (0.69 MiB download, 10.17 MiB unpacked):
/nix/store/anmwlb2bqlxh43gk5z3jf07v5z2jfgii-binutils-wrapper-2.43.1
/nix/store/nl2xzjmmz76kbicw2h7wkkxk8bx8n1dq-file-5.45
/nix/store/g45nm13bwh1jxypl33wxi016yjzbidkp-gcc-wrapper-13.3.0
/nix/store/l6mcqhhm85f13qzh9nj7jlbr3k83iyqc-gnu-config-2024-01-01
/nix/store/sjxx419av3k62z1a0fynqfywca65qlmx-gnumake-4.4.1
/nix/store/jvq7h4nv8fvi0l2s7a9b6dm00fcy8sv6-stdenv-linux
/nix/store/j8vpq5m2z9mnwy10lhsg210s0x5rvh4y-update-autotools-gnu-config-scripts-hook
copying path '/nix/store/l6mcqhhm85f13qzh9nj7jlbr3k83iyqc-gnu-config-2024-01-01' from 'https://cache.nixos.org'...
copying path '/nix/store/nl2xzjmmz76kbicw2h7wkkxk8bx8n1dq-file-5.45' from 'https://cache.nixos.org'...
copying path '/nix/store/sjxx419av3k62z1a0fynqfywca65qlmx-gnumake-4.4.1' from 'https://cache.nixos.org'...
copying path '/nix/store/anmwlb2bqlxh43gk5z3jf07v5z2jfgii-binutils-wrapper-2.43.1' from 'https://cache.nixos.org'...
copying path '/nix/store/j8vpq5m2z9mnwy10lhsg210s0x5rvh4y-update-autotools-gnu-config-scripts-hook' from 'https://cache.nixos.org'...
copying path '/nix/store/g45nm13bwh1jxypl33wxi016yjzbidkp-gcc-wrapper-13.3.0' from 'https://cache.nixos.org'...
copying path '/nix/store/jvq7h4nv8fvi0l2s7a9b6dm00fcy8sv6-stdenv-linux' from 'https://cache.nixos.org'...
- system: `"aarch64-linux"`
- host os: `Linux 6.11.7, NixOS, 24.11 (Vicuna), 24.11.20241109.76612b1`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.24.10`
- nixpkgs: `/nix/store/0sxsfzswhjck7f4sbsvznz285s4i7y64-source`

Notify maintainers

@codgician
@Artturin
Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

This seems to be an issue that needs to be fixed upstream. You may try LTS kernel version at the moment for mitigation.

I see. Thanks for the fast response. I'll try an LTS kernel.

I downgraded to LTS 6.6 kernel and now it works. I guess that is a feasible workaround. Should I close the issue?

I close the issue, as the bug has to be fixed upstream and not here in nixpkgs. For a workaround, see the comment above.


steam: steam play doesn't work

Issue description
Not entirely sure why, and I don't have much information about it.
My best guess is there's some missing dependency in the steam runtime nix puts together.
Steps to reproduce
Install Steam
Attempt to play a steam play game.
Technical details

system: "x86_64-linux"
host os: Linux 4.18.5, NixOS, 18.09pre150708.083220867c7 (Jellyfish)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.0.4
channels(root): "nixos, nixpkgs"
channels(okina): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

@dywedir Yes, I believe so.
Although, I thought it was the opposite, and python2 was what needed to be added.

hmm just tested the witness, seemed to work fine (I have #45855 applied to be sure)

I also have #45030 applied because I believe they're required?

Dupe: #45492 though the info in both issues is different

Those patches have now been merged, and steam play appears to work decently out-of-the-box for me. I think this issue can be closed.


Very sorry

I'm very sorry because I don't know how to reach the project manager and find none emails.
This is not an issue but a question  I don't understand the "parsedXml" part ?  what it is? where does it come from ??   I think this project can help me to load x3d format 3d models and show it in Three.js. Do I wrong?
I converted an ".obj" model to ".x3d" and tried to load it use your example code but failed nothing shows  up. I'm very confused please help !

If you have an .obj model I think it is easier if you use the obj loader:
https://threejs.org/docs/#examples/loaders/OBJLoader

Do you know pop-buffer ? x3dom can load .x3d format 3d model step by step and looks great.
I think maybe there is a way to load .x3d model for Threejs and based on pop-buffer tech
https://x3dom.org/pop/


Implement slotted input feature

Child of #273
The slotted input should work with both text-field and password-field. Slotted textarea should work with text-area.

Allow user to slot the input without having to move any attributes to it (only set type and slot)

Refactor test suites properly to test against shadow / slotted input

Refactor observers for propagating required, invalid etc (make them DRY)

Document that only subset of supported input properties is propagated to the slotted input

Emphasise using native input properties, like placeholder (it does not make sense to propagate them). Follow the same idea as we previously did for renderers, to replace all the demos eventually

Allow adding the input lazily. It's not guaranteed that the <input> is included inside the <vaadin-text-field> when the text field gets connected/initialized.

Prototype at #274

How exactly do we make use of this from our Java code?  I want to utilize this phone example:
        <vaadin-text-field label="Phone">
          <input type="tel" slot="input" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" placeholder="Format:<PHONE_NUMBER>">
        </vaadin-text-field>

but from within my Java code.  Is that possible?


Follow up with Apereo regarding TinyMCE

Send out a note to Apereo that we are planning to remove the embedded TinyMCE, then use the node.js version.

Note sent out to Apereo.

It's fairly clear that the embedded version is not OK, and needs to be removed and replaced with the TinyMCE version in node.js.
Since TinyMCE is LGPL, but it's pulled in as a dependency and no TinyMCE authored code is stored in the openEQUELLA repos, we should be safe.
However, I believe building a binary release of openEQUELLA that bundles TinyMCE from node.js and then putting that release on the github releases page or uploading as a docker image to the Apereo org's github account would not be appropriate.

Opened #1219 and #1220 .

@cbeach47 with #1219 and #1220 being tracked does anything remain for this item? Can it be closed?


Update organize-imports to 0.5.0

Updates com.github.liancheng:organize-imports from 0.3.1-RC3 to 0.5.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.liancheng", artifactId = "organize-imports" } ]

labels: library-update, semver-minor

Superseded by #64.


gulp fails

steve@steve-FX6800-09h:~/javascript/service_worker/ver1/application-shell$ gulp
/home/steve/javascript/service_worker/ver1/application-shell/gulp-tasks/service-worker.js:57
  .catch(() => {
          ^
SyntaxError: Unexpected token )
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at requireDir (/home/steve/javascript/service_worker/ver1/application-shell/node_modules/require-dir/index.js:116:33)
    at Object.<anonymous> (/home/steve/javascript/service_worker/ver1/application-shell/gulpfile.js:40:23)
    at Module._compile (module.js:460:26)
steve@steve-FX6800-09h:~/javascript/service_worker/ver1/application-shell$ gulp dev
/home/steve/javascript/service_worker/ver1/application-shell/gulp-tasks/service-worker.js:57
  .catch(() => {
          ^
SyntaxError: Unexpected token )
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at requireDir (/home/steve/javascript/service_worker/ver1/application-shell/node_modules/require-dir/index.js:116:33)
    at Object.<anonymous> (/home/steve/javascript/service_worker/ver1/application-shell/gulpfile.js:40:23)
    at Module._compile (module.js:460:26)

I'm sure I'm making a mistake on my end, but I'm a js neophyte and the build process/ecosystem can be overwhelming. I thought you guys might appreciate being made aware of this error as I followed -- as far as I can tell -- the exact instruction from the Readme. That and node told me to tell you lel
npm ERR! Linux 3.13.0-63-generic
npm ERR! argv "/home/steve/.nvm/versions/node/v0.12.7/bin/node" "/home/steve/.nvm/versions/node/v0.12.7/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: `gulp`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'gulp'.
npm ERR! This is most likely a problem with the app-shell package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get their info via:
npm ERR!     npm owner ls app-shell
npm ERR! There is likely additional logging output above.

Thanks for raising the issue @slmyers.
I'm suspecting this is something to do with your node version, what are you currently using?
At the moment I'm testing on 4.2.2 and in the package.json with have a version of >=4.1.0.
Might be best to write something that checks and displays a meaningful error message if not a support version of node.

Thanks for the help.


PR moved lots of wrong cards from an archived Done list to testing

https://github.com/dlang/druntime/pull/1696

https://trello.com/c/kzl7lfqG/205-issue-16080-reg2-071-0-internal-error-backend-cgobj-c-3406-when-building-static-library
https://trello.com/c/EqS1nlVB/213-issue-16316-reg-2-071-import-deprecation-fully-qualified-name-of-imports-in-mixin-template-not-accessible
https://trello.com/c/1bH7UUEf/209-issue-15900-reg-2-071-import-deprecation-public-import-ignored-when-using-fully-qualified-name

Happens because Trello's search returns them, as they contain a link to a PR 5995 in the comment.
Apparently the "Issue 5995" search doesn't work over the API.

Ah that was simple.


git stree push: Problem with merge commits

Been using git-stree for a few weeks now with fairly good success. Mostly waiting on better collaboration support, but good enough for now.
However, this morning a collaborator commited some things that affected my subtree.
When I pulled my primary repo, I had to do a merge. Later I did a git-stree push and my collaborator's original commits pushed just fine, as did my own commits. However, it also tried to push my merge commit resulting in this error:
error: Commit 17e7f5cbe8bad6da9dafbf9b2fa16a0fef5fcfcb is a merge but no -m option was given.
fatal: cherry-pick failed

Wouldn't it be logical to ignore such merge commits?

Ok, perhaps I'm just not doing things right.
This seems to be the solution to my problems.
http://kernowsoul.com/blog/2012/06/20/4-ways-to-avoid-merge-commits-in-git/


tmux support

This program is fantastic! Thanks for creating it!
I just started experimenting with it and noticed if I remote into a tmux session which I prefer to do, images will not display. I have kitty installed on both the host and remote machines.
This works:
ssh user@somehost -t
This does not work:
ssh user@somehost -t "tmux new-session -A -s mysesh"

Hi,
Thanks for the kind words.
Only recent versions of tmux support sixel graphics (tmux>=3.4), and for this to work tmux has to be compiled with sixel support enabled. It doesn't support the kitty graphics protocol unfortunately.
It is possible to bypass tmux and send graphics commands directly to the terminal, but this is rather temperamental. You can try this by running euporie using the following command line options:
euporie-console --multiplexer-passthrough --force-graphics --graphics=kitty

(Please note that running euporie over SSH means that images may not be displayed at the correct size, as it's not always possible to detect the terminal size over SSH).
I hope that helps

Thanks for the quick response. Running the command you provided gives me a blank area where the image should be; however, if I run just the command below, I get back the graphic but it is pixelated wrong (blocky):
euporie-console --multiplexer-passthrough
Is there any way to manually set my terminal pixel size? If so, I suspect might get it working.

Can you tell if it's blocky because it's using ANSI-art style graphics, or is it using kitty graphics but just very low resolution?
Do graphics work as expected for you over SSH when you are not using tmux?

Yes, the graphics work as expected on Kitty when I use SSH (either with or without -t) without tmux. I cannot tell which graphics protocol is being used when I SSH to tmux and omit the --force-graphics parameters. To investigate further, I tried another terminal. It turns out that WezTerm works as expected with SSH to tmux, and I did not need to pass any parameters to euporie-console. Sweet!
My goal is to pass lines of code from neovim, where I can quickly edit with AI assist, to euporie-console in the most efficient means possible. I tried launching euporie-console from neovim's terminal mode, but the graphics did not work from there. I tried this with various terminals, both local and remote. This appears to be a neovim issue, not euporie. The best alternative I have so far is to use two tmux windows or panes and copy-paste, but this involves a lot of keystrokes. I haven't played around with WezTerm's multiplexing features yet. Do you have any suggestions on how to acheive this most-efficiently?,
This project looks promising: https://github.com/mrjones2014/smart-splits.nvim?tab=readme-ov-file#tmux

Hi! I have the same problem, but with notebooks. I use tmux + kitty.
Here is euporie-notebook --multiplexer-passthrough --force-graphics --graphics=kitty (in tmux):

Here is euporie-notebook with euporie config below (in tmux):

{
  "notebook": {
    "line_numbers": true,
    "tab_mode": "stack",
    "syntax_theme": "gruvbox-dark",
    "edit_mode": "vi",
    "color_scheme": "default",
    "autoinspect": true,
    "autocomplete": true,
    "autoformat": true,
    "set_cursor_shape": true,
    "expand": false,
    "wrap_cell_outputs": true,
    "enable_language_servers": true,
    "multiplexer_passthrough": true,
    "force-graphics": true,
    "graphics": "kitty",
    "show_side_bar": true,
    "show_cell_borders": true,
    "background_pattern": 4,
    "always_show_tab_bar": true
  }
}

Here is how it looks in just kitty with multiplexer_passthrough = false :

Notice also different colors for some reason. Maybe because my terminal and tmux has different themes.

Can you tell if it's blocky because it's using ANSI-art style graphics, or is it using kitty graphics but just very low resolution?

It seems that it's blocky because it's using ANSI-art. I can copy it like a text and paste. Also, if I change graphics to none, I will see the same thing.
In wezterm, terminal that supports sixel, launching notebooks in tmux with multiplexer_passthrough = false shows the images, but they are for some reason flashing (appearing and disappearing) while scrolling.
I would like to see kitty + tmux result with multiplexer passthrough working right. What I missing?
I already have set -g allow-passthrough on in my tmux conf.


Retry-After support

Boulder doesn't support this yet, so it's not urgent, but we should do this.

Implemented.


custom s-expression parser

faster s-expression parser would be nice.
Library candidates:

https://github.com/jneen/parsimmon

:+1:

streamable sexpession parser candidate?

interesting 80 liner to read and learn, but it will not work as-is for WAST because of comments, strings, and probably other symbols $ . = /

Become less important since WASM moving towards stack machine full steam ahead.

@wanderer are you still interested in faster parser?

I am thinking about a streaming parser.


Migrate Benchto to GitHub Actions

Migrate Benchto (https://github.com/prestosql/benchto/) from Travis to GHA.

Fixed in https://github.com/prestosql/benchto/pull/16


"Gender Field" help text revision for clarity

Suggestion from the NPSP community sprint:
Please revise the help text on the "Gender Field"  to make it clear that if it's not set, the gender-neutral label is used. For example, "Set this field to use gendered relationship labels, or leave it blank to use the neutral label for all relationships."
(Assigning to @jvarese for label review.)

**lurch: attach W-007284

Tracking W-007284

Resolved with the complete review of all Settings strings and page updates in spring 2016.


Merge pull request develop в main

Title "Develop to main"

Виконано

https://marrycone.github.io/homepage/


Illumina GDS (v1) Storage backend

Fixes https://github.com/umccr/htsget-rs/issues/71

@mmalenic While re-reading https://github.com/umccr/htsget-rs/pull/80, I just realised that we might need an extra requirement that I've not thought about before: having HTSGET_STORAGE_TYPE be an array instead of a single value to have multiple storage backends active concurrently. I'll now see if this breaks a lot of assumptions in our code or not...
The rationale behind this new requirement is that our htsget server should be able to resolve and dispatch response URLs irrespective of where those files actually are located and that needs access to creds from both systems: S3 and GDS.
/cc @victorskl @andrewpatto

That shouldn't be too bad to implement, it'll require some moving around in the htsget-config crate. I had thought about this a while ago while I was working on the config crate, and a new DataSource type - encapsulating a storage type and a RegexResolver - could do it. Then, the first matching DataSource that resolves the id could be used for incoming requests.
I am a fan of using config files or command line options for something like this though, because environment variables get more messy with nested types and lists.

GDS v2 equivalent is the new game, so this will be eventually EOL'd, closing without merge.

GDSv1 is scheduled to be deprecated for good.


Should I use onReady or initialize

You used Office.initialize in your example, but you recommended using Office.onReady() in the following document:
https://docs.microsoft.com/en-us/office/dev/add-ins/develop/initialize-add-in

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

ID: a59958d2-f428-9ca2-3440-a5af662386c0
Version Independent ID: dcaf0b5b-08ea-c437-130b-342a1be62a16
Content: Tutorial: Build a message compose Outlook add-in - Office Add-ins
Content Source: docs/tutorials/outlook-tutorial.md
Product: outlook
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Hi @moshikonachmias,
Thanks for pointing out this discrepancy. @samantharamon, could you please investigate?

Thanks for reporting this, @moshikonachmias. Please follow the guidance in the document you linked (Initialize your Office Add-in). We'll update the Outlook tutorial for consistency.


Refactor for Android SDK cloud integrations

https://filestack.atlassian.net/browse/FS-2024

Integrated Cloudrouter mobile flow
Setup client to handle session and next tokens
Moved cloud source constants out of FsClient
Renamed several classes to match Android SDK (FsClass not FilestackClass)
You need a FsClient to construct a FsFile now

This just makes more sense
It was needed for the scheduler change

Added rxJava scheduler config to FsClient

It passes the schedulers to every object created from it
Everywhere we use observables, we now use a consistent set of schedulers
Needed this so we could ensure every observable observes on the UI thread in Android

Disabled import order rule in the Checkstyle config because it was a useless pita

@staturecrane fixed


openblas 0.2.19

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

dup of https://github.com/conda-forge/python-spams-feedstock/pull/6, please merge

Thanks for the reminder. Done.


Widget box orientation

Fixes https://github.com/pyviz/panel/issues/500

Thanks for this @gwbischof! It's very much appreciated, however horizontal should also be settable via the constructor, so we should make it a parameter and the `_bokeh_model`` a property.
    horizontal = param.Boolean(default=False, doc="""
       Whether to lay out the widgets in a Row layout as opposed to a Column layout.""")

    @property
    def _bokeh_model(self):
        return BkRow if self.horizontal else BkColumn

A simple test that call widget_box._get_root() and does an isinstance check on the returned model would also be appreciated.

I get a bokeh error if I make horizontal a property:
'''---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~/anaconda3/envs/caproto/lib/python3.7/site-packages/IPython/core/formatters.py in call(self, obj, include, exclude)
968
969             if method is not None:
--> 970                 return method(include=include, exclude=exclude)
971             return None
972         else:
~/dama/panel/panel/viewable.py in repr_mimebundle(self, include, exclude)
270         doc = _Document()
271         comm = state._comm_manager.get_server_comm()
--> 272         model = self.get_root(doc, comm)
273         if config.embed:
274             embed_state(self, model, doc,
~/dama/panel/panel/viewable.py in get_root(self, doc, comm)
398         """
399         doc = doc or _curdoc()
--> 400         root = self._get_model(doc, comm=comm)
401         self._preprocess(root)
402         ref = root.ref['id']
~/dama/panel/panel/layout.py in _get_model(self, doc, root, parent, comm)
105         objects = self._get_objects(model, [], doc, root, comm)
106         props = dict(self._init_properties(), objects=objects)
--> 107         model.update(**self._process_param_change(props))
108         self._models[root.ref['id']] = (model, parent)
109         self._link_props(model, self._linked_props, doc, root, comm)
~/anaconda3/envs/caproto/lib/python3.7/site-packages/bokeh/core/has_props.py in update(self, **kwargs)
374         '''
375         for k,v in kwargs.items():
--> 376             setattr(self, k, v)
377
378     def update_from_json(self, json_attributes, models=None, setter=None):
~/anaconda3/envs/caproto/lib/python3.7/site-packages/bokeh/core/has_props.py in setattr(self, name, value)
286
287             raise AttributeError("unexpected attribute '%s' to %s, %s attributes are %s" %
--> 288                 (name, self.class.name, text, nice_join(matches)))
289
290     def str(self):
AttributeError: unexpected attribute 'horizontal' to Column, possible attributes are align, aspect_ratio, background, children, css_classes, disabled, height, height_policy, js_event_callbacks, js_property_callbacks, margin, max_height, max_width, min_height, min_width, name, rows, sizing_mode, spacing, subscribed_events, tags, visible, width or width_policy```

Okay, add this to the class:
    _rename = {'objects': 'children', 'horizontal': None}

Looks perfect thanks, I'll merge once tests pass. Ideally you'd be able to set horizontal and it would update existing views but I can't see any nice way to feasibly do that.

No prob!
I think panel will be a good solution for us, so I would like to keep contributing. Could you recommend some issues for me to work on?
Thanks!

I think panel will be a good solution for us, so I would like to keep contributing.

That's great to hear! Glad it's useful to you and your contributions are super welcome. I'd be happy to make you a contributor if you're interested.

Could you recommend some issues for me to work on?

Definitely, I'll go through and mark some issues with the "Good first issue tag" so you can filter on those.

Plus in general, any time you spot something confusing or missing on the website or other docs, it's super helpful if you make a PR to fix the problem.  If you have become productive and able to solve your problems with Panel, even  if you aren't an expert, you are very likely to be able to spot things that will trip up newer users and can easily address them.


Experimental N-Best results #3

I read this article https://jetbead.hatenablog.com/entry/20160119/1453139047 , and implemented.

Sorry for my late response, I had no time to respond here.
Thanks for the nice patch! I have concerns about performance degradation and memory consumption when N is large. Maybe we should limit the maximum size of N to 2 or 3, but it's just a guess so some benchmark tests will be needed.

It seems TravisCI failed because of Java 8 installation failure.
The installation part has been disabled in the master branch, can you please merge the latest master?

merged

Hi @nakagami,
again, sorry for the delay...... but I looked at the code closely.
The backward_aster() looks fine to me as an experimental feature - but I think it should not be merged into the Tokenizer class as-is, since this is incompatible with current Tokenier API.

Tokenizer#tokenize() method returns a nested list with the n_best parameter instead of a flat list or generator of tokens, this would be confusing for many users.
If the text length exceeds Tokenizer.MAX_CHUNK_SIZE, n_best parameter is silently ignored. I understand there is resource leak concern with current nBest implementation, but this implicit limitation is not intuitive.
Associated with the above point, n_best parameter isn't work with stream parameter.

I'd propose we create a new class for tracking nBest path, say NBestTokenizer, for now. Would it be possible? Once we solve the conflicts and resource leak concerns I mentioned above, we will be able to add nBest to the first-class feature for the (default) Tokenizer class.
Let me know if you have any thoughts / proposals about it.
Additionally, I think it would be really nice if the nBest feature supports dotfile option so that users can visualize the multiple paths with graphviz, though this does not limit us to proceed this issue. :slightly_smiling_face:

I hope someone's (including @mocobeta ) work.
I think I don't understand detailed implementation of janone, and I don't have enogh time to work.
And sorry, I don't have good idea that n-best ignore stream parameter ignored.

@nakagami Sure thing, the internal of Tokenizer class is the most complicated stuff, since this has been evolved through the past releases. I will try to find the way to get this in to the master for future updates.
Anyway thank you for working on this!


prevent colorsmoothing from flooding led device

1. Tell us something about your changes.
in current implementation activated color smoothing sends periodically to led device. It also sends data when no new data is available and smoothing buffer is empty.
This is wasted cpu power and can lead to unwanted effects. see issue #318
This PR changes this behaviour. The smoothing sends only when data available, as it does when smoothing is switched off.
additional: I remove some compiler warnings from color correction code
2. If this changes affect the .conf file. Please provide the changed section
no
3. Reference a issue (optional)
#318

Thank you :)
This is great. (also the compile warnings :)