Shutdown sequence for Spring Boot app is not triggered when using buildpack

I have a Spring Boot app that I run with the buildpack support. When I stop the app using 'ltc remove' the shutdown sequence for the app isn't triggered, the app just dies. Her are logs:
08/28 12:12:24.00 [APP|0] 2015-08-28 16:12:23.999  INFO 17 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
08/28 12:12:24.01 [APP|0] 2015-08-28 16:12:24.009  INFO 17 --- [           main] c.s.demo.cloud.HdfsWriterApplication     : Started HdfsWriterApplication in 9.538 seconds (JVM running for 10.215)
08/28 12:12:24.26 [HEALTH|0] healthcheck passed
08/28 12:12:24.26 [HEALTH|0] Exit status 0
08/28 12:12:54.28 [HEALTH|0] healthcheck passed
08/28 12:12:54.28 [HEALTH|0] Exit status 0
08/28 12:13:24.30 [HEALTH|0] healthcheck passed
08/28 12:13:24.31 [HEALTH|0] Exit status 0
08/28 12:13:27.55 [APP|0] Exit status 255

Running the same app as a docker container where the Docker file is:
FROM java
ADD ./target/cloud-hdfs-writer-*.jar /cloud-hdfs-writer.jar
CMD exec java -jar /cloud-hdfs-writer.jar

and then stopping the app with 'ltc remove' I do get the correct behavior as seen in the logs:
08/28 12:11:14.14 [APP|0] 2015-08-28 16:11:14.143  INFO 10 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
08/28 12:11:14.17 [APP|0] 2015-08-28 16:11:14.173  INFO 10 --- [           main] c.s.demo.cloud.HdfsWriterApplication     : Started HdfsWriterApplication in 13.302 seconds (JVM running for 14.083)
08/28 12:11:14.51 [HEALTH|0] healthcheck passed
08/28 12:11:14.51 [HEALTH|0] Exit status 0
08/28 12:11:35.38 [APP|0] 2015-08-28 16:11:35.379  INFO 10 --- [       Thread-2] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4c85dd06: startup date [Fri Aug 28 16:11:01 UTC 2015]; root of context hierarchy
08/28 12:11:35.38 [APP|0] 2015-08-28 16:11:35.383  INFO 10 --- [       Thread-2] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase 0
08/28 12:11:35.38 [APP|0] 2015-08-28 16:11:35.385  INFO 10 --- [       Thread-2] o.s.d.h.s.s.LifecycleObjectSupport       : stopped org.springframework.data.hadoop.store.output.TextFileWriter@5864db89
08/28 12:11:35.38 [APP|0] 2015-08-28 16:11:35.385  INFO 10 --- [       Thread-2] o.s.i.endpoint.EventDrivenConsumer       : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.389  INFO 10 --- [       Thread-2] o.s.i.channel.PublishSubscribeChannel    : Channel 'hdfs:cloud:8080.errorChannel' has 0 subscriber(s).
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.389  INFO 10 --- [       Thread-2] o.s.i.endpoint.EventDrivenConsumer       : stopped _org.springframework.integration.errorLogger
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.389  INFO 10 --- [       Thread-2] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase -2147483648
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.393  INFO 10 --- [       Thread-2] .s.i.r.i.RedisQueueMessageDrivenEndpoint : stopped inbound.spring.cloud.stream.output
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.394  INFO 10 --- [       Thread-2] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase 0
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.394  INFO 10 --- [       Thread-2] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase -2147483648
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.394  INFO 10 --- [       Thread-2] o.s.i.endpoint.EventDrivenConsumer       : Removing {service-activator:hdfsWriter.hdfsSink.serviceActivator} as a subscriber to the 'input' channel
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.395  INFO 10 --- [       Thread-2] o.s.integration.channel.DirectChannel    : Channel 'hdfs:cloud:8080.input' has 0 subscriber(s).
08/28 12:11:35.39 [APP|0] 2015-08-28 16:11:35.395  INFO 10 --- [       Thread-2] o.s.i.endpoint.EventDrivenConsumer       : stopped hdfsWriter.hdfsSink.serviceActivator
08/28 12:11:35.76 [APP|0] 2015-08-28 16:11:35.764  INFO 10 --- [       Thread-2] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'taskScheduler'
08/28 12:11:35.76 [APP|0] 2015-08-28 16:11:35.764  INFO 10 --- [       Thread-2] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
08/28 12:11:35.76 [APP|0] 2015-08-28 16:11:35.766  INFO 10 --- [       Thread-2] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans
08/28 12:11:35.89 [APP|0] Exit status 143

@trisberg The actual shutdown process for docker apps vs buildpack apps is identical, so it looks like the discrepancy here is between java-buildpack-built droplets and "FROM java" docker images. I'm guessing that the start command generated by the java-buildpack differs from exec java -jar /cloud-hdfs-writer.jar in some meaningful way, but it's also possible that you're using different JREs in each case, etc.
We noticed that the Docker java image defaults to Java 8. To rule out the potential JRE difference, can you try this with FROM java:7 in the Docker file and pass -e 'JBP_CONFIG_OPEN_JDK_JRE=jre: { version: 1.7.0_+ }' to build-droplet? (Or the opposite, you can pass version: 1.8 to the buildpack.)

From what I see everything is using Java 8 - docker, ltc+docker, ltc+buildpack and cf+buildpack
The only environment where the shutdown call isn't made is ltc+buildpack
how can I see the startup command used for ltc+buildpack?
the one used for cf+buildpack is logged as:
App my-ltc-app was started using this command SERVER_PORT=$PORT $PWD/.java-buildpack/open_jdk_jre/bin/java -cp $PWD/.:$PWD/.java-buildpack/spring_auto_reconfiguration/spring_auto_reconfiguration-1.7.0_RELEASE.jar -Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh -Xmx768M -Xms768M -XX:MaxMetaspaceSize=104857K -XX:MetaspaceSize=104857K -Xss1M org.springframework.boot.loader.JarLauncher
I've pushed an app to GitHub that you can use to test - it logs "*** STOP Called" during the shutdown. It is here: https://github.com/trisberg/my-ltc-app
Same app is also in a docker image named springdeveloper/my-ltc-app

If I leave out the exec part of the docker start command I get the same behavior as I see with ltc+buildpack.
I changed CMD exec java -jar /my-ltc-app.jar to  CMD java -jar /my-ltc-app.jar
and then the container shutdown is not initiated, the process just dies.

Hey @trisberg, this feature doesn't seem to be supported by the java-buildpack by default.
You're right that the missing exec call is the culprit. The java buildpack generates a config-heavy start command that looks like this:
CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-1.1.1_RELEASE -memorySizes=metaspace:64m.. -memoryWeights=heap:75,metaspace:10,stack:5,native:10 -totMemory=$MEMORY_LIMIT) && SERVER_PORT=$PORT $PWD/.java-buildpack/open_jdk_jre/bin/java -cp $PWD/.:$PWD/.java-buildpack/spring_auto_reconfiguration/spring_auto_reconfiguration-1.10.0_RELEASE.jar  -Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh $CALCULATED_MEMORY org.springframework.boot.loader.JarLauncher

When we stopped your example app after deploying it to PWS (with Diego) using this default start command, the exit handler didn't fire.
However, when exec is manually inserted into the default start command:
..._LIMIT) && export SERVER_PORT=$PORT && exec $PWD/.java-buildpack/open_...

the exit handler fires:
2015-09-08T17:34:39.87-0400 [CELL/0]     OUT Exit status 0
2015-09-08T17:34:39.87-0400 [APP/0]      OUT 2015-09-08 21:34:39.874  INFO 18 --- [       Thread-2] o.s.c.support.DefaultLifecycleProcessor  : Stopping beans in phase 0
2015-09-08T17:34:39.87-0400 [APP/0]      OUT 2015-09-08 21:34:39.875  INFO 18 --- [       Thread-2] com.springdeveloperdemo.LifecycleBean    : *** STOP Called
2015-09-08T17:34:39.87-0400 [APP/0]      OUT 2015-09-08 21:34:39.879  INFO 18 --- [       Thread-2] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2015-09-08T17:34:39.96-0400 [APP/0]      OUT Exit status 143

So this is an issue with the Java buildpack, but we're not sure if this could be considered a bug.
Perhaps we could help you more effectively if you told us your use case? We haven't considered any use cases for instance-level exit handling, since Lattice supports running multiple instances of a given app, and you likely would not want an exit handler to fire multiple times upon scaling down your app.

Hi,
The use case is a new spring-cloud-stream module writing to HDFS. It holds data written in a buffer that is periodically flushed to HDFS. On shutdown the close logic flushes the remaining data and closes the file. If the shutdown isn't triggered the data in the buffer is lost.

So, since the same buildpack seems to work fine on CF pre-Diego I assume that the container Diego is using behaves differently when we launch a Java process compared to the old DEA style.

If y'all want, you can easily test Diego behavior on PWS. I presume you can
simulate a failure by simply scaling the app up and down?
BTW, Thomas, outside of addressing this bug: is it a concern that
not-infrequently, containers will disappear without warning, for instance
when a VM or host computer crashes?
--
Marco Nicosia
Product Manager
Pivotal Software, Inc.
<EMAIL_ADDRESS>c:<PHONE_NUMBER>

@menicosia I just tried on PWS and I see the same issue with the shutdown not happening when the app stops. Is all of PWS now running on Diego?
As for the containers disappearing, that could be a problem if the app is unaware of it being shutdown, seems that any in-flight data could be lost. We'll have to take this into consideration.

Hi, @trisberg,
No, Diego is still opt-in on PWS, and by default your app will run on the DEAs. You can use the Diego CLI plugin to inspect whether your app is running on Diego, or look for the value of the diego field in the output of cf curl /v2/apps/$(cf app APP-NAME --guid).
Thanks,
Eric, CF Runtime Diego PM

We are currently testing the Java Buildpack against the Diego exposed on PWS.  So as far as our test suite is concerned, everything is working.  What we don't do is test JVM shutdown hooks.  So, we'll look into whether it's possible to automate that test.

This is a table of platforms / buildpacks that fail to send a SIGTERM to apps appropriately:
                   | PWS  | PWS+Diego | Lattice 0.4.0
-----------------------------------------------------
Default Java BP    | Fail | Fail      | Fail
Default JBP + exec | Pass | Pass      | Pass
benhale/master     | Pass | Pass      | Pass
benhale/exec-test  | Pass | Pass      | Pass
Ruby BP            | Pass | Pass      | Pass
Ruby BP + '&&'     | Fail | Fail      | Fail

Pass means that we were able to trap the SIGTERM and print a message.
Fail means that the app started successfully, but no SIGTERM trap message was printed.
The Java buildpack trials all used trisberg/my-ltc-app.
The Ruby buildpack trial used a rails newd app with a trap on SIGTERM.
The "Default JBP + exec" trial used a manually modified start command that had exec inserted.
The "Ruby BP + '&&'" trial added a sleep 1 && to the start command of the "Ruby BP" trial.
The "benhale/exec-test" trial used a forked version of the Java buildpack that was 192 commits behind master and included an exec in the start command.
The "benhale/master" trial used a forked version of the Java buildpack that was 192 commits behind master.

After some discussion with the Diego team, we've determined that this is an issue with both Diego and the existing DEAs. A complex start command (which has the launching bash process as its parent) does not receive a SIGTERM when an instance is terminated. A simple start command (without &&, |, etc), will be execd by bash automatically, which explains why many other buildpacks do not have this issue.
The current Java buildpack has this issue because it recently included a complex start command. The benhale forks of the buildpack do not have the issue, because they are 192 commits behind master.
We will close this issue once an appropriate issue is opened with Diego or Garden. We added a tracker story to upgrade Diego/Garden when a fix becomes available.

Just following up on this, was there ever any change made to address this issue?

Hi, @trisberg,
The Diego team has https://www.pivotaltracker.com/story/show/103541132 in its backlog to send TERM signals to any processes remaining in the container after the processes invoked by RunActions are individually signaled with TERM and then KILLed. This should allow any processes orphaned by their parent processes an opportunity to exit gracefully before being killed abruptly on destruction of the container.
Additionally, @nebhale and I have been discussing the ramifications of introducing an exec before the java command in the start command that the Java buildpack generates, as discussed in this issue. On a related note, I've added a https://www.pivotaltracker.com/story/show/108724524 to the Diego tracker about documenting the operational consequences of invoking buildpack-app start commands with bash -c, so that buildpack authors and CF app users can have a better understanding of their interface to the CF system.
Thanks,
Eric

@trisberg, This change is in place and in master.  Can you please double check that the proper signals are getting to the application?

Hi,
@nebhale, I tested my app with the latest commit and the app context is
closed on shutdown, so from my end this fixes the issue.
Thanks for the fix, any idea when the next buildpack release is scheduled
for?
-Thomas
On Mon, Nov 23, 2015 at 5:52 PM, Ben Hale<EMAIL_ADDRESS>wrote:

@trisberg https://github.com/trisberg, This change is in place and in
master. Can you please double check that the proper signals are getting
to the application?
—
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry-incubator/lattice-release/issues/190#issuecomment-159093201
.

Not really, before the New Year certainly, but nothing more specific than that.  Any date that you'd like (considering that master will continue to work for you)?

This issue was addressed upstream.


PL-70: Auditing: Support mandatory fields from the same entity -  part 1: Resolve annotations

Adding support for mandatory audit fields coming from the same entity (in addition to external mandatory fields already supported).
This addresses a Kenshoo requirement for including the "match type" of a keyword in all the audit records, even if it hasn't changed.
Implemented as a new attribute 'trigger' of the @Audited annotation which can either be 'ALWAYS' for mandatory fields or 'ON_CHANGE' for others (default).
Example:
@Audited
public class KeywordType extends AbstractEntityType<KeywordType> {

    @Audited(trigger = ALWAYS)
    public static final EntityField<KeywordType, String> MATCH_TYPE = INSTANCE.field(KeywordTable.INSTANCE.match_type);
}

This is part 1 of the feature which only resolves the annotations and populates them in the AuditedFieldSet (for each flowConfig).
Since the resolution logic got more complicated, I separate the existing resolver into SelfAuditedFieldsResolver which handles the fields of the same entity, and AllAuditedFieldsResolver which calls the former and adds the external mandatory fields as well.
Part 2 will modify the AuditRecordGenerator to populate these fields in the AuditRecord (for each entity in each command).

@mmarusich @amirz @libbyf - FYI

@galkoren - comments fixed


Adds Support for SSL DB Connections

Adds support for setting SSL database connection parameters in database.yml.
Addresses Issue #75.

As already mentioned, this template is no longer used.


find() method generates incorrect query (bool)

Hi, I'm faced with strange problem: find() method generates incorrect query (tested on MySQL (mariadb))
I wanna get all records from DB that have false in a field.
I'm providing struct into Find() with a boolean field that has a false value, but the final query is simple "select * from XXXX" without where condition.
I know, I can provide map[..].. into Where method, but it's a not correct way for our project. (we provide structs everywhere and don't want to pass map[..]..)
I found similar issue here https://github.com/jinzhu/gorm/issues/1440
What version of Go are you using (go version)?
1.9
Which database and its version are you using?
mysql/mariadb

consider using *bool as the data type?


move event

Hi
is there a chance to apply move event on tabs so I can do something when tabs has been reordered

The reordering is achieved using the jquery ui sortable class which already has an api for this.

thank you dear
it works


Form: Stackedlabel on top of text in ios

react-native 0.42.3
react 15.4.2
native-base 2.0.11
When using a stacked label in a form the behavior is wrong on both Android and iOS. In android the input box is in the center and very small. On iOS the label is on top of the input box.
Code:
<Form>
                  <Item stackedLabel>
                    <Label>{this.props.qrCodeTextInput}</Label>
                    <Input
                      onChangeText={(text) => this.props.setText(text)}
                      value={this.props.text}
                      maxLength={15}
                      placeholder={this.props.qrCodeTextInputPlaceholder}/>
                  </Item>
                </Form>

same issue here, I might just build my own form

@elinlindberg @parkerproject seems to work fine . Try again and let know if issue exist .

Did you make an update that we need to pull or something? What version are you using?

@parkerproject I am using the below dependencies
 "native-base": "2.1.0",     "react": "~15.4.2",     "react-native": "0.42.3",

Do eject the new theme and merge if you are still facing the issue.


BREAKING: Use a single Node.js version for test & publish

Projects should be opinionated and define the desired node version in .node_version in the root of the project. This is supported natively via the setup-node action to and renovate to auto-detect the version to use.
Failing this, we will still fall back to testing with recent LTS releases but only select the first compatible version detected, in decending order (newest first).
Change-type: major
See: https://balena.fibery.io/Work/Improvement/Test-Node.js-projects-against-a-single-version-2262

Discussed with the team and the gains by dropping some Node.js test variants would be negligible while we would lose valuable test coverage.


add more on page

Visual effect can make more effects

Visual effect can make more effects

please specify or brief


make test-integration

Discussed in https://github.com/Kong/kong/discussions/10493

Originally posted by liupenghui-owen March 15, 2023
Hello. I am trying to setup a local development enviornment of Kong. After building and installing Kong from latest source following DEVELOPER.md on Ubuntu 20.04,  running "make test" seems to be OK, but the command" make test-integration" and " make test-plugins" got the error below, How to fix it? Need help and guidance here, thanks a lot!
BTW, there is no target  "make setup-dev-env" in Makefile.
root@owen-virtual-machine:/home/KONG/kong# make test-integration
busted 2.1.1 already installed, skipping
busted-htest 1.0.0 already installed, skipping
luacheck 1.1.0 already installed, skipping
lua-llthreads2 0.1.6 already installed, skipping
http 0.4 already installed, skipping
ldoc 1.4.6 already installed, skipping
bazel-bin/build/kong-dev-venv.sh: line 38: /home/KONG/kong/@bin/busted: no such file or directory.
make: *** [Makefile:122：test-integration] err 127
Also, after running "kong started",  the command "curl -i -X GET --url http://localhost:8001" got nothing, no reponse.

@liupenghui-owen Thanks for the report! https://github.com/Kong/kong/pull/10500 this should fix it : )

I am the first time to  study it,  BTW, after running "kong started", the command "curl -i -X GET --url http://localhost:8001/" got nothing, no reponse.

@liupenghui-owen Thanks for the report! #10500 this should fix it : )

I am the first time to study it, BTW, after running "kong started", the command "curl -i -X GET --url http://localhost:8001/" got nothing, no reponse.

@liupenghui-owen Thanks for the report! #10500 this should fix it : )

@fffonion  I am the first time to study it, BTW, after running "kong started", the command "curl -i -X GET --url http://localhost:8001/" got nothing, no reponse.   Is there any addtional configurations?

@liupenghui-owen there might be something wrong, try look at the error logs, when build from source,
it's by default at bazel-bin/build/kong-dev/kong/servroot/logs/error.log

@liupenghui-owen there might be something wrong, try look at the error logs, when build from source, it's by default at bazel-bin/build/kong-dev/kong/servroot/logs/error.log

@fffonion I found below error, is there any quick solution for this problem? thanks !
2023/03/16 10:29:43 [emerg] 229298#0: SSL_CTX_load_verify_locations("/home/liuph/kong/bazel-bin/build/kong-dev/kong/servroot/.ca_combined") failed (SSL: error:0200100D:system library:fopen:Permission denied:fopen('/home/liuph/kong/bazel-bin/build/kong-dev/kong/servroot/.ca_combined','r') error:2006D002:BIO routines:BIO_new_file:system lib error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib)

I have disabled selinux, the error still  happens. @fffonion


Use webpack-merge for config merging

Hey,
I wonder guys why you don't use webpack-merge - it makes writing webpack configs much easier. Would you accept PR regarding this manner?

It seems webpack-merge have simple enough api and suits for this project, so just go for it.


added 'import Foundation' to Swift template

Otherwise you’ll get “'dynamic' attribute used without importing module 'Foundation'”

Thanks for the PR, @samritchie! We'll need you to accept our Contributor License Agreement before we can merge your contributions.
Cheers,
The robots and humans at Realm

Thanks @samritchie!


LICENSE.termcolor doesn't exist

https://github.com/p-ranav/csv2/blob/68ded29a7af0d6660afc41fb96677462e42578e2/CMakeLists.txt#L56
I believe this is a copy and paste error and is meant to be LICENSE.mio?

Indeed a copy-paste error. Thanks for reporting.

Damn that was fast 👍


VSCode auto import not working

Hello,
I am building app with flutter and noticed that weired behaviour wen VSCode dart auto import stops working.
When I open vscode fresh auto import works as expected but after some time of development OR after running code generator auto import just stops and i have to re-open vscode. Thi sis frustruating.
Not sure if this 100% applies here but please redirect me to some other sources if it does not belong here.
p.s. i searched on internet about this problem - cannot find any solutions like here: https://www.reddit.com/r/flutterhelp/comments/hgz70k/vs_code_autoimport_suggestions_have_stopped/

Hi @vytautas-pranskunas-
Following the indication of VS Code Flutter Extension, the correct way to address the problem is to open an issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


bug: Comment content overflows, causing horizontal scroll on the entire page

Describe the bug
When a comment contains long, unbroken text (such as long URLs or code snippets without spaces), it overflows its container and forces the entire page to have a horizontal scroll.
To Reproduce
Steps to reproduce the behavior:

Go to 100xdevs website
Open video 11.1

Expected behavior
The comment content should be contained within the comment box. It should wrap appropriately and not affect the overall page layout. Long text should either break or be wrapped to avoid overflow.
Screenshots or GIFs
If applicable, add screenshots to help explain your problem.
https://github.com/user-attachments/assets/21c0d5a5-50b1-46be-834c-f123de135594
Info (please complete the following information):

Browser: Chrome
Version 128.0.6613.139

Additional context
Add any other context about the problem here.

I want to fix this issue @devsargam

The issue is completed


Rewirte README on the main repository

The README is outdated with wrong information.

 Next Dapp ドキュメント

https://github.com/warashibe/next-dapp/commit/51133d0bc56c0eb09d2c2fca75de635197cbdbee


Symbol widget value ranges not properly parsed?

Assume this in the display file:
# (Symbol)
object activeSymbolClass
beginObjectProperties
major 4
minor 0
release 0
x 690
y 408
w 82
h 67
file "PumpSymbols.edl"
numStates 3
minValues {
  0 -100
  2 0.5
}
maxValues {
  1 0.5
  2 9999
}
controlPvs {
  0 "CF_RS:DIWS_PDIS4800A:Sts"
}
numPvs 1

When entries are missing in the minValues and maxValues arrays, the default should be zero.
So the above defines value ranges
State 0: min -100, max 0
State 1: min 0, max 0.5
State 2: min 0.5, max 999
In the WEDM display, however, the widget ends up with
data-min-values="-100 0 0" and data-max-values="0 0 0", as if only the value range for state 0 is used, the rest defaults to 0.

Can look into this more in about 2 weeks...

Found the issue: ActiveSymbol.parseTraits calls TraitParser.parseIntArray to read the minValues and maxValues.
Those arrays, however, may contain floating point data like 0.5 in this example.
This results in NumberFormatException: For input string: "0.5"
Need to add a TraitParser.parseFloatArray (or DoubleArray) and then call that...


Add post-mortem from Jan 5 2023

@lrupp @dmarcoux this is updated

As I have the "offline" approval from @lrupp, I'm going to merge


[BUG] - OpenSearch Dashboard V2.15.0  - JSON.parse: bad escaped character

Describe the bug
After upgrading from 2.13 to 2.15 Discover in Dashboards is barely usable due to the following error.
SyntaxError: Bad escaped character in JSON at position 911476 (line 1 column 911477)     at fetch_Fetch.fetchResponse (https://dashboards.observability-opensearch.backend.ppe.cloud/7749/bundles/core/core.entry.js:15:243032)     at async interceptResponse (https://dashboards.observability-opensearch.backend.ppe.cloud/7749/bundles/core/core.entry.js:15:237932)     at async https://dashboards.observability-opensearch.backend.ppe.cloud/7749/bundles/core/core.entry.js:15:240899
Related component
Search
To Reproduce
Upgrade to version 2.15.0 and it will appear in the discover.
Expected behavior
See the following error in discover
SyntaxError: Bad escaped character in JSON at position 911476 (line 1 column 911477)
Additional Details
Someone already reported this issue in OpenSearch forum https://forum.opensearch.org/t/json-parse-bad-escaped-character/20211

@kksaha See what API is being called (maybe in dev tools) that causes this?

@dblock Other than launching the Discover tab with the default index, no specific API is being called. It appears that this problem has also been encountered by other users https://forum.opensearch.org/t/json-parse-bad-escaped-character/20211/6

I am just trying to route this somewhere. I will move this to Dashboards for now. If you can help narrow down where the error is coming from (it's caused by parsing something - what is that it's trying to parse?).


[Chapter 16] How to visualize word embeddings in TensorBoard?

Hi, I'm new to Tensorflow and Keras--really enjoying your book!
How do you retrieve the 11,000 words (vocab_size + num_oov_buckets) from the StaticVocabularyTable in cell 54? At the end of the Sentiment Analysis section of chapter 16, you mention the possibility of using the TensorBoard() callback to watch the embeddings learned.
If I open TensorBoard Projector, I can see the word IDs, but not the words themselves. To do so, I tried to save the 10,000 vocabulary words to a TSV file, but I get an error message asking for 11,000 words. How can I retrieve all the words, especially the 1,000 OOV words?

@ageron would love to get your thoughts on this

Hello @insuquot
You may use Load feature of TensorBoard to upload as many words as you want to visualize and labels. Looks like you are familiar with Embedding Projector, but JFYI https://www.tensorflow.org/tutorials/text/word_embeddings


Error 202 login, I need your help

What can I do ? Please give me a solution :(

Same i have that problem too

We will look into it right away.


Allow editing multiple videos at the same time.

Problem
I am trying to make several videos that share some logics.
I realize I have to completely finish 1 video before starting making another one since CURRENT_VIDEO contains only 1 video object.
This makes my code less neat since I want to create several similar objects that belong to different video in a loop.
My solution
If objects can be created by naming the video object where they should be explicitly, it will enable making several videos at the same time. For example:
videos = [Video(500, 500) for i in 1:10]

......

obs = []
for (i, video) in enumerate(videos)
    ob = Object(video, frames, create_fun, Point(0,0))
    push!(obs, ob)
end

......

for (i, video) in enumerate(videos)
    render(video; "output/$i.mp4")
end

New Object api should work with existing api well because of multiple dispatch.
A new method of Object and other related functions like Background can be added.
For example:
function Object(video::Video, frames, func::Function, start_pos::Union{Object,Point}; kwargs...)
# Do not check if CURRENT_VIDEO is empty or not.
......

end

Construction of Video should also be altered to meet the new requirement. I haven't come up with a good idea about how.

I'm sorry that I missed this issue for so long. Yes I think that is a reasonable approach. I think there are a few more changes that need to be made like it would be good to store the video struct in every Object then and let it default to the current video.
Your approach would also make it easier to run Javis in Pluto as Pluto needs to figure out which cells depend on each other.
Are you yourself interested in working on a PR for this?

I might have time for PR next month if that is fine with your plan.

that'd be neat , until then one wants to just re-use objects between videos one can still append one videos objects to another video
using Javis
video1=Video(500,500)
Background(1:5,(v,o,f) -> (background("white")))
line1 = Object(1:5,(v,o,f) -> line(O,O+100,:stroke))
line2 = Object(1:5,(v,o,f) -> line(Point(100,0),Point(0,100),:stroke))
render(video,pathname="vid.mp4")

video2 = Video(600,600)
Background(1:5,(v,o,f) -> (background("white")))
append!(video2.objects,line2)
line3 = Object(1:5,(v,o,f) -> line(O,Point(0,100),:stroke))
render(video2,pathname="vid2.mp4")

vid.mp4 will have line1 and line2 , but vid2.mp4 will have line2 and line3
you can also import all the objects using video1.objects[2:end] if you ensure that the first Object you create in video1 is Background


Remove nightly repo

nightly is not updating due to Home Assistant limitations. That's why we should remove the nightly repo until Home Assistant does better update detection than simply comparing version (container tag) strings.

fixes #51


fixed footer for small screen devices

Changes:

Footer component is now in stylus. (importing media queries)
Sidebar is now on top of the footer. (landing page)
Positioning of ul and copyright inside the footer is now fixed.
A little adjustment on .heroBackgroundComponent (right: 0) on mobile narrow screens.

Before:
Footer without sidebar
Footer with sidebar
After:
Footer without sidebar
Footer with sidebar
Mobile Screen Devices (420px - 719px):
Footer without sidebar
Footer with sidebar

Excellent friend, thank you very much for the contribution

You're welcome! I'm glad that I can help a bit 😄 keep 'em coming!


refactor: crash service to be exit helper

Codecov Report

Merging #83 (f890f39) into master (32f22f1) will increase coverage by 0.22%.
The diff coverage is 78.94%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
+ Coverage   79.22%   79.44%   +0.22%
==========================================
  Files          26       28       +2
  Lines         616      647      +31
  Branches      100      107       +7
==========================================
+ Hits          488      514      +26
- Misses        128      133       +5

Flag
Coverage Δ

unittests
79.44% <78.94%> (+0.22%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/command/qq/qq-command.ts
50.00% <33.33%> (+5.55%)
:arrow_up:

src/command/slack/slack-command.ts
50.00% <33.33%> (ø)

src/command/email/email-command.ts
48.78% <50.00%> (+0.06%)
:arrow_up:

src/command/qq/exit-helper.ts
72.72% <72.72%> (ø)

src/command/slack/exit-helper.ts
88.23% <88.23%> (ø)

src/command/email/exit-helper.ts
90.90% <90.90%> (ø)

src/command/on-exit.ts
100.00% <100.00%> (ø)

src/command/post-manager/producer.ts
100.00% <100.00%> (ø)

src/command/post-manager/start-producer.ts
96.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Crane env var

Please provide a description of this PR:
ISTIO_DOCKER_BUILDER can be set to crane or docker but it currently is hardcoded.

@Kmoneal: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
85ae14f4919718f428f9e2ff2555eaf3ee08743b
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes

@Kmoneal: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
85ae14f4919718f428f9e2ff2555eaf3ee08743b
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster


Make sure we can't deregister non-registered sources

Calloop recently found a bug where it's possible to deregister a source by trying to register it twice. See https://github.com/Smithay/calloop/pull/153 for more information.
I don't think async-io is affected by this bug, but we should add a test case to make sure.

Closed in #161


ENOENT: no such file or directory, open //assets/content_types.xml

Fresh install with yarn and get the following error when executing asBlob method:
Uncaught Error: ENOENT: no such file or directory, open '//assets/content_types.xml'    at Object.fs.openSync (fs.js:558:18)
Using
Electron: 1.6.7
React: 15.5.4
Webpack: 2.4

As a workraound, I copied the contents of /node_modules/html-docx-js/src/assets to my own /src/assets and it worked.

You are importing the wrong module. The module you are importing is for use with node.
If you use import htmlDocx from "html-docx-js/dist/html-docx"; instead, it should import the correct version (assuming youre going to use this in the render process of your application.)


Faster Rcnn construction function freezes backbone layers even for random initialized backbone

🐛 Bug
Currently, fasterrcnn_resnet50_fpn function is used to create a faster rcnn with resnet50 backbone and fpn. resnet_fpn_backbone function is backbone utils is used by this function. This function freezes the backbone layers in resnet apart form layer2, layer3 and layer4. This freezing is hard coded to reflect the faster rcnn paper which frooze the initial layers of pretrained backbone.
If pretrained backbone is not used and one intends to train the entire network from scratch, no layers should be frozen. Otherwise initial layers will always have randomly initialized weights. I think this can be considered a bug, because layer freezing is not even mentioned in the function docs so user are not aware of it.
This resulted in poor AP when we were training faster rcnn with resnet backbone from scratch on Detrac dataset. And it took a while a figure out.
I have created a pull request so that others don't run into the same problem when conducting experiments similar to mine.
I have moved the layer freezing logic to fasterrcnn_resnet50_fpn so that layers can be frozen if either a pretrained backbone or pretrained faster rcnn are used, and are not frozen otherwise.
Pull Request with correct behavior: https://github.com/pytorch/vision/pull/2160
To Reproduce
Steps to reproduce the behavior:
Script:
import torchvision
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=False, pretrained_backbone=False)
for name, parameter in model.named_parameters():
if not parameter.requires_grad:
print(name)
Output:
backbone.body.conv1.weight
backbone.body.layer1.0.conv1.weight
backbone.body.layer1.0.conv2.weight
backbone.body.layer1.0.conv3.weight
backbone.body.layer1.0.downsample.0.weight
backbone.body.layer1.1.conv1.weight
backbone.body.layer1.1.conv2.weight
backbone.body.layer1.1.conv3.weight
backbone.body.layer1.2.conv1.weight
backbone.body.layer1.2.conv2.weight
backbone.body.layer1.2.conv3.weight
Expected behavior
None of the layers should be frozen since neither pretrained network, nor pretrained backbone is used. So no output is expected after running the above script
Environment
PyTorch version: 1.4.0
Is debug build: No
CUDA used to build PyTorch: 10.1
OS: Ubuntu 18.04.3 LTS
GCC version: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
CMake version: version 3.15.3
Python version: 3.6
Is CUDA available: Yes
CUDA runtime version: 10.2.89
GPU models and configuration: GPU 0: GeForce RTX 2080 Ti
Nvidia driver version: 440.33.01
cuDNN version: Could not collect
Versions of relevant libraries:
[pip3] numpy==1.17.4
[pip3] torch==1.4.0
[pip3] torchvision==0.5.0
[conda] Could not collect
Additional context
Furthermore, the number of resnet backbone layers that should be frozen is an important hyper parameter in my experience, and it needs to be tuned for each dataset. So adding an argument to control this enabled me to integrate it in automated hyper-parameter tuning. My pull request takes the tunable layers as a argument of fasterrcnn_resnet50_fpn function.
Pull Request with correct behavior: https://github.com/pytorch/vision/pull/2160

Hi,
Thanks for the PR, I've commented on it.

This has been fixed with #2160 and https://github.com/pytorch/vision/pull/2242


Get-InstalledPSResource should be Get-PSResource

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.

Steps to reproduce
Creating this issue because my comment was not addressed in #919 about Get-PSResource rename to include Installed.
Latest MS reasoning https://github.com/PowerShell/PowerShellGet/issues/919#issuecomment-1419636861:

We had an internal discussion about this, and want to make it analogous to V2 cmdlets where we have Get-InstalledModule (from the PSGet side) and Get-Module (from PowerShell side) and reduce confusion between their different outputs. Get-InstalledModule (and in V3 Get-InstalledPSResource) would get resources installed via PowerShellGet on your machine, not all of them as Get-Module does. We will also look into an alias for the command.

My comment https://github.com/PowerShell/PowerShellGet/issues/919#issuecomment-1419871881

There is no overlap/confusion between Get-Module and Get-PSResource because the noun has changed to PSResource. So why are we trying to keep the v2 convention with "Installed" as a prefix? I'm trying to understand the reasoning as "Installed" is redundant as it's already implied that it's installed on the system with the Get verb. If it wasn't already installed or locally present on the system then it would have a different verb.

Issue #919 and PR #1071.
I would like to know why the team thinks there will be added value by adding Installed when the noun is PSResource not Module which was the issue with v2.
Expected behavior
Get-PSResource

Actual behavior
Get-InstalledPSResource

Error details
No response
Environment data
7.4-preview3
beta21

Visuals
No response

@SydneyhSmith can we get an update on why MS thinks adding Installed as a prefix creates value to Get-PSResource? In my comment rebutting the change had others like @Jaykul agreeing with me.
Here are some other points as well:

Longer cmdlet names creates user experience difficulties especially with those who do not use tab completion.
Users expect modules to have the same noun for cmdlets, this breaks that convention.
Users can no longer use *-PSResource with tab completion or Get-Command -Noun PSResource to get all the verbs associated with that noun.
The only reason that v2 had Installed as a prefix for Get-InstalledModule is because Get-Module was already used and something else had to be used. By using Get-InstalledModule caused user confusion since the two cmdlets didn't use the same output. This is no longer an issue because v3 uses a completely different noun PSResource. There is no user expectation that the output between Get-Module and Get-PSResource would be the same.

If there is something I'm missing please let me know but right now the pros/cons are pointing to using Get-PSResource.

Talked again with the team and our reasoning was:

Clarity on what it is getting--all installed resources
Parity with Get-InstalledModule
Leaves the door open for a future cmdlet of Get-PSResource which would just show loaded PSResources like Get-Module does

@SydneyhSmith while it is nice that you're leaving this open for more feedback. It would have been better to have implemented this per the RFC since most of the feedback has been given there and there was no negative feedback in the RFC regarding Get-PSResource in regards to the first two points you have.

Clarity on what it is getting--all installed resources

Has there been any user feedback during the RFC or previews that Get-PSResource was confusing in regards to what the cmdlet did? Was there any user feedback to use the v2 naming convention? I have not seen any.

Parity with Get-InstalledModule

Why does this matter? The rest of the cmdlets behave completely differently than v2. I would agree with the team if there is a large precedence in core cmdlets and community cmdlets using Installed as a well known prefix.

Leaves the door open for a future cmdlet of Get-PSResource which would just show loaded PSResources like Get-Module does

Leaving the merits of showing loaded resources aside. What benefit is there in having another cmdlet compared to adding a parameter or parameter set?
Get-Module is a more used and better user experience precedent for Get-PSResource. Lets see how that behaves. Get-Module with no parameters returns loaded modules. If -ListAvailable is used it returns "installed" modules. Now lets compare to this fictional feature of showing loaded PSResources. There are two options (Installed and Loaded) for default behavior and one that is more common should be default.
Lets say "installed" resources should be the default behavior then Get-PSResource returns those by default. Then there could be a -Loaded parameter to only return loaded resources. The single cmdlet accomplishes both features without any user confusion or difficulty. There is also the option of not even needing a separate parameter and Loaded could be a property. Then a view could show it by default or let it be sorted/filtered by the user.
Now lets discuss the merits of this fictional feature. There are currently only two resources: Modules and Scripts with a discussed feature of NuGet assemblies. Modules are already covered with Get-Module and scripts aren't loaded in the session. There is some merit to showing loaded assemblies but shouldn't that be a core cmdlet?
TLDR: Installed does not have the precedence in core cmdlets and is not a commonly used prefix in community modules. The parity in regards to v2 is not relevant since v3 is supposed to fix all the issues with v2 in regards to user experience. Then in regards to the fictional feature described there is not a need to have two separate cmdlets to accomplish both features when properties, parameters or parameter sets is used.

@ThomasNieto just wanted to acknowledge that I appreciate the feedback, and am considering what our best options are at this point

Resolved in #1216


Should daprd follow redirects during method invocation?

When configured to use HTTP, daprd uses the valyala/fasthttp library for relaying method invocations to the application. The generic verb form Do() of invoking requests using this library does not automatically follow redirects (whereas, other forms do follow redirects, e.g. Get() and Post()).
Question: should daprd itself manage redirects as part of method invocation or simply return the redirection to the caller?
The current behavior complicates .NET Core development. By default, new web applications are scaffolded to support both HTTP and HTTPS endpoints, with calls to the HTTP endpoint redirected to HTTPS endpoint.  daprd passes along the redirection to the caller, with several consequences:

The subsequent call could fail if TLS certificate validation is enabled (which is likely, if the caller was not expecting to be redirected to HTTPS backed by a development (i.e. self-signed) certificate).  On the other hand, it appears that daprd is statically configured to not validate certificates, so the redirection would be transparent to the caller).
Dapr ends up being bypassed as the caller makes the subsequent call directly to the application endpoint (which may be confusing to users, as well as bypasses Dapr's tracing).

To have .NET Core projects work with Dapr out of the box, users must remember to use a --no-https flag when scaffolding.  (Alternatively, users can disable the HTTPS endpoint redirection post-scaffolding.)
Obviously Dapr needs to work well across a broad set of platforms and stacks, even if that means it's less than optimal for a particular platform/stack in one specific scenario (like .NET Core scaffolding).  Still, I wonder if this is potentially a larger issue. If an application is explicitly making calls via Dapr, would it expect to get back a response that then requires it to immediately call a non-Dapr endpoint?

which may be confusing to users, as well as bypasses Dapr's tracing

Tracing will still kick in on the daprd instance that's invoked to make the service invocation call.

users must remember to use a --no-https flag when scaffolding

Correct, and this is also by design. Since Dapr is recommended to be deployed in the same network namespace as the app (on localhost), Dapr is expected to work with http and not https endpoints, with performance being just one of the reasons.
While Dapr's app channel could be made to allow for https invocations, it wouldn't be true to the local-close-to-compute sidecar nature of Dapr in regards to how it communicates with the app.
There's a good comment here about why redirects are best handled in user code.

Tracing will still kick in on the daprd instance that's invoked to make the service invocation call.

On the initial call that returns the redirect response, yes, but not the subsequent call, which bypasses the daprd instance entirely, right?  (E.g. GET http://localhost:3500/v1.0/invoke/app/method/appmethod returns 307, with Location set to https://localhost:5001/appmethod).

While Dapr's app channel could be made to allow for https invocations, it wouldn't be true to the local-close-to-compute sidecar nature of Dapr in regards to how it communicates with the app.

I totally buy that argument but, at the same time, I'm trying to feel out ways to remove a stumbling block for that (.NET Core) just-trying-out-Dapr-for-the-first-time developer, which could then cloud their overall view of Dapr.  We've already seen users get confused when they miss the --no-https flag and invocation fails due to the redirect.  (I've even made that mistake myself.)

Well, Envoy handles redirects internally for kinda/sorta similar reasons.. maybe we can do the same thing ourselves.

If the decision is made that dapr will not handle redirects it would also be great to document this somewhere so users know this early on. I found out the hard way wondering why the /dapr/subscribe was not being called and eventually saw a 307 in the logs, would have been nice to know up front about https.

We have another hit for this issue in .NET Core here: https://github.com/dotnet/tye/issues/765


chore: Update peerDeps

Description
Gatsby 5 will be released Nov 8, so this changes the peerDeps of the local plugins here. There are some open questions which I'll add as comments.
Documentation

Related Issues

Sure, wouldn’t hurt

Are you able to take care of that?

Let's keep Gatsby 4 support wherever possible. Can you confirm Gatsby 2 & 3 are eol? No more support?

@moonmeister Ok, here's the summary:

The integration tests can't be updated because they need to run on Node 18
Gatsby 2 and 3 are unsupported, only Gatsby 4 and 5 are supported
I tried to minimize major bumps for this PR here, I just wanted to get the peerDeps updates out
In another PR plugins could be bumped further if we want to remove Gatsby 3 support


Possible to post all ore recipes for every mod that is supported? (full Sieve-/OreRegistry)

Hey I'm a pretty newbie about all this stuff. And know I wanted to ask, if it is possible to post a .json data with all metals for every Supported mod?
This would be so much easier than trying hours and days around and still not manage to add a new ore :/
What else...?
I really wanted to say thank you it's a great mod overall!
PS: wouldn't it be possible to let the mod autodetect which ores are used via the OreDictionary?

far to be a complet list, but it's at least Sky factory 3 list (look at attached files) (had to change extention from json to txt since github don't want json files)
SieveRegistry.txt
OreRegistry.txt

how do i add tin to sieve registry? do you know, i know how to add tin to ore registry.


感谢你的项目，但初次使用无法正常运行

Your afrog execution was successful. The OOB Error simply indicates that OOB content is not configured, affecting only certain PoC scans. You can configure OOB by following the tutorial: https://github.com/zan8in/afrog?tab=readme-ov-file#configuration-file


Make ion-select dismissable outside the component

Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When opening a select it is impossible close it unless you click on the alert ok/cancel buttons.
Expected behavior:
The open() could return the overlay object(ViewController) which is presenting the alert or the object may be made public in the class rather than just be accessible only in the open function locally.
Steps to reproduce:

Try to open a select that should close after 5 seconds if the user doesn't click.

Try to create a select without the ok/cancel buttons

Related code:
An excerpt from src/components/select/select.ts and how I want it to be
overlay.present(selectOptions);

this._isOpen = true;
overlay.onDidDismiss(() => {
  this._isOpen = false;
});

return overlay;

Other information:

The amount of sheer acrobatics to solve this myself:
http://stackoverflow.com/questions/40925172/how-to-avoid-ok-cancel-button-in-ion-option-ion-select/42193005#42193005

Hello! Thanks for the feature request. I'm going to move this issue over to our internal list of feature requests for evaluation. We are continually prioritizing all requests that we receive with outstanding issues. We are extremely grateful for your feedback, but it may not always be our next priority. I'll copy the issue back to this repository when we have begun implementation. Thanks!

This issue was moved to driftyco/ionic-feature-requests#119


Moving hard-coded "tagline" into _config

The site tagline is currently a hard-coded value used inconsistently across the templates. This small patch moves it into _config.
As a side note, I also added .rvmrc (since rbenv is already covered) to gitignore for those of us still using Ruby Version Manager.

@SegFaultAX  thanks for the contribution! I will add this in as I think it's good to have a global tagline. However for the twitter theme specifically I think the tagline needs to be relative to the post/page as opposed to the global site. So this configuration should be reserved for page.tagline (meta-data) rather than site.tagline
Assuming you agree, can you omit the changes to the twitter theme and then re-submit?

Shall I rollback those two files and rebase or do you want two separate commits (leaving the revert of the twitter theme files as part of the history)?

The former is more legit of course if you know how to do that, but
whichever is easier for you as I  don't want to make it hard on anybody
that wants to contribute =)
On Sun, Jan 29, 2012 at 5:51 PM, Michael-Keith Bernard <
<EMAIL_ADDRESS>
wrote:

Shall I rollback those two files and rebase or do you want two separate
commits (leaving the revert of the twitter theme files as part of the
history)?

Reply to this email directly or view it on GitHub:
https://github.com/plusjade/jekyll-bootstrap/pull/24#issuecomment-3713360

I'll just close this one. Note that you may have to force update due to the rebase.


"PimpleAwareTrait"

I am using Pimple as a basis for my Application class, and to simplify the DI process, I thought that I would override offsetGet with something like:
$this[$offset] = $this->extend($offset, function ($obj, $app) {
    if ($obj instanceof ApplicationAwareTrait) {
        $obj->setApplication($this);
    }
    return $obj;
});
$obj = parent::offsetGet($offset);

Any thoughts about this? I am sure that I'm not the only one wanting to do this, but I'd like to get input from you whether this is a good approach or not.

You can't use instanceof to check if an object use a trait.

Yeah, that's correct, but for the sake of argument let's assume that it's an interface.
Pimple is not a dependency injector, but has anyone tried using it for such?

Injecting the container into objects is a bad practice. So simplifying this case looks wrong to me.
Btw, we had such feature in Symfony in the past (before the 2.0-beta release). But we removed the interface-based injection as it was causing too much issues (what if you have multiple instance of Pimple around and want to control which one is injected)

@stof thanks for the reply. Just the kind of answer I was looking for (regarding symfony).
What is the today's practice then? Having dependencies "injected" into the constructors?
I've seen the dependency component in symfony, but isn't that a big elephant in contrast to pimple?

@davidsteinsland we can still inject through setter in Symfony. What was removed form Symfony was the automatic injection of some dependencies based on the fact it implements some interface, because it caused issues more often than it proved actually useful. And this is exactly what you are trying to add into Pimple here

So what would you recommend, when keeping it as simple as possible?

my recommendation would be to inject your real dependencies into the object, not Pimple itself. And for the few cases where the Pimple instance is really your dependency, you can do it explicitly in your service definition (it should not happen too often)

thanks. so you propose something as simple as:
$app['service'] = function ($app) {
    $service = new Acme\Service($app['dependecy']);
    $service->setFooBar($app['foo.bar']);
    return $service;
};

?
Sounds reasonable.

this is the way you should use it yes. Your classes should not depend on Pimple itself most of the time (it will also make your code more readable and easier to test btw)


Introduce download functionality

Can be configured using the allowDownload parameter, which is default true.

Awesome Niels, do you have demo? I've been considering this but I'd rather expose it as a plugin as it's not something everyone needs.

Hi Rik,
I made it configurable, as I also had the feeling not everyone needs this.
By default the functionality it turned on, but if you prefer to have it
switched off by default, I'm happy to do so.
No demo available yet, but if you checkout my branch and run the index.html
you'll see it directly. I've added an animated gif to give you an idea of
how it looks like.
Btw, I also created another PR for your image preview plugin, see
https://github.com/pqina/filepond-plugin-image-preview/pull/21. Not sure if
you already saw that one.
Thanks for reviewing in advance!
Niels
Op vr 21 jun. 2019 om 13:29 schreef Rik<EMAIL_ADDRESS>
Awesome Niels, do you have demo? I've been considering this but I'd rather
expose it as a plugin as it's not something everyone needs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pqina/filepond/pull/332?email_source=notifications&email_token=ABRBUZ74C55E44LVK65GQJ3P3S3P3A5CNFSM4H2QTQAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYIGYMI#issuecomment-504392753,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABRBUZ42MUW5VW3DJ7424TTP3S3P3ANCNFSM4H2QTQAA
.

I'm more concerned about adding the additional weight in bits and bytes.
I'll take a look on Monday.

It looks nice, maybe use the download icon from https://feathericons.com ? It's more in line with the other icons used. You could offer options, I think it kinda takes up a lot of space right now, having it as a tiny arrow prepended to the filename might also work.
I plan to move more functionality to plugins in the future so instead of having this in the core I'd love to have this as a plugin as well.

I've moved it to a separate plugin, see https://github.com/nielsboogaard/filepond-plugin-download (also includes a demo). Indeed using icons from the feather collection now, thanks for the tip!

Update: the plugin is now available here https://github.com/nielsboogaard/filepond-plugin-get-file


Unused rule provokes "GrammarError: Collision in Terminal" when constructing LALR parser

The following code:
#! /usr/bin/env python3

from lark import Lark

GRAMMAR = """
    start: EKS* identifier
    unused: identifier* identifier
    identifier: EKS | /y/
    EKS: /x/
"""

if __name__ == '__main__':
    Lark(GRAMMAR, parser='lalr')

raises an exception:
…
lark.exceptions.GrammarError: Collision in Terminal('__ANON_0'):
  * Reduce: <__anon_star_0 : EKS>,
  * Reduce: <identifier : EKS>

However, the same code without the rule defining unused exits cleanly.  I may be missing something, but it is not clear to me why that should be.

Good catch!
I pushed a fix to master that should resolve this issue.

Thanks; that works great!
But as a follow-up, shouldn't something like:
#! /usr/bin/env python3

from lark import Lark

GRAMMAR = """
    start: /1/ first | /2/ second
    first: EKS* x
    second: x*
    x: EKS
    EKS: /x/
"""

if __name__ == '__main__':
    Lark(GRAMMAR, parser='lalr')

also run without a reduce/reduce conflict because EKS* and x* appear in disjoint contexts and therefore share no states?  (It has been a long time since I have had to worry about what is and is not LALR(1), so please correct me if I am mistaken.)  (Also, if this is an issue, but you would prefer it reported separately, please let me know, and I will open another report.)

Perhaps a more sophisticated implementation of LALR(1) would allow it, but the traditional implementation that appears in every textbook (and Lark) uses a global FOLLOW dictionary, which isn't context dependent.
If there's a simple and clever way to allow this, it eludes me at the moment.

Okay.

Sorry to disappoint!


Update Default acceptableDecimalLength for UnderscoresInNumericLiterals

It's quite common to have numeric literals of length 4 that may represent ids (such as result codes in Android). Those don't become anymore readable if underscore separated so they shouldn't need to be.
This bumps the default acceptableDecimalLength to 5 for the UnderscoresInNumericLiterals rule and also updates the documentation formatting and description.

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1477   +/-   ##
=========================================
  Coverage     74.74%   74.74%
  Complexity     1732     1732
=========================================
  Files           328      328
  Lines          5266     5266
  Branches        955      955
=========================================
  Hits           3936     3936
  Misses          805      805
  Partials        525      525

Impacted Files
Coverage Δ
Complexity Δ

...detekt/rules/style/UnderscoresInNumericLiterals.kt
85.18% <ø> (ø)
12 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Regenerate map on block/location deletion

When deleting a block, or a block location, the map needs to be regenerated.
Thanks

Fixed on 05 jan 2017.
Added block of code to handle regeneration of map upon deletion of block.


Custom elasticsearchEndpoint host and port and not being passed to fluentd

When trying to point to a user default elasticsearch instance, the following are ignored and are not passed to the fluentd container.
   --set elasticsearchEndpoint.host=host
   --set elasticsearchEndpoint.port=9200

fixed in 1.0 and master


Introduce Function Calling, ChatCompletion

pls see documentation

Duplicate of #72

This is available in v0.12.0


Frame IDs collisions between extended format frames can and standard format frames

I think CAN IDs are being handled incorrectly. I noticed this when converting a DBC file to C code and I think it applies to everything as the issue is in cantools/database/can/database.py
Reproduce issue
I have the following test case DBC file which seems valid and passes the consistency checks of CANdb++ (Other than receiver and sender nodes). I've attached it as a .txt because github doesn't attach .dbc files
ExtenedMsgTest.dbc.txt
Below is the command to convert it to C code:
python3 -m cantools generate_c_source -o ./dbc ExtenedMsgTest.dbc
I end up with the following output:
WARNING:cantools.database.can.database:Overwriting message 'New_Message_X001' with 'New_Message_001' in the frame id to message dictionary because they have identical masked frame ids 0x1.
Successfully generated ./dbc/extened_msg_test.h and ./dbc/extened_msg_test.c.

I don't think the warning is valid as the IDs are different in the DBC and both messages can appear on the CAN bus. This doesn't change the c code source generation, but could when trying to do other tasks.
The warning is raised due to the following code snippit:
masked_frame_id = (message.frame_id & self._frame_id_mask)

        if masked_frame_id in self._frame_id_to_message:
            LOGGER.warning(
                "Overwriting message '%s' with '%s' in the frame id to message "
                "dictionary because they have identical masked frame ids 0x%x.",
                self._frame_id_to_message[masked_frame_id].name,
                message.name,
                masked_frame_id)

        self._name_to_message[message.name] = message
        self._frame_id_to_message[masked_frame_id] = message

At the above point the the extended ID bit flag has been removed from the identifier, leaving only the base and extension identifier parts to form the frame_id. When look ups are done, for example in the get_message_by_frame_id function, the extended boolean flag is never put back in to the frame ID to form the complete identifier. This means collisions can occur even though the extended and standard frame formats are supposed to have separate namespaces.
This stack overflow answer has the relavent bits of the standard:
https://stackoverflow.com/a/63216382

I think trying to fix this will be a change to the interface functions of cantools/database/can/database.py. When message IDs are read or writen, as well as the base frame ID, the extended boolean flag should also be provided.


Implement ChainState Struct

Define a ChainState struct to represent the current state of the blockchain.
Acceptance Criteria:

Define ChainState struct with fields:

block_height: u32
total_work: u128
best_block_hash: [u8; 32]
current_target: u32
epoch_start_time: u32
prev_timestamps: [u32; 11]

Implement Default trait for ChainState

Resources:

ZeroSync Cairo 0 code: block_header.cairo

Is this open for contribution?

Hi @raizo07, thanks for your interest. Please give us some time to organize issues.

Already implemented as a part of repo reorg. @raizo07 please try to pickup another issue.


always produce output table

when input contains no valid lines, no output table is produced. Instead an empty table should be produced.

obsolete


Fixed counter overflow in PPC AES-GCM stitched optimization

This fixed counter overflow in PR, https://github.com/openssl/openssl/issues/17588.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Wouldn't it be more optimal to fix the counter overflow handling in the assembler?

@t8m not necessary.  The performance is about the same.

Fixed all the comments.  Hope this one work.  Thanks.

@t8m @slontis Thanks for the comments and suggestions.  Hope this commit fix all.  Thanks.

It seems the assembler code is problematic on PPC64 BE for some reason - I've tried to run a cross-compile build on that architecture and that fails when linking. Do you have any idea what this failure is about: https://github.com/t8m/openssl/runs/5009222976

@t8m which architecture of the PPC BE you are running on?  P8?

@t8m which architecture of the PPC BE you are running on? P8?

Unfortunately I have no idea. This is using the Debian cross-compilation packages. Namely the gcc-9-powerpc64-linux-gnu package. I would expect the breakage to be seen in native Debian powerpc64 builds as well though.

@t8m The instruction sets used won't recognized by p8 arch or compiler.  The assembly is for ABI 2 and above.  So, the compiler may not support ABI 2.
Here is declared in the code.
.machine        "any"
.abiversion     2

@t8m The instruction sets used won't recognized by p8 arch or compiler. The assembly is for ABI 2 and above. So, the compiler may not support ABI 2.
Here is declared in the code.
.machine "any" .abiversion 2

Could we somehow handle this so the build is not broken when such compiler is used?

By handling this I mean skipping building this implementation in such case.

@t8m I removed the abi version and hope this will work for you.  Thanks.

Hmm, this allows the linking to proceed unfortunately the tests segfault very early:
https://github.com/t8m/openssl/runs/5024708613

@t8m Do you know which arch you are running on?  It ran on my p9/p10 machine.

@t8m I made some changes that only for p9 and above arch.  Hope this will fix the problem.

That test is running under qemu.   It ran on my p9/p10 machine.

What compiler and what distro did you use for testing? Was it power64 Big Endian system?

Apparently the segfault in the CI build is a red herring as it happens without the stitched AES-GCM optimization too. I need to investigate it further.

@t8m I tested on ppc64le system.  Will fix the ifdef and indent issues.  Thanks.

Please just drop the last two commits (git reset --hard HEAD~~ && git push --force)

Please just drop the last two commits (git reset --hard HEAD~~ && git push --force)

Or not. I see you did also the indentation changes there. We'll just squash the commits when merging.

This pull request is ready to merge

Merged to master after fixing indentation.


[BUG] Need to set max_state_tree_size_per_byte with 0.00625 (= 1/160)

We need to set max_state_tree_size_per_byte with 0.00625 (= 1/160) as 160 bytes is actual lower bound of bytes per state:
https://github.com/ainblockchain/ain-blockchain/blob/develop/db/state-node.js#L73

Done, thanks!


C++ calls and blueprint events callable from c++

one fix: https://github.com/getnamo/leap-ue4/commit/5d451a13e17047396c600392908c90e12a8b6a90
will need to sweep AnimBody for LEAPMOTION_API for other part

will be addressed in the modern re-write


Update remote-desktop-client-faq.yml

Fixing a typo, "do" should've been "do not" on line 207

@robinharwood, @Xelu86
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

???


Cannot sign in using auth token

I signed out of my local configuration page and now I can't get emacs tabnine to use my credentials. This means I don't have access to my Pro features in Emacs.

I did M-x tabnine-configuration
It navigated me to my configuration page in the browser
I logged out by pressing "Log out" on the configuration page
I clicked "sign in"
It navigated me to https://app.tabnine.com/auth/sign-in/manual
The page says

Sign in using auth token
To sign in using auth token, follow these steps:

- Copy this token
    <redacted_token>
- Go to your IDE command palette
- Type Tabnine: Sign in using auth token
- Paste this token

I do not see any way to sign in with this auth token

In case it's relevant,
tabnine--access-token is a variable defined in tabnine-core.el.

Value
nil

tabnine-access-token-expires-in is a customizable variable defined in
tabnine-core.el.

Value
2700

Sorry for the inconvenience, since the tabnine changed the auth method recently, but this package is not supported yet, but you can try with vscode to login your account.
I will try to resolve this issue this weekend.

Hi, @tillydray with the latest version, you can login your account with tabnine-login command.

@shuxiao9058 thanks it works! Happy Thanksgiving!


BIDMach needs an updated BIDMat.jar

I'm using Mac OS X 10.9.5 and have run into the same problems I outlined in https://github.com/BIDData/BIDMat/issues/18. Here's an example of a problem for quick reference:
scala> val diag = BIDMat.GMat(1 on 2 on 3)
diag: BIDMat.GMat =
1
2
3
scala> mkdiag(diag)
java.lang.RuntimeException: mkdiag requires a vector argument, but dims= 3 1
at BIDMat.GMat.mkdiag(GMat.scala:643)
at BIDMat.MatFunctions$.mkdiag(MatFunctions.scala:1442)
... 33 elided
scala>
The issue is that while I've added some fixes to BIDMat that resolve the above problem (plus others), they are not reflected in the latest BIDMat.jar that ships with BIDMach. The problem above happens when I downloaded the fresh 1.0.0 Mac bundle and typed in ./bidmach and then the commands above. Thus, the solution is simply to recompile BIDMat to get BIDMat.jar, and then copy that over to BIDMach's "lib" file in the 1.0.0 bundle, and that should fix things.
Also, the BIDMat API docs need to be updated since they do not have recent fixes and updated documentation.

Closed this, as it's been fixed.


Type of dataset during creation can decide other form elements

This is a feature request from observing trainees hands-on IPT during the BIFA workshop this year.
When creating a dataset, one should select a type and click create.
To avoid logical errors such as selecting occurrence type but then use event as the core mapping, the type field should dictate available core mappings to choose from. This can prevent errors at the early stages of data publishing.
If the dataset type is changed in the 'Basic Metadata', available options in core mapping drop-down should change as well. If a core mapping is already done and is not of the new selected dataset type, a warning will present.

Thank you for the suggestion @ckotwn
That makes sense indeed and may prevent publishers from errors.
What do you guys think @timrobertson100 @MattBlissett ?


automatically generate a .gitignore when executed init.

Description
I think that it is better to automatically generate a .gitignore file when polymer init is executed.
It's because in most cases we need to manually create .gitignore and writebower_components in it.
Steps to Reproduce
$ polymer init
# chose `polymer-2-application`

Versions
$ polymer --version
1.5.7

This issue was moved to Polymer/polymer-cli#953


train set and validation set

How can I divide the training set and the validation set? It seems that the official doesn't give a division scheme.

@tlhoerd Hope you have the code with you, code is not accessible now. It would be nice if you can share it with us


Virtual Machine Provisioning and Setup

A virtual machine needs to be provisioned by Georgia Tech for web hosting and database capabilities according to client requirements. Setup for PostgreSQL plus the web hosting tool will need to be done once it is provisioned.


✨ Create GitHub bot to automate prepending an emoji to new issues

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Add a GitHub Bot called CodeEditBot or something similar that prepends emoji to titles when new issues are created with the following labels.

Emoji
Label
Description

🐞
bug
A defect in the code that needs to be fixed

✨
enhancement
Planned feature representing work

💡
feature request
Proposed feature representing idea

💬
discussion
A conversation to arrive to a decision about something

❓
question
A question about how we should proceed

🚩
priority
Work that needs urgent attention. This replaces other emoji except for urgent if priority label is present

📬
feedback
Only add emoji if no other label above is present

🚨
urgent
Work that needs urgent attention. This replaces all others emoji if urgent label is present

Feel free to suggest others or suggest modifications
Describe alternatives you've considered
n/a
Additional context
n/a

Can we close this issue as we do have a basic bot for this as of now we just need to host it?!


Implement direct Result serialization

serde_rustler decided to map Rust's Result<Value, Error> type to {ok, Value} | {error, Error}. While we should keep this functionality, the current implementation is flawed by handling this through actually mapping ok <-> "Ok" and error <-> "Err". We can instead detect (de)serialization of a Result object by looking at the name and variants in a variant handler.

Superceded by #639.


adding CNAI group

This is second PR, following https://github.com/cncf/landscape2-sites/pull/85 (notice different repo).

Please note that until we merge https://github.com/cncf/landscape2-sites/pull/85 the preview won't be complete (as it'll be using the current settings, where the new group doesn't exist yet) 🙂

Settings update merged and preview ready! All yours @caniszczyk 🙂

Thanks @ronaldpetty and all


Example of using i2c with the bme280 air sensor

I created this example for my self as a reference for a more complex use of the bme280 sensor. And thought it might be nice to share.
I noted the comments in #24 that it seems like you don't want examples of real hardware, but I don think this is explicitly stated. Would you like a example like this? I might offer it to the bme280 crate but there example is i2c master agnostic, ill just put it on my blog as reference if this is not the place for it, but i think it will be much more easily discoverable here.
You can get bme280 breakout boards for less than £20 in the uk, eg https://thepihut.com/products/adafruit-bme280-i2c-or-spi-temperature-humidity-pressure-sensor so there pretty cheap and cheerful so it seems like a nice thing to use as a example as its cheap and you can see the values change quite quickly if you put your finger on it or blow on it.
If you would like it how would you like the dep added? the way i have added it, it is only ever built if some one asks for it but it might be nicer as a dev dep, but i don't think they can be optional.

Rebase, please.

I don't think we should add deps for examples, but I would also like to have a way to have example code like this, perhaps in a separate repo?

If you are interested, I have a lot of examples using this HAL here

Oh nice, that's a great resource. Would you mind if we make that more official by linking to it in the readme and directing examples like this one there? @eldruin

Sure, I would be happy if it gets more visibility. I have tried to write many self-contained examples for different devices.

Sorry, I didn't notice the conversation on this. The dep is only acitve if requested as a feature, other repos like Druid support examples that need extras like that.
If this example is useful i can look up adding the dep as part of the example, i think that's possible. i didn't want to put too much effort in to meta stuff like that until I knew if it would be helpful.
Might this be merged if i can sort out the deps?

@burrbull this is re-based now, if you are interested.

LGTM

Oh cool, in the current state, I think this is a great change, thanks!


"HTTP trigger, look up ID from route data" JavaScript example uses incorrect casing

The example function.json uses C# casing rather than the JSON casing.
      "Id": "{id}",
      "PartitionKey": "{partitionKeyValue}"

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

ID: f9e3fe74-1d65-41eb-6a5e-0595e6d06029
Version Independent ID: 8933389b-f4c0-acbd-afe3-86f18738c1f9
Content: Azure Cosmos DB input binding for Functions 2.x and higher
Content Source: articles/azure-functions/functions-bindings-cosmosdb-v2-input.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@oadrian2 Thanks for the question! We are investigating and will update you shortly.

@oadrian2 Could you provide an example of what you are expecting?


✨ [Enhancement] - Create a Logo

Description:
We already have a logo, but it doesn't appear very professional and doesn't complement the website's aesthetics. Therefore, we need to create a unique and visually appealing logo for our Hacktoberfest Projects Hub.
Tasks:

[ ] The logo should effectively represent our Hacktoberfest Projects Hub.
[ ] The logo design should be visually appealing and memorable.
[ ] Provide the logo in PNG file format.

I have designed logos for some people before. Assign me this task to design a logo for your website. I'm certain you'll like it.

I have designed logos for some people before. Assign me this task to design a logo for your website. I'm certain you'll like it.

Hi @yoshita-ratnawat, assigned to you. You can start working on it.


Staying in active mode through end of commissioning fails if commissioning window closes before commissioning ends

Even after https://github.com/project-chip/connectedhomeip/pull/23936 we can end up going back to sleep in the middle of commissioning as follows:

A commissioning window is opened for 5 mins
We enter active mode.
Foud (4) minutes later a PASE session is established and commissioning starts.
One (1) minute after that the commissioning window timer fires and we close the commissioning window, which takes us out of active mode, even though commissioning may not be done.

What we should probably do is that if the commissioning window is closed while we have a live PASE session we stay in active mode until the PASE session is closed.

The spec has now been clarified to say that we stay in active mode as long as either a commissioning window is open or a fail-safe is armed.
We currently implement the former, but we should implement the latter.


Feature request: include isort line_length option (to allow decouping of linting from formatting)

Ruff version: 0.4.3
Request in short:
It would be nice if Ruff's isort implementation supported isort's line_length setting independently from Ruff's global line-length setting.
The width threshold used for warning about line length issues should not exactly match the value used for automatic formatting (line wrapping). Warnings and auto-formatting are different things and it would be nice if Ruff didn't rigidly couple them.
This could be done here by just adding support for line_length in the lint.isort settings.
Rationale:
I use Ruff for linting, but do not use it for overall file formatting.  I do use Ruff's embedded isort formatting extensively.
For linting the line length:

I want Ruff to tell me when a line is definitely too long (using E501) according to Ruff's line-length setting
I set line-length to be fairly long (150) to allow for edge cases when it just happens (e.g. an inline comment extending a few characters past normal expected line width)

For automatic line length formatting:

I do not use the black implementation
I do use Ruff's isort extensively (through "Fix all auto-fixable problems")
I do generally want lines wrapped at 100 chars, but not religiously so like black would do

fwiw, I handle line lengths in files with vertical rulers in vscode, as well as through the vscode Rewrap extension (with Ruff linting catching obscene line lengths)
I think the line length styling should mostly be up to the user/use-case, with the linter being configured to catch clear problems

In most cases long from ... import ... lines shouldn't happen in a code base, but (aside from this being a style choice) it is common in some libraries like PySide6, where lines like this are common:
from PySide6.QtWidgets import QGraphicsItem, QGraphicsLineItem, QGraphicsPixmapItem, QGraphicsScene, QGraphicsTextItem, QGraphicsView, QVBoxLayout

The isort implementation nicely generated that line... but it is too long because the linter line-length threshold is intentionally long, and Ruff is wrapping using it.

Thanks, though I think this is a duplicate of #3206?

... not sure how I missed #3206!!  🤦  It is a duplicate.
I think this is because I landed here after finding #4048 (about use_parentheses) and re-targeted the report while writing it.
Rationale here is basically in support of #3206. Shall I move the text over there?


[nl] update existence

update fetching existence information to match the new facet response from mixer and add a date parameter (that will be used in a future PR)
update all the series flask endpoints, client side types, etc according to the new observation response from mixer.
added TODO to update also for point (but none of the response changes are needed right now)

thanks for the reviews!


Error when connection to remote Redshift cluster

Describe the bug
(A clear and concise description of what the bug is.)
When attempting to connect to a remote Redshift cluster, I receive the following exception:
odd-collector_1          | Traceback (most recent call last):
odd-collector_1          |   File "/app/odd_collector/adapters/redshift/adapter.py", line 90, in __connect
odd-collector_1          |     self.__connection = psycopg2.connect(self._data_source)
odd-collector_1          |   File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 122, in connect
odd-collector_1          |     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
odd-collector_1          | psycopg2.OperationalError: could not translate host name "my.redshift.cluster" to address: Name or service not known

Set up
(How do you run the app?
Which version of the app are you running? Provide either docker image version or check commit hash at the top left corner. We won't be able to help you without this information.)
I followed the instructions here.
My collector_config.yaml file looks like this:
default_pulling_interval: 1
token: "MGnOJf0ni9fZW4wHkzOxoaOtkYt5op8vts567pTX"
plugins:
  - type: postgresql
    name: postgresql-step2-test
    host: !ENV ${SAMPLE_POSTGRES_HOST}
    port: 5432
    database: !ENV ${SAMPLE_POSTGRES_DATABASE}
    user: !ENV ${SAMPLE_POSTGRES_USER}
    password: !ENV ${SAMPLE_POSTGRES_PASSWORD}
  - type: redshift
    name: My Redshift Cluster
    description: "" # Optional string
    database: prod
    host: my.redshift.cluster
    port: 8192
    user: username
    password: password

Steps to Reproduce
Steps to reproduce the behavior:
I followed the instructions here.
Expected behavior
(A clear and concise description of what you expected to happen)
A connection to the cluster is opened successfully and the meta data is populated.
Screenshots
(If applicable, add screenshots to help explain your problem)
NA.
Additional context
(Add any other context about the problem here)

@Vixtir FYI

Stale


Tree should push children to beginning of list. Small Tree.js refactoring.

This commit changes the order in which child nodes of the Tree data structure are appended. This allows for "redo" functionality that moves forward to the most recent change.

Neat! :+1:


Containers are not restarted on failure

I've noticed that when a backup fails (in my case it's due to the underlying mount point being unavailable), the docker containers that are automatically stopped are not restarted:
Local and Remote metadata are synchronized, no sync needed.
Last full backup left a partial set, restarting.
Last full backup date: Thu Sep  6 16:51:36 2018
RESTART: The first volume failed to upload before termination.
         Restart is impossible...starting backup from beginning.
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
No signatures found, switching to full backup.
Giving up after 1 attempts. IOError: [Errno 2] No such file or directory: '/backup/duplicity-full.20180906T165246Z.vol1.difftar.gz'

Would it be possible to ensure that docker containers are started back up even when there is an error backing up?

Yes, that is a good idea.

Implemented and available.

Are you sure that it works? I'm using version 1.2.1 and last night the backup failed to push the data via FTPS (I'm not sure why) and the containers stayed down after the failed backup.

The solution has been refactored and tested after issue #56.
Old script already fails when one of the containers fails to either stop or start or being not available anymore.
New script ignores docker failures and starts available containers.

Thanks a lot for your work! I will update and check.


Replace tld with tldextract to fix CRITICAL_WORKER_TIMEOUT

Fixes https://github.com/creativecommons/cccatalog-api/issues/479
Description
Replaces tld package with tldextract and extends gunicorn timeout.
Technical details
In the cleanup process in Ingestion Server, we need to figure out whether a domain support TLS or not. This requires a better parser than the stock URL parse that ships with Python, so we used the tld package to do this. The tld package unfortunately relies on a remote list of names, and the site hosting these names was down. This would cause the call to update_tld_names to hang, which would then time out the startup of ingestion-server without a stacktrace in the logs (because the gunicorn timeout was too short for update_tld_names to return a timeout error). I swapped out tld for tldextract and increased the gunicorn worker timeout to fix this problem.

This would cause the call to update_tld_names to hang, which would then time out the startup of ingestion-server without a stacktrace in the logs.

I suffered from the same issue recently although, it seems like upgrading tld (pip install --upgrade tld) solved it.


Create _posts dir during build if it isn't present.

I merged a feature branch into master with some updates to a notebook, and my posts disappeared. Looking through the build, for every notebook I see:
converting: _notebooks/notebook.ipynb
[Errno 2] No such file or directory: '_posts/2021-05-23-notebook.md'
...
Conversion failed on the following:
notebook.ipynb
...

In this merge commit, I deleted the posts in _posts/notebook.md because I thought the github actions would create those files anyways. Am I thinking about fastpages incorrectly? Or is it just that I need to have a non-empty _posts/ folder for the CI job to work...?

re-creating _posts/ solved the issue. Should that be added to the build step?

Not sure why you don't have _posts/ that folder is in this repo.  I think you may have deleted it?

Also yes, _posts is a required directory.  I think this error is a good thing.  I'll add something to that directory's README to warn users not to delete it.


TF_CLOUD: Add carbon neutral

Create block that covers carbon neutral approach:
Title: First Carbon Neutral Cloud
Text:
ThreeFold’s peer-to-peer nature brings considerable energy efficiencies as compared to current solutions.
The remaining carbon footprint of the grid will be converted into carbon credits and invested in planet positive projects to enable the world’s first carbon neutral cloud.

https://docs.google.com/presentation/d/1tRPjubgQaspXIXFV1vh8eiyBGrXAW6yuIeZbMN7a9qA/edit#slide=id.gc6f21bb149_0_0

Best to create a wiki page that has all the details and facts backing this claim and then we can bring a block on each relevant website linking to this wiki page.

Add above pricing section. Will create wiki and we can link by sunday.

I'm sure you meant Carbon Neutral section instead of Pricing.
So I'm adding this to threefold_io:

And this to farming:

Both on home pages.
Will add button when we have wiki to link to.

I'm sure you meant Carbon Neutral section instead of Pricing.
So I'm adding this to threefold_io:

And this to farming:

Both on home pages.
Will add button when we have wiki to link to.


Async version

Closes #3

Changes Unknown when pulling 6ca6484f09f4783b64b4ddd4a1113c5cffaff084 on feat/async into ** on master**.

Changes Unknown when pulling e8e73b32aad30e991f60ea161f380cbef015fd25 on feat/async into ** on master**.


Can't connect to laravel forge via cli ( cURL error 60: SSL certificate problem: unable to get local issuer certificate )

Forge CLI Version: 1.3.4
PHP Version: 8.0.11

Description:
Trying to connect to Laravel forge via CLI fails on both forge login  and forge login --token=MY_PERSONAL_TOKEN
producing the following error:

An unexpected error occurred. Please report this issue here:
https://github.com/laravel/forge-cli/issues/new/choose

Forge CLI Version: 1.3.4
PHP Version: 8.0.11
Operating System: WINNT
Error Message: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.h
axx.se/libcurl/c/libcurl-errors.html) for https://forge.laravel.com/api/v1/servers.

Steps To Reproduce:
forge login
produces this aforementioned error.

We sometimes see this when there is a problem with our customer's DNS settings on their local machine. Can you try using Google Public DNS? The Google Public DNS IP addresses (IPv4) are as follows:

<IP_ADDRESS>
<IP_ADDRESS>

Please let us know how it goes.

I had this same error on Windows10 today:
An unexpected error occured. Please report this issue here:
https://github.com/laravel/forge-cli/issues/new/choose

Forge CLI Version: 1.7.0
PHP Version: 8.1.3
Operating System: WINNT
Error Message: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://forge.laravel.com/api/v1/servers.

I confirmed my DNS servers on local machine are listing Google as noted by previous suggestion.
Solution for me was to try running forge login from vagrant, success, API token accepted on vagrant but not on Windows 10 host.


Job output unavailable in new site

In the old site we could doubleclick on a job icon (leading dot in the row) and get output. That doesn't work now; for failed jobs in the new site there is an "Error output" dropdown but that never shows anything. It also doesn't appear for non-failed jobs.
How do we get job output in the new site?

this is fixed by the 2017 March release.


test-branch/execute-job/quoted-authorization/aae1d11d-68f1-4bad-a5dd-9eae59ee44d8

PR for testing 3fa3fa60dc48c965d76a0ec904a8475a9d9144cf

/canonical/self-hosted-runners/run-workflows 3fa3fa60dc48c965d76a0ec904a8475a9d9144cf


Take fileinfo kwarg in add_target and add_target_to_bin methods

Description of issue or feature request:
The repository tool add_target and add_target_to_bin methods can be used to add target paths to the targets metadata in memory. The corresponding target file hashes are produced later e.g. on write or writeall.
It should be possible to add target paths using those functions, along with target file hashes that are generated out of band (this is required for PEP 458).
Current behavior:
add_target and add_target_to_bin don't take a fileinfo argument.
Implementation hint: roledb currently has a paths dictionary, where target paths are listed as dict keys and the optionally passed custom dict as value:
{"paths" : {"<TARGET PATH>": "custom": <CUSTOM DICT>}, ...}}

Expected behavior:
add_target and add_target_to_bin take an optional fileinfo argument that adheres to tuf.formats.FILEINFO_SCHEMA.
Implementation hint:  probably requires a change to roledb to store all fileinfo properties, e.g.:
{
"paths" : {
  "<TARGET PATH>": {
    "length": <LENGTH>,
    "hashes": <HASHES>,
    "version": <VERSION>,
    "custom": <CUSTOM DICT>
    }, ...
  }
}

Discussion:

fileinfo as returned by tuf.formats.make_fileinfo optionally includes the custom field (see above). It feels redundant to have add_target accept both custom and fileinfo. If we are fine with an interface change, I suggest to replace the former with the latter. Otherwise, we can have both, and fail if someone passes both custom and fileinfo

Functions that take multiple target paths as list of string,  i.e. add_targets, delegate, delegate_hashed_bins, IMO don't need to provide this feature.

To clarify this on the downstream side, this is roughly how I'd expect to consume this API (the utils calls are likely to change, that's just me scratchpadding):
from warehouse.tuf import utils

@task(bind=True, ignore_result=True, acks_late=True)
def add_target(task, request, file):
    repository = utils.open_repository(request)
    fileinfo = utils.make_fileinfo(file)

    repository.add_target_to_bin(file.path, fileinfo=fileinfo)
    # signing, writing operations

Fixed in #1007


Bad UX with asset search in swapper.

In the swapper we currently don't show USDC as a pinned asset on the top, when a user attempts to search for it we suggest really bad first options for USDC, and the actual USDC is buried in the search.

A user has to

know that the first USDC we suggest isn't the correct one, because they wont get any rates back with whatever spam token that actually is.

scroll down three full pages to find USDC on ethereum

scroll past several other chain suggestions for USDC even tho the chain selector has ETH selected AND the wallet has ETH selected.

We should solve this.  My suggestions would be

pin USDC to the top just like USDT
determine a better sorting algo for assets ( can we use trade volume or some other metric to better sort assets that match search criteria)
Show assets on the currently connected chain and selected chain in the swapper first.  (USDC on ETH shows up ahead of USDC on polygon for example)

cc @shapeshift/product

wondering how much overlap with  #7900

This is gonna be high prio - we can discuss during grooming, but the USDC assets we are suggesting PAGES ahead of the real assets are scam / spam tokens.

for this ticket:
Sort order in search:

Assets with fiat balance
Assets sorted by market cap (from asset generation)
Asset with non zero balance but zero fiat value (sort alphabetically)

Remove 0 mcap tokens from asset metadata
longer term:

add hide list for assets
pair down search within swapper to remove more esoteric items w no MC that still may be desireable from portals

filter that allows for low caps in search (default to not include low or no mc tokens)

add warning to confirm user wants to interact with a low mcap token

For posterity, the reason we don't necessarily show USDC as a pinned asset is because this list is dynamic.
We have useGetPopularAssetsQuery which calls getMarketServiceManager().findAllSortedByVolumeDesc() - we then dynamically pin the top 5 (either by chain, or overall is "All" is selected).

@0xApotheosis - thanks for that, forgot to add that to the scope of this during grooming, but will add a separate ticket for this.