Fix addOption bugs

This function doesn't work correctly:

You can't add dynamic option if you adding it to the optgroup because index variable is calculating default index of full container but not of given optgroup.
IMHO, optgroup must be created automatically if it doesn't exist yet.

Related issues:
https://github.com/lou/multi-select/issues/173
https://github.com/lou/multi-select/issues/128

Great fix!

This was great! Finally able to get optgroup created automatically when it doesn't already exist.
I am seeing an issue now though where after the page loads the selected container displays the optgroup values even though no items have been selected yet.
Is anyone else seeing this? Any thoughts?
Here's how I'm writing my code:

    Multi-Select Field:
    <select name="selectField" id="selectField" multiple required></select>

var selectField = $jq("#selectField");
$.getJSON("url/to/my/json/file",function(data) {
   $.each(data,function(index,value) {
      selectField.multiSelect('addOption',{value:value.value,text:value.text,nested:value.nested});
   });
});

selectField.multiSelect({selectableOptgroup:true});

Probably not the cleanest way to do it, but I just called a "deselect_all" after I was done adding all my options. This took care of my problem.


List of Arithmetic Bloqs which need decompositions

Square integers

code https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L648
ref: https://arxiv.org/abs/2105.12767. pg 76 for Toffoli complexity (text not circuit)
adjoint: No

Sum of Squares (integers)

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L690
ref: https://arxiv.org/abs/2105.12767 pg 80 (text no circuit)
adjoint: No

Product (integers)

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L747
ref: https://arxiv.org/abs/2105.12767 pg 81 (text no circuit)
adjoint: No

Scale integer by real number

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L797
ref: https://arxiv.org/pdf/2007.07391.pdf pg 70 (text)
adjoint: No

Multiply two real numbers

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L853
ref: https://arxiv.org/pdf/2007.07391.pdf pg 71 (text)
adjoint: No

Square real number

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L904
ref: https://arxiv.org/pdf/2007.07391.pdf) pg 74 (text)
adjoint: No

AddConstantMod

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L581
ref ?
adjoint: ArithmeticGate

Greater Than

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L958
ref: ? (modification of <=)
adjoint: No

Greater Than Constant

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L1000
ref: ? (modification of <= c)
adjoint: No

Equals A constant

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L1038
ref: ? (modification of <= c)
adjoint: No

ToContiguousIndex

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L1070
ref: https://arxiv.org/pdf/2011.03494.pdf Eq. 29 (it's just multiplication and addition of integers really)
adjoint: No

SignedToTwo

code: https://github.com/quantumlib/Qualtran/blob/main/qualtran/bloqs/arithmetic.py#L1122
ref: https://arxiv.org/abs/2105.12767 page 24
adjoint: No

Other relevant things:
#390 (inequality tests can be inverted with zero Toffoli cost using out of place adders)

SimpleAddConstant can be replaced with Figure 18 of https://arxiv.org/pdf/2007.07391.pdf


[User Interface: Redesign]: Remove display of collectionType from ResourceCatalog card header

Issue Name
Remove display of collectionType from ResourceCatalog card header
Issue Description
The NIAID team has requested that the display of the 'collectionType' be removed from the ResourceCatalog card header

Issue Discussion
The request was made via an email dated 2024.05.07 from @sudvenk on behalf of the NIAID team
Mockup URL
No response
WCAG Compliance Check

[X] The ui changes are not expected to significantly affect WCAG compliance (ex- wording changes)
[ ] The ui changes have visual elements which have yet to be tested for WCAG compliance
[ ] The ui changes have visual elements which have been tested for WCAG compliance
[ ] The ui changes have passed all checks for WCAG compliance

Related WBS task

[ ] Check here if the ui change is centered on the look and feel (https://github.com/NIAID-Data-Ecosystem/nde-roadmap/issues/52)
[ ] Check here if the ui change includes new features (https://github.com/NIAID-Data-Ecosystem/nde-roadmap/issues/53)
[X] Check here if the ui change was suggested by the NIAID team (https://github.com/NIAID-Data-Ecosystem/nde-roadmap/issues/2)

For internal use only. Assignee, please select the status of this issue

[ ] Not yet started
[ ] In progress
[ ] Blocked
[ ] Will not address

Status Description
No response
UI change status check list

[ ] This ui change has yet to be discussed between NIAID, Scripps, Leidos
[X] This ui change has been discussed/reported between NIAID, Scripps, Leidos
[ ] This ui change has been mocked up
[ ] This ui change has been implemented on Dev
[X] This ui change has been approved for Staging
[ ] This ui change has been implemented on Staging
[X] This ui change has been approved for Production
[ ] This ui change has been implemented on Production

This is now on production. We are marking this as pending close out and will close this issue in a week if there are no further comments or concerns


include GOVC_INSECURE env var in test environment

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/override eks-anywhere-attribution-files-presubmit
/override eks-anywhere-e2e-presubmit
/override eks-anywhere-presubmit


[NEW] vs [MODIFIED] entries

This probably doesn't work with the automatic option but here's an idea for you:
Keep a timestamp of the last time the changelog was updated. Then only show files that were modified since that timestamp.
If ctime > last_updated, then you can identify the file as new.

If this doesn't quite fit with your vision of the plugin, let me know! My use case is really just for publishing a changelog of my Obsidian Publish vault, so I realize this might be a bit off track.

I haven't used Obsidian Publish yet, my understanding of your use-case is: you want to maintain a changelog whenever you "push" a new version on Obsidian Publish with only the files changed since last time the changelog has been updated?

Do you want to override the number of recent files in changelog setting?
Do you need to explicitly tag new vs modified entries?


Record TransformedRandomVariables.

The name argument to TransformedRandomVariable is unused. It should be used to record the sample.
Discovered here: https://github.com/CDCgov/multisignal-epi-inference/issues/376#issuecomment-2289977317

Optionally be used?


Allow v5 tags like keyformat and keyformatversion to be optional

Great library folks!
Just made some changes to ensure that keyformat and keyformatversions both optional tags pre v5 can be ignored where necessary.
Added some tests to the WriteUtils.

The rest looks good, thank you!


Feature request: breakpoint debug shaders

Debugging shaders is notoriously difficult and the common advice is to use colors to debug.
I came across this plugin that offers shader debugging, but it requires using a file type I've never heard of (.sprj), seems to be proprietary. I think adding breakpoint-debugging to the shader-toy extension could really help make it stand apart from the shadertoy website.

This is way out of the scope of this extension. It runs simple a simple pipeline in a webview using WebGL 2.0 and SHADERed uses a proper full pipeline. It's a complicated piece of software made for complicated work. If you need that kind of power you are probably better off using the dedicated plugin for it.


[FLINK-9697] Provide connector for Kafka 2.0.0

What is the purpose of the change
This pull request provides connector for Kafka 2.0.0
Brief change log

Provide connector for Kafka 2.0.0

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

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

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Currently this PR is not ready to be reviewed, it still needs some refactoring.

@yanghua CC me and/or request review when this will be ready to review

@pnowojski OK. There is a test case testOneToOneAtLeastOnceRegularSink always can not been passed, I am trying to find the reason.

In existing Kafka011ProducerExactlyOnceITCase, at least once tests are not passing. Please check the comment in Kafka011ProducerExactlyOnceITCase#testOneToOneAtLeastOnceRegularSink for more details. It might be the same issue.

I have already read the comment for this method, yes, it will cause the test program to become unresponsive. But each PR will verify this test, why it passed very many times, but this PR, I committed twice, it failed on this use case. Therefore, I suspect that it is caused by the kafka 2.0 version. But with your reminder, it looks like it's a probabilistic problem, and it can fail in existing code.

@pnowojski If we don't consider the failed test case, then this PR applies to both Kafka client 1.0 and kafka client 2.0. Basically it also applies to kafka 0.11 (except for a reflection field of the producer transaction and the associated test code). So, I want to hear your opinion. Should we build a connector that fits the three versions of kafka client next?

OK, @aljoscha This PR currently mainly proves that most of the source code of flink-connector-kafka-0.11 is compatible with kafka client 2.0 (regardless of the test cases that inherently have a risk of failure). Then, next, I will refactor it so that it does not depend on flink-connector-kafka-0.11.

Excellent 👌

@yanghua I would assume that deadlocking/becoming unresponsive just proves that our at-least-once test is broken and should be replaced. Feel free to disable it for your 2.0.0 version.
Keep in mind that the idea is to use our 2.0 connector, to talk to all Kafka versions from 0.11+. That requires some additional testing and refactoring of our existing testing code base. So far we were testing flink-connector-kafka-0.11 against only a single kafka version (0.11). Now, we might need to test our flink-connector-kafka-2.0 against Kafka 0.11, 1.0, 1.1 and 2.0.

@pnowojski Ok, what I am currently doing is removing the cascading dependencies in flink-connector-kafka-2.0. And verify the correctness of this step.

Excellent! 👌
I'm currently working on adding support for Scala 2.12, and this PR is a prerequisite for that, since it makes it easier to remove older Kafka connectors from the Scala 2.12 build. The reason for this is that there are no Scala 2.12 dependencies for Kafka version < 0.10.2.x

@alexeyt820 thanks for paying attention to this PR. I am trying to fix some test issue. Based on the community's efficiency, It may not catch up with the time point of releasing 1.7. I will try my best to fix these test issues as soon as possible.

@yanghua What is the problem with the failing tests? Do you have any idea so far?

@aljoscha some test cases which used kafka-server, failed with this exception :
java.lang.NoClassDefFoundError: org/slf4j/event/Level

	at kafka.utils.CoreUtils$.swallow$default$3(CoreUtils.scala:84)
	at kafka.server.KafkaServer.shutdown(KafkaServer.scala:566)
	at org.apache.flink.streaming.connectors.kafka.KafkaTestEnvironmentImpl.shutdown(KafkaTestEnvironmentImpl.java:314)
	at org.apache.flink.streaming.connectors.kafka.KafkaTestBase.shutdownClusters(KafkaTestBase.java:174)
	at org.apache.flink.streaming.connectors.kafka.KafkaTestBase.shutDownServices(KafkaTestBase.java:126)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

But I checked, the slf4j-api exists in the dependencies.

Ignoring the slf4j error for now, I see some other errors, for example that kafka.consumer.ConsumerConfig cannot be found. The problem is that the packages starting with kafka.* are deprecated and have been removed in Kafka 2.0.0. (see here: https://github.com/apache/kafka/blob/1.0/core/src/main/scala/kafka/consumer/ConsumerConfig.scala#L26) I think the first step is removing all of those dependencies from the connector-base package. Or, if that is not possible, it might be that Kafka 2.0 can't use the connector-base package.

We seem to be using those classes in packages that are not there anymore:
~/D/f/f/flink-connector-kafka-base (finish-pr-6703-kafka-20|✔) $ rg "import kafka\."
src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaTestEnvironment.java
30:import kafka.server.KafkaServer;

src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaConsumerTestBase.java
81:import kafka.consumer.Consumer;
82:import kafka.consumer.ConsumerConfig;
83:import kafka.consumer.ConsumerIterator;
84:import kafka.consumer.KafkaStream;
85:import kafka.javaapi.consumer.ConsumerConnector;
86:import kafka.message.MessageAndMetadata;
87:import kafka.server.KafkaServer;

Yes, the reason (as I said) is that 1.0 still has the code in those kafka.consumer... packages while in 2.0 they are removed.

@yanghua Actually, I think you can make it work by just removing method readTopicToList from KafkaConsumerTestBase and and by removing the kafka.consumer.... imports.

@aljoscha yes, you are right, I have update the PR.

@aljoscha still many failed test cases because of timeout and ClassNotFound.

@yanghua According to the slf4j doc Level is only available since version 1.7.15 while Flink uses 1.7.7: https://www.slf4j.org/api/org/slf4j/event/Level.html. Could you try updating to 1.7.15?

Now the tests only fail on timeouts.

yes, thanks for your solution @aljoscha . I will take a look about the failed test case because of timeout.

it seems the tests pass now 👍
Please make sure to also:

rename the module to flink-connector-kafka_${scala.binary.version}
remove the 20 part from the classes
remove some unrelated leftover changes in the 0.11 connector

@aljoscha Yes, the test passed. I will change the module name later, but there is a little doubt. If no version number is added, the user uses the connector and introduces a very early kafka dependency (eg, 0.8, 0.9). Currently, for lower kafka dependencies, this connector should not be able to provide support. For this situation, should we prevent it from happening?

We can prevent it if it's easily possible but we can also rely on documentation for that, in my opinion.

@aljoscha when I rename 'Kafka20TableSink' -> 'KafkaTableSink', but 'KafkaTableSink' exists in 'flink-connector-kafka-base'. Shall we rename 'KafkaTableSink' to 'KafkaTableSinkBase'?

@aljoscha when I rename 'Kafka20TableSink' -> 'KafkaTableSink', but 'KafkaTableSink' exists in 'flink-connector-kafka-base'. Shall we rename 'KafkaTableSink' to 'KafkaTableSinkBase'?

Yes, I think that's the right approach! 👍

Could you please also mark the consumer and producer as @PublicEvolving?

And we could probably add the Javadoc from FlinkKafkaConsumer011 to the new Consumer as well.

Could you please also mark the consumer and producer as @PublicEvolving?

And we could probably add the Javadoc from FlinkKafkaConsumer011 to the new Consumer as well.

OK.

@aljoscha compile and test successfully, what I should do next?

@yanghua Thanks for iterating on this so quickly! I will do a last thorough review next week and then hopefully merge.
To make the reviewing easier you could restructure the commits a bit. All prerequisite work should go into isolated commits and then the last commit should only have the new files for the Kafka 2.0 connector. For example the dependency change would be separate, or renaming the KafkaTableSource to KafkaTableSourceBase can be separate to more clearly see what each change does. This makes it way easier in the feature when someone looks at the changes and tries to figure out what was going on.

@aljoscha OK, I will refactor the commits and commit messages.

@aljoscha I have refactored and separated the commits.

Can deserializer access ConsumerRecord to get headers and timestamp? Or it will be PR on top this PR?

@alexeyt820 I agree with @aljoscha  that we should not add more changes to this PR so that its review progress is further delayed (because it is already large enough). We are trying to get it to catch up with the release point of Flink 1.7. Of course, the issue you mentioned is also valuable. I feel that once this PR is merged, we can immediately put the issue on the agenda. Thanks.

Thanks, @tzulitai!
@eliaslevy Are you happy with the state of the PR or is there anything else that needs changing?
@yanghua I'd like to make some changes while merging, if that's ok for you:

rename FlinkKafkaInnerProducer to FlinkKafkaInternalProducer
rename KafkaMetricMuttableWrapper to KafkaMetricMutableWrapper

As a follow-up, we should change/or add end-to-end tests that use the new Kafka consumer. We also need to do this for Scala 2.12 support because the existing connector hierarchy doesn't work with Scala 2.12.

@aljoscha The renaming work has been completed.

As a follow-up, we should change/or add end-to-end tests that use the new Kafka consumer. We also need to do this for Scala 2.12 support because the existing connector hierarchy doesn't work with Scala 2.12.

Will the tasks you refer to be completed on this PR, or after it is merged?

In addition, I think we should modify the title of the JIRA issue and this PR. What do you think?

@aljoscha The renaming work has been completed.

As a follow-up, we should change/or add end-to-end tests that use the new Kafka consumer. We also need to do this for Scala 2.12 support because the existing connector hierarchy doesn't work with Scala 2.12.

Will the tasks you refer to be completed on this PR, or after it is merged?

I think after merging this PR, to unblock other things.

@yanghua I renamed the issue. You can also prefix all the commit titles with [FLINK-9697].

Refactored commit message and rebased this PR.

@yanghua LGTM 👍

14:37:26.192 [ERROR] /home/travis/build/apache/flink/flink-connectors/flink-connector-kafka-0.11/src/main/java/org/apache/flink/streaming/connectors/kafka/internal/metrics/KafkaMetricMuttableWrapper.java:[30,8] class KafkaMetricMutableWrapper is public, should be declared in a file named KafkaMetricMutableWrapper.java

cc @aljoscha

Is there anything else I need to do about this PR?

@yanghua You don't have to do anything more, I'll merge shortly.

@alexeyt820 are you working on header and timestamp access to get it rebased and working on top of this?

Maybe we can create an umbrella issue on JIRA to track the unfinished work around this PR. After it will be merged, I am also happy to continue with some remaining issues.

Thanks a lot for iterating on this and coming up with a good solution in the end, @yanghua!
And also thanks a lot to @eliaslevy for the initial suggestion and for helpful reviews!
@yanghua As a follow-up, do you want to update the documentation as well? Plus, we can add an end-to-end test for this.

I merged manually to master.

@aljoscha Yes, I am happy to follow up on the documentation and strengthen the testing of it. Considering that 1.7 is released soon, I still have a lot of important PR hopes to catch up with the release point, so maybe I will follow those PRs before the 1.7 branch is cut off.

@aljoscha @yanghua Did we just merge another kafka connector that takes more than 10 minutes to test?

@zentol I did increase the timeout for some tests, because in the new kafka client, the default timeout for some APIs (the API for getting partition information) is equal to the timeout (60s) we originally set for the test case, so I increased the test case's timeout to 120s to prevent the test case from throwing a timeout exception.

@aljoscha, I can work on header and timestamp access this week. I think that we still need to wrap ConsumerRecord, because seems KeyedDeserializationSchema is used by legacy connectors as well.

@alexeyt820 @aljoscha Do you agree I create an umbrella issue for the modern kafka connector?

Fine with me

@aljoscha I have create an umbrella issue (FLINK-10598) to track the issues about the modern kafka connector.
@alexeyt820 I do not know if the issue about "header and timestamp" that you are processing has been created on JIRA or not, if yes, you can archive it to FLINK-10598, if not, you can create a subtask for it. Thanks.

@yanghua, FLINK-8354 (headers) and FLINK-8500 (timestamp), but seems I don't have permissions to change anything in these Jira issues

@alexeyt820 I have moved these two issues into FLINK-10598 as a sub issue.

@yanghua is this new flink-connector-kafka module being compiled/tested on travis? I do not see the logs in travis builds and flink-connector-kafka is missing from MODULES_CONNECTORS defined in tools/travis/stage.sh.

hi @pnowojski see here.

ok thx, we will have to clean this up somehow.

@pnowojski Yes, I have created FLINK-10701 to track this problem.

One more issue question. Why the new connector has this exclussion:
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-connector-kafka-base_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.kafka</groupId>
					<artifactId>kafka_${scala.binary.version}</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

Shouldn't the flink-connector-kafka-base be Kafka independent?

@pnowojski Not only the modern kafka connector, but also other connectors. Each version of the flink-connector relies on the base module, while the base module shows dependencies on kafka. So, here we need to exclude it from the base module and explicitly introduce the high version dependency of kafka.

Yes I know about this issue with our connectors for kafka [0.9, 0.11], but I had an impression that it was supposed to be fixed for the new one.

The base module does not currently remove the dependency on kafka. We seem to have discussed it when implementing the kafka 1.0 version of the connector. However, it is not completed on this PR. Maybe I can refactor it? @pnowojski Do you agree?

Let's not do it know, but at some point of time we probably should do it. Unless we drop all of the connectors except of 2.0 - but in that case problem can reoccur once new Kafka version introduce some feature that we will want to use.


Fix back-to-front ternary in Connect example

Hi folks, I noticed a back-to-front ternary while I was reading the docs, here's a fix for it 🙂

Hiya! Sorry for not reacting to this for a while. We've been working on the v1 version for a while now which has just landed in master and will be available and announced as soon as the docs are ready :)
Unfortunately this means that this example has been removed for now, but we'd always appreciate a read of the upcoming docs, which we're writing right now: #181


Add local TOC as right sidebar for #764

This PR adds a table of contents for the local headings on the page (excluding the page title) as a right sidebar, as mentioned in #764. This implementation is similar to the one in GitLab's Handbook in that is moves the local TOC to the top of the page on smaller screens.
You can see my downstream implementation as a live demo here: https://docs.netgate.com/pfsense/en/latest/vpn/scaling.html
This PR is viewable at https://sphinx-rtd-theme--919.org.readthedocs.build/en/919/
Preview:

Thanks for giving a try on this! I tried this same thing a while back and it looked promising, but did introduce some UX issues with the existing global toc. We'll want to address these sort of issues and put this all under a configuration setting, but I think calling {{ toc }} directly is the way to go with a secondary side nav. I'll also have some feedback on css styles, i think we can reduce that a good deal and make the side nav more subtle.
To start, can you run python setup.py build to regenerate the built CSS so we can review the changes? This PR is viewable at https://sphinx-rtd-theme--919.org.readthedocs.build/en/919/

Thanks for giving a try on this! I tried this same thing a while back and it looked promising, but did introduce some UX issues with the existing global toc. We'll want to address these sort of issues and put this all under a configuration setting, but I think calling {{ toc }} directly is the way to go with a secondary side nav.

No problem! Yea, having the ability to turn the local TOC off, at a minimum, would be nice.

I'll also have some feedback on css styles, i think we can reduce that a good deal and make the side nav more subtle.

For sure, CSS isn't exactly my strong suit so there are probably some leftovers from all the trial and error.

To start, can you run python setup.py build to regenerate the built CSS so we can review the changes?

This has been done now and pushed.

Great functionality, but I don't know how to configure it?


Tls is missing

Tls is a very important part in casbin-raft, if it's not ok then we'll not be able to use casbin-raft as a cluster, we can only use it in single-node environment.
We should use grpc + tls, I would prefer using native-tls than rustls, because it supports more certificates.
Another question is, do we need to have tls implemented in casbin-raft, can we use other services to do this like nginx? Since I have nerver tried to do this, I have no idea for now

here is an example: https://github.com/hyperium/tonic/blob/master/examples/src/tls/client.rs and https://github.com/GopherJ/cfg/blob/master/cert/gen-cert.sh is a script that I use for tls communication in for example mqtt

Another question is: do we really need to have this in casbin-raft instead of upper level?

Maybe you can check the tls branch, I think this may provide the ability to support tls.
At least one thing that can be confirmed is that we can use the tls support provided by tonic.

@PsiACE Thanks I think it's enough, tonic uses rustls internally


Convert ByteData before writing into file

ByteData can not be written directly into file using writeAsBytes method.
It must be converted to Uint8List before the operation.

Thanks. Btw, please base your changes on develop instead of master :)

Sure I will do that .
Thanks lot for this amazing package.
On Sun, Nov 21, 2021, 10:24 PM Simon Binder @.***>
wrote:

Thanks. Btw, please base your changes on develop instead of master :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/simolus3/moor/pull/1555#issuecomment-974908394, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJQIW37GUJMHRRY7NYTOS3TUNFWSLANCNFSM5IPFCLDQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Non-Free Network Services

On FDroid this says "Non-Free Network Services" but The BBC world service is free.
Think it's unfair to flag this.

Hi Mathew,
thanks for your feedback.
I tried hard ho get rid of this, to no avail so far.
This brings up the even more basic question, of the setup of F-Droid
organization.
E.g..
Best
Matthias
On 11/05/2023 22:47, Matthew Wilcoxson wrote:

On FDroid this says "Non-Free Network Services" but The BBC world
service is free.
Think it's unfair to flag this.
—
Reply to this email directly, view it on GitHub
https://github.com/sapstern/newshourpodcasts/issues/3, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPJJIGU3QEHTERFG3ZBHDDXFVF4XANCNFSM6AAAAAAX6UW6KM.


question: Something about snapcraft or build

Is it ok if I make a new package without etcd and etcdctl?
In other word,Can I delete, locally, etcd that is parts of snapcraft.yaml
Could you please give me an example about Slots

slots:
  microk8s:
    interface: content
    content: microk8s
    source:
      read: [$SNAP/.microk8s-info/microk8s]

Could you explain that cluster-agent in snapcraft.yaml?
Whether it simply provides a stage-packages dependency
and which is the same as bash-utils.stage-packages or microk8s.stage-packages

Hi @huang12zheng sorry for the late response:

Is it ok if I make a new package without etcd and etcdctl?
In other word,Can I delete, locally, etcd that is parts of snapcraft.yaml

Sure, you can delete etcd fro the snap. Note however that is you do so microk8s disable ha-cluster will not work as it will not be able to fallback to etcd.

Could you please give me an example about Slots

You can read more on slots over at [1]. Slots and plugs mostly apply to strictly confined snaps so you can ignore them in microk8s. MicroK8s is a classic snap for now.

Could you explain that cluster-agent in snapcraft.yaml?
Whether it simply provides a stage-packages dependency
and which is the same as bash-utils.stage-packages or microk8s.stage-packages

The cluster-agent [2] is a daemon that takes care the multi-node clustering process of MicroK8s. The cluster-agent part in the snapcraft is there to add the required dependencies in the snap.
[1] https://snapcraft.io/docs/interface-management
[2] https://github.com/ubuntu/microk8s/blob/master/scripts/cluster/agent.py

Thank you for your reply
[x] Q1

I didn't notice session of 'fallback to etcd'.

[x] Q3

the role of cluster-agent maybe the same as bash-utils.stage-packages, but agent is to make a api-server, Thanks to the REF, it helps me understand why they're separate

Q2:

I thought it(slots in yaml) meant microk8s could be used as plug for other applications.
That's why I wanted to get an example. But I think I got it wrong


Add example for performing firmware updates

Firmware updates can be beformed using BLE, USB or Serial

bors r+

bors r+


Commands: Better argument parsing

This was part of #5188.
Currently dotnet ef dbcontext list --no-build throws, but dotnet ef --no-build dbcontext list works. Part of this is just the way that Microsoft.Extensions.CommandLineUtils works.

This is more-or-less resolved by the inherited options change. Closing. We'll address the remaining quirks with #6850.


Update Line chart documentation

Adds documentation around the sizing of the shape renders at each point
See https://github.com/nnnick/Chart.js/issues/2232

Coverage remained the same at 71.732% when pulling 8fca9540ab0fd7f661c9da0f721c0dda2efaba11 on jamiepenney:v2.0-dev into ebb8ca233d769b8c565b84393f1ceedbe5359bc9 on nnnick:v2.0-dev.

Looks good. Thanks @jamiepenney


This library is not solely dependent on Rust

Fix: #1867
Docs claim this library is pure rust but it depends on libsecp256k1 (and optionally libbitcoinconsensus)
So, I changed the lib.rs file accordingly.

@roy9495 could you please update your local master to the current one on Github, and rebase this PR?

@roy9495 could you please update your local master to the current one on Github, and rebase this PR?

Sure sir

When you implement some fix from review can you make the change to the original commit. This way a PR does not contain commits that fix things in previous commits which makes review hard for the next reviewer. Thanks

yes

@roy9495 yes, in this case you should just squash them, because the resulting single commit will be small and self-contained.
In general, you want to produce PRs that are a series of well-defined, well-motivated, self-contained commits which each compile and pass tests independently. For small changes, "squash everything into one commit" is a perfectly reasonable way to do this. For bigger ones this can take some practice and repeated invocation of git rebase -i, or even doing a git reset --soft master to go back to master with all your changes uncommitted and ready to be committed piece-meal. Or even just opening a new worktree (or fresh clone of the repo :P) and copy/pasting your changes in, committing as you go.

Thank you


Could not create an ISO from a downloaded macOS installer

Hello.
I tried having an macOS Installer to be in an ISO file, but the process could not continue because of the error: "Error creating macOS Installer in temporary Disk Image" with an Invalid Termination Status: 9.
Specifications:
Build: Mist 0.5
OS: macOS Ventura 13.4 beta (22F5037d)

@pads1 I am unable to replicate your specific issue (seems to be working for me), so I might need some more information regarding your environment:

What Mac model are you using? Intel / Apple Silicon? You can run system_profiler SPHardwareDataType | grep "Model Identifier" | awk '{ print $NF }' in Terminal to find the exact model identifier
What version of macOS are you running? You can run sw_vers in Terminal to find the exact version + build numbers
I suspect the termination status 9 is a result of the createinstallmedia command failing - if you have a local copy of a macOS 13 installer handy, are you able to perform the following steps please:

Note: Replace /path/to/your on line #3 with your actual path to the macOS Ventura Installer
hdiutil create -fs JHFS+ -layout SPUD -size 16g -volname "macOS Ventura Test" ~/Desktop/macOS-Ventura-Test.dmg
hdiutil attach ~/Desktop/macOS-Ventura-Test.dmg -noverify -mountpoint /Volumes/macOS-Ventura-Test
sudo "/path/to/your/Install macOS Ventura.app/Contents/Resources/createinstallmedia" --volume /Volumes/macOS-Ventura-Test --nointeraction
hdiutil detach "/Volumes/Install macOS Ventura" -force

If the following commands also fail, particularly line #3, it could mean something has gotten stuck with the createinstallmedia process, so I would recommend unmounting / ejecting all Mist related volumes and restarting your Mac and trying again.
You can also delete the files created on your Desktop afterwards 👍

Closing due to inactivity, will re-open if required 👍


Update patient rules

This PR updates the patient rules based on our discussions in https://github.com/inform-us/INFORMus/issues/1637
The nicely formatted version of the rules is available here

@jhughes982 I've updated the rules to match your comments now. Let me know if any other changes are needed!

@jhughes982 I've updated the rules to match your comments now. Let me know if any other changes are needed!

Looks great to me!


Add "true" and "false" to reserved keywords, add failing tests for #16, update package.json

@sophiebits Please note the travis CI build failed because this PR adds failing tests for #16.

Hi @sophiebits, looks like jstransform is no longer supported by Google. Do you have plans to maintain es3ify any further?


Sidebar meny is scrolable

Firefox:

Chome:

This issue is fixed. Changes are delivered to the production environment.

@projkov vertical scroll still present


status.csv not correctly updating

The status csv which is meant to broadcast update issues appears to not be fault tolerant meaning that using it to detect issues is difficult.

It not indicates updates have happened but does not flag timeouts correctly.

It would be good to see some unit tests here to validate.

Linked to #129  and #152


Expose ServiceMonitor labels for memcached instances and make format consistent

Most blocks of values include a section for serviceMonitor and additionalLabels on the ServiceMonitor.
https://github.com/cortexproject/cortex-helm-chart/blob/master/values.yaml#L821-L840
query_frontend:
  enabled: true
  replicas: 2

  service:
    annotations: {}
    labels: {}

  serviceAccount:
    # -- "" disables the individual serviceAccount and uses the global serviceAccount for that component
    name: ""

  serviceMonitor:
    enabled: false
    additionalLabels: {}
    relabelings: []
    metricRelabelings: []
    # -- Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
    extraEndpointSpec: {}
    podTargetLabels: []

These same labels need to be exposed for all of the memcached instances.
https://github.com/cortexproject/cortex-helm-chart/blob/master/values.yaml#L1546-L1636
memcached-frontend:
  # -- Enables support for caching queries in the frontend
  enabled: false
  architecture: "high-availability"
  replicaCount: 2
  resources: {}
  extraEnvVars:
    # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
    - name: MEMCACHED_CACHE_SIZE
      value: "1024"
    # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
    - name: MEMCACHED_MAX_CONNECTIONS
      value: "1024"
    # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests.
    # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of
    # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
    - name: MEMCACHED_THREADS
      value: "4"
  metrics:
    enabled: true
    serviceMonitor:
      enabled: false

This is important because the prometheus operator picks up the ServiceMonitor resources based on a label.
Additionally, the memcached values are nested under metrics. This should be consistently exposed - I'd suggest placing serviceMonitor under each memcached instance values.
Thanks,
Ben

https://github.com/cortexproject/cortex-helm-chart/blob/master/values.yaml#L821-L840

We have no control over this as we just use the bitnami helm-chart for memcached.
https://github.com/cortexproject/cortex-helm-chart/blob/master/Chart.yaml#L18-L38
So I don't really know what to do here. Does this solve your question?


DD.read_csv, Failing on loading a single file with an asterisk, add a check for a single file.

Failing on loading a single file with an asterisk, add a check for a single file.
test = dd.read_csv('*.tsv', sep='\t', header=0, parse_dates=[1], names=[
                'name', 'timestamp', 'action', 'ID' ])

followed by:
test = bb_test.compute()

Error:
Traceback (most recent call last):

  File "<ipython-input-3-b02775793c1a>", line 13, in <module>
    bb_test = bb_test.compute()

  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\base.py", line 96, in compute
    (result,) = compute(self, traverse=False, **kwargs)

  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\base.py", line 203, in compute
    results = get(dsk, keys, **kwargs)

  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\threaded.py", line 76, in get
    **kwargs)

  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\async.py", line 525, in get_async
    raise(remote_exception(res, tb))

ValueError: invalid literal for int() with base 10: 'hardies'

Traceback
---------
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\async.py", line 291, in execute_task
    result = _execute_task(task, data)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\async.py", line 272, in _execute_task
    return func(*args2)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\compatibility.py", line 47, in apply
    return func(*args, **kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\dataframe\io\csv.py", line 61, in pandas_read_text
    coerce_dtypes(df, dtypes)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\dask\dataframe\io\csv.py", line 103, in coerce_dtypes
    df[c] = df[c].astype(dtypes[c])
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\util\_decorators.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\generic.py", line 3299, in astype
    **kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\internals.py", line 3224, in astype
    return self.apply('astype', dtype=dtype, **kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\internals.py", line 3091, in apply
    applied = getattr(b, f)(**kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\internals.py", line 471, in astype
    **kwargs)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\internals.py", line 521, in _astype
    values = astype_nansafe(values.ravel(), dtype, copy=True)
  File "C:\Users\josh.ring\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 625, in astype_nansafe
    return lib.astype_intsafe(arr.ravel(), dtype).reshape(arr.shape)
  File "pandas\_libs\lib.pyx", line 917, in pandas._libs.lib.astype_intsafe (pandas\_libs\lib.c:16260)
  File "pandas\_libs\src\util.pxd", line 93, in util.set_value_at_unsafe (pandas\_libs\lib.c:73093)`

Running on miniconda
pandas 0.20.1
dask  0.14.3
python 3.6.1

The traceback suggests a problem parsing the file, rather than a failure to fund/open the file. Can you please verify that it loads without problems with straight pandas?

I can confirm yes:
test = pd.read_csv( "outputJson.tsv", sep='\t', names=[                 'student', 'timestamp', 'verb', 'objectID' ] )
works as expected

Can you provide a reproducible test case? This would be something that we could run to help debug.

Cannot reproduce consistently, deleting some data from the file makes it run, but it is not clear which data causes it to fail.
The first column of the input has 99% integer type and occasionally has numeric labels, this may be the cause when loaded multi-threaded but I have not been able to confirm this with artificial test cases designed to replicate this behavior.

This may be a case of dtype inference failing. By default dd.read_csv/dd.read_table takes a sample of your file and infers the dtypes from that. If the first n rows all contain integers, but later on contain floats, then you'll get an error. What happens if you specify the dtypes for all columns by passing in a dictionary of {column_name: dtype, ...} to the dtype keyword?

This is some code to break the current dd.read_csv method
https://pastebin.com/qNe1Jh2N
Adding dtype={ 'col':'type',...} fixes the issue
Perhaps  this should be reflected in the error message?


Unable to create qualys reports - invalid template id

I am unable to get pass the report generation stage - seems an invalid template ID is being used to generate the qualys reports.
Processing 1/399
[ACTION] - Generating report for 10794322
[FAIL] Could not process report ID: <?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://qualysapi.qg2.apps.qualys.com/qps/xsd/3.0/was/report.xsd">
  <responseCode>INVALID_REQUEST</responseCode>
  <responseErrorDetails>
    <errorMessage>Template with id 126024 was not found. Provide a different template id.</errorMessage>
  </responseErrorDetails>
</ServiceResponse>

I am unclear where the template id of 126024 is coming from. Anyone else having a similar issue?

Hi Matthew, please login to your qualys web app server and look at the available templates you have. There should be a template ID there. Once you find the ID, please update the config.ini file

Thanks! I can't believe I overlooked that. That worked great. I've run into a different issue but at least I'm making progress. If I can't figure it out I'll submit another issue. Thanks again.

I'm fairly new to infosec but I'd certainly be glad to help - for instance, I ran into a few issues getting set up because my machine has both python 2.7 and 3, so I ended up having to manually install python 2 versions of a few items like panda and lxml. I'm sure someone else will run into that at some point :)


occurrence dataset page says '0% with coordinates' although all records have coordinates

This dataset has coordinates in the records but the page says 0% with coordinates. I ran the archive through the validator and the only issue I see is that the records are flagged presumed negated ~latitude~ longitude. Can you take a look @MortenHofft?

But I can see it is confusing. It would also be odd to show that all records had coordinates and then not show the map though. Perhaps a better text or a [?]-popup would be useful

Thank you for explaining. I find it a bit odd that the coordinates are showing on the individual occurrence pages (example) and users of the data will also get the records with the interpreted coordinates if they download the dataset archive, but an across-dataset search will exclude the data because they are flagged as suspicious (unless you know how to apply correct filters).
The current way we exclude records with geospatial issues excludes ~4.5 million records for users (and makes sense), but I am not sure the presumed ...  flags should be excluded. Perhaps it would make sense to add to the description of the affected fields in the documentation?

@SophiePamerlon would you be able to assist in updating the longitude coordinates so the records will appear on the general map?

But I can see it is confusing. It would also be odd to show that all records had coordinates and then not show the map though. Perhaps a better text or a [?]-popup would be useful

It would be good if the text said that the records have coordinates when we can interpret the data and flag it. But yes, users would probably benefit from a pop-up and perhaps if it is affected by the flag, then the text could have a different colour to highlight something is off?


Service keys for read-only API routes

Instead of having to use a pilot's personal API token, provide the ability for the admin to generate service keys, which can then be checked by middleware on the read-only API routes

Any plan to adopt laravel sanctum ? With that package, you won't even need to deal with X-API-KEY anymore. For the frontend, axios can automatically handle the session cookie and CSRF token as long as axios in request.js is properly configured.
If an external app, i.e. ACARS software, wants to access the api, sanctum can automatically generate personal access token and the external app will be authenticated as a long as the requests have a valid Bearer token in the header.
And finally you can setup the permissions for API route like this

Yes, it's a possibility, if I can migrate existing keys easily. I have to look into it in some more detail

I tried sanctum to see how it works.
It looks pretty cool, it allows you to generate tokens that are attached to a model so you can create tokens for a user but also for an airline for example. Then we can give each token abilities which then allows us to make different tokens for different endpoints, exactly what we want to do. It uses a more standardized stuff (Authorization header with bearer) rather than our own X-API-KEY header.
I think it fits our needs quite well.
The only problem is to migrate the existing keys and for that I don't have any good solutions. Sanctum keys are hashed and stored in a separate table which makes them fairly interchangeable with our existing keys. If this is what we adopt I fear it will be a breaking change. The token that is passed in the header is only accessible when you generate it, after that we can't do anything except delete the token and make another one.
So this would mean that everyone would have to regenerate a token and put it in their acars. Also I'm afraid that an earlier version of acars won't work with a phpvms version that uses sanctum and vice versa

I tried sanctum to see how it works. It looks pretty cool, it allows you to generate tokens that are attached to a model so you can create tokens for a user but also for an airline for example. Then we can give each token abilities which then allows us to make different tokens for different endpoints, exactly what we want to do. It uses a more standardized stuff (Authorization header with bearer) rather than our own X-API-KEY header. I think it fits our needs quite well.
The only problem is to migrate the existing keys and for that I don't have any good solutions. Sanctum keys are hashed and stored in a separate table which makes them fairly interchangeable with our existing keys. If this is what we adopt I fear it will be a breaking change. The token that is passed in the header is only accessible when you generate it, after that we can't do anything except delete the token and make another one. So this would mean that everyone would have to regenerate a token and put it in their acars. Also I'm afraid that an earlier version of acars won't work with a phpvms version that uses sanctum and vice versa

Has there been consideration for Passport instead of Sanctum? The key different would be OAuth.
That being said, it may be used by a handful of orgs. Not too many people will roll a setup that requires phpVMS to be the center of multiple authenticated applications.

The issue with OAuth is that it's heavier and more complex than the current system/sanctum. From my point of view, it introduces a lot more complexity without necessarily providing more useful features. Additionally, we face the same problem as with Sanctum, where we are unable to migrate our current system to Passport/Sanctum without having to change all the keys for everyone (which is a bit inconvenient).


[MATLAB] Add TimeUnit and TimeZone to the arrow.type.TimestampType display

Describe the enhancement requested
Currently, the display for arrow.type.TimestampType does not show the TimeUnit or the TimeZone.
>> type = arrow.type.timestamp(TimeUnit="second", TimeZone="America/New_York")

type =

  TimestampType with properties:

    ID: Timestamp

We should modify the display to show both TimeUnit and TimeZone.
Component(s)
MATLAB

take


Add Support for Alexa to control compatible homebridge devices

The pull request adds support for Alexa to control compatible homebridge devices ( Switches, lightbulbs and outlets. ).  This base support is required to enabled usage by homebridge.
The pull request creates an optional SSDP listener on port 1900, to listen for device discovery requests from Alexa, and response with accessory details.

I looked like I hit Atom Beautify against HAPServer.js, so I'm going to redo this pull request removing all the white space form the change.


Support generated types as return type for generated providers

    I have not yet created a standalone example, but if it helps,  the Stream class is being generated from my model by the firestore ODM generator:

@riverpod
Stream<EventQuerySnapshot> currentEvents(CurrentEventsRef ref, {DateTime? dateTime,
            List<EventCategory> categoryFilter = const [] }) {
    var db = ref.watch(databaseProvider);
    return db.getCurrentEventStream(date: dateTime, categoryFilter:categoryFilter );
}

In the above, EventQuerySnapshot is generated via @firestoreSerializable annotation on my Event  class.
So this has something to do with the order in which annotations are processed by build runner?
Originally posted by @wstrange in https://github.com/rrousselGit/riverpod/issues/1663#issuecomment-1281663846

Are there any plans on fixing this? We use Drift to generate our models and we can't use the @riverpod annotation for Notifiers as riverpod annotations can't seem to find them.

Provably not before Metaprogramming

We had a similar problem combining Riverpod with Freezed but fixed it with the solution suggested in https://github.com/trevorwang/retrofit.dart/issues/578#issuecomment-1583804327. In our project's build.yaml (in the same directory as pubspec.yaml), we added the following configuration:
global_options:
  freezed:
    runs_before:
      - riverpod_generator

For Firestore, the config would probably look like this (not tested):
global_options:
  cloud_firestore_odm_generator:
    runs_before:
      - riverpod_generator


[bug] Multiple wallet connection sessions

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
2.0.1
wagmi Version
2.5.7
Current Behavior
After watching this tweet: https://twitter.com/rainbowdotme/status/1757886864823066669
I was quite excited about the new feature of "Multiple wallet connection sessions" and the "Sign-In with Ethereum (SIWE) support with multiple wallet connections".
However, after upgrading to the latest version some users are complaining about this when using SIWE.
After connecting and signing with SIWE one account (account X) from wallet A (let's say Metamask), if I switch to account Y from wallet A the auth session is gone. The useAccount() hook returns both addresses, but only the first one (latest used) is the one used for SIWE. Therefore, everytime I switch accounts for anything (like checking balance), I get kick out from the dApp.
But not only that, if I use wallet B (e.g. Rabby), despite being connected to Metamask (wallet A), doing something on Rabby like changing the current connected wallet break everything again. Now, useAccount() returns just the connected Rabby wallet and none from Metamask, and it disconnect the current session.
I don't find a way to "Sign-In with Ethereum (SIWE) support with multiple wallet connections". Just the latest one, which breaks easily.
But there is more. It disconnect, and the "Connect Wallet" button is shown again.
When clicking on the button, it just ask to sign. But I can't choose the wallet. Then, if I was first connected to Metamask, and then used Rabby, I can't go back to Metamask. I have to click on "Connect Wallet" and Cancel the "Sign message" TWICE, and the third time it finally allows me to choose the wallet again.
Expected Behavior
It would be ideal to keep the session even if a change in the current wallet is done, and swaping back to that wallet would keep the session open, as was done on previous versions.
Also, interacting with a different wallet should still let the user keep using the connected wallet.

@agsola Thanks for raising this issue.
Everything you were experiencing is exactly what is needed to have the correct authentication system. We didn't only implement account on change event to log you out and disconnect, but also for wallets e.g when switching from Rabby to MetaMask. Of course it has some pros and cons, but this is what comes from wagmi. Wagmi supports multiple wallet connections and you unfortunately you have to disconnect the one or the other to get the correct wallet and sign in again.
If we didn't add that support then the user could switch to another wallet and get wrong data with next-auth or iron session, so we tried to make sure everything works as expected which means you ahve to get logged out first then connect with a wallet again. This just adds another layer protection for the RainbowKit authentication provider.
We always recommend using our authentication provider to have the correct auth mechanism, but if you want to deprecate our provider to your own logic then you could do that too, but ofc takes time to create custom modal, components, verifications and etc...

@agsola Also one quick follow up. You can get the current connected wallet address by using address value in useAccount hook in wagmi here

@agsola I see what you mean, but RainbowKit authentication provider only looks for one address and one connector at a time.
We don't want to keep the session if addresses or connectors changes. Let's say you're connected to address A and we're making a fetch call to get info about adddress A and then emmediately switch to address B.
In this case we need to log you out otherwise if we keep session on while we have a "changed" behaviour in many use cases users would have to check if the previous address or previous wallet is not the same as the current one and then log them out immedately, this would be not a great user experience.
It's the same as saying keep the session previous session if you're logged via another email.

@agsola Yeah i was thinking more of how other socials work like facebook, instagram and etc. Gmail has their own security logic to switch account and get current sessions from those accounts. I think for now the current approach we did works fine for now and ofc you can always create your own custom authentication with siwe if you have your own approach.
Going to close this issue for now, but feel free to raise another issue if you're facing with other bugs 🙏


Add grubby key to gourmet

🐛 Bug Report
Pretty self explanatory, add grubby key to gourmet. it's 1/500 pre-roll source: https://oldschool.runescape.wiki/w/Gourmet_impling#Pre-roll
appears to be missing from https://github.com/oldschoolgg/oldschooljs/blob/master/src/simulation/openables/Implings.ts

Done


Get indentation level of bullets

Discussed in https://github.com/ShapeCrawler/ShapeCrawler/discussions/376

Originally posted by theVivern November  6, 2022
Does ShapeCrawler support getting the level of a bullet point? I can see size, character and type of the bullet, but not how far it is actually indented.

@theVivern, a new IParagraph.IndentLevel property has been added. It will be accessed by 14.11.2022 in the next 0.37.0 release.


ElasticSearch with HTTPS protocol won't work

The configs have an option called config.elasticsearch.protocol which isn't used despite in the Mage2-Datapump. That means if I like to use an ES endpoint with HTTPS I need to put it directly into the host config value (config.elasticsearch.host). Do we then again still need this unused config or should it be integrated correctly.
For example: If I have anticipate the API configs as they are, using the this config.elasticsearch.protocol config property with the value https and add just the hostname without protocol to config.elasticsearch.host it wouldn't work. Because at some points the API will try to send HTTP requests to HTTPS.
For example here at https://github.com/DivanteLtd/vue-storefront-api/blob/develop/src/api/catalog.js#L67-L69
if (!url.startsWith('http')) {
  url = 'http://' + url
}

This should be somethin like:
if (!url.startsWith('http')) {
  url = config.elasticsearch.protocol + '://' + url
}

Good point; could you please propose a PR for that?

Done ;)


Add tray icon for server

Running Atomic-Server on your PC is a bit more convenient if you can easily see if it's already running from the system tray. Luckily, others have made useful libraries for this purpose. I've tried tray-item-rs and that works pretty well.

Currently added text only. Icon support might arrive later.

Currently added text only. Icon support might arrive later.

Closing for now

Closing for now


Protocol discovery protocol

Seeking feedback, @TelegramSam

This is a great addition. I needs a few things to be 'complete':
The search should allow search of any base DID, not just the core DID.
The agent should filter out admin message families to only those connections authorized to send them.
I think I'm OK with this commit as a step forward, and improving the features with another PR.

The agent should filter out admin message families to only those connections authorized to send them.

I agree; I think we can implement this more easily after we have a notion of permissions associated with a message family. I recommend we call this good for now.


[TACHYON-1581] Modify the shell of 'thriftGen' to generate private member

Modify the shell of 'thriftGen' to generate private member.
https://tachyon.atlassian.net/projects/TACHYON/issues/TACHYON-1581?filter=allopenissues

Can one of the admins verify this patch?

Jenkins, test this please.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/8024/
Test PASSed.

@ConeyLiu  Thanks for the patch, I certainly appreciate the value. Before we go to further code review, I have a high level question: is this change (from public to private) achieved by editing common/src/main/java/tachyon/thrift/FileInfo.java? This file is auto-generated by thrift framework, derived from common/src/thrift/file_system_master.thrift:17. We typically don't modify those files as the change will be overwritten easily next time when we update the thrift definition files.
In addition, invoking a method isIsCompleted looks strange.
An alternative way to achieve the same goal can be like this: you can change common/src/thrift/file_system_master.thrift:25 to make the field name from isCompleted to completed, and then run bin/tachyon thriftGen, then you will have isCompleted() as a public method available in common/src/main/java/tachyon/thrift/FileInfo.java. You can do similar trick to other field like isPersisted and etc

@apc999 Thanks for you advise, I will try it.

@apc999 I modify the shell in bin/tachyon as follow:
"thriftGen")
rm -rf ${bin}/../common/src/main/java/tachyon/thrift
for src_file in $(ls ${bin}/../common/src/thrift); do

thrift --gen java -out ${bin}/../common/src/main/java/. ${bin}/../common/src/thrift/${src_file}

thrift --gen java:private-members -out ${bin}/../common/src/main/java/. ${bin}/../common/src/thrift/${src_file}
done
exit 0
;;

This way, the change of *.thrift will not overwritten. It will generate private member.
Please verify it.

@ConeyLiu Thanks for finding the thrift trick. It looks like a good solution.
One note about the PR: currently, we are merging a few huge PRs to the master branch (e.g., https://github.com/amplab/tachyon/pull/2525 and https://github.com/amplab/tachyon/pull/2523). My suggestion is sync your branch with master branch after these two PRs are merged. After that, you can update this PR again. Does that sound good to you?

@apc999  I fix the conflict. Rerun the bin/tachyon thriftGen, and replace use member directly to the function of getter or setter. Please verify it.

Jenkins, test this please.

@ConeyLiu  thanks for the PR. the current PR looks good to me. Could you resolve the conflicts?

@apc999 I have resolve the conflicts.Please verify it. Thanks very much.

+1 LGTM, thanks @ConeyLiu for he improvement!

@ConeyLiu thank you for the PR, i really like this improvement ... left one small comment for you about removing blank lines

Jenkins, test this please

OK to test

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/8222/
Test PASSed.

Ok. Thanks very much.
Date: Tue, 26 Jan 2016 08:35:01 -0800
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [tachyon] [TACHYON-1581] Modify the shell of 'thriftGen' to generate private member (#2515)
@ConeyLiu thank you for the PR, i really like this improvement ... left one small comment for you about removing blank lines
―
Reply to this email directly or view it on GitHub.


Import error, cannot import name one_hot_encoder

When I tried to import cifar10.py, this error occurs
 ImportError:   Traceback (most recent call last)
<ipython-input-2-4925188f42c0> in <module>()
----> 1 import cifar10

/Users/Neil/Documents/Developer/Machine Learning/Machine Learning with Python/CIFAR-10 Tensorflow/cifar10.py in <module>()
     37 import os
     38 import download
---> 39 from dataset import one_hot_encoded
     40
     41 ########################################################################

ImportError: cannot import name one_hot_encoded

This can resolved by editing the cifar10.py file: replace from dataset import one_hot_encoded with from sklearn.preprocessing import OneHotEncoder

Thanks for the suggestion of using the function from sklearn instead. But I have not had this problem before. Are you sure you have downloaded the whole github repo including the file dataset.py?

Thanks for your reply. You are absolutely correct, I realized that there are a couple of files missing in my repo. Now the problem is resolved. I apologize for the misunderstanding.

Could help me, because I have the same mistake

Thank you!
Help me a lot!


Confused between Overwrite and Restore Existing Database in SQL MI

I gone through this document, At the start it says you can restore Existing DB to another SQL MI using PowerShell of Azure CLI.
When I read further now it says you can't overwrite the database in SQL MI.
Whats the difference between them?

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

ID: fa600097-8429-42c5-3e35-dd994bf2e14f
Version Independent ID: 9b73122d-fee3-e90f-fec6-dd7811538a32
Content: Point-in-time restore (PITR) - Azure SQL Managed Instance
Content Source: articles/azure-sql/managed-instance/point-in-time-restore.md
Service: sql-managed-instance
Sub-service: operations
GitHub Login: @jovanpop-msft
Microsoft Alias: jovanpop

@SarveshPandey Thank you for the feedback. We are actively investigating and will get back to you soon.

Any Update on this?

@SarveshPandey Apologies for the late reply.
Restoring the database to existing SQL MI or new SQL MI will result in creation on new database. It does not overwrite the data in existing database but always creates a new database.
Same thing is mentioned when you want to overwrite the existing data, we need to first delete the existing database and then use restoring the database because two databases with same name is not possible
Please let me know if this helps.

@SarveshPandey Please let us know if above comment helps or you need more details on the same.

Thanks @AnuragSharma-MSFT  for clearing my doubts.
What about using the PowerShell or Azure CLI. Can we overwrite the database using these two things?

@SarveshPandey Irrespective of whichever method we use like Azure portal, PowerShell or CLI, overwriting existing database will need us to delete the existing database and then restore it.

@SarveshPandey We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Added parser example, Fixed README

Merged in https://github.com/jeroendesloovere/vcard/commit/b352fa68b70b669f9ba35fc52b7f75c3e450b78d


notebook dependency

(I'm a reviewer for the submission of preliz at JOSS)
This is in relation to the review criterion "Installation instructions: Is there a clearly-stated list of dependencies?".
Given the likely use of a jupyter notebook for the interactive aspects of the package, I'm wondering if notebook might be best listed as a dependency? Alternatively, perhaps it could be flagged in the "Installation" section of the docs that a pip install notebook may be required and again when plot_interactive is introduced.

Thanks for the feedback. @OriolAbril  @aleicazatti which one of the options do you like best?


Japanese sounds unnatural

I have combined the phoneme sets for all three langauges,
English, Chinese, Japanese and started fine tuning using a datset comprised of all three speech languages
The base model I use is the chinese and english base.
However after 500 epochs, the result I get, chinese is good, english is good, however japanese sounds unnatural .
My udnerstanding is that the phonemes are correct but the tone is just not how japanese is spoken.
What can I do to improve this?
Here is a sample data of the japanese output.  https://soundcloud.com/michael-lin-674069136/japanese-test

Are you using it on Docker?

Hello, may I ask which pre-trained model you used for fine-tuning? How long did you train? How is the config set up? The model I trained cannot produce complete sentences, and the speech is very strange.


Add a way for people to check their tasks on their phone

It is essential for a lot of people to be able to access their tasks at any time so creating a mobile app or a web version will be very useful

It'd be great to build the app with something like Ionic v4, that way, you can use a lot of the existing react code you've written. Just a thought


"TumblrLikedBy" only download the first page

v<IP_ADDRESS>
logged
blog url is like: https://www.tumblr.com/liked/by/xxxxx  (myself)

i found the "crawlerNumber" should start with 1.

Post the URL in question that does not work, or submit a fix. Otherwise I'll close this.
I'm really tired of telling the same over and over again. This is not a proper issue report: How am I (or anybode else) supposed to help with this information?
If 'crawlerNumber' should start with one, why does the current code download anything at all? Why does this page https://www.tumblr.com/liked/by/wallpaperfx/page/0 display content? I can name you hundreds of liked/by pages I've tested. So, please don't look at the code and randomly suggest something you've seen in 10 minutes after looking at it.

I've just re-tested it again with a larger blog:

Thats far more than one page.


[4.1][Bug] InlineCreate Select2 relation fails to create

Bug report
What I did
I have a select2 field in my entity with relations to other entity with belongsToMany type of relation. When I try to select an option in select2 and save it, it fails:
exception: "ErrorException"
file: "...\vendor\backpack\crud\src\app\Library\CrudPanel\Traits\Create.php"
line: 121
message: "Invalid argument supplied for foreach()"
What I expected to happen
It should properly save the form
What happened
Exception above
What I've already tried to fix it
Fix could be to add another check for $values in syncPivot method before inner foreach is called:
if (!is_array($values)) {
    $values = [$values];
}

Foreach expects $values to be an array but select2 returns scalar.
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
PHP 7.4.4 (cli) (built: Mar 17 2020 13:49:19) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v2.8.1, Copyright (c) 2002-2019, by Derick Rethans
LARAVEL VERSION:
v7.10.3@6e927e78aafd578d59c99608e7f0e23a5f7bfc5a
BACKPACK VERSION:
4.1.x-dev@d0612499fa22d91f7302594313c60880c41c1180

Hello @warton
A select2 field should not be used with belongsToMany, you should use select2_multiple.
But .. as it is a relation you probably safe with CRUD::addField('relation_name_here') of course you can add your own stuff:
CRUD::addField([
'name' => 'relation_name',
'label' => 'your_label'
]);

I don't think this is a bug, let me know how it goes so i can close this.

Well, yes, you are right. It works fine with select2_multiple.
However in my case, this is kind of special situation. Even my relation is BelongsToMany, in the end user can choose only one option for that particular record. So select2_multiple is not a way for me.

Hum .... if user can select only one it might be better to change your database schema and use the BelongsTo, because using a pivot to store only one item per relation seems counter producent.
You can try with: multiple => false in your select2_multiple field definition.
Going to close this as I think it's not a bug.
Let me know if I was wrong.
Best,
Pedro

Ok, it works with your suggestion. You're free to close it.
Thank you for your help :)


Add new write_all() and flush() API documentation

These two new APIs were added in the PR https://github.com/sxyazi/yazi/pull/1033, and they need to be included under https://yazi-rs.github.io/docs/plugins/utils#child

This is done in #102

@ShampooDeng Sorry it has been done in https://github.com/yazi-rs/yazi-rs.github.io/pull/102. Thank you so much for your interest, really appreciate it!


Evaluate Linux semantic parser

This is a semantic parser; it might be too kernel-specific, but some of the warnings look like they might be worth checking out.  http://man7.org/linux/man-pages/man1/sparse.1.html

This is reasonable, and something we could do in a CI job


New release for eo-0.48.2

A new release eo-0.48.2 of the EO-to-Java compiler has been published on Maven Central. Don't forget to make a release here, asking @rultor about it.

@rultor release, tag is 0.48.2

@rultor release, tag is 0.48.2

@yegor256 OK, I will release it now. Please check the progress here.

@rultor release, tag is 0.48.2

@yegor256 Done! FYI, the full log is here (took me 4min).


When uploading larger content in request body  I am getting 413 Request Entity Too Large so is there any way to handle the large file issue.

I am calling enqueue api through APIM and sending large content into request body but getting  413 Request Entity Too Large response.

@dnyaneshwar-surywanshi, thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, consider one of the options described here: Support contact options. In particular, you might want to go to the Dynamics 365 community page to get help with your questions from the Dynamics community.


Temporarily disable servo-mac1 builder

The upgrade to Salt 2016.3 broke Salt highstate on the macs, so I've
been using servo-mac1 to investigate as it was already on the fritz.
However, it seems that it started returning results to Buildbot, failing
all builds, so it was turned off. Temporarily remove it from the builder
list to ensure it doesn't interfere with the (rapidly growing) queue
while I use it to investigate.

This change is

I saw this was happening in the IRC backscroll; thanks to @notriddle for killing servo-mac1 temporarily.
r? @edunham @larsbergstrom

@bors-servo r+

:pushpin: Commit 6b9035f has been approved by larsbergstrom

:hourglass: Testing commit 6b9035f with merge 75e8308...

:broken_heart: Test failed - status-travis

Passed all tests except for the known failure; merging.


Fix #914

This is an exploratory fix for #914. It does avoid the traceback reported there, but then just yields another out of bounds error later on in the same spec:
Step 1: picking a transition out of 4 transition(s)               I@07:53:08.564
State 2: Checking 2 state invariants                              I@07:53:08.597
State 2: Checking 1 state invariants                              I@07:53:09.271
State 2: Checking 3 state invariants                              I@07:53:09.354
(Please report an issue at: [https://github.com/informalsystems/apalache/issues],java.lang.IndexOutOfBoundsException: 5)
Unhandled exception                                               E@07:53:09.631
java.lang.IndexOutOfBoundsException: 5
	at scala.collection.LinearSeqOptimized.apply(LinearSeqOptimized.scala:67)
	at scala.collection.LinearSeqOptimized.apply$(LinearSeqOptimized.scala:65)
	at scala.collection.immutable.List.apply(List.scala:91)
	at at.forsyte.apalache.tla.bmcmt.SymbStateDecoder.eachField$1(SymbStateDecoder.scala:204)
	at at.forsyte.apalache.tla.bmcmt.SymbStateDecoder.$anonfun$decodeCellToTlaEx$10(SymbStateDecoder.scala:209)
	at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
	at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
	at scala.collection.immutable.List.foldLeft(List.scala:91)
	at at.forsyte.apalache.tla.bmcmt.SymbStateDecoder.decodeCellToTlaEx(SymbStateDecoder.scala:209)
	at at.forsyte.apalache.tla.bmcmt.SymbStateDecoder.$anonfun$decodeStateVariables$1(SymbStateDecoder.scala:68)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
	at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:400)
	at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
	at scala.collection.TraversableLike.map(TraversableLike.scala:286)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
	at scala.collection.AbstractTraversable.map(Traversable.scala:108)
	at at.forsyte.apalache.tla.bmcmt.SymbStateDecoder.decodeStateVariables(SymbStateDecoder.scala:68)
	at at.forsyte.apalache.tla.bmcmt.trex.TransitionExecutorImpl.decodePair$1(TransitionExecutorImpl.scala:307)
	at at.forsyte.apalache.tla.bmcmt.trex.TransitionExecutorImpl.$anonfun$decodedExecution$1(TransitionExecutorImpl.scala:311)
	at scala.collection.immutable.List.map(List.scala:297)
	at at.forsyte.apalache.tla.bmcmt.trex.TransitionExecutorImpl.decodedExecution(TransitionExecutorImpl.scala:311)
	at at.forsyte.apalache.tla.bmcmt.trex.FilteredTransitionExecutor.decodedExecution(FilteredTransitionExecutor.scala:150)
	at at.forsyte.apalache.tla.bmcmt.trex.ConstrainedTransitionExecutor.decodedExecution(ConstrainedTransitionExecutor.scala:106)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.dumpCounterexample(SeqModelChecker.scala:400)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.$anonfun$checkInvariants$2(SeqModelChecker.scala:272)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.$anonfun$checkInvariants$2$adapted(SeqModelChecker.scala:255)
	at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:985)
	at scala.collection.immutable.List.foreach(List.scala:431)
	at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:984)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.checkInvariants(SeqModelChecker.scala:255)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.$anonfun$prepareTransitionsAndCheckInvariants$6(SeqModelChecker.scala:177)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.$anonfun$prepareTransitionsAndCheckInvariants$6$adapted(SeqModelChecker.scala:141)
	at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:985)
	at scala.collection.immutable.List.foreach(List.scala:431)
	at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:984)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.prepareTransitionsAndCheckInvariants(SeqModelChecker.scala:141)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.makeStep(SeqModelChecker.scala:63)
	at at.forsyte.apalache.tla.bmcmt.SeqModelChecker.run(SeqModelChecker.scala:51)
	at at.forsyte.apalache.tla.bmcmt.passes.BoundedCheckerPassImpl.runIncrementalChecker(BoundedCheckerPassImpl.scala:131)
	at at.forsyte.apalache.tla.bmcmt.passes.BoundedCheckerPassImpl.execute(BoundedCheckerPassImpl.scala:98)
	at at.forsyte.apalache.infra.passes.PassChainExecutor.exec$1(PassChainExecutor.scala:22)
	at at.forsyte.apalache.infra.passes.PassChainExecutor.run(PassChainExecutor.scala:37)
	at at.forsyte.apalache.tla.Tool$.runCheck(Tool.scala:187)
	at at.forsyte.apalache.tla.Tool$.$anonfun$run$3(Tool.scala:95)
	at at.forsyte.apalache.tla.Tool$.handleExceptions(Tool.scala:322)
	at at.forsyte.apalache.tla.Tool$.run(Tool.scala:95)
	at at.forsyte.apalache.tla.Tool$.main(Tool.scala:45)
	at at.forsyte.apalache.tla.Tool.main(Tool.scala)
It took me 0 days  0 hours  0 min  7 sec                          I@07:53:09.632
Total time: 7.85 sec                                              I@07:53:09.632
EXITCODE: ERROR (255)

I think this confirms my suspicion that we need fix higher up, and that something has gone wrong with the alignment of types and terms at this point in the bmcmt operation.
I'm mostly opening this PR as a way to further the conversation.

Ah, ok! Then I'll proceed with this fix.
We should not merge it as is, because it should also include:

[ ] A regression test
[ ] An additional fix for the crash that happens after this one when the cases are run.

I'll be able to address these tomorrow, I hope.

The subsequent error is being raised from the last line of this conditional
      if (thisRecT.fields.contains(key)) {
        // this record has the key
        val keyIndex = findKeyIndex(thisRecT, key)
        newState.arena.getHas(record)(keyIndex)

Which is in a sub-method of  pickRecord in /tla-bmcmt/src/main/scala/at/forsyte/apalache/tla/bmcmt/rules/aux/CherryPick.scala.
It seems like there are some logic errors in the interaction between record types and SymbState construction. I wonder if it might also be related to what we are seeing in  #957

Looking at Bug914.tla, I am not even sure how to fix it without fixing type inference for records:
VARIABLE
  (* A set of empty records
    @type:  Set([]);
  *)
  msgs

Init == msgs = {}

Next ==
  \/ msgs' = {[ foo |-> FALSE ]}
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = TRUE ]}

The problem is that the expression in Next is extending the empty record type []. The type checker is not able to catch this, because of the non-standard unification rule for records, which expand the set of fields instead of shrinking it. I think we have to expedite #401. We have collected enough evidence that the non-standard unification rule is not working as expected on real specs.

It's not clear to me why our record access at this point has to go through the types. This is not a case where we are trying to access a field on a record which doesn't have the field, but rather the type information seems to mislead the construction of the symbolic state, right?
I guess if we locked down record types, we could just catch the incorrect typing of msgs, but I'd like to understand better why we have to be depending on previously inferred types at this point, instead of just looking at the record fields, since, iiuc, they should have all the data they need to convert this without crashing.

I think evidence for the fact that there's a logic bug in the way we are indexing into record fields at this point in the code is given by the fact that if we add a single irrelevant field to the type annotation for msgs, the spec can actually be checked successfully, e.g., when run with
-------------------------------- MODULE Bug914 --------------------------------

\* Minimal reproduction for https://github.com/informalsystems/apalache/issues/914

VARIABLE
  (* A set of empty records
    @type:  Set([a: Int]);
  *)
  msgs

Init == msgs = {}

Next ==
  \/ msgs' = {[ foo |-> FALSE ]}
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = TRUE ]}

================================================================================

but if I add this field to the update to msgs', it'll crash, albeit with the index error incremented:
-------------------------------- MODULE Bug914 --------------------------------

\* Minimal reproduction for https://github.com/informalsystems/apalache/issues/914

VARIABLE
  (* A set of empty records
    @type:  Set([a: Int]);
  *)
  msgs

Init == msgs = {}

Next ==
  \/ msgs' = {[ a |-> 10, foo |-> FALSE ]}
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = TRUE ]}

================================================================================

gives:
-java.lang.IndexOutOfBoundsException: 1

This can by quieted by adding another irrelevant field to the type annotation:
    @type:  Set([a: Int, b: Int]);

And triggered again by adding an irrelevant field into the update, showing that this is just a numbers game :). I.e., this spec triggers the same error, but adding another irrelevant field to the type annotation would quiet it:
VARIABLE
  (* A set of empty records
    @type:  Set([a: Int, b: Int]);
  *)
  msgs

Init == msgs = {}

Next ==
  \/ msgs' = {[ a |-> 10, bar |-> 10, foo |-> FALSE ]}
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = TRUE ]}

Another data point:
It seems we only this crash when the record extension happens on the basis of a variable that is captured via existential quantification:
This spec succeeds:
VARIABLE
  (* A set of empty records
    @type:  Set([]);
  *)
  msgs

Init == msgs = {}

Next ==
  LET m == [foo |-> FALSE ] IN
  \/ msgs' = {m}
  \/ msgs' = {[ m EXCEPT !.foo = TRUE ]}

As does this one:
VARIABLE
  (* A set of empty records
    @type:  Set([]);
  *)
  msgs

Init == msgs = {}

Next ==
  \/ msgs' = {[foo |-> FALSE ]}
  \/ msgs' = {[[foo |-> FALSE ] EXCEPT !.foo = TRUE ]}

Actually, just the existential operator alone is not sufficient to trigger the crash. The following spec checks fine:
EXTENDS Integers

VARIABLE
  (* A set of empty records
    @type:  Set([]);
  *)
  msgs

Init == msgs = {[foo |-> 0]}

Next ==
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = @ + 1 ]}

iiuc, the underlying problem is that, for some reason, when records with this kind of typing (i.e., fewer fields specified then they actually have) appear as possible transitions within existentially quantified expressions, then the extra fields is not appended as a "has" edge.
This mostly unhelpful printf debugging does help illustate the problem:
      if (thisRecT.fields.contains(key)) {
        // this record has the key
        val keyIndex = findKeyIndex(thisRecT, key)
        val newStateArena = newState.arena
        val edges = newStateArena.getHas(record)
        println(s">>> comonRecordT: ${commonRecordT}; keyIndex: ${keyIndex}; edges: ${edges}; record: ${record}")
        edges(keyIndex)

iiuc, this is constructing the symbolic states for the two transitions specified in the disjunction
  \/ msgs' = {[ foo |-> FALSE ]}
  \/ \E m \in msgs: msgs' = {[ m EXCEPT !.foo = TRUE ]}

And we see that first has the right amount of edges, but the second has no edges at all:
Step 2: picking a transition out of 2 transition(s)               I@16:32:33.684
>>> keyIndex: 0; edges: List($C$8); record: $C$14
>>> keyIndex: 0; edges: List(); record: $C$20

Shall we add a note in UNRELEASED.md?


Dev

After pressing the "Now" button the datetime value didn't went immediately to our property update, but was shown above the datetime picker. Calling the onSelectHandler in _gotoToday solved that problem.

Thanks @carldiegelmann I have merged with dev and will test it out.


Opening a new tab requires mouse click to start typing

When I set "Show Tips" to Daily or Never, new tabs won't let me start typing unless I click in the window.  If I alt-tab away and back it still doesn't work, so it appears it isn't just a focus issue.  It requires a mouse click in the active window or tab before I can start typing in the terminal.  When I set it back to "Show Tips: Everytime" I can open new tabs using the keyboard shortcut and start typing immediately.
I'm using Ubuntu 16.10.

Thanks for reporting this. I was just able to reproduce the problem, so it should be fairly easy to fix.

Glad to help.  Thanks for writing an awesome terminal emulator!

Thanks.
Right now the roadmap for Extraterm is determined by my personal wishes and desires, but if you have a wishlist of your own or other feedback then you are free to put it in a new issue here.

Fixed and released in 0.29.0.